[Intel-gfx] [PATCH 1/4] drm/i915: kill intel_display_power_well_is_enabled()
Paulo Zanoni
paulo.r.zanoni at intel.com
Mon Aug 20 23:11:27 UTC 2018
Em Sex, 2018-08-17 às 16:41 -0700, Paulo Zanoni escreveu:
> Em Qua, 2018-08-15 às 23:27 +0300, Imre Deak escreveu:
> > On Wed, Aug 08, 2018 at 03:16:11PM -0700, Paulo Zanoni wrote:
> > > Use the same coding pattern as we use in the other functions of
> > > the
> > > same file: just call lookup_power_well() directly in the only
> > > caller.
> > >
> > > Cc: Imre Deak <imre.deak at intel.com>
> > > Signed-off-by: Paulo Zanoni <paulo.r.zanoni at intel.com>
> > > ---
> > > drivers/gpu/drm/i915/intel_runtime_pm.c | 20 +++--------------
> > > ---
> > > 1 file changed, 3 insertions(+), 17 deletions(-)
> > >
> > > diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c
> > > b/drivers/gpu/drm/i915/intel_runtime_pm.c
> > > index e209edbc561d..e0947f662361 100644
> > > --- a/drivers/gpu/drm/i915/intel_runtime_pm.c
> > > +++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
> > > @@ -49,9 +49,6 @@
> > > * present for a given platform.
> > > */
> > >
> > > -bool intel_display_power_well_is_enabled(struct drm_i915_private
> > > *dev_priv,
> > > - enum i915_power_well_id
> > > power_well_id);
> > > -
> > > static struct i915_power_well *
> > > lookup_power_well(struct drm_i915_private *dev_priv,
> > > enum i915_power_well_id power_well_id);
> > > @@ -678,8 +675,9 @@ static void assert_csr_loaded(struct
> > > drm_i915_private *dev_priv)
> > >
> > > static void assert_can_enable_dc5(struct drm_i915_private
> > > *dev_priv)
> > > {
> > > - bool pg2_enabled =
> > > intel_display_power_well_is_enabled(dev_priv,
> > > - SKL_DISP_PW_2);
> > > + struct i915_power_well *pg2 =
> > > lookup_power_well(dev_priv,
> > > + SKL_DISP
> > > _P
> > > W_2);
> > > + bool pg2_enabled = pg2->desc->ops->is_enabled(dev_priv,
> > > pg2);
> > >
> > > WARN_ONCE(pg2_enabled, "PG2 not disabled to enable
> > > DC5.\n");
> > >
> > > @@ -2302,18 +2300,6 @@ static const struct i915_power_well_desc
> > > chv_power_wells[] = {
> > > },
> > > };
> > >
> > > -bool intel_display_power_well_is_enabled(struct drm_i915_private
> > > *dev_priv,
> > > - enum i915_power_well_id
> > > power_well_id)
> > > -{
> > > - struct i915_power_well *power_well;
> > > - bool ret;
> > > -
> > > - power_well = lookup_power_well(dev_priv, power_well_id);
> > > - ret = power_well->desc->ops->is_enabled(dev_priv,
> > > power_well);
> > > -
> > > - return ret;
> > > -}
> > > -
> >
> > Or rather export a locked version of it and use that in
> > intel_hdcp.c
> > to
> > better hide the internals?
>
> That should probably be combined with José's idea of using ->enabled
> so
> we trust the hardware sync.
>
> Thanks for the suggestions.
After further analysis, I wonder if intel_hdcp.c should really be
checking for enabled power wells or if it should be doing something
else, such as actually grabbing power domain references to make sure
we're able to enable/disable HDCP whenever we need. Most of our code
should not be checking for power wells/domains being enabled/disabled
(except for HW readout), it should actually be requesting those
resources to make sure we have them when we need them.
CCing Ramaligam for that.
>
> >
> > > static const struct i915_power_well_desc skl_power_wells[] = {
> > > {
> > > .name = "always-on",
> > > --
> > > 2.14.4
> > >
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
More information about the Intel-gfx
mailing list