On Mon, Dec 08, 2014 at 01:38:59PM +1000, Dave Airlie wrote: > From: Dave Airlie <airlied at redhat.com> > > On MST systems the monitors don't appear when we set the fb up, > but plymouth opens the drm device and holds it open while they > come up, when plymouth finishes and lastclose gets called we > don't do the delayed fb probe, so the monitor never appears on the > console. > > Fix this by moving the delayed checking into the mode restore. > > v2: Daniel suggested that ->delayed_hotplug is set under > the mode_config mutex, so we should check it under that as > well, while we are in the area. > > Signed-off-by: Dave Airlie <airlied at redhat.com>
Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch> > --- > drivers/gpu/drm/drm_fb_helper.c | 13 +++++++++---- > 1 file changed, 9 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/drm_fb_helper.c b/drivers/gpu/drm/drm_fb_helper.c > index 37955b0..52ce26d 100644 > --- a/drivers/gpu/drm/drm_fb_helper.c > +++ b/drivers/gpu/drm/drm_fb_helper.c > @@ -347,9 +347,18 @@ bool drm_fb_helper_restore_fbdev_mode_unlocked(struct > drm_fb_helper *fb_helper) > { > struct drm_device *dev = fb_helper->dev; > bool ret; > + bool do_delayed = false; > + > drm_modeset_lock_all(dev); > ret = restore_fbdev_mode(fb_helper); > + > + do_delayed = fb_helper->delayed_hotplug; > + if (do_delayed) > + fb_helper->delayed_hotplug = false; > drm_modeset_unlock_all(dev); > + > + if (do_delayed) > + drm_fb_helper_hotplug_event(fb_helper); > return ret; > } > EXPORT_SYMBOL(drm_fb_helper_restore_fbdev_mode_unlocked); > @@ -888,10 +897,6 @@ int drm_fb_helper_set_par(struct fb_info *info) > > drm_fb_helper_restore_fbdev_mode_unlocked(fb_helper); > > - if (fb_helper->delayed_hotplug) { > - fb_helper->delayed_hotplug = false; > - drm_fb_helper_hotplug_event(fb_helper); > - } > return 0; > } > EXPORT_SYMBOL(drm_fb_helper_set_par); > -- > 2.1.0 > > _______________________________________________ > dri-devel mailing list > dri-devel at lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch