-
Notifications
You must be signed in to change notification settings - Fork 321
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] Noisy DMIC recording with concurrent audio playback over speakers #9205
Comments
@syedk008 is there any capture WAV file that you can share here ? Does it also matter if capture is started 1st then playback 2nd ? |
@lgirdwood attached is the WAV file, rename it to .wav. |
Can you please try this pass-through topology version: 0001-Tools-Topology2-Add-sof-hda-generic-ace1-4ch-48k-pas.patch.gz |
Please try also this, 2ch with pdm1 (the controller that handles in 4ch channels 3-4): 0001-Tools-Topology2-Add-topology-sof-hda-generic-ace1-2c.patch.gz |
Issue is reproducible with this topology, but the frequency seems less. |
The issue is not reproducible with this topology. |
@syedk008 could you please attach dmesg log with IPC payload data? (for full iteration - aplay - arecord - end) I can confirm it works fine in basic dmic 4ch tests. |
Attached are the dmesg logs. |
I did yesterday testing with the ARL-S device. Some observations:
|
Fix proposal: zephyrproject-rtos/zephyr#74414 |
Fast-forward the Zephyr version with following backported fixes: 64ee60cf3a6a Drivers: DAI: Intel: Move ACE DMIC start reset clear to earlier 1b78308a6c7c Drivers: DAI: Intel: Reduce traces dai_dmic_start() 995e182b87ab Drivers: DAI: Intel: Remove trace from dai_dmic_update_bits() Link: thesofproject#9205 Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Fast-forward the Zephyr version with following backported fixes: 64ee60cf3a6a Drivers: DAI: Intel: Move ACE DMIC start reset clear to earlier 1b78308a6c7c Drivers: DAI: Intel: Reduce traces dai_dmic_start() 995e182b87ab Drivers: DAI: Intel: Remove trace from dai_dmic_update_bits() Link: #9205 Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
With zephyrproject-rtos/zephyr#74414 this problem couldn't be reproduced any more so far. Since the noise when it appears with unpatched firmware begins directly at the start of a capture, it makes sense that modifying DMIC initialisation flow fixes the problem. |
Fixed part of release v2.10 (a Zephyr fix so backported directly), removing the tag. Let's close once the Zephyr fix lands in SOF main via west.yml update (i.e. #9258 or similar). |
Update Zephyr baseline to 650227d8c47f Change affecting SOF build targets: 32d05d360b93 intel_adsp/ace: power: fix firmware panic on MTL a3835041bd36 intel_adsp/ace: power: Use MMU reinit API on core context restore a983a5e399fd dts: xtensa: intel: Remove non-existent power domains from ACE30 PTL DTS a2eada74c663 dts: xtensa: intel: Remove ALH nodes from ACE 3.0 PTL DTS 442e697a8ff7 dts: xtensa: intel: Reorder power domains by bit position in ACE30 d1b5d7092e5a intel_adsp: ace30: Correct power control register bitfield definitions 31c96cf3957b xtensa: check stack boundaries during backtrace 5b84bb4f4a55 xtensa: check stack frame pointer before dumping registers cb9f8b1019f1 xtensa: separate FATAL EXCEPTION printout into two e9c23274afa2 Revert "soc: intel_adsp: only implement FW_STATUS boot protocol for cavs" 1198c7ec295b Drivers: DAI: Intel: Move ACE DMIC start reset clear to earlier 78920e839e71 Drivers: DAI: Intel: Reduce traces dai_dmic_start() 9db580357bc6 Drivers: DAI: Intel: Remove trace from dai_dmic_update_bits() f91700e62968 linker: nxp: adsp: add orphan linker section Link: thesofproject#9268 Link: thesofproject#9243 Link: thesofproject#9205 Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Update Zephyr baseline to 650227d8c47f Change affecting SOF build targets: 32d05d360b93 intel_adsp/ace: power: fix firmware panic on MTL a3835041bd36 intel_adsp/ace: power: Use MMU reinit API on core context restore a983a5e399fd dts: xtensa: intel: Remove non-existent power domains from ACE30 PTL DTS a2eada74c663 dts: xtensa: intel: Remove ALH nodes from ACE 3.0 PTL DTS 442e697a8ff7 dts: xtensa: intel: Reorder power domains by bit position in ACE30 d1b5d7092e5a intel_adsp: ace30: Correct power control register bitfield definitions 31c96cf3957b xtensa: check stack boundaries during backtrace 5b84bb4f4a55 xtensa: check stack frame pointer before dumping registers cb9f8b1019f1 xtensa: separate FATAL EXCEPTION printout into two e9c23274afa2 Revert "soc: intel_adsp: only implement FW_STATUS boot protocol for cavs" 1198c7ec295b Drivers: DAI: Intel: Move ACE DMIC start reset clear to earlier 78920e839e71 Drivers: DAI: Intel: Reduce traces dai_dmic_start() 9db580357bc6 Drivers: DAI: Intel: Remove trace from dai_dmic_update_bits() f91700e62968 linker: nxp: adsp: add orphan linker section Link: #9268 Link: #9243 Link: #9205 Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Fix merged via #9278 |
Update Zephyr baseline to 650227d8c47f Change affecting SOF build targets: 32d05d360b93 intel_adsp/ace: power: fix firmware panic on MTL a3835041bd36 intel_adsp/ace: power: Use MMU reinit API on core context restore a983a5e399fd dts: xtensa: intel: Remove non-existent power domains from ACE30 PTL DTS a2eada74c663 dts: xtensa: intel: Remove ALH nodes from ACE 3.0 PTL DTS 442e697a8ff7 dts: xtensa: intel: Reorder power domains by bit position in ACE30 d1b5d7092e5a intel_adsp: ace30: Correct power control register bitfield definitions 31c96cf3957b xtensa: check stack boundaries during backtrace 5b84bb4f4a55 xtensa: check stack frame pointer before dumping registers cb9f8b1019f1 xtensa: separate FATAL EXCEPTION printout into two e9c23274afa2 Revert "soc: intel_adsp: only implement FW_STATUS boot protocol for cavs" 1198c7ec295b Drivers: DAI: Intel: Move ACE DMIC start reset clear to earlier 78920e839e71 Drivers: DAI: Intel: Reduce traces dai_dmic_start() 9db580357bc6 Drivers: DAI: Intel: Remove trace from dai_dmic_update_bits() f91700e62968 linker: nxp: adsp: add orphan linker section Link: thesofproject#9268 Link: thesofproject#9243 Link: thesofproject#9205 Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Describe the bug
We observed Noisy DMIC recordings with concurrent playback over speakers on the ARL-S platform.
The issue happens only with 4-channel Dmic recording but not with 2-channels.
To Reproduce
start and stop DMIC recording and playback over speakers using arecord and aplay.
repeat the steps several times.
you can use the attached script to reproduce the issue.
Reproduction Rate
~25%
Expected behavior
No noise in the recording.
Impact
critical
Environment
sof: v2.9 mtl
concurrent_rec_play_.txt
The text was updated successfully, but these errors were encountered: