]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
drm/virtio: Use the hotspot properties from cursor planes
authorZack Rusin <zackr@vmware.com>
Mon, 23 Oct 2023 07:46:10 +0000 (09:46 +0200)
committerJavier Martinez Canillas <javierm@redhat.com>
Fri, 24 Nov 2023 10:58:01 +0000 (11:58 +0100)
Atomic modesetting got support for mouse hotspots via the hotspot
properties. Port the legacy kms hotspot handling to the new properties
on cursor planes.

Signed-off-by: Zack Rusin <zackr@vmware.com>
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Gurchetan Singh <gurchetansingh@chromium.org>
Cc: Chia-I Wu <olvaffe@gmail.com>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: virtualization@lists.linux-foundation.org
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-7-aesteve@redhat.com
drivers/gpu/drm/virtio/virtgpu_plane.c

index a2e045f3a0004a1be3d7681fff95c79107cc4432..20de599658c1ff7b38f0d13a4a5c61f4d1181315 100644 (file)
@@ -323,16 +323,16 @@ static void virtio_gpu_cursor_plane_update(struct drm_plane *plane,
                DRM_DEBUG("update, handle %d, pos +%d+%d, hot %d,%d\n", handle,
                          plane->state->crtc_x,
                          plane->state->crtc_y,
-                         plane->state->fb ? plane->state->fb->hot_x : 0,
-                         plane->state->fb ? plane->state->fb->hot_y : 0);
+                         plane->state->hotspot_x,
+                         plane->state->hotspot_y);
                output->cursor.hdr.type =
                        cpu_to_le32(VIRTIO_GPU_CMD_UPDATE_CURSOR);
                output->cursor.resource_id = cpu_to_le32(handle);
                if (plane->state->fb) {
                        output->cursor.hot_x =
-                               cpu_to_le32(plane->state->fb->hot_x);
+                               cpu_to_le32(plane->state->hotspot_x);
                        output->cursor.hot_y =
-                               cpu_to_le32(plane->state->fb->hot_y);
+                               cpu_to_le32(plane->state->hotspot_y);
                } else {
                        output->cursor.hot_x = cpu_to_le32(0);
                        output->cursor.hot_y = cpu_to_le32(0);