Re: [PATCH v2 2/2] drm/qxl: kick out vgacon

From: Daniel Vetter
Date: Thu Feb 21 2019 - 07:20:18 EST


On Thu, Feb 21, 2019 at 12:35:34PM +0100, Gerd Hoffmann wrote:
> Problem: qxl switches from native mode back into vga compatibility mode
> when it notices someone is accessing vga registers. And vgacon does
> exactly that before fbcon takes over. So make sure we kick out vgacon
> early enough that it wouldn't disturb us.
>
> Signed-off-by: Gerd Hoffmann <kraxel@xxxxxxxxxx>
> ---
> drivers/gpu/drm/qxl/qxl_drv.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/gpu/drm/qxl/qxl_drv.c b/drivers/gpu/drm/qxl/qxl_drv.c
> index bb81e310eb..08446561aa 100644
> --- a/drivers/gpu/drm/qxl/qxl_drv.c
> +++ b/drivers/gpu/drm/qxl/qxl_drv.c
> @@ -95,6 +95,7 @@ qxl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
> goto modeset_cleanup;
>
> drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "qxl");
> + drm_fb_helper_kick_out_vgacon();

I was thinking of checking whether pdev is a VGA class device and whether
it decodes vga access, and in that case automatically calling
kick_out_vgacon from remove_conflicting_pci_framebuffer. Since that's what
drivers want anyway, and those who don't can open code it.

Or is there an issue with that?
-Daniel

> drm_fbdev_generic_setup(&qdev->ddev, 32);
> return 0;
>
> --
> 2.9.3
>

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