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][TGL-NOCODEC][v1.7] Xrun on DMIC in multiple-pipeline test #3939

Closed
aiChaoSONG opened this issue Mar 22, 2021 · 12 comments
Closed

[BUG][TGL-NOCODEC][v1.7] Xrun on DMIC in multiple-pipeline test #3939

aiChaoSONG opened this issue Mar 22, 2021 · 12 comments
Assignees
Labels
bug Something isn't working as expected DMIC Digital Microphone multicore Issues observed when not only core#0 is used. TGL Applies to Tiger Lake xrun XRUN is observed and firmware may not recover
Milestone

Comments

@aiChaoSONG
Copy link
Collaborator

Describe the bug
In multiple pipeline test case, an xrun is reported on DMIC pipeliine.
report ID: 2698

To Reproduce
run script: multiple-pipeline.sh -f c -l 200

Reproduction Rate
low, at 109 of 200

Environment

  1. Branch name and commit hash of the 2 repositories: sof (firmware/topology) and linux (kernel driver).
    • Kernel: {topic/sof-dev d289bfd9}
    • SOF: {stable-v1.7 47d077d}
  2. Name of the topology file
    • Topology: {sof-tgl-nocodec-ci.tplg}
  3. Name of the platform(s) on which the bug is observed.
    • Platform: {TGL NOCODEC}
[52344094331.250000] (             nan) c0 dmic-dai     2.0   src/drivers/intel/dmic.c:1551 ERROR dmic_irq_handler(): full fifo A or PDM overrun
[52344095215.729172] (      884.479187) c0 dw-dma                 src/drivers/dw/dma.c:1101 ERROR dw_dma_get_data_size(): xrun detected
[52344095235.885422] (       20.156250) c0 dai          8.43           src/audio/dai.c:801  ERROR dai_report_xrun(): overrun due to no space available
[52344095255.572922] (       19.687500) c0 dai          8.43           src/audio/dai.c:693  ERROR comp_overrun(): sink->free = 768, copy_bytes = 0
[52344095344.270836] (       88.697914) c0 pipe         8.44      src/audio/pipeline.c:1044 ERROR pipeline_copy(): ret = -61, start->comp.id = 43, dir = 0
[52344095367.968750] (       23.697916) c0 pipe         8.44      src/audio/pipeline.c:1234 ERROR pipeline_task(): xrun recover failed! pipeline will be stopped!
[52345105270.000000] (  1009902.000000) c0 dai          8.43     src/audio/component.c:209  ERROR comp_set_state(): wrong state = 1, COMP_TRIGGER_STOP
[52345105292.291672] (       22.291666) c0 pipe         8.44      src/audio/pipeline.c:899  ERROR pipeline_trigger(): ret = -22, host->comp.id = 41, cmd = 0
[52345105315.468750] (       23.177084) c0 ipc                       src/ipc/handler.c:443  ERROR ipc: comp 41 trigger 0x50000 failed -22
@aiChaoSONG aiChaoSONG added the bug Something isn't working as expected label Mar 22, 2021
@mengdonglin mengdonglin added the DMIC Digital Microphone label Mar 22, 2021
@keyonjie
Copy link
Contributor

keyonjie commented Mar 22, 2021

This should not be bandwidth issue as the 4 capture pipelines take < 20% of the bandwidth.

@lgirdwood
Copy link
Member

@mwasko @slawblauciak looks like the DMIC IRQ handler again, did we not remove this since it did nothing but report an error (and consume cycles) ?

@mengdonglin mengdonglin added the TGL Applies to Tiger Lake label Mar 23, 2021
@slawblauciak
Copy link
Collaborator

@zrombel can you try reproducing it on our RVPs?

@zrombel
Copy link

zrombel commented Mar 23, 2021

Ok, will do.

@zrombel zrombel closed this as completed Mar 23, 2021
@zrombel zrombel reopened this Mar 23, 2021
@mwasko
Copy link
Contributor

mwasko commented Mar 23, 2021

@mwasko @slawblauciak looks like the DMIC IRQ handler again, did we not remove this since it did nothing but report an error (and consume cycles) ?

@lgirdwood we cannot completely ignore and suppress DMIC xrun. However to avoid DMIC xrun storm of interrupts the change was introduced to stop DMIC when xrun occurs.

@keyonjie
Copy link
Contributor

I realize there could be this possibility for DMIC pipelines, as the DMIC is started first and DMA later. The reason we don't see this in the SSP pipelines is we are not observing xrun interrupts there.

@keyonjie
Copy link
Contributor

once we can reproduce this stably, maybe worth to try if the PR #3952 help.

@lgirdwood
Copy link
Member

@keqiaozhang still an issue today ?

@lgirdwood
Copy link
Member

@keqiaozhang @XiaoyunWu6666 still an issue today ?

@keqiaozhang
Copy link
Collaborator

@lgirdwood , yes, this issue can still be reproduced on TGL-RVP-NOCODEC platform in today's CI test. Daily test ID:4290

@keyonjie
Copy link
Contributor

keyonjie commented Jun 3, 2021

@keqiaozhang @XiaoyunWu6666 looks this is fixed according to the latest daily result, please help to double check and close it if true.

@aiChaoSONG
Copy link
Collaborator Author

run test case 500 iterations, this issue is not reproduced, close.

@mengdonglin mengdonglin added the xrun XRUN is observed and firmware may not recover label Jun 3, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working as expected DMIC Digital Microphone multicore Issues observed when not only core#0 is used. TGL Applies to Tiger Lake xrun XRUN is observed and firmware may not recover
Projects
None yet
Development

No branches or pull requests

8 participants