Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[BUG] [Regression] Intel hda-dai doesn't recover gracefully from underruns; audio distortion #4455

Closed
CFSworks opened this issue Jul 5, 2023 · 13 comments

Comments

@CFSworks
Copy link

CFSworks commented Jul 5, 2023

Commit 05cbb39 introduced a regression.

Sometimes (often, but not every time), when an underrun occurs while playing audio through some HDA-DAI codec, the audio output will begin distorting the audio. Playing a 440 Hz test tone results in a spectrum of 440 Hz, 560 Hz, 1440 Hz, 1560 Hz, ..., which is consistent with the output being modulated by a 1000 Hz Dirac comb -- e.g. one sample being dropped every 1ms.

This can be reproduced on (at least) TGL:

  1. In one shell, run speaker-test -D 'hw:1,0' -r 48000 -c 2 -f 440 -F S16_LE -b 1000 -t sine
  2. In another shell, cause an underrun: killall -STOP speaker-test; killall -CONT speaker-test
  3. Repeat step 2 a few times as necessary until audio is distorted.
  4. Repeat step 2 a few more times as necessary to restore proper audio function.
@plbossart
Copy link
Member

Thanks for the report @CFSworks, that's indeed a nasty issue. It's probably an issue with the xrun flow, where we restart with a .prepare step first. This is different to the regular stop/start sequence that the commit 05cbb39 meant to fix.

Can you please attach the log of 'alsa-info'?

If you can, please add this file
sof-dyndbg.conf.txt as /etc/modprobe.d/sof-dyndbg.conf, reboot and attach the dmesg log. This will be quite verbose so you will need to adjust the console buffer most likely. You can clear with dmesg -C before you start step1, we don't care about the initial boot.

@ranj063 @kv2019i @lgirdwood FYI.

@CFSworks
Copy link
Author

CFSworks commented Jul 6, 2023

Can you please attach the log of 'alsa-info'?

Located here.

If you can, please add this file
sof-dyndbg.conf.txt as /etc/modprobe.d/sof-dyndbg.conf, reboot and attach the dmesg log.

Not applicable in my case since all of the ALSA modules are compiled builtin. I can reboot my kernel with some snd*.dyndbg=+pmf args added to my kernel cmdline, if you think that would help.

@plbossart
Copy link
Member

Thanks @CFSworks I don't see anything suspicious or bad in the alsa-info log. We would indeed need more information with the command line options.

One note: we don't really support the builtin mode, there are known issues with the firmware not being available on the file system, all known users prefer modules.

@CFSworks
Copy link
Author

CFSworks commented Jul 7, 2023

Annotated dmesg output of dyndbg trace
# STARTED speaker-test

[  276.158734] snd_sof_intel_hda:hda_codec_i915_display_power: sof-audio-pci-intel-tgl 0000:00:1f.3: Turning i915 HDAC power 1
[  276.163097] snd_sof:snd_sof_pci_update_bits_unlocked: sof-audio-pci-intel-tgl 0000:00:1f.3: Debug PCIR: 00000000 at  00000044
[  276.166029] snd_sof:snd_sof_pci_update_bits_unlocked: sof-audio-pci-intel-tgl 0000:00:1f.3: Debug PCIR: 00000040 at  00000048
[  276.166075] snd_sof:snd_sof_pci_update_bits_unlocked: sof-audio-pci-intel-tgl 0000:00:1f.3: Debug PCIW: 00000000 at  00000048
[  276.169513] snd_sof:snd_sof_pci_update_bits_unlocked: sof-audio-pci-intel-tgl 0000:00:1f.3: Debug PCIR: 00000000 at  00000048
[  276.169557] snd_sof:snd_sof_pci_update_bits_unlocked: sof-audio-pci-intel-tgl 0000:00:1f.3: Debug PCIW: 00000040 at  00000048
[  276.171106] snd_sof_intel_hda:hda_codec_i915_display_power: sof-audio-pci-intel-tgl 0000:00:1f.3: Turning i915 HDAC power 0
[  276.171119] snd_sof_intel_hda_common:hda_dsp_state_log: sof-audio-pci-intel-tgl 0000:00:1f.3: Current DSP power state: D0I0
[  276.171120] snd_sof:sof_set_fw_state: sof-audio-pci-intel-tgl 0000:00:1f.3: fw_state change: 0 -> 2
[  276.171121] snd_sof:snd_sof_load_firmware: sof-audio-pci-intel-tgl 0000:00:1f.3: loading firmware
[  276.171122] snd_sof:sof_set_fw_state: sof-audio-pci-intel-tgl 0000:00:1f.3: fw_state change: 2 -> 3
[  276.171159] snd_sof:snd_sof_pci_update_bits_unlocked: sof-audio-pci-intel-tgl 0000:00:1f.3: Debug PCIR: 00000002 at  00000048
[  276.171161] snd_sof:snd_sof_pci_update_bits_unlocked: sof-audio-pci-intel-tgl 0000:00:1f.3: Debug PCIW: 00000000 at  00000048
[  276.171164] snd_sof:snd_sof_pci_update_bits_unlocked: sof-audio-pci-intel-tgl 0000:00:1f.3: Debug PCIR: 00000000 at  00000044
[  276.171166] snd_sof:snd_sof_pci_update_bits_unlocked: sof-audio-pci-intel-tgl 0000:00:1f.3: Debug PCIW: 00000004 at  00000044
[  276.171166] snd_sof:snd_sof_run_firmware: sof-audio-pci-intel-tgl 0000:00:1f.3: booting DSP firmware
[  276.171181] snd_sof_intel_hda_common:hda_dsp_stream_setup_bdl: sof-audio-pci-intel-tgl 0000:00:1f.3: period_bytes:0x0
[  276.171183] snd_sof_intel_hda_common:hda_dsp_stream_setup_bdl: sof-audio-pci-intel-tgl 0000:00:1f.3: periods:1
[  276.171220] snd_sof_intel_hda_common:hda_dsp_cl_boot_firmware: sof-audio-pci-intel-tgl 0000:00:1f.3: IMR restore supported, booting from IMR directly
[  276.171223] snd_sof_intel_hda_common:hda_dsp_core_power_up: sof-audio-pci-intel-tgl 0000:00:1f.3: FW Poll Status: reg[0x4]=0x3010303 successful
[  276.171230] snd_sof_intel_hda_common:hda_dsp_core_reset_leave: sof-audio-pci-intel-tgl 0000:00:1f.3: FW Poll Status: reg[0x4]=0x3010302 successful
[  276.171231] snd_sof_intel_hda_common:hda_dsp_core_run: sof-audio-pci-intel-tgl 0000:00:1f.3: unstall/run core: core_mask = 1
[  276.171234] snd_sof_intel_hda_common:hda_dsp_core_is_enabled: sof-audio-pci-intel-tgl 0000:00:1f.3: DSP core(s) enabled? 1 : core_mask 1
[  276.172016] snd_sof_intel_hda_common:cl_dsp_init: sof-audio-pci-intel-tgl 0000:00:1f.3: FW Poll Status: reg[0xd4]=0x80000000 successful
[  276.172020] snd_sof_intel_hda_common:cl_dsp_init: sof-audio-pci-intel-tgl 0000:00:1f.3: FW Poll Status: reg[0x80000]=0x5 successful
[  276.183200] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc rx: 0x70000000
[  276.183209] snd_sof:ipc3_fw_ready: sof-audio-pci-intel-tgl 0000:00:1f.3: DSP is ready 0x70000000 offset 0x81000
[  276.183213] snd_sof:sof_set_fw_state: sof-audio-pci-intel-tgl 0000:00:1f.3: fw_state change: 3 -> 6
[  276.183286] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc rx done: 0x70000000
[  276.183290] snd_sof:snd_sof_run_firmware: sof-audio-pci-intel-tgl 0000:00:1f.3: firmware boot complete
[  276.183296] snd_sof:sof_set_fw_state: sof-audio-pci-intel-tgl 0000:00:1f.3: fw_state change: 6 -> 7
[  276.183340] snd_sof:snd_sof_pci_update_bits_unlocked: sof-audio-pci-intel-tgl 0000:00:1f.3: Debug PCIR: 00000000 at  00000048
[  276.183377] snd_sof:snd_sof_pci_update_bits_unlocked: sof-audio-pci-intel-tgl 0000:00:1f.3: Debug PCIW: 00000002 at  00000048
[  276.183382] snd_sof:snd_sof_pci_update_bits_unlocked: sof-audio-pci-intel-tgl 0000:00:1f.3: Debug PCIR: 00000004 at  00000044
[  276.183386] snd_sof:snd_sof_pci_update_bits_unlocked: sof-audio-pci-intel-tgl 0000:00:1f.3: Debug PCIW: 00000000 at  00000044
[  276.183398] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x40020000
[  276.226654] snd_sof:sof_pcm_open: sof-audio-pci-intel-tgl 0000:00:1f.3: pcm: open stream 0 dir 0
[  276.226656] snd_sof:sof_pcm_open: sof-audio-pci-intel-tgl 0000:00:1f.3: period min 192 max 16384 bytes
[  276.226658] snd_sof:sof_pcm_open: sof-audio-pci-intel-tgl 0000:00:1f.3: period count 2 max 16
[  276.226659] snd_sof:sof_pcm_open: sof-audio-pci-intel-tgl 0000:00:1f.3: buffer max 65536 bytes
[  276.226832] snd_sof_intel_hda_common:hda_link_dma_hw_params: sof-audio-pci-intel-tgl 0000:00:1f.3: format_val=0x31, rate=48000, ch=2, format=10
[  276.226839] snd_sof:sof_pcm_hw_params: sof-audio-pci-intel-tgl 0000:00:1f.3: pcm: hw params stream 0 dir 0
[  276.226847] snd_sof_intel_hda_common:hda_dsp_stream_hw_params: sof-audio-pci-intel-tgl 0000:00:1f.3: FW Poll Status: reg[0x160]=0x40000 successful
[  276.226873] snd_sof_intel_hda_common:hda_dsp_stream_hw_params: sof-audio-pci-intel-tgl 0000:00:1f.3: FW Poll Status: reg[0x160]=0x40000 successful
[  276.226878] snd_sof_intel_hda_common:hda_dsp_stream_setup_bdl: sof-audio-pci-intel-tgl 0000:00:1f.3: period_bytes:0xc0
[  276.226879] snd_sof_intel_hda_common:hda_dsp_stream_setup_bdl: sof-audio-pci-intel-tgl 0000:00:1f.3: periods:2
[  276.226902] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x30100000
[  276.227092] snd_sof:sof_widget_setup_unlocked: sof-audio-pci-intel-tgl 0000:00:1f.3: widget PIPELINE.30.HDA0.OUT setup complete
[  276.227093] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x30010000
[  276.227314] snd_sof:sof_widget_setup_unlocked: sof-audio-pci-intel-tgl 0000:00:1f.3: widget PCM0P setup complete
[  276.227315] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x30200000
[  276.227460] snd_sof:sof_widget_setup_unlocked: sof-audio-pci-intel-tgl 0000:00:1f.3: widget BUF30.0 setup complete
[  276.227461] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x30010000
[  276.227626] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x50010000
[  276.227876] snd_sof:sof_widget_setup_unlocked: sof-audio-pci-intel-tgl 0000:00:1f.3: widget PGA30.0 setup complete
[  276.227876] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x30200000
[  276.228021] snd_sof:sof_widget_setup_unlocked: sof-audio-pci-intel-tgl 0000:00:1f.3: widget BUF30.1 setup complete
[  276.228022] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x30100000
[  276.228513] snd_sof:sof_widget_setup_unlocked: sof-audio-pci-intel-tgl 0000:00:1f.3: widget PIPELINE.1.HDA0.OUT setup complete
[  276.228514] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x30010000
[  276.228668] snd_sof:sof_widget_setup_unlocked: sof-audio-pci-intel-tgl 0000:00:1f.3: widget MIXER1.0 setup complete
[  276.228669] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x30200000
[  276.228814] snd_sof:sof_widget_setup_unlocked: sof-audio-pci-intel-tgl 0000:00:1f.3: widget BUF1.0 setup complete
[  276.228815] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x30010000
[  276.228968] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x50010000
[  276.229215] snd_sof:sof_widget_setup_unlocked: sof-audio-pci-intel-tgl 0000:00:1f.3: widget PGA1.0 setup complete
[  276.229219] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x30200000
[  276.229365] snd_sof:sof_widget_setup_unlocked: sof-audio-pci-intel-tgl 0000:00:1f.3: widget BUF1.1 setup complete
[  276.229366] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x30010000
[  276.229621] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x80010000
[  276.229844] snd_sof:sof_widget_setup_unlocked: sof-audio-pci-intel-tgl 0000:00:1f.3: widget HDA0.OUT setup complete
[  276.229845] snd_sof:sof_ipc3_route_setup: sof-audio-pci-intel-tgl 0000:00:1f.3: setting up route PCM0P -> BUF30.0
[  276.229845] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x30030000
[  276.229975] snd_sof:sof_ipc3_route_setup: sof-audio-pci-intel-tgl 0000:00:1f.3: setting up route BUF30.0 -> PGA30.0
[  276.229976] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x30030000
[  276.230103] snd_sof:sof_ipc3_route_setup: sof-audio-pci-intel-tgl 0000:00:1f.3: setting up route PGA30.0 -> BUF30.1
[  276.230104] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x30030000
[  276.230236] snd_sof:sof_ipc3_route_setup: sof-audio-pci-intel-tgl 0000:00:1f.3: setting up route BUF30.1 -> MIXER1.0
[  276.230237] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x30030000
[  276.230366] snd_sof:sof_ipc3_route_setup: sof-audio-pci-intel-tgl 0000:00:1f.3: setting up route MIXER1.0 -> BUF1.0
[  276.230366] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x30030000
[  276.230493] snd_sof:sof_ipc3_route_setup: sof-audio-pci-intel-tgl 0000:00:1f.3: setting up route BUF1.0 -> PGA1.0
[  276.230494] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x30030000
[  276.230603] snd_sof:sof_ipc3_route_setup: sof-audio-pci-intel-tgl 0000:00:1f.3: setting up route PGA1.0 -> BUF1.1
[  276.230604] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x30030000
[  276.230734] snd_sof:sof_ipc3_route_setup: sof-audio-pci-intel-tgl 0000:00:1f.3: setting up route BUF1.1 -> HDA0.OUT
[  276.230735] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x30030000
[  276.230865] snd_sof:sof_ipc3_complete_pipeline: sof-audio-pci-intel-tgl 0000:00:1f.3: tplg: complete pipeline PIPELINE.30.HDA0.OUT id 70
[  276.230866] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x30130000
[  276.231354] snd_sof:sof_ipc3_complete_pipeline: sof-audio-pci-intel-tgl 0000:00:1f.3: tplg: complete pipeline PIPELINE.1.HDA0.OUT id 4
[  276.231358] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x30130000
[  276.231501] snd_sof:sof_ipc3_pcm_hw_params: sof-audio-pci-intel-tgl 0000:00:1f.3: stream_tag 1
[  276.231502] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x60010000
[  276.231882] snd_sof_intel_hda_common:hda_set_stream_data_offset: sof-audio-pci-intel-tgl 0000:00:1f.3: pcm: stream dir 0, posn mailbox offset is 790528
[  276.231912] snd_hda_codec:snd_hda_codec_setup_stream: snd_hda_codec_realtek ehdaudio0D0: hda_codec_setup_stream: NID=0x2, stream=0x1, channel=0, format=0x31
[  276.234604] snd_hda_codec:snd_hda_codec_setup_stream: snd_hda_codec_realtek ehdaudio0D0: hda_codec_setup_stream: NID=0x3, stream=0x1, channel=0, format=0x31
[  276.238684] snd_sof_intel_hda_common:hda_dai_trigger: sof-audio-pci-intel-tgl 0000:00:1f.3: cmd=1 dai Analog CPU DAI direction 0
[  276.238717] snd_sof:sof_pcm_trigger: sof-audio-pci-intel-tgl 0000:00:1f.3: pcm: trigger stream 0 dir 0 cmd 1
[  276.239271] snd_sof_intel_hda_common:hda_dsp_stream_trigger: sof-audio-pci-intel-tgl 0000:00:1f.3: FW Poll Status: reg[0x160]=0x2014001e successful
[  276.239273] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x60040000

