Bug 89346

Summary: [regression] Watermarks need to be recomputed on cursor size change
Product: DRI Reporter: Joe Konno <joe.konno>
Component: DRM/IntelAssignee: Matt Roper <matthew.d.roper>
Status: CLOSED FIXED QA Contact: Intel GFX Bugs mailing list <intel-gfx-bugs>
Severity: major    
Priority: highest CC: chris, intel-gfx-bugs, james.ausmus, matthew.d.roper, wayne.boyer
Version: DRI git   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Joe Konno 2015-02-26 22:32:34 UTC
As of "drm/i915: Refactor work that can sleep out of commit (v7)", commit hash listed below, there is a lot of display flicker seen when cursor sizes change on gen8.

The original fix was made here and is present in recent Chromium OS kernels:
    
  commit 64f962e3e38bf6f40bbd2462f8380dee0369e1bf
  Author: Chris Wilson <chris@chris-wilson.co.uk>
  Date:   Wed Mar 26 12:38:15 2014 +0000
    
      drm/i915: Recompute WM when the cursor size changes
    
However, the recompute logic apparently got lost in refactoring, on around this point:
    
  commit 32b7eeec4d1e861230b09d437e95d76c86ff4a68
  Author: Matt Roper <matthew.d.roper@intel.com>
  Date:   Wed Dec 24 07:59:06 2014 -0800
    
      drm/i915: Refactor work that can sleep out of commit (v7)

Let's add the relevant code back. I'm rounding some edges on a patch, to land on the mailing list soon.
Comment 1 Joe Konno 2015-02-26 22:55:18 UTC
Submmited to mailing list:
  http://lists.freedesktop.org/archives/intel-gfx/2015-February/060837.html
Comment 2 Joe Konno 2015-02-27 16:21:09 UTC
Without this patch, on gen8 running Chromium OS Ozone/Freon, severe graphical corruption can occur in the form of extreme flickering, rendering graphics unusable.

(In reply to Joe Konno from comment #0)
Comment 3 Joe Konno 2015-03-02 15:49:38 UTC
Thanks Matt! Looks like danvet merged these two patches, which appear to fix the original regression.

"Tested-by: Joe Konno <joe.konno@intel.com>"

  fd2d61341bf3 drm/i915: Use plane->state->fb in watermark code (v2)
  fd514b5d872c drm/i915: Kill intel_crtc->cursor_{width, height} (v2)
Comment 4 Matt Roper 2015-03-02 15:56:40 UTC
Great, thanks for the confirmation.  Moving to resolved.

I'll add the patchwork links here too for future reference:
  http://patchwork.freedesktop.org/patch/43592/
  http://patchwork.freedesktop.org/patch/43593/

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.