Message ID | 20200807105501.24599-1-kraxel@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] drm/qxl: don't take vga ports on rev5+ | expand |
On Fri, Aug 07, 2020 at 12:55:01PM +0200, Gerd Hoffmann wrote: > 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> Does what it says on the label. Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> > --- > drivers/gpu/drm/qxl/qxl_drv.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/qxl/qxl_drv.c b/drivers/gpu/drm/qxl/qxl_drv.c > index 13872b882775..6e7f16f4cec7 100644 > --- a/drivers/gpu/drm/qxl/qxl_drv.c > +++ b/drivers/gpu/drm/qxl/qxl_drv.c > @@ -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 @@ qxl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) > 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); > } > > -- > 2.18.4 >
diff --git a/drivers/gpu/drm/qxl/qxl_drv.c b/drivers/gpu/drm/qxl/qxl_drv.c index 13872b882775..6e7f16f4cec7 100644 --- a/drivers/gpu/drm/qxl/qxl_drv.c +++ b/drivers/gpu/drm/qxl/qxl_drv.c @@ -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 @@ qxl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) 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); }
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> --- drivers/gpu/drm/qxl/qxl_drv.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)