[Intel-gfx] [PATCH] drm: i915: Fix audio issue on BXT

Rodrigo Vivi rodrigo.vivi at intel.com
Wed Jan 3 21:18:24 UTC 2018


On Wed, Jan 03, 2018 at 08:31:10PM +0000, Pandiyan, Dhinakaran wrote:
> 
> On Thu, 2018-01-04 at 00:48 +0530, Gaurav K Singh wrote:
> > From: Gaurav Singh <gaurav.k.singh at intel.com>
> > 
> > On Apollolake, with stress test warm reboot, audio card
> > was not getting enumerated after reboot. This was a
> 
> The problem looks similar to
> https://lists.freedesktop.org/archives/intel-gfx/2017-October/144495.html
> 
> although the proposed solutions are vastly different. I have Cc'd some
> more people. 
> 
> > spurious issue happening on Apollolake. HW codec and
> > HD audio controller link was going out of sync for which
> > there was a fix in i915 driver but was not getting invoked
> > for BXT. Extending this fix to BXT as well.
> > 
> > Tested on apollolake chromebook by stress test warm reboot
> > with 2500 iterations.
> > 
> > Signed-off-by: Gaurav K Singh <gaurav.k.singh at intel.com>
> > ---
> >  drivers/gpu/drm/i915/intel_audio.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/intel_audio.c b/drivers/gpu/drm/i915/intel_audio.c
> > index f1502a0188eb..c71c04e1c3f6 100644
> > --- a/drivers/gpu/drm/i915/intel_audio.c
> > +++ b/drivers/gpu/drm/i915/intel_audio.c
> > @@ -729,7 +729,7 @@ static void i915_audio_component_codec_wake_override(struct device *kdev,
> >  	struct drm_i915_private *dev_priv = kdev_to_i915(kdev);
> >  	u32 tmp;
> >  
> > -	if (!IS_GEN9_BC(dev_priv))
> > +	if (!IS_GEN9_BC(dev_priv) && !IS_BROXTON(dev_priv))
> 
> IS_GEN9()? GLK might need this too.

if GLK need there is the possibility of CNL also needing it...
So not sure where to stop.

Also looking to the original patch that introduced this function,
commit '632f3ab95fe2 ("drm/i915/audio: add codec wakeup override
enabled/disable callback")'

it tells that the reason was:
"In SKL, HDMI/DP codec and PCH HD Audio Controller are in different p$
wells, so it's necessary to reset display audio codecs when power we$
otherwise display audio codecs will disappear when resume from low p$
state."

Is this the case here on BXT?

Another interesting thing I noticed on Spec when searching for this bit
was that this bit is related to an workaround on SKL/KBL/CFL... no mention
to BXT.

"This workaround is needed for an HW issue in SKL and KBL in which HW codec
and HD audio controller link was going out of sync."

Thanks,
Rodrigo.

> 
> 
> >  		return;
> >  
> >  	i915_audio_component_get_power(kdev);
> _______________________________________________
> 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