Re: [PATCH v2] drm/qxl: don't take vga ports on rev5+

From: Daniel Vetter
Date: Fri Aug 07 2020 - 09:12:12 EST


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@xxxxxxxxxx>

Does what it says on the label.

Reviewed-by: Daniel Vetter <daniel.vetter@xxxxxxxx>

> ---
> 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
>

--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch