[PATCH] drm/fb-helper: delay hotplug handling when partially bound

Chris Wilson chris at chris-wilson.co.uk
Fri Jun 15 02:32:20 PDT 2012


On Fri, 15 Jun 2012 11:01:22 +0200, Daniel Vetter <daniel.vetter at ffwll.ch> wrote:
> Ok, this requires quite a dance to actually hit:
> 1) We plug in a 2nd screen, enable it in both X and (by vt-switching)
> in the fbcon.
> 2) We disable that screen again in with xrandr.
> 3) We vt-switch again, so that fbcon displays on the 2nd screen, but X
> on the first screen. This obviously needs a driver that doesn't switch
> off unused functions when regaining the VT.
> 3) When X controls the vt, we unplug that screen.
> 
> Now drm_fb_helper_hotplug_event we noticed that that some crtcs are
> bound, but because we still have the fbcon on the 2nd screeen we also
> have bound set. Which means the fbcon wrongly assumes it's in control
> of everything an happily disables the output on the 2nd screen, but
> enables its fb on the first screen.
> 
> Work around this issue by counting how many crtcs are bound and how
> many are bound to fbcon and assuming that when fbcon isn't bound to
> all of them, it better not touch the output configuration.
> 
> Conceptually this is the same as only restoring the fbcon output
> configuration on the driver's ->lastclose, when we're sure that no one
> else is using kms. So this should be consistent with existing kms
> drivers.
> 
> Chris has created a separate patch for the intel ddx, but I think we
> should fix this issue here regardless - the fbcon messing with the
> output config while it's not fully in control simply isn't a too
> polite behaviour.
> 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=50772
> Tested-by: Maxim A. Nikulin <M.A.Nikulin at gmail.com>
> Signed-Off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the dri-devel mailing list