# Triggered FIRST underflow: did NOT cause distortion

[  300.755633] snd_sof:sof_pcm_trigger: sof-audio-pci-intel-tgl 0000:00:1f.3: pcm: trigger stream 0 dir 0 cmd 0
[  300.755638] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x60050000
[  300.757146] snd_sof_intel_hda_common:hda_dsp_stream_trigger: sof-audio-pci-intel-tgl 0000:00:1f.3: FW Poll Status: reg[0x160]=0x20140000 successful
[  300.757151] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x60030000
[  300.757387] snd_sof_intel_hda_common:hda_dai_trigger: sof-audio-pci-intel-tgl 0000:00:1f.3: cmd=0 dai Analog CPU DAI direction 0
[  300.757391] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x80010000
[  300.774909] snd_hda_codec:snd_hda_codec_setup_stream: snd_hda_codec_realtek ehdaudio0D0: hda_codec_setup_stream: NID=0x2, stream=0x1, channel=0, format=0x31
[  300.774913] snd_hda_codec:snd_hda_codec_setup_stream: snd_hda_codec_realtek ehdaudio0D0: hda_codec_setup_stream: NID=0x3, stream=0x1, channel=0, format=0x31
[  300.774929] snd_sof:sof_pcm_prepare: sof-audio-pci-intel-tgl 0000:00:1f.3: pcm: prepare stream 0 dir 0
[  300.774931] snd_sof:sof_pcm_hw_params: sof-audio-pci-intel-tgl 0000:00:1f.3: pcm: hw params stream 0 dir 0
[  300.774976] snd_sof_intel_hda_common:hda_dsp_stream_hw_params: sof-audio-pci-intel-tgl 0000:00:1f.3: FW Poll Status: reg[0x160]=0x40000 successful
[  300.775002] snd_sof_intel_hda_common:hda_dsp_stream_hw_params: sof-audio-pci-intel-tgl 0000:00:1f.3: FW Poll Status: reg[0x160]=0x40000 successful
[  300.775007] snd_sof_intel_hda_common:hda_dsp_stream_setup_bdl: sof-audio-pci-intel-tgl 0000:00:1f.3: period_bytes:0xc0
[  300.775009] snd_sof_intel_hda_common:hda_dsp_stream_setup_bdl: sof-audio-pci-intel-tgl 0000:00:1f.3: periods:2
[  300.775025] snd_sof:sof_ipc3_pcm_hw_params: sof-audio-pci-intel-tgl 0000:00:1f.3: stream_tag 1
[  300.775027] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x60010000
[  300.775461] snd_sof_intel_hda_common:hda_set_stream_data_offset: sof-audio-pci-intel-tgl 0000:00:1f.3: pcm: stream dir 0, posn mailbox offset is 790528
[  300.775489] snd_sof_intel_hda_common:hda_dai_trigger: sof-audio-pci-intel-tgl 0000:00:1f.3: cmd=1 dai Analog CPU DAI direction 0
[  300.775526] snd_sof:sof_pcm_trigger: sof-audio-pci-intel-tgl 0000:00:1f.3: pcm: trigger stream 0 dir 0 cmd 1
[  300.776109] snd_sof_intel_hda_common:hda_dsp_stream_trigger: sof-audio-pci-intel-tgl 0000:00:1f.3: FW Poll Status: reg[0x160]=0x2014001e successful
[  300.776111] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x60040000

# Triggered SECOND underflow: did NOT cause distortion

[  305.541620] snd_sof:sof_pcm_trigger: sof-audio-pci-intel-tgl 0000:00:1f.3: pcm: trigger stream 0 dir 0 cmd 0
[  305.541625] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x60050000
[  305.543140] snd_sof_intel_hda_common:hda_dsp_stream_trigger: sof-audio-pci-intel-tgl 0000:00:1f.3: FW Poll Status: reg[0x160]=0x20140000 successful
[  305.543145] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x60030000
[  305.543374] snd_sof_intel_hda_common:hda_dai_trigger: sof-audio-pci-intel-tgl 0000:00:1f.3: cmd=0 dai Analog CPU DAI direction 0
[  305.543378] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x80010000
[  305.560303] snd_hda_codec:snd_hda_codec_setup_stream: snd_hda_codec_realtek ehdaudio0D0: hda_codec_setup_stream: NID=0x2, stream=0x1, channel=0, format=0x31
[  305.560306] snd_hda_codec:snd_hda_codec_setup_stream: snd_hda_codec_realtek ehdaudio0D0: hda_codec_setup_stream: NID=0x3, stream=0x1, channel=0, format=0x31
[  305.560321] snd_sof:sof_pcm_prepare: sof-audio-pci-intel-tgl 0000:00:1f.3: pcm: prepare stream 0 dir 0
[  305.560323] snd_sof:sof_pcm_hw_params: sof-audio-pci-intel-tgl 0000:00:1f.3: pcm: hw params stream 0 dir 0
[  305.560368] snd_sof_intel_hda_common:hda_dsp_stream_hw_params: sof-audio-pci-intel-tgl 0000:00:1f.3: FW Poll Status: reg[0x160]=0x40000 successful
[  305.560394] snd_sof_intel_hda_common:hda_dsp_stream_hw_params: sof-audio-pci-intel-tgl 0000:00:1f.3: FW Poll Status: reg[0x160]=0x40000 successful
[  305.560399] snd_sof_intel_hda_common:hda_dsp_stream_setup_bdl: sof-audio-pci-intel-tgl 0000:00:1f.3: period_bytes:0xc0
[  305.560400] snd_sof_intel_hda_common:hda_dsp_stream_setup_bdl: sof-audio-pci-intel-tgl 0000:00:1f.3: periods:2
[  305.560416] snd_sof:sof_ipc3_pcm_hw_params: sof-audio-pci-intel-tgl 0000:00:1f.3: stream_tag 1
[  305.560417] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x60010000
[  305.560850] snd_sof_intel_hda_common:hda_set_stream_data_offset: sof-audio-pci-intel-tgl 0000:00:1f.3: pcm: stream dir 0, posn mailbox offset is 790528
[  305.560890] snd_sof_intel_hda_common:hda_dai_trigger: sof-audio-pci-intel-tgl 0000:00:1f.3: cmd=1 dai Analog CPU DAI direction 0
[  305.560925] snd_sof:sof_pcm_trigger: sof-audio-pci-intel-tgl 0000:00:1f.3: pcm: trigger stream 0 dir 0 cmd 1
[  305.561482] snd_sof_intel_hda_common:hda_dsp_stream_trigger: sof-audio-pci-intel-tgl 0000:00:1f.3: FW Poll Status: reg[0x160]=0x2014001e successful
[  305.561484] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x60040000

# Triggered THIRD underflow: DISTORTION begins

[  308.643624] snd_sof:sof_pcm_trigger: sof-audio-pci-intel-tgl 0000:00:1f.3: pcm: trigger stream 0 dir 0 cmd 0
[  308.643628] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x60050000
[  308.645145] snd_sof_intel_hda_common:hda_dsp_stream_trigger: sof-audio-pci-intel-tgl 0000:00:1f.3: FW Poll Status: reg[0x160]=0x20140000 successful
[  308.645150] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x60030000
[  308.645380] snd_sof_intel_hda_common:hda_dai_trigger: sof-audio-pci-intel-tgl 0000:00:1f.3: cmd=0 dai Analog CPU DAI direction 0
[  308.645384] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x80010000
[  308.661769] snd_hda_codec:snd_hda_codec_setup_stream: snd_hda_codec_realtek ehdaudio0D0: hda_codec_setup_stream: NID=0x2, stream=0x1, channel=0, format=0x31
[  308.661772] snd_hda_codec:snd_hda_codec_setup_stream: snd_hda_codec_realtek ehdaudio0D0: hda_codec_setup_stream: NID=0x3, stream=0x1, channel=0, format=0x31
[  308.661797] snd_sof:sof_pcm_prepare: sof-audio-pci-intel-tgl 0000:00:1f.3: pcm: prepare stream 0 dir 0
[  308.661803] snd_sof:sof_pcm_hw_params: sof-audio-pci-intel-tgl 0000:00:1f.3: pcm: hw params stream 0 dir 0
[  308.661852] snd_sof_intel_hda_common:hda_dsp_stream_hw_params: sof-audio-pci-intel-tgl 0000:00:1f.3: FW Poll Status: reg[0x160]=0x40000 successful
[  308.661915] snd_sof_intel_hda_common:hda_dsp_stream_hw_params: sof-audio-pci-intel-tgl 0000:00:1f.3: FW Poll Status: reg[0x160]=0x40000 successful
[  308.661920] snd_sof_intel_hda_common:hda_dsp_stream_setup_bdl: sof-audio-pci-intel-tgl 0000:00:1f.3: period_bytes:0xc0
[  308.661921] snd_sof_intel_hda_common:hda_dsp_stream_setup_bdl: sof-audio-pci-intel-tgl 0000:00:1f.3: periods:2
[  308.661937] snd_sof:sof_ipc3_pcm_hw_params: sof-audio-pci-intel-tgl 0000:00:1f.3: stream_tag 1
[  308.661939] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x60010000
[  308.662325] snd_sof_intel_hda_common:hda_set_stream_data_offset: sof-audio-pci-intel-tgl 0000:00:1f.3: pcm: stream dir 0, posn mailbox offset is 790528
[  308.662354] snd_sof_intel_hda_common:hda_dai_trigger: sof-audio-pci-intel-tgl 0000:00:1f.3: cmd=1 dai Analog CPU DAI direction 0
[  308.662387] snd_sof:sof_pcm_trigger: sof-audio-pci-intel-tgl 0000:00:1f.3: pcm: trigger stream 0 dir 0 cmd 1
[  308.662940] snd_sof_intel_hda_common:hda_dsp_stream_trigger: sof-audio-pci-intel-tgl 0000:00:1f.3: FW Poll Status: reg[0x160]=0x2014001e successful
[  308.662941] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x60040000

# FOURTH underflow: audio becomes UNDISTORTED again

[  338.039030] snd_sof:sof_pcm_trigger: sof-audio-pci-intel-tgl 0000:00:1f.3: pcm: trigger stream 0 dir 0 cmd 0
[  338.039055] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x60050000
[  338.040200] snd_sof_intel_hda_common:hda_dsp_stream_trigger: sof-audio-pci-intel-tgl 0000:00:1f.3: FW Poll Status: reg[0x160]=0x20140000 successful
[  338.040205] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x60030000
[  338.040432] snd_sof_intel_hda_common:hda_dai_trigger: sof-audio-pci-intel-tgl 0000:00:1f.3: cmd=0 dai Analog CPU DAI direction 0
[  338.040436] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x80010000
[  338.040762] snd_hda_codec:snd_hda_codec_setup_stream: snd_hda_codec_realtek ehdaudio0D0: hda_codec_setup_stream: NID=0x2, stream=0x1, channel=0, format=0x31
[  338.040765] snd_hda_codec:snd_hda_codec_setup_stream: snd_hda_codec_realtek ehdaudio0D0: hda_codec_setup_stream: NID=0x3, stream=0x1, channel=0, format=0x31
[  338.040778] snd_sof:sof_pcm_prepare: sof-audio-pci-intel-tgl 0000:00:1f.3: pcm: prepare stream 0 dir 0
[  338.040779] snd_sof:sof_pcm_hw_params: sof-audio-pci-intel-tgl 0000:00:1f.3: pcm: hw params stream 0 dir 0
[  338.040822] snd_sof_intel_hda_common:hda_dsp_stream_hw_params: sof-audio-pci-intel-tgl 0000:00:1f.3: FW Poll Status: reg[0x160]=0x40000 successful
[  338.040848] snd_sof_intel_hda_common:hda_dsp_stream_hw_params: sof-audio-pci-intel-tgl 0000:00:1f.3: FW Poll Status: reg[0x160]=0x40000 successful
[  338.040854] snd_sof_intel_hda_common:hda_dsp_stream_setup_bdl: sof-audio-pci-intel-tgl 0000:00:1f.3: period_bytes:0xc0
[  338.040855] snd_sof_intel_hda_common:hda_dsp_stream_setup_bdl: sof-audio-pci-intel-tgl 0000:00:1f.3: periods:2
[  338.040871] snd_sof:sof_ipc3_pcm_hw_params: sof-audio-pci-intel-tgl 0000:00:1f.3: stream_tag 1
[  338.040872] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x60010000
[  338.041317] snd_sof_intel_hda_common:hda_set_stream_data_offset: sof-audio-pci-intel-tgl 0000:00:1f.3: pcm: stream dir 0, posn mailbox offset is 790528
[  338.041348] snd_sof_intel_hda_common:hda_dai_trigger: sof-audio-pci-intel-tgl 0000:00:1f.3: cmd=1 dai Analog CPU DAI direction 0
[  338.041376] snd_sof:sof_pcm_trigger: sof-audio-pci-intel-tgl 0000:00:1f.3: pcm: trigger stream 0 dir 0 cmd 1
[  338.041595] snd_sof_intel_hda_common:hda_dsp_stream_trigger: sof-audio-pci-intel-tgl 0000:00:1f.3: FW Poll Status: reg[0x160]=0x2014001e successful
[  338.041596] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x60040000

# TERMINATED speaker-test

[  369.002747] snd_sof:sof_pcm_trigger: sof-audio-pci-intel-tgl 0000:00:1f.3: pcm: trigger stream 0 dir 0 cmd 0
[  369.002752] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x60050000
[  369.004239] snd_sof_intel_hda_common:hda_dsp_stream_trigger: sof-audio-pci-intel-tgl 0000:00:1f.3: FW Poll Status: reg[0x160]=0x20140000 successful
[  369.004244] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x60030000
[  369.004467] snd_sof_intel_hda_common:hda_dai_trigger: sof-audio-pci-intel-tgl 0000:00:1f.3: cmd=0 dai Analog CPU DAI direction 0
[  369.004470] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x80010000
[  369.004728] snd_sof:sof_pcm_hw_free: sof-audio-pci-intel-tgl 0000:00:1f.3: pcm: free stream 0 dir 0
[  369.004784] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x30020000
[  369.005052] snd_sof:sof_widget_free_unlocked: sof-audio-pci-intel-tgl 0000:00:1f.3: widget PCM0P freed
[  369.005055] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x30210000
[  369.005242] snd_sof:sof_widget_free_unlocked: sof-audio-pci-intel-tgl 0000:00:1f.3: widget BUF30.0 freed
[  369.005243] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x30020000
[  369.005394] snd_sof:sof_widget_free_unlocked: sof-audio-pci-intel-tgl 0000:00:1f.3: widget PGA30.0 freed
[  369.005398] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x30210000
[  369.005566] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x30110000
[  369.006155] snd_sof:sof_widget_free_unlocked: sof-audio-pci-intel-tgl 0000:00:1f.3: widget PIPELINE.30.HDA0.OUT freed
[  369.006160] snd_sof:sof_widget_free_unlocked: sof-audio-pci-intel-tgl 0000:00:1f.3: widget BUF30.1 freed
[  369.006162] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x30020000
[  369.006341] snd_sof:sof_widget_free_unlocked: sof-audio-pci-intel-tgl 0000:00:1f.3: widget MIXER1.0 freed
[  369.006342] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x30210000
[  369.006492] snd_sof:sof_widget_free_unlocked: sof-audio-pci-intel-tgl 0000:00:1f.3: widget BUF1.0 freed
[  369.006493] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x30020000
[  369.006619] snd_sof:sof_widget_free_unlocked: sof-audio-pci-intel-tgl 0000:00:1f.3: widget PGA1.0 freed
[  369.006620] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x30210000
[  369.006875] snd_sof:sof_widget_free_unlocked: sof-audio-pci-intel-tgl 0000:00:1f.3: widget BUF1.1 freed
[  369.006878] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x30020000
[  369.007131] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x30110000
[  369.007805] snd_sof:sof_widget_free_unlocked: sof-audio-pci-intel-tgl 0000:00:1f.3: widget PIPELINE.1.HDA0.OUT freed
[  369.007807] snd_sof:sof_widget_free_unlocked: sof-audio-pci-intel-tgl 0000:00:1f.3: widget HDA0.OUT freed
[  369.007910] snd_hda_codec:__snd_hda_codec_cleanup_stream: snd_hda_codec_realtek ehdaudio0D0: hda_codec_cleanup_stream: NID=0x2
[  369.007912] snd_hda_codec:__snd_hda_codec_cleanup_stream: snd_hda_codec_realtek ehdaudio0D0: hda_codec_cleanup_stream: NID=0x3
[  369.007935] snd_sof:sof_pcm_close: sof-audio-pci-intel-tgl 0000:00:1f.3: pcm: close stream 0 dir 0
[  371.508096] snd_sof:ipc3_log_header: sof-audio-pci-intel-tgl 0000:00:1f.3: ipc tx: 0x40010000
[  371.508676] snd_sof_intel_hda_common:hda_dsp_core_reset_enter: sof-audio-pci-intel-tgl 0000:00:1f.3: FW Poll Status: reg[0x4]=0x3010303 successful
[  371.509268] snd_sof_intel_hda_common:hda_dsp_core_power_down: sof-audio-pci-intel-tgl 0000:00:1f.3: FW Poll Status: reg[0x4]=0x303 successful
[  371.509308] snd_sof_intel_hda_common:hda_dsp_core_is_enabled: sof-audio-pci-intel-tgl 0000:00:1f.3: DSP core(s) enabled? 0 : core_mask 1
[  371.509382] snd_sof:snd_sof_pci_update_bits_unlocked: sof-audio-pci-intel-tgl 0000:00:1f.3: Debug PCIR: 00000010 at  00000044
[  371.509423] snd_sof_intel_hda:hda_codec_i915_display_power: sof-audio-pci-intel-tgl 0000:00:1f.3: Turning i915 HDAC power 0
[  371.509427] snd_sof_intel_hda_common:hda_dsp_state_log: sof-audio-pci-intel-tgl 0000:00:1f.3: Current DSP power state: D3
[  371.509431] snd_sof:sof_set_fw_state: sof-audio-pci-intel-tgl 0000:00:1f.3: fw_state change: 7 -> 0

@Fijxu
Copy link

Fijxu commented Jul 20, 2023

Hello, I'm here to comment that i have the exact same problem under my PC, however i don't use sof-firmware and I'm using the snd_hda_intel kernel module. It generally happens when I have 2 audio sources outputting at the same time and then randomly an audio crack appears, a very annoying sound.

I'm able to reproduce this using the command provided by @CFSworks

Here i attach a video with the audio artifacts occurring when I use the command speaker-test -r 48000 -c 2 -f 440 -F S16_LE -b 1000 -t sine:

2023-07-20.01-58-44.mp4
  • Tried Pipewire 0.3.73 and 0.3.74
  • Tried different kernels versions.
  • Tried Alsa Card Profiles 0.3.73 and 0.3.74
  • I don't have any options attached to snd_hda_intel in my modprobe
  • I can't use sof-dyndbg.conf.txt since that options are exclusively for sof-firmware modules

If I'm wrong and my bug is not related with this one, please tell me. Thanks

@CFSworks
Copy link
Author

I don't think it is related; it sounds like you're having underruns (which ARE irritating) but the audio output recovers after each time the underrun happens. This issue was opened because the audio output does NOT recover for me: it begins dropping (zeroing) samples which results in a grating distortion that's present even between the underruns.

I would recommend disabling Pipewire and trying some audio tests against the raw ALSA audio output device. If the underruns go away or are at least much less frequent, yours is probably an issue to report to the Pipewire project.

@kv2019i
Copy link
Collaborator

kv2019i commented Jul 21, 2023

I did a potentially duplicated new bug at #4482

The comments in https://bugzilla.kernel.org/show_bug.cgi?id=217673 indicate a bisect point to patch described in #4482 (comment)

@ranj063
Copy link
Collaborator

ranj063 commented Jul 21, 2023

@CFSworks could you please help check if this patch #4484 helps with your issue?

@CFSworks
Copy link
Author

@ranj063 The patch doesn't apply as-is against 6.4 but I was able to get it to build by adding back the codec_dai parameter as needed.

In the first few minutes, I tried inducing numerous underruns and the distortion hasn't happened yet, so it does seem to have resolved the problem. I will keep running on this patch and report back if the distortion happens again.

Thanks!

@ranj063
Copy link
Collaborator

ranj063 commented Jul 24, 2023

@CFSworks I have updated the PR now. Could you please help check if it applies agsint 6.4 now?

ranj063 added a commit to ranj063/linux that referenced this issue Jul 24, 2023
With IPC3, we reset hw_params during the stop trigger, so we should also
clean up the link DMA during the stop trigger.

Fixes: 1bf83fa ("ASoC: SOF: Intel: hda-dai: Do not perform DMA cleanup during stop")
Closes: thesofproject#4455
Closes: thesofproject#4482
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
@CFSworks
Copy link
Author

@CFSworks I have updated the PR now. Could you please help check if it applies agsint 6.4 now?

It still does not; the 6.4 version of hda_link_dma_cleanup requires 4 parameters.

However, I've been alternating between booting my kernel with the patch applied vs. not applied and the audio distortion only occurs on the unpatched kernel, so I am confident that the PR does resolve the problem.

@ranj063
Copy link
Collaborator

ranj063 commented Jul 25, 2023

Author

Thanks for checking @CFSworks

@logological
Copy link

As reported on the openSUSE Bugzilla, a version of the patch adapted for 6.4.x kernels solved the issue for me.

plbossart pushed a commit that referenced this issue Jul 31, 2023
With IPC3, we reset hw_params during the stop trigger, so we should also
clean up the link DMA during the stop trigger.

Fixes: 1bf83fa ("ASoC: SOF: Intel: hda-dai: Do not perform DMA cleanup during stop")
Closes: #4455
Closes: #4482
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
plbossart pushed a commit that referenced this issue Aug 2, 2023
With IPC3, we reset hw_params during the stop trigger, so we should also
clean up the link DMA during the stop trigger.

Fixes: 1bf83fa ("ASoC: SOF: Intel: hda-dai: Do not perform DMA cleanup during stop")
Closes: #4455
Closes: #4482
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
plbossart pushed a commit that referenced this issue Aug 7, 2023
With IPC3, we reset hw_params during the stop trigger, so we should also
clean up the link DMA during the stop trigger.

Fixes: 1bf83fa ("ASoC: SOF: Intel: hda-dai: Do not perform DMA cleanup during stop")
Closes: #4455
Closes: #4482
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
plbossart pushed a commit that referenced this issue Aug 7, 2023
With IPC3, we reset hw_params during the stop trigger, so we should also
clean up the link DMA during the stop trigger.

Fixes: 1bf83fa ("ASoC: SOF: Intel: hda-dai: Do not perform DMA cleanup during stop")
Closes: #4455
Closes: #4482
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
plbossart pushed a commit to plbossart/sound that referenced this issue Aug 8, 2023
With IPC3, we reset hw_params during the stop trigger, so we should also
clean up the link DMA during the stop trigger.

Fixes: 1bf83fa ("ASoC: SOF: Intel: hda-dai: Do not perform DMA cleanup during stop")
Closes: thesofproject#4455
Closes: thesofproject#4482
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=217673
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Link: https://lore.kernel.org/r/20230808110627.32375-1-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Whissi pushed a commit to Whissi/linux-stable that referenced this issue Aug 23, 2023
commit 90219f1 upstream.

With IPC3, we reset hw_params during the stop trigger, so we should also
clean up the link DMA during the stop trigger.

Fixes: 1bf83fa ("ASoC: SOF: Intel: hda-dai: Do not perform DMA cleanup during stop")
Closes: thesofproject/linux#4455
Closes: thesofproject/linux#4482
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=217673
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
Link: https://lore.kernel.org/r/20230808110627.32375-1-peter.ujfalusi@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants