diff options
author | 2014-05-30 16:35:26 +0300 | |
---|---|---|
committer | 2014-06-05 08:52:45 +0200 | |
commit | 4b0e333ee1100e621c5530d368a3029d41131214 (patch) | |
tree | 60dd289e0e97f538f37b57c67f97217d7db6f8a5 /drivers/gpu/drm/i915/intel_drv.h | |
parent | drm/i915: tell the user if both KMS and UMS are disabled (diff) | |
download | linux-4b0e333ee1100e621c5530d368a3029d41131214.tar.gz linux-4b0e333ee1100e621c5530d368a3029d41131214.tar.bz2 linux-4b0e333ee1100e621c5530d368a3029d41131214.zip |
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 <chris@chris-wilson.co.uk>
[Antti:rebased, adjusted macro names and moved some lines, no functional
changes]
Reviewed-by: Antti Koskipaa <antti.koskipaa@linux.intel.com>
Tested-by: Antti Koskipaa <antti.koskipaa@linux.intel.com>
Cc: stable@vger.kernel.org
Testcase: igt/kms_cursor_crc/cursor-size-change
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_drv.h')
-rw-r--r-- | drivers/gpu/drm/i915/intel_drv.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h index 8ce90d621c20..bda0ae3d80cc 100644 --- a/drivers/gpu/drm/i915/intel_drv.h +++ b/drivers/gpu/drm/i915/intel_drv.h @@ -386,7 +386,8 @@ struct intel_crtc { uint32_t cursor_addr; int16_t cursor_x, cursor_y; int16_t cursor_width, cursor_height; - bool cursor_visible; + uint32_t cursor_cntl; + uint32_t cursor_base; struct intel_plane_config plane_config; struct intel_crtc_config config; |