[Intel-gfx] [PATCH 4/4] drm/i915/gen9: Fix runtime PM refcounting in case DMC firmware isn't loaded

Imre Deak imre.deak at intel.com
Mon Apr 18 07:59:13 UTC 2016


On ma, 2016-04-18 at 08:49 +0100, Chris Wilson wrote:
> On Mon, Apr 18, 2016 at 10:04:22AM +0300, Imre Deak wrote:
> > diff --git a/drivers/gpu/drm/i915/intel_csr.c
> > b/drivers/gpu/drm/i915/intel_csr.c
> > index d57b00e..fd9f5b3 100644
> > --- a/drivers/gpu/drm/i915/intel_csr.c
> > +++ b/drivers/gpu/drm/i915/intel_csr.c
> 
> > +void intel_csr_ucode_suspend(struct drm_i915_private *dev_priv)
> > +{
> > +	if (!HAS_CSR(dev_priv))
> > +		return;
> > +
> > +	flush_work(&dev_priv->csr.work);
> > +
> > +	/* Drop the reference held in case DMC isn't loaded. */
> > +	if (!dev_priv->csr.dmc_payload)
> > +		intel_display_power_put(dev_priv,
> > POWER_DOMAIN_INIT);
> > +}
> 
> > @@ -480,5 +480,34 @@ void intel_csr_ucode_fini(struct
> > drm_i915_private *dev_priv)
> >  
> >  	flush_work(&dev_priv->csr.work);
> >  
> > +	/* Drop the reference held in case DMC isn't loaded. */
> > +	if (!dev_priv->csr.dmc_payload)
> > +		intel_display_power_put(dev_priv,
> > POWER_DOMAIN_INIT);
> > +
> >  	kfree(dev_priv->csr.dmc_payload);
> >  }
> 
> Should fini just be calling suspend first?

Yep didn't notice, will do that.

--Imre


More information about the Intel-gfx mailing list