You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[BUG][BYT-NOCODEC][BDW_WSB_RT286]Input/output error when simultaneous-playback-capture / multiple-pipeline-playback #3170
Environment
Branch name and commit hash of the 2 repositories: sof (firmware/topology) and linux (kernel driver).
Kernel: {sof-dev fa7850de}
SOF: {master:318dc9f7}
Name of the topology file
Topology: {sof-byt-nocodec.tplg }
Name of the platform(s) on which the bug is observed.
Platform: {BYT MB with nocodec}
After applied #3245,issue still can be reproduced on BSW with onboard codec MAX98090 in I2S mode and BYT MB with nocodec dmesg0729.log sof-logger0729.log
Somehow I have the feeling we have the same problem of not having enough memory resulting in some sort of underflow error. It's not clear e.g. why we have these repeated sof-logger messages in both issues
@Liviali155 Also wondering if 61a2c75 (' dma: dw: fix locking and calculations in dw_dma_get_data_size') has an impact on multiple pipelines. This changes the behavior for dmic, I am trying to see if reverting it can help. Can you also try on your side.
and will result in the above warnings. @plbossart can you turn on mixer debug and see if this aligns, I'm also wondering if mixers is used on the other platforms.
I don't know how to turn on mixer debug?
Mixers are used in all platforms, but here indeed the use of the mixer is different: it's the first element in a 'DAI' pipeline
and will result in the above warnings. @plbossart can you turn on mixer debug and see if this aligns, I'm also wondering if mixers is used on the other platforms.
I don't know how to turn on mixer debug?
Oh, I think individual debug is still blocked on UUID PR, Maybe just be easier to change trace_dbg to trace_err in mixer_copy().
Mixers are used in all platforms, but here indeed the use of the mixer is different: it's the first element in a 'DAI' pipeline
Yep, but I no longer see a sof-byt-nocodec.m4 topology in master, so could your topology binary be stale here and potentially causing an issue ?
I do suspect that mixer is not correctly getting the state of it's sources/sinks and this results in 0 bytes to copy, but then I've no idea why does not complain about over/under runs....
The test still failed yesterday in 10402?model=BDW_WSB_RT286&testcase=multiple-pipeline-capture-50, let's close this when thesofproject/sof-test#863 is merged so we stop testing this every day like someone is assigned to it.
We had only 6 distinct failures in 10402 and this was one of them.
Activity
Liviali155 commentedon Jul 14, 2020
On BSW with onboard codec MAX98090 in I2S mode also has this issue with sof-dev(9eb3d58)+master(5564a90)

Failed at 39/50
dmesg0714.log
sof-logger0714.log
mengdonglin commentedon Jul 14, 2020
@slawblauciak sof-byt-nocodec.tplg is created from "sof-cht-nocodec.m4", updated in #3080 to remove SRC for Baytrail and CherryTrail by @plbossart
plbossart commentedon Jul 28, 2020
@Liviali155 can you retry with the SOF PR #3245
The symptoms of no dmesg error, no trace and the -EIO error seem completely aligned with my findings on those platforms.
Liviali155 commentedon Jul 29, 2020
After applied #3245,issue still can be reproduced on BSW with onboard codec MAX98090 in I2S mode and BYT MB with nocodec

dmesg0729.log
sof-logger0729.log
plbossart commentedon Jul 29, 2020
@Liviali155 can you retry with both #3245 and #3257
Somehow I have the feeling we have the same problem of not having enough memory resulting in some sort of underflow error. It's not clear e.g. why we have these repeated sof-logger messages in both issues
Seems to me like the firmware gets lost with bad pointers and can't recover in both #3170 and #3171
@mmaka1 @lgirdwood FYI
plbossart commentedon Jul 29, 2020
@Liviali155 Also wondering if 61a2c75 (' dma: dw: fix locking and calculations in dw_dma_get_data_size') has an impact on multiple pipelines. This changes the behavior for dmic, I am trying to see if reverting it can help. Can you also try on your side.
plbossart commentedon Jul 29, 2020
@Liviali155 Adding PR#3245, @3257 and reverting 61a2c75 seems to solve the issue for 100 iterations. branch here: https://github.com/plbossart/sof/tree/fix/multi-pipelines
I will launch a longer test on my side.
Liviali155 commentedon Jul 30, 2020
@plbossart Used https://github.com/plbossart/sof/tree/fix/multi-pipelines(commit:d9c6405a) to test,issue still can be reproduced on byt-nocodec , failed at 287/1000, seems the reproduce rate is lower than before

sof-logger0730.log
dmesg0730.log
plbossart commentedon Jul 30, 2020
Ack @Liviali155, same on my side. My first run worked for 100 iteration, but on the second a failure happened on iteration 9/1000.
We need to figure this one out, something's not right with scheduling/concurrency. @lgirdwood FYI
lgirdwood commentedon Aug 4, 2020
I don't know how to turn on mixer debug?
Mixers are used in all platforms, but here indeed the use of the mixer is different: it's the first element in a 'DAI' pipeline
lgirdwood commentedon Aug 5, 2020
Oh, I think individual debug is still blocked on UUID PR, Maybe just be easier to change trace_dbg to trace_err in mixer_copy().
Yep, but I no longer see a sof-byt-nocodec.m4 topology in master, so could your topology binary be stale here and potentially causing an issue ?
I do suspect that mixer is not correctly getting the state of it's sources/sinks and this results in 0 bytes to copy, but then I've no idea why does not complain about over/under runs....
29 remaining items
plbossart commentedon Jan 27, 2022
FWIW we seem to have an interrupt issue on Broadwell thesofproject/linux#3400
marc-hb commentedon Feb 14, 2022
Still happening in daily 10146?model=BDW_WSB_RT286&testcase=multiple-pipeline-capture-50
Start Time: 2022-02-11 22:27:26 UTC
Kernel Branch: topic/sof-dev
Kernel Commit: 98119478
SOF Branch: main
SOF Commit: b8954754f055
multiple-pipeline.sh: temporarily disable capture on BDW
mengdonglin commentedon Feb 22, 2022
As Broadwell (BDW) is a very old platform, we lower its priority and will not fix issues with multi-pipeline test cases on BDW.
marc-hb commentedon Feb 22, 2022
The test still failed yesterday in 10402?model=BDW_WSB_RT286&testcase=multiple-pipeline-capture-50, let's close this when thesofproject/sof-test#863 is merged so we stop testing this every day like someone is assigned to it.
We had only 6 distinct failures in 10402 and this was one of them.
XiaoyunWu6666 commentedon Feb 23, 2022
@marc-hb I think we can close this again since https://github.com/intel-innersource/drivers.audio.ci.sof-framework/pull/185 got merged and also see current test 10444

[console]
multiple-pipeline.sh: temporarily disable capture on BDW