-
Notifications
You must be signed in to change notification settings - Fork 310
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
[IPC error] sof-test/multiple-pause-resume.sh reported error when dma trace was disabled on TGL #3673
Comments
@keqiaozhang will check if this issue can also be reproduced on TGL Chrome device with I2S audio |
Tried sof-dev + tgl-011-drop-stable branch on TGL Chrome-I2S, no reproduction so far(50+ iterations passed), only observed some xrun errors in error trace when testing "multiple-pause-resume.sh". will perform more tests.
Edited: No reproductions on TGL-Chrome-I2S, tested with "./multiple-pause-resume.sh -r 1000" and passed. |
@slawblauciak @RanderWang I think the issue is that we don't handle xrun on firmware. ie.
diff --git a/src/audio/pipeline.c b/src/audio/pipeline.c
index 345773b7d..99617baf8 100644
--- a/src/audio/pipeline.c
+++ b/src/audio/pipeline.c
@@ -1140,6 +1140,7 @@ void pipeline_xrun(struct pipeline *p, struct comp_dev *dev,
/* recover the pipeline from a XRUN condition */
static int pipeline_xrun_recover(struct pipeline *p)
{
+ pipe_err(p, "No xrun_recover");
return -EINVAL;
} |
@aiChaoSONG Is #3714 a duplicate with this? |
@xiulipan @aiChaoSONG IMHO, #3714 and #3673 are the same issue. Disabling DMA trace is just a way to reproduce/trigger the XRUN. |
I have no idea so far. |
@mwasko fyi |
@RanderWang is the issue still reproducible on the latest master branch? |
@slawblauciak very sorry, so late. I tested FW in today CI build. The XRUN error in FW appears after a few cycles of test instead of occurring immediately. |
@RanderWang is this issue still relevant? It's not tracked in CI or daily tests. |
This is a hint or fast way to trigger multiple-pause-resume issue, not a root reason. In my opinion, it is caused by schedule in FW |
@RanderWang could you please check if this issue is still valid? |
@XiaoyunWu6666 can you comment if you still see this issue ? if not we can close. |
I will check it. too old |
I checked with latest kernel commit ddcea4bef6 and fw 0bf7b73 today. I can't reproduce the bug. Let's close it |
Describe the bug
[ 55.864574] sof-audio-pci 0000:00:1f.3: ipc tx: 0x60070000: GLB_STREAM_MSG: TRIG_RELEASE
[ 55.864773] sof-audio-pci 0000:00:1f.3: ipc tx succeeded: 0x60070000: GLB_STREAM_MSG: TRIG_RELEASE
[ 56.033318] sof-audio-pci 0000:00:1f.3: pcm: trigger stream 1 dir 1 cmd 3
[ 56.033332] sof-audio-pci 0000:00:1f.3: ipc tx: 0x60060000: GLB_STREAM_MSG: TRIG_PAUSE
[ 56.033556] sof-audio-pci 0000:00:1f.3: error: ipc error for 0x60060000 size 12, err -22
[ 56.033592] sof-audio-pci 0000:00:1f.3: FW Poll Status: reg=0x20140000 successful
[ 56.033610] sof-audio-pci 0000:00:1f.3: ASoC: error at snd_soc_pcm_component_trigger on 0000:00:1f.3: -22
[ 56.033628] Headset mic: ASoC: trigger FE cmd: 3 failed: -22
[ 56.033650] sof-audio-pci 0000:00:1f.3: pcm: trigger stream 1 dir 1 cmd 4
[ 56.033984] sof-audio-pci 0000:00:1f.3: FW Poll Status: reg=0x2014001e successful
[ 56.033999] sof-audio-pci 0000:00:1f.3: ipc tx: 0x60070000: GLB_STREAM_MSG: TRIG_RELEASE
[ 56.034232] sof-audio-pci 0000:00:1f.3: error: ipc error for 0x60070000 size 12, err -22
[ 56.034244] sof-audio-pci 0000:00:1f.3: ASoC: error at snd_soc_pcm_component_trigger on 0000:00:1f.3: -22
[ 56.034252] Headset mic: ASoC: trigger FE cmd: 4 failed: -22
DMA trace error:
TIMESTAMP DELTA C# COMPONENT LOCATION CONTENT
[ 1025566.458333] ( 1025566.437500) c0 dw-dma src/drivers/dw/dma.c:1095 ERROR dw_dma_get_data_size(): xrun detected
[ 1025575.052083] ( 8.593750) c0 dai 2.10 src/audio/dai.c:785 ERROR dai_report_xrun(): overrun due to no space available
[ 1025582.708333] ( 7.656250) c0 dai 2.10 src/audio/dai.c:684 ERROR comp_overrun(): sink->free = 0, copy_bytes = 0
[ 1025615.260417] ( 32.552082) c0 pipe 2.11 src/audio/pipeline.c:1029 ERROR pipeline_copy(): ret = -61, start->comp.id = 10, dir = 0
[ 1025625.260417] ( 10.000000) c0 pipe 2.11 src/audio/pipeline.c:1219 ERROR pipeline_task(): xrun recover failed! pipeline will be stopped!
[ 1893947.604167] ( 868322.375000) c0 dai 2.10 src/audio/component.c:209 ERROR comp_set_state(): wrong state = 1, COMP_TRIGGER_STOP
[ 1893958.177083] ( 10.572917) c0 pipe 2.11 src/audio/pipeline.c:884 ERROR pipeline_trigger(): ret = -22, host->comp.id = 6, cmd = 0
[ 1893968.958333] ( 10.781250) c0 ipc src/ipc/handler.c:441 ERROR ipc: comp 6 trigger 0x50000 failed -22
To Reproduce
on TGL device, disable dma trace in kernel driver and run sof-test/test-case/multiple-pause-resume.sh
Reproduction Rate
etrace.txt
dmesg.txt
100%
Environment
Branch name and commit hash of the 2 repositories: sof (firmware/topology) and linux (kernel driver).
Kernel: sof-dev branch, commit b2c49c1c9a231. kconfig to disable dma trace:
disable_dma_trace_config.txt
SOF: v1.6 release (https://github.com/thesofproject/sof/releases/tag/v1.6, or master branch commit aeea2b0
Name of the platform(s) on which the bug is observed.
The text was updated successfully, but these errors were encountered: