Skip to content

[BUG][TGL]ipc errror for 0x60050000 size 12 when stop the pipeline #1170

Closed

Description

@xiulipan
[   77.196982] sof-audio-pci 0000:00:1f.3: pcm: trigger stream 1 dir 1 cmd 0
[   77.207032] sof-audio-pci 0000:00:1f.3: FW Poll Status: reg=0x20240000 successful //big delay
[   77.217695] sof-audio-pci 0000:00:1f.3: ipc tx: 0x60050000: GLB_STREAM_MSG: TRIG_STOP //big delay
[   77.228895] sof-audio-pci 0000:00:1f.3: error: ipc error for 0x60050000 size 12
[   77.239355]  DMIC01: ASoC: trigger FE failed -22
[   77.245964] sof-audio-pci 0000:00:1f.3: pcm: free stream 1 dir 1
[   77.254562] sof-audio-pci 0000:00:1f.3: ipc tx: 0x60030000: GLB_STREAM_MSG: PCM_FREE
[   77.265646] sof-audio-pci 0000:00:1f.3: ipc tx succeeded: 0x60030000: GLB_STREAM_MSG: PCM_FREE
[   77.278022] sof-audio-pci 0000:00:1f.3: pcm: close stream 1 dir 1
[   78.053499] sof-audio-pci 0000:00:1f.3: ipc rx: 0x90020000: GLB_TRACE_MSG
[   78.063253] sof-audio-pci 0000:00:1f.3: ipc rx done: 0x90020000: GLB_TRACE_MSG
    0      2       BUFFER         151516765.312500   1730072.750000   src/audio/buffer.c:204    comp_update_buffer_consume(), no bytes to consume, source->comp.id = 8, source->comp.type = 2, sink->comp.id = 6, sink->comp.type = 1 // DMA buffer empty
    0      2       BUFFER         151518760.416667      1995.104126   src/audio/buffer.c:204    comp_update_buffer_consume(), no bytes to consume, source->comp.id = 8, source->comp.type = 2, sink->comp.id = 6, sink->comp.type = 1
    0      1          DAI 2.8     151520759.739583      1999.322876      src/audio/dai.c:580    dai_check_for_xrun() error: overrun due to no data available
    0      1         COMP         151520771.197917        11.458333 of/audio/component.h:758    comp_overrun() error: dev->comp.id = 8, sink->free = 0, copy_bytes = 0
    0      2         PIPE 2.9     151520783.645833        12.447917 src/audio/pipeline.c:622    pipeline_trigger()
    0      2          DAI 2.8     151520791.562500         7.916667      src/audio/dai.c:483    dai_comp_trigger(), command = 8
    0      2          DAI 2.8     151520799.375000         7.812500      src/audio/dai.c:541    dai_comp_trigger(), XRUN
    0      2          DAI 2.8     151520806.458333         7.083333      src/audio/dai.c:547    dai_comp_trigger(), PAUSE/STOP
    0      2          DMA         151520814.010417         7.552083 src/drivers/dw/dma.c:465    dw_dma_stop(): dma 1 channel 0 stop
    0      2         DMIC         151520838.750000        24.739584 rs/intel/cavs/dmic.c:1442   dmic_trigger()
    0      2         DMIC         151520846.302083         7.552083 rs/intel/cavs/dmic.c:1367   dmic_stop()
    0      2         DMIC         151520854.635417         8.333333 rs/intel/cavs/dmic.c:1393   dmic_stop(), dmic_active_fifos = 1
    0      1         PIPE         151520867.916667        13.281250 src/audio/pipeline.c:799    pipeline_copy() error: ret = -61, start->comp.id = 8, dir = 0
    0      1         PIPE 2.9     151520880.000000        12.083333 src/audio/pipeline.c:993    pipeline_task(): xrun recover failed! pipeline will be stopped!
    0      2          IPC         151534431.302083     13551.301758    src/ipc/handler.c:452    ipc: comp 6 -> trigger cmd 0x50000 // IPC comes after long delay
    0      2         PIPE 2.9     151534443.437500        12.135417 src/audio/pipeline.c:622    pipeline_trigger()
    0      2         HOST 2.6     151534450.937500         7.500000     src/audio/host.c:323    host_trigger()
    0      2          DMA         151534459.531250         8.593750 intel/cavs/hda-dma.c:627    hda-dmac: 4 channel 1 -> stop
    0      2          DAI 2.8     151534468.177083         8.645833      src/audio/dai.c:483    dai_comp_trigger(), command = 0
    0      1         COMP         151534475.729167         7.552083 rc/audio/component.c:167    comp_set_state() error: wrong state = 1, COMP_TRIGGER_STOP
    0      1          IPC         151534487.135417        11.406250 src/audio/pipeline.c:649    pipeline_trigger() error: ret = -22, host->comp.id = 6, cmd = 0
    0      1          IPC         151534499.270833        12.135417    src/ipc/handler.c:486    ipc: comp 6 trigger 0x50000 failed -22

Activity

  1. changed the title [-][BUG][TGL]ipc errror for 0x60005000 size 12 when stop the pipeline[/-] [+][BUG][TGL]ipc errror for 0x60050000 size 12 when stop the pipeline[/+] on Aug 29, 2019
  2. ranj063 commented on Aug 29, 2019

    @ranj063
    Collaborator

    @singalsu do you think this could be fixed with a DMIC config change?

  3. xiulipan commented on Aug 29, 2019

    @xiulipan
    Author

    @ranj063 This will also happen on HDA and SSP dai pipeline.

  4. ranj063 commented on Aug 29, 2019

    @ranj063
    Collaborator

    @xiulipan how come we've not had this issue on any of the previous platforms? and is this specific to playback or capture or both>?

  5. xiulipan commented on Aug 29, 2019

    @xiulipan
    Author

    @ranj063 This is wired to me too. I add some debug logs and find that on previous platform, there is no big delay between DMA stop and IPC stop. But on TGL there is a huge delay there.

  6. ranj063 commented on Aug 29, 2019

    @ranj063
    Collaborator

    @xiulipan I think we need @tlauda to chime in here

  7. tlauda commented on Aug 29, 2019

    @tlauda

    @xiulipan @ranj063 The original sequence for stopping is wrong as I already stated many times. First we should send stop ipc and then stop DMA. If the delay between the DMA stop and ipc is too big, you will see an xrun, but even without an xrun this can lead to some undefined behavior for HDA Link pipelines (#1160).

  8. added
    bugSomething isn't working
    TGLApplies to Tiger Lake platform
    on Sep 9, 2019
  9. mengdonglin commented on Oct 17, 2019

    @mengdonglin

    Closed since we cannot reproduce this issue for either HD-A or I2S backends with the kernel recipe:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

TGLApplies to Tiger Lake platformbugSomething isn't working

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions