[PATCH 3/3] drm/i915: use async hpd_irq_event function on resume

Jesse Barnes jbarnes at virtuousgeek.org
Wed May 21 08:00:22 PDT 2014


On Wed, 21 May 2014 08:52:34 +0200
Daniel Vetter <daniel at ffwll.ch> wrote:

> On Tue, May 20, 2014 at 03:25:35PM -0700, Jesse Barnes wrote:
> > Gets the detect code (which may take awhile) out of the resume path,
> > speeding things up a bit.
> > 
> > Signed-off-by: Jesse Barnes <jbarnes at virtuousgeek.org>
> > ---
> >  drivers/gpu/drm/i915/i915_drv.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
> > index 302495f..571f688 100644
> > --- a/drivers/gpu/drm/i915/i915_drv.c
> > +++ b/drivers/gpu/drm/i915/i915_drv.c
> > @@ -606,7 +606,7 @@ static int __i915_drm_thaw(struct drm_device *dev, bool restore_gtt_mappings)
> >  		intel_hpd_init(dev);
> >  		dev_priv->enable_hotplug_processing = true;
> >  		/* Config may have changed between suspend and resume */
> > -		drm_helper_hpd_irq_event(dev);
> > +		async_schedule(drm_helper_hpd_irq_event_async, dev);
> 
> Does that really help all that much? I've thought the driver core
> sychnronizes all the async workers again once resume is done. I'm better
> to schedule this as a fully async work with e.g. a 1s delay, like we do
> with the rps resume work.

That might be better, I'll check on the synchronization.  I thought
async_schedule was the new hotness we were supposed to use everywhere...

-- 
Jesse Barnes, Intel Open Source Technology Center


More information about the dri-devel mailing list