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 <kra...@redhat.com> > --- > 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