OSDN Git Service

drm/qxl: reapply cursor after resetting primary
authorRay Strode <rstrode@redhat.com>
Mon, 27 Nov 2017 21:50:10 +0000 (16:50 -0500)
committerDave Airlie <airlied@redhat.com>
Fri, 8 Dec 2017 03:37:02 +0000 (13:37 +1000)
commit9428088c90b6f7d5edd2a1b0d742c75339b36f6e
tree9f5823f5eb5093c064a1d9ffb577cffcf4ff7e87
parent16c6db3688734b27487a42d0c2a1062d0b2bad03
drm/qxl: reapply cursor after resetting primary

QXL associates mouse state with its primary plane.

Destroying a primary plane and putting a new one in place has the side
effect of destroying the cursor as well.

This commit changes the driver to reapply the cursor any time a new
primary is created. It achieves this by keeping a reference to the
cursor bo on the qxl_crtc struct.

This fix is very similar to

commit 4532b241a4b7 ("drm/qxl: reapply cursor after SetCrtc calls")

which got implicitly reverted as part of implementing the atomic
modeset feature.

Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Dave Airlie <airlied@redhat.com>
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1512097
Fixes: 1277eed5fecb ("drm: qxl: Atomic phase 1: convert cursor to universal plane")
Cc: stable@vger.kernel.org
Signed-off-by: Ray Strode <rstrode@redhat.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/drm/qxl/qxl_display.c
drivers/gpu/drm/qxl/qxl_drv.h