Re: [PATCH] drm: i915: Fix audio issue on BXT

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





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

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@xxxxxxxxx>
---
  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@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

_______________________________________________
Intel-gfx mailing list
Intel-gfx@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/intel-gfx




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]
  Powered by Linux