drm/i915: Add display WA #1175 for planes ending close to right screen edge
authorImre Deak <imre.deak@intel.com>
Tue, 16 Jan 2018 11:24:14 +0000 (13:24 +0200)
committerImre Deak <imre.deak@intel.com>
Tue, 30 Jan 2018 14:39:50 +0000 (16:39 +0200)
commitc322c649529f9a827f09f19ab5c2fbd9361b6020
treeea983c87fb7687725a8b1f79a7ccfe69b5146ac5
parent3393ce1ed8fc43dbdb83952facaf04e644ca1d54
drm/i915: Add display WA #1175 for planes ending close to right screen edge

As described in the WA on GLK and CNL planes on the right edge of the
screen that have less than 4 pixels visible from the beginning of the
plane to the edge of the screen can cause FIFO underflow and display
corruption.

On GLK/CNL I could trigger the problem only if the plane was at the same
time also aligned to the top edge of the screen (after clipping) and
there were exactly 2 pixels visible from the start of the plane to the
right edge of the screen (so couldn't trigger it with 1 or 3 pixels
visible). Nevertheless, to be sure, I also applied the WA for these cases.

I also couldn't see any problem with the cursor plane and later Art
confirmed that it's not affected, so the WA is applied only for the
other plane types.

v2:
- Use -ERANGE instead of -EINVAL. (Chris)

Signed-off-by: Imre Deak <imre.deak@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180116112415.22060-1-imre.deak@intel.com
drivers/gpu/drm/i915/intel_display.c
drivers/gpu/drm/i915/intel_drv.h
drivers/gpu/drm/i915/intel_sprite.c