[Intel-gfx] [PATCH 9/9] drm/i915: Make intel_display_power_put_unchecked() an internal-only function

Imre Deak imre.deak at intel.com
Tue Dec 1 10:52:22 UTC 2020


On Tue, Dec 01, 2020 at 08:14:40AM +0000, Chris Wilson wrote:
> Quoting Imre Deak (2020-11-30 22:47:08)
> > On Mon, Nov 30, 2020 at 10:07:01PM +0000, Chris Wilson wrote:
> > > Quoting Imre Deak (2020-11-30 21:22:00)
> > > > All the display power domain references are wakeref tracked now, so we
> > > > can mark intel_display_power_put_unchecked() as an internal function
> > > > (for suppressing wakeref tracking in non-debug builds).
> > > > 
> > > > Cc: Chris Wilson <chris at chris-wilson.co.uk>
> > > > Signed-off-by: Imre Deak <imre.deak at intel.com>
> > > 
> > > Ok, after all previous patches it will only be called from the header
> > > after throwing away the wakeref.
> > > 
> > > I have a sneaky suspicion you might take another path after reviewing
> > > the danger caused by the debug build, 
> > 
> > Yes, how about also adding:
> > 
> > +static inline void
> > +____intel_display_power_put(struct drm_i915_private *i915,
> > +                           enum intel_display_power_domain domain,
> > +                           intel_wakeref_t wakeref)
> > +{
> > +       intel_display_power_put_unchecked(i915, domain);
> > +}
> > +
> >  static inline void
> >  intel_display_power_put(struct drm_i915_private *i915,
> >                         enum intel_display_power_domain domain,
> >                         intel_wakeref_t wakeref)
> >  {
> > -       intel_display_power_put_unchecked(i915, domain);
> > +       ____intel_display_power_put(i915, domain, wakeref);
> >  }
> > 
> > (and similar change for intel_display_power_put_async()) ?
> 
> Hmm. The compiler shouldn't DCE the wakeref since it has a side-effect.
> We can but see.

Yes, arguments passed to functions are evaluated exactly once. The above
extra call doesn't make sense anyway.

Are you ok with patch 4 then?

--Imre


More information about the Intel-gfx mailing list