thesofproject / sof

Sound Open Firmware
Other
563 stars 319 forks source link

Stress test: simultaneous playback and capture will cause Input/output error #180

Closed zhuqingliang closed 6 years ago

zhuqingliang commented 6 years ago

The reproducibility is about 30%. How to reproduce:

  1. start playback and capture at same time aplay -D hw:0,0 -r 48000 -f S24_LE -c 2 /dev/zero -d 5 & arecord -D hw:0,0 -c 2 -f S24_LE -r 48000 /dev/null -d 5
  2. repeat step 1.

environment: on CNL sof-dev: 18917b91d619664c4e38b7180ff89bd9c1397758 sof: 5e83da7fc170dd9eccdf97e32a516a5b294a41bf soft: fdf39244b7684c4a17707f9bc9ffc92699230cb2 tplg file name : test-ssp0-mclk-0-I2S-volume-s24le-s24le-48k-24000k-nocodec.tplg log: dmesg.log memorywindow.log rmbox.log

ZhendanYang commented 6 years ago

@wenqingfu

Latest status: This issue can not reproduce on APL(up2) now, but still exists on CNL. On BYT, even worse, input/output error can lead to ipc error:

[ 133.210279] sof-audio sof-audio: error: ipc error for 0x60010000 size 0x14 [ 133.210322] sof-audio sof-audio: ASoC: sof-audio hw params failed: -22 [ 133.210343] sof-audio sof-audio: pcm: free stream 0 dir 0 [ 133.210373] sof-audio sof-audio: ipc tx: 0x60030000 [ 133.210459] sof-audio sof-audio: ipc tx succeeded: 0x60030000 [ 133.210485] Passthrough: ASoC: hw_params FE failed -22

Test env: sof master: 299ccbc sof tool: 60c3937 kernel: sof-dev 51ebd5d

Log: dmesg-byt.log dmesg-cnl.log

mengdonglin commented 6 years ago

@RanderWang @ZhendanYang @wenqingfu Maybe we can focus on fixing BYT at first?

CNL has no customer interest and will be dropped when WHL and ICL is ready. WHL has no request for I2S but ICL does. So if ICL also has this bug, we can involve firmware engineer to cover ICL.

lgirdwood commented 6 years ago

@ZhendanYang this is now 2 different bugs - 1) A FW oops of CNL, 2) a hw_params() failure on BYT. hw_paramas wil return an error if the driver is asking a rate it does not support so please make sure you list the topology and cmd line for any hw_param() failure.

I would close this now and re-open as two different issues, for 1) and 2) above.

mengdonglin commented 6 years ago

@ZhendanYang I think we can overlook FW oops on CNL and file a new issue if WHL also has the problem.

And could you close this one and file a new bug for hw_params() failure on BYT?

ZhendanYang commented 6 years ago

@mengdonglin BYT is in bad health at this moment and I can't reproduce hw_param() failure or collect error log.

lgirdwood commented 6 years ago

@zhuqingliang @ZhendanYang can you try this again with latest master.

dabekjakub commented 6 years ago

@lgirdwood I repoduced it on latest master Fw and latest kernel (90eee408aea3f64949c3c095d2a338491ad5c8a4 cros-v4.14-rebase) it is reproducible.

However the timeout itself is not present in fw trace logs.

@tlauda Has also asked to move it to kernel issue list:

No errors/xruns in neither dmesg nor rmbox logs. Problem should be checked from kernel side.

lgirdwood commented 6 years ago

@dabekjakub ok thanks - @zhuqingliang @ZhendanYang please move this to kernel bug and attach the logs with latest master. Thanks. @RanderWang can you check driver is not sending 2 IPCs at once.

mengdonglin commented 6 years ago

Close this issue and will follow up by https://github.com/thesofproject/linux/issues/263