drm/i915: Always apply cursor width changes
authorChris Wilson <[email protected]>
Fri, 30 May 2014 13:35:26 +0000 (16:35 +0300)
committerDaniel Vetter <[email protected]>
Thu, 5 Jun 2014 06:52:45 +0000 (08:52 +0200)
commit4b0e333ee1100e621c5530d368a3029d41131214
tree60dd289e0e97f538f37b57c67f97217d7db6f8a5
parentc9cd7b65db50175a5f1ff64bbad6d5affdad6aba
drm/i915: Always apply cursor width changes

It is possible for userspace to create a big object large enough for a
256x256, and then switch over to using it as a 64x64 cursor. This
requires the cursor update routines to check for a change in width on
every update, rather than just when the cursor is originally enabled.

This also fixes an issue with 845g/865g which cannot change the base
address of the cursor whilst it is active.

Signed-off-by: Chris Wilson <[email protected]>
[Antti:rebased, adjusted macro names and moved some lines, no functional
changes]
Reviewed-by: Antti Koskipaa <[email protected]>
Tested-by: Antti Koskipaa <[email protected]>
Cc: [email protected]
Testcase: igt/kms_cursor_crc/cursor-size-change
Signed-off-by: Daniel Vetter <[email protected]>
drivers/gpu/drm/i915/i915_debugfs.c
drivers/gpu/drm/i915/intel_display.c
drivers/gpu/drm/i915/intel_drv.h