[PATCH v2 1/2] drm: move i915_kick_out_vgacon to drm_fb_helper

Daniel Vetter daniel at ffwll.ch
Thu Feb 21 14:19:37 UTC 2019


On Thu, Feb 21, 2019 at 01:39:33PM +0100, Gerd Hoffmann wrote:
> > > +/**
> > > + * drm_fb_helper_kick_out_vgacon - deactivate vgacon driver.
> > > + *
> > > + * Deactivate vgacon driver so it stops accessing vga io ports.
> > > + * Should be called after
> > > + * drm_fb_helper_remove_conflicting_pci_framebuffers().
> > 
> > Why after? i915 calls this before kicking out the fbdev drivers ...
> 
> No, it doesn't:
> 
> <quote>
> 	/*
> 	 * WARNING: Apparently we must kick fbdev drivers before vgacon,
> 	 * otherwise the vga fbdev driver falls over.
> 	 */
> 	ret = i915_kick_out_firmware_fb(dev_priv);
> 	if (ret) {
> 		DRM_ERROR("failed to remove conflicting framebuffer drivers\n");
> 		goto err_ggtt;
> 	}
> 
> 	ret = i915_kick_out_vgacon(dev_priv);
> 	if (ret) {
> 		DRM_ERROR("failed to remove conflicting VGA console\n");
> 		goto err_ggtt;
> 	}
> </quote>

/me collects special prize for failing to remove blinders before replying

And indeed this has reasons:

commit 0485c9dc24ec0939b42ca5104c0373297506b555 (tag: drm-intel-fixes-2014-11-19)
Author: Daniel Vetter <daniel.vetter at ffwll.ch>
Date:   Fri Nov 14 10:09:49 2014 +0100

    drm/i915: Kick fbdev before vgacon
    
    It's magic, but it seems to work.
    
    This fixes a regression introduced in
    
    commit 1bb9e632a0aeee1121e652ee4dc80e5e6f14bcd2
    Author: Daniel Vetter <daniel.vetter at ffwll.ch>
    Date:   Tue Jul 8 10:02:43 2014 +0200
    
        drm/i915: Only unbind vgacon, not other console drivers
    
    My best guess is that the vga fbdev driver falls over if we rip out
    parts of vgacon. Hooray.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82439
    Cc: stable at vger.kernel.org (v3.16+)
    Reported-and-tested-by: Lv Zheng <lv.zheng at intel.com>
    Signed-off-by: Daniel Vetter <daniel.vetter at intel.com>
    Acked-by: Chris Wilson <chris at chris-wilson.co.uk>
    Signed-off-by: Jani Nikula <jani.nikula at intel.com>

I think given that even more reasons that the pci helper should
automatically kick out all the things, in the right order. And perhaps
cite the above commit in the commit message somewhere.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the dri-devel mailing list