drm: Introduce DRM_CLIENT_CAP_CURSOR_PLANE_HOTSPOT
authorZack Rusin <zackr@vmware.com>
Mon, 23 Oct 2023 07:46:12 +0000 (09:46 +0200)
committerJavier Martinez Canillas <javierm@redhat.com>
Fri, 24 Nov 2023 10:58:03 +0000 (11:58 +0100)
commit9724ed6c1b1212d138e63f5e80647dc8b6b86696
tree57bc8544acb5b727a925d430500845432405ac68
parentbce3dab7eb6ee596388699e8a052a7d58954c472
drm: Introduce DRM_CLIENT_CAP_CURSOR_PLANE_HOTSPOT

Virtualized drivers place additional restrictions on the cursor plane
which breaks the contract of universal planes. To allow atomic
modesettings with virtualized drivers the clients need to advertise
that they're capable of dealing with those extra restrictions.

To do that introduce DRM_CLIENT_CAP_CURSOR_PLANE_HOTSPOT which
lets DRM know that the client is aware of and capable of dealing with
the extra restrictions on the virtual cursor plane.

Setting this option to true makes DRM expose the cursor plane on
virtualized drivers. The userspace is expected to set the hotspots
and handle mouse events on that plane.

Signed-off-by: Zack Rusin <zackr@vmware.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: David Airlie <airlied@linux.ie>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: dri-devel@lists.freedesktop.org
Acked-by: Pekka Paalanen <pekka.paalanen@collabora.com>
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20231023074613.41327-9-aesteve@redhat.com
drivers/gpu/drm/drm_ioctl.c
include/uapi/drm/drm.h