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]>