[Intel-gfx] [PATCH 5/5] drm/i915/icl: Fix port B combo PHY context loss after DC transitions

Imre Deak imre.deak at intel.com
Mon Nov 5 11:02:08 UTC 2018


On Fri, Nov 02, 2018 at 12:22:15PM -0700, Rodrigo Vivi wrote:
> On Fri, Nov 02, 2018 at 08:07:06PM +0200, Imre Deak wrote:
> > On ICL DMC/PCODE retains the HW context only for port A across DC
> > transitions, for the other port B combo PHY, it doesn't. So we need to
> > do this manually after exiting from DC6. Do the reinit even after
> > exiting from DC5, it won't hurt since we only reinit the PHY in case
> > it's needed (in case it was disabled to begin with).
> > 
> > As can be guessed from the bugzilla report leaving the PHY uninited will
> > lead to a later timeout during the port B specific AUX and DDI_IO power
> > well enabling.
> > 
> > Bspec: 21257
> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108070
> > Cc: Paulo Zanoni <paulo.r.zanoni at intel.com>
> > Cc: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > Cc: José Roberto de Souza <jose.souza at intel.com>
> > Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
> > Signed-off-by: Imre Deak <imre.deak at intel.com>
> > ---
> >  drivers/gpu/drm/i915/intel_runtime_pm.c | 8 ++++++++
> >  1 file changed, 8 insertions(+)
> > 
> > diff --git a/drivers/gpu/drm/i915/intel_runtime_pm.c b/drivers/gpu/drm/i915/intel_runtime_pm.c
> > index f8da471e81aa..763912c0245c 100644
> > --- a/drivers/gpu/drm/i915/intel_runtime_pm.c
> > +++ b/drivers/gpu/drm/i915/intel_runtime_pm.c
> > @@ -843,6 +843,14 @@ static void gen9_dc_off_power_well_enable(struct drm_i915_private *dev_priv,
> >  
> >  	if (IS_GEN9_LP(dev_priv))
> >  		bxt_verify_ddi_phy_power_wells(dev_priv);
> > +
> > +	if (IS_ICELAKE(dev_priv))
> 
> maybe INTEL_GEN(dev_priv) >= 11?

Ok, will change it.

> 
> 
> with or without:
> 
> Reviewed-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
> 
> 
> 
> > +		/*
> > +		 * DMC retains HW context only for port A, the other combo
> > +		 * PHY's HW context for port B is lost after DC transitions,
> > +		 * so we need to restore it manually.
> > +		 */
> > +		icl_combo_phys_init(dev_priv);
> >  }
> >  
> >  static void gen9_dc_off_power_well_disable(struct drm_i915_private *dev_priv,
> > -- 
> > 2.13.2
> > 


More information about the Intel-gfx mailing list