Re: [PATCH 2/2] drm/i915: take a power domain reference while checking the HDMI live status

Ville Syrjälä
2015-11-19T19:18:11Z

On Thu, Nov 19, 2015 at 09:13:04PM +0200, Imre Deak wrote:
> On Thu, 2015-11-19 at 21:08 +0200, Ville Syrjälä wrote:
> > On Thu, Nov 19, 2015 at 08:55:01PM +0200, Imre Deak wrote:
> > > There are platforms that don't need the full GMBUS power domain
> > > (PCH, BXT) while others do (VLV/CHV). For optimizing this we
> > > would need to add a new power domain, but it's not clear how much
> > > we
> > > would benefit given the short time we hold the reference. So for
> > > now
> > > let's keep things simple.
> >
> > Actually on PCH platforms the gmbus domain means just just an
> > rpm ref since the gmbus hw lives in the PCH.
>
> Ah right.
>
> > And IIRC on BXT gmbus lives in pw0 so same deal really.
>
> It's in PW2 there. I'll fix the commit message.

Doh. Not sure where I got the PW0 zero idea. Maybe I confused gmbus
with hpd. But yes, you're right about that.

>
> > And for vlv/chv we should just need the disp2d well, which
> > is exactly what we get with the gmbus domain.
> >
> > So I don't think there's actually anything to optimize here
> > with current platforms.
> >
> > Both patches look fine to me:
> > Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >
> > >
> > > Signed-off-by: Imre Deak <imre.deak@intel.com>
> > > ---
> > >  drivers/gpu/drm/i915/intel_hdmi.c | 4 ++++
> > >  1 file changed, 4 insertions(+)
> > >
> > > diff --git a/drivers/gpu/drm/i915/intel_hdmi.c
> > > b/drivers/gpu/drm/i915/intel_hdmi.c
> > > index 17ced03..bdd462e 100644
> > > --- a/drivers/gpu/drm/i915/intel_hdmi.c
> > > +++ b/drivers/gpu/drm/i915/intel_hdmi.c
> > > @@ -1393,6 +1393,8 @@ intel_hdmi_detect(struct drm_connector
> > > *connector, bool force)
> > >   DRM_DEBUG_KMS("[CONNECTOR:%d:%s]\n",
> > >         connector->base.id, connector->name);
> > >
> > > + intel_display_power_get(dev_priv, POWER_DOMAIN_GMBUS);
> > > +
> > >   while (!live_status && --retry) {
> > >   live_status =
> > > intel_digital_port_connected(dev_priv,
> > >   hdmi_to_dig_port(intel_hdmi));
> > > @@ -1412,6 +1414,8 @@ intel_hdmi_detect(struct drm_connector
> > > *connector, bool force)
> > >   } else
> > >   status = connector_status_disconnected;
> > >
> > > + intel_display_power_put(dev_priv, POWER_DOMAIN_GMBUS);
> > > +
> > >   return status;
> > >  }
> > >
> > > --
> > > 2.5.0
> > >
> > > _______________________________________________
> > > Intel-gfx mailing list
> > > Intel-gfx@lists.freedesktop.org
> > > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> >

--
Ville Syrjälä
Intel OTC