drm/qxl: don't take vga ports on rev5+
authorGerd Hoffmann <kraxel@redhat.com>
Fri, 7 Aug 2020 10:55:01 +0000 (12:55 +0200)
committerGerd Hoffmann <kraxel@redhat.com>
Mon, 17 Aug 2020 07:36:36 +0000 (09:36 +0200)
qemu 5.0 introduces a new qxl hardware revision 5.  Unlike revision 4
(and below) the device doesn't switch back into vga compatibility mode
when someone touches the vga ports.  So we don't have to reserve the
vga ports any more to avoid that happening.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/20200807105501.24599-1-kraxel@redhat.com
drivers/gpu/drm/qxl/qxl_drv.c

index 13872b882775d00c2ffdae0547418625efb36d4f..6e7f16f4cec794dd0ec82f295dc0a203fd956eac 100644 (file)
@@ -96,7 +96,7 @@ qxl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
        if (ret)
                goto disable_pci;
 
-       if (is_vga(pdev)) {
+       if (is_vga(pdev) && pdev->revision < 5) {
                ret = vga_get_interruptible(pdev, VGA_RSRC_LEGACY_IO);
                if (ret) {
                        DRM_ERROR("can't get legacy vga ioports\n");
@@ -127,7 +127,7 @@ modeset_cleanup:
 unload:
        qxl_device_fini(qdev);
 put_vga:
-       if (is_vga(pdev))
+       if (is_vga(pdev) && pdev->revision < 5)
                vga_put(pdev, VGA_RSRC_LEGACY_IO);
 disable_pci:
        pci_disable_device(pdev);
@@ -155,7 +155,7 @@ qxl_pci_remove(struct pci_dev *pdev)
 
        drm_dev_unregister(dev);
        drm_atomic_helper_shutdown(dev);
-       if (is_vga(pdev))
+       if (is_vga(pdev) && pdev->revision < 5)
                vga_put(pdev, VGA_RSRC_LEGACY_IO);
 }