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

Pandiyan, Dhinakaran dhinakaran.pandiyan at intel.com
Thu Jan 4 21:59:51 UTC 2018


+Art

On Thu, 2018-01-04 at 22:13 +0530, Singh, Gaurav K wrote:
> 
> On 1/4/2018 2:48 AM, Rodrigo Vivi wrote:
> > 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.
> > I think this is applicable for all Gen9 platforms.
> 
> > 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?
> Yes, its the same case with 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."
> Yes, in Bspec it has been mentioned only for SKL and KBL. But without 
> this fix, sound card was not getting enumerated for BXT.


Art,

Can you please help us here? To summarize, the question is what
platforms need the AUD_CHICKENBIT_REG:15 bit to be set to avoid code
enumeration failures?

-DK

> >
> > 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