Re: snd_hda_intel/sst-acpi sound breakage on suspend/resume since 5.6-rc1
From: Cezary Rojewski
Date: Wed Mar 18 2020 - 14:28:03 EST
On 2020-03-18 17:20, Dominik Brodowski wrote:
On Wed, Mar 18, 2020 at 10:13:54AM -0500, Pierre-Louis Bossart wrote:
While 5.5.x works fine, mainline as of ac309e7744be (v5.6-rc6+) causes me
some sound-related trouble: after boot, the sound works fine -- but once I
suspend and resume my broadwell-based XPS13, I need to switch to headphone
and back to speaker to hear something. But what I hear isn't music but
garbled output.
I had (see 18d78b64fddc), but not any more in years (and I'd like to keep
using I2S, which has worked flawlessly in these years).
Due to pandemic I'm working remotely and right now won't be able to test
audio quality so focusing on the stream==NULL issue. And thus we got to
help each other out : )
Could you verify issue reproduces on 5.6.0-rc1 on your machine? On my
RVPs looks like it does. There is one more thing that worries me. After
enabling dbg logs I see some IPCs queried but not delivered (dsp busy):
[ 170.330009] snd_soc_core:dpcm_fe_dai_prepare: System PCM: ASoC:
prepare FE System PCM
[ 170.330019] snd_soc_core:dpcm_be_dai_prepare: Codec: ASoC: prepare
BE Codec
[ 170.347068] snd_soc_core:dpcm_dapm_stream_event: Codec: ASoC: BE
Codec event 1 dir 0
[ 170.348814] snd_soc_core:dpcm_do_trigger: Codec: ASoC: trigger BE
Codec cmd 1
[ 170.348826] snd_soc_core:dpcm_dai_trigger_fe_be: System PCM: ASoC:
post trigger FE System PCM cmd 1
[ 170.348839] snd_soc_sst_ipc:ipc_tx_msgs: haswell-pcm-audio
haswell-pcm-audio: ipc_tx_msgs dsp busy
[ 182.583710] System PCM: ASoC: trigger FE cmd: 7 failed: -22
[ 182.583811] snd_soc_core:dpcm_dai_trigger_fe_be: System PCM: ASoC:
pre trigger FE System PCM cmd 0
[ 182.583839] snd_soc_core:dpcm_do_trigger: Codec: ASoC: trigger BE
Codec cmd 0
[ 182.583862] snd_soc_core:dpcm_fe_dai_hw_free: System PCM: ASoC:
hw_free FE System PCM
[ 182.583872] snd_soc_core:dpcm_be_dai_hw_free: Codec: ASoC: hw_free
BE Codec
[ 182.584127] snd_soc_core:dpcm_fe_dai_hw_free: System PCM: ASoC:
hw_free FE System PCM
[ 182.584144] snd_soc_core:dpcm_be_dai_hw_free: Codec: ASoC: hw_free
BE Codec
[ 182.584161] snd_soc_core:dpcm_be_dai_shutdown: Codec: ASoC: close BE
Codec
[ 182.584211] snd_soc_sst_ipc:ipc_tx_msgs: haswell-pcm-audio
haswell-pcm-audio: ipc_tx_msgs dsp busy
[ 182.587411] snd_soc_core:dpcm_fe_dai_shutdown: System PCM: ASoC:
close FE System PCM
[ 182.587427] haswell-pcm-audio haswell-pcm-audio: warning: stream is
NULL, no stream to reset, ignore it.
[ 182.587435] haswell-pcm-audio haswell-pcm-audio: warning: stream is
NULL, no stream to free, ignore it.
[ 182.587451] snd_soc_core:dpcm_be_disconnect: System PCM: ASoC: BE
playback disconnect check for Codec
[ 182.587460] snd_soc_core:dpcm_be_disconnect: System PCM: freed DSP
playback path System PCM -> Codec
[ 187.626116] snd_soc_core:snd_soc_close_delayed_work: System PCM:
ASoC: pop wq checking: Playback status: inactive waiting: yes
Will be scanning IPCs now. Seems like regression has been introduced
immediately in 5.6.0-rc1 as linux-stable 5.5.7 works just fine for me.
Regards,
Czarek