Repository navigation
Closed
Labels
TGLApplies to Tiger Lake platformApplies to Tiger Lake platformbugSomething isn't workingSomething isn't working
Description
[ 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 -22Metadata
Metadata
Assignees
Labels
TGLApplies to Tiger Lake platformApplies to Tiger Lake platformbugSomething isn't workingSomething isn't working
Activity
[-][BUG][TGL]ipc errror for 0x60005000 size 12 when stop the pipeline[/-][+][BUG][TGL]ipc errror for 0x60050000 size 12 when stop the pipeline[/+]ranj063 commentedon Aug 29, 2019
@singalsu do you think this could be fixed with a DMIC config change?
xiulipan commentedon Aug 29, 2019
@ranj063 This will also happen on HDA and SSP dai pipeline.
ranj063 commentedon Aug 29, 2019
@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>?
xiulipan commentedon Aug 29, 2019
@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.
ranj063 commentedon Aug 29, 2019
@xiulipan I think we need @tlauda to chime in here
tlauda commentedon Aug 29, 2019
@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).
mengdonglin commentedon Oct 17, 2019
Closed since we cannot reproduce this issue for either HD-A or I2S backends with the kernel recipe: