drm/qxl: Use correct notify port address when creating cursor ring
authorHuacai Chen <chenhc@lemote.com>
Tue, 31 Mar 2020 06:18:08 +0000 (14:18 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 24 Jun 2020 15:50:48 +0000 (17:50 +0200)
commit 80e5f89da3ab949fbbf1cae01dfaea29f5483a75 upstream.

The command ring and cursor ring use different notify port addresses
definition: QXL_IO_NOTIFY_CMD and QXL_IO_NOTIFY_CURSOR. However, in
qxl_device_init() we use QXL_IO_NOTIFY_CMD to create both command ring
and cursor ring. This doesn't cause any problems now, because QEMU's
behaviors on QXL_IO_NOTIFY_CMD and QXL_IO_NOTIFY_CURSOR are the same.
However, QEMU's behavior may be change in future, so let's fix it.

P.S.: In the X.org QXL driver, the notify port address of cursor ring
      is correct.

Signed-off-by: Huacai Chen <chenhc@lemote.com>
Cc: <stable@vger.kernel.org>
Link: http://patchwork.freedesktop.org/patch/msgid/1585635488-17507-1-git-send-email-chenhc@lemote.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/qxl/qxl_kms.c

index bfc1631..9bdbe0d 100644 (file)
@@ -218,7 +218,7 @@ int qxl_device_init(struct qxl_device *qdev,
                                &(qdev->ram_header->cursor_ring_hdr),
                                sizeof(struct qxl_command),
                                QXL_CURSOR_RING_SIZE,
-                               qdev->io_base + QXL_IO_NOTIFY_CMD,
+                               qdev->io_base + QXL_IO_NOTIFY_CURSOR,
                                false,
                                &qdev->cursor_event);