[Intel-gfx] [PATCH] drm/i915: Enable hotplug polling after registering the outputs

Chris Wilson chris at chris-wilson.co.uk
Mon Nov 27 10:34:53 UTC 2017


Quoting Maarten Lankhorst (2017-11-27 10:18:46)
> Op 27-11-17 om 10:45 schreef Chris Wilson:
> > Previously we would enable hotplug polling on the outputs immediately
> > upon construction. This would allow a very early hotplug event to
> > trigger before we had finishing setting up the driver to handle it.
> > Instead, move the output polling to the last step of registration, after
> > we have set up all handlers, including the fbdev configuration.
> >
> > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> > Cc: Daniel Vetter <daniel.vetter at ffwll.ch>
> > Cc: Ville Syrjala <ville.syrjala at linux.intel.com>
> > Cc: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> > ---
> >  drivers/gpu/drm/i915/i915_drv.c | 5 +++--
> >  1 file changed, 3 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
> > index 0793a27e2b95..c178cbfdb4c2 100644
> > --- a/drivers/gpu/drm/i915/i915_drv.c
> > +++ b/drivers/gpu/drm/i915/i915_drv.c
> > @@ -693,8 +693,6 @@ static int i915_load_modeset_init(struct drm_device *dev)
> >       /* Only enable hotplug handling once the fbdev is fully set up. */
> >       intel_hpd_init(dev_priv);
> >  
> > -     drm_kms_helper_poll_init(dev);
> > -
> >       return 0;
> >  
> >  cleanup_gem:
> > @@ -1255,6 +1253,9 @@ static void i915_driver_register(struct drm_i915_private *dev_priv)
> >        * cannot run before the connectors are registered.
> >        */
> >       intel_fbdev_initial_config_async(dev);
> > +
> > +     if (INTEL_INFO(dev_priv)->num_pipes)
> > +             drm_kms_helper_poll_init(dev);
> >  }
> >  
> >  /**
> 
> This commit would look better with relevent kernel output pasted in. :)
> 
> Could this be done before fbdev initial config? Since it's run async, this makes it more clear it is run first.

No. Because the kms_helper depends upon the async cookie to serialise
its hotplug event with the async fbdev config. It is an unholy mess,
with shutdown just as uncoordinated.
-Chris


More information about the Intel-gfx mailing list