Re: snd_hda_intel/sst-acpi sound breakage on suspend/resume since 5.6-rc1

Cezary Rojewski
2020-03-18T18:28:03Z

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