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

Singh, Gaurav K gaurav.k.singh at intel.com
Thu Jan 4 16:43:22 UTC 2018



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