]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915/fbc: Wait for vblank after FBC disable on glk+
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 28 Nov 2019 15:03:38 +0000 (17:03 +0200)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Mon, 9 Dec 2019 14:10:58 +0000 (16:10 +0200)
commite7c0f5a0b9c03e2a5c3c29703aeb5a2dc2cadda4
tree9bac40950511f03e86de76a605d14162318d0404
parent816a5367bb5fc273b50dfcbf26aacf3876150447
drm/i915/fbc: Wait for vblank after FBC disable on glk+

On glk+ the hardware gets confused if we disable FBC while
it's recompressing and we perform a plane update during the
same frame. The result is that top of the screen gets corrupted.

We can avoid that by giving the hardware enough time to finish
the FBC disable before we touch the plane registers. Ie. we need
an extra vblank wait after FBC disable.

v2: Don't do the vblank wait if we never activated FBC in hw

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191128150338.12490-1-ville.syrjala@linux.intel.com
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
drivers/gpu/drm/i915/display/intel_display.c
drivers/gpu/drm/i915/display/intel_fbc.c
drivers/gpu/drm/i915/display/intel_fbc.h
drivers/gpu/drm/i915/i915_drv.h