Repository navigation
Closed
Labels
bugSomething isn't working as expectedSomething isn't working as expected
Description
Today's FW can't recover from FW initiated Xrun, that means, once underrun/overrun happens on component copy, the FW will dead and will not response to any IPC from host.
We can easily expose this issue with test code pasted here:
keyonjie@6ffaa89
dmesg error:
[ 16.230595] rfkill: input handler enabled
[ 27.047404] sof-audio sof-audio: pcm: open stream 0 dir 0
[ 27.047409] sof-audio sof-audio: period min 192 max 16384 bytes
[ 27.047411] sof-audio sof-audio: period count 2 max 16
[ 27.047413] sof-audio sof-audio: buffer max 65536 bytes
[ 27.047957] sof-audio sof-audio: rate_min: 48000 rate_max: 48000
[ 27.047961] sof-audio sof-audio: channels_min: 2 channels_max: 2
[ 27.047965] sof-audio sof-audio: rate_min: 48000 rate_max: 48000
[ 27.047966] sof-audio sof-audio: channels_min: 2 channels_max: 2
[ 27.047969] sof-audio sof-audio: rate_min: 48000 rate_max: 48000
[ 27.047970] sof-audio sof-audio: channels_min: 2 channels_max: 2
[ 27.047976] sof-audio sof-audio: pcm: hw params stream 0 dir 0
[ 27.047980] sof-audio sof-audio: generating page table for 00000000e97e5175 size 0xff00 pages 16
[ 27.048001] sof-audio sof-audio: period_bytes:0xfc0
[ 27.048003] sof-audio sof-audio: periods:16
[ 27.048011] sof-audio sof-audio: stream_tag 1
[ 27.048039] sof-audio sof-audio: ipc tx: 0x60010000: GLB_STREAM_MSG: PCM_PARAMS
[ 27.048234] sof-audio sof-audio: ipc tx succeeded: 0x60010000: GLB_STREAM_MSG: PCM_PARAMS
[ 27.049583] sof-audio sof-audio: pcm: trigger stream 0 dir 0 cmd 1
[ 27.049602] sof-audio sof-audio: ipc tx: 0x60040000: GLB_STREAM_MSG: TRIG_START
[ 27.049805] sof-audio sof-audio: ipc tx succeeded: 0x60040000: GLB_STREAM_MSG: TRIG_START
[ 27.965456] sof-audio sof-audio: ipc rx: 0x90020000: GLB_TRACE_MSG
[ 27.965539] sof-audio sof-audio: ipc rx done: 0x90020000: GLB_TRACE_MSG
[ 32.965339] sof-audio sof-audio: ipc rx: 0x90020000: GLB_TRACE_MSG
[ 32.965377] sof-audio sof-audio: ipc rx done: 0x90020000: GLB_TRACE_MSG
[ 37.965460] sof-audio sof-audio: ipc rx: 0x90020000: GLB_TRACE_MSG
[ 37.965502] sof-audio sof-audio: ipc rx done: 0x90020000: GLB_TRACE_MSG
[ 43.213014] sof-audio sof-audio: pcm: trigger stream 0 dir 0 cmd 0
[ 43.213061] sof-audio sof-audio: ipc tx: 0x60050000: GLB_STREAM_MSG: TRIG_STOP
[ 43.213381] sof-audio sof-audio: error: ipc error for 0x60050000 size 0xc
[ 43.213406] Port0: ASoC: trigger FE failed -22
[ 43.213444] sof-audio sof-audio: pcm: free stream 0 dir 0
[ 43.213465] sof-audio sof-audio: ipc tx: 0x60030000: GLB_STREAM_MSG: PCM_FREE
[ 43.213672] sof-audio sof-audio: ipc tx succeeded: 0x60030000: GLB_STREAM_MSG: PCM_FREE
[ 43.213788] sof-audio sof-audio: pcm: close stream 0 dir 0
[ 43.965457] sof-audio sof-audio: ipc rx: 0x90020000: GLB_TRACE_MSG
[ 43.965499] sof-audio sof-audio: ipc rx done: 0x90020000: GLB_TRACE_MSG
sof-logger dma trace:
0 2 VOLUME 848072.760417 4.114583 /home/keyon/hdd/github/keyonjie/sof/src/audio/volume.c:326 volume_ctrl_set_cmd(), SOF_CTRL_CMD_VOLUME, cdata->comp_id = 37
0 2 VOLUME 848076.406250 3.645833 /home/keyon/hdd/github/keyonjie/sof/src/audio/volume.c:331 volume_ctrl_set_cmd(), SOF_CTRL_CMD_VOLUME, channel = 0, value = 520
0 2 VOLUME 848079.791667 3.385417 /home/keyon/hdd/github/keyonjie/sof/src/audio/volume.c:331 volume_ctrl_set_cmd(), SOF_CTRL_CMD_VOLUME, channel = 1, value = 2608
0 2 IPC 848218.645833 138.854172 /home/keyon/hdd/github/keyonjie/sof/src/ipc/handler.c:851 ipc: hdr 0x50010000 tx (108) > rx (92)
0 2 IPC 848222.812500 4.166667 /home/keyon/hdd/github/keyonjie/sof/src/ipc/handler.c:853 ipc: comp 43 -> cmd 0
0 2 VOLUME 848240.885417 18.072916 /home/keyon/hdd/github/keyonjie/sof/src/audio/volume.c:433 volume_cmd()
0 2 VOLUME 848244.843750 3.958333 /home/keyon/hdd/github/keyonjie/sof/src/audio/volume.c:326 volume_ctrl_set_cmd(), SOF_CTRL_CMD_VOLUME, cdata->comp_id = 43
0 2 VOLUME 848248.489583 3.645833 /home/keyon/hdd/github/keyonjie/sof/src/audio/volume.c:331 volume_ctrl_set_cmd(), SOF_CTRL_CMD_VOLUME, channel = 0, value = 520
0 2 IPC 22146618.020833 21298370.000000 /home/keyon/hdd/github/keyonjie/sof/src/ipc/handler.c:238 ipc: comp 0 -> params
0 2 PIPE 1.5 22146623.437500 5.416667 /home/keyon/hdd/github/keyonjie/sof/src/audio/pipeline.c:303 pipeline_params()
0 2 HOST 22146628.125000 4.687500 /home/keyon/hdd/github/keyonjie/sof/src/audio/host.c:460 host_params()
0 2 DMA 22146635.781250 7.656250 /home/keyon/hdd/github/keyonjie/sof/src/drivers/intel/cavs/hda-dma.c:594 hda-dmac: 5 channel 0 -> get
0 2 DMA 22146640.312500 4.531250 /home/keyon/hdd/github/keyonjie/sof/src/drivers/intel/cavs/hda-dma.c:829 hda-dmac: 5 channel 0 -> config
0 2 VOLUME 22146646.927083 6.614583 /home/keyon/hdd/github/keyonjie/sof/src/audio/volume.c:241 volume_params()
0 2 DAI 1.4 22146651.927083 5.000000 /home/keyon/hdd/github/keyonjie/sof/src/audio/dai.c:412 dai_params()
0 2 PIPE 1.5 22146660.000000 8.072917 /home/keyon/hdd/github/keyonjie/sof/src/audio/pipeline.c:341 pipeline_prepare()
0 2 HOST 22146664.166667 4.166667 /home/keyon/hdd/github/keyonjie/sof/src/audio/host.c:570 host_prepare()
0 2 VOLUME 22146669.739583 5.572917 /home/keyon/hdd/github/keyonjie/sof/src/audio/volume.c:532 volume_prepare()
0 2 DAI 1.4 22146676.822917 7.083333 /home/keyon/hdd/github/keyonjie/sof/src/audio/dai.c:461 dai_prepare()
0 2 IPC 22148183.645833 1506.822876 /home/keyon/hdd/github/keyonjie/sof/src/ipc/handler.c:463 ipc: comp 0 -> trigger cmd 4
0 2 PIPE 1.5 22148188.958333 5.312500 /home/keyon/hdd/github/keyonjie/sof/src/audio/pipeline.c:505 pipeline_trigger()
0 2 HOST 22148193.333333 4.375000 /home/keyon/hdd/github/keyonjie/sof/src/audio/host.c:279 host_trigger()
0 2 DMA 22148197.708333 4.375000 /home/keyon/hdd/github/keyonjie/sof/src/drivers/intel/cavs/hda-dma.c:664 hda-dmac: 5 channel 0 -> start
0 2 DMA 22148201.770833 4.062500 /home/keyon/hdd/github/keyonjie/sof/src/drivers/intel/cavs/hda-dma.c:483 hda-dmac: 5 channel 0 -> enable
0 2 VOLUME 22148244.375000 42.604168 /home/keyon/hdd/github/keyonjie/sof/src/audio/volume.c:453 volume_trigger()
0 2 DAI 1.4 22148248.906250 4.531250 /home/keyon/hdd/github/keyonjie/sof/src/audio/dai.c:569 dai_comp_trigger(), command = 1
0 2 DAI 1.4 22148252.864583 3.958333 /home/keyon/hdd/github/keyonjie/sof/src/audio/dai.c:577 dai_comp_trigger(), START
0 2 DMA 22148260.572917 7.708333 /home/keyon/hdd/github/keyonjie/sof/src/drivers/dw-dma.c:1222 dw_dma_interrupt_register()
0 2 SSP 22148269.895833 9.322917 /home/keyon/hdd/github/keyonjie/sof/src/drivers/intel/cavs/ssp.c:868 ssp_trigger() cmd 1
0 1 DAI 27148282.187500 5000012.500000 /home/keyon/hdd/github/keyonjie/sof/src/audio/dai.c:676 Keyon: hack for xrun debug!
0 2 COMP 27148288.333333 6.145833 /home/keyon/hdd/github/keyonjie/sof/src/include/sof/audio/component.h:399 comp_underrun(), ((dev->comp.id << 16) | source->avail) = 262528, ((min_bytes << 16) | copy_bytes) = 576
0 2 PIPE 1.5 27148292.552083 4.218750 /home/keyon/hdd/github/keyonjie/sof/src/audio/pipeline.c:505 pipeline_trigger()
0 2 HOST 27148296.927083 4.375000 /home/keyon/hdd/github/keyonjie/sof/src/audio/host.c:279 host_trigger()
0 2 DMA 27148301.614583 4.687500 /home/keyon/hdd/github/keyonjie/sof/src/drivers/intel/cavs/hda-dma.c:768 hda-dmac: 5 channel 0 -> stop
0 2 VOLUME 27148306.406250 4.791667 /home/keyon/hdd/github/keyonjie/sof/src/audio/volume.c:453 volume_trigger()
0 2 DAI 1.4 27148310.572917 4.166667 /home/keyon/hdd/github/keyonjie/sof/src/audio/dai.c:569 dai_comp_trigger(), command = 8
0 2 DAI 1.4 27148314.427083 3.854167 /home/keyon/hdd/github/keyonjie/sof/src/audio/dai.c:646 dai_comp_trigger(), XRUN
0 2 DAI 1.4 27148318.072917 3.645833 /home/keyon/hdd/github/keyonjie/sof/src/audio/dai.c:652 dai_comp_trigger(), PAUSE/STOP
0 2 DMA 27148322.343750 4.270833 /home/keyon/hdd/github/keyonjie/sof/src/drivers/dw-dma.c:596 dw-dma: 0 channel 0 stop
0 2 SSP 27148331.458333 9.114583 /home/keyon/hdd/github/keyonjie/sof/src/drivers/intel/cavs/ssp.c:868 ssp_trigger() cmd 0
0 2 SSP 27148462.760417 131.302078 /home/keyon/hdd/github/keyonjie/sof/src/drivers/intel/cavs/ssp.c:849 ssp_stop(), TX stop
0 2 SSP 27148467.708333 4.947917 /home/keyon/hdd/github/keyonjie/sof/src/drivers/intel/cavs/ssp.c:858 ssp_stop(), SSP port disabled
0 1 IPC 27148473.802083 6.093750 /home/keyon/hdd/github/keyonjie/sof/src/audio/pipeline.c:602 pipeline_copy() error: ret = -5, dev->comp.id = 4, dir = 1
0 1 PIPE 1.5 27148480.364583 6.562500 /home/keyon/hdd/github/keyonjie/sof/src/audio/pipeline.c:718 pipeline_xrun_recover()
0 2 PIPE 1.5 27148485.312500 4.947917 /home/keyon/hdd/github/keyonjie/sof/src/audio/pipeline.c:341 pipeline_prepare()
0 2 HOST 27148489.479167 4.166667 /home/keyon/hdd/github/keyonjie/sof/src/audio/host.c:570 host_prepare()
0 2 VOLUME 27148495.000000 5.520833 /home/keyon/hdd/github/keyonjie/sof/src/audio/volume.c:532 volume_prepare()
0 2 DAI 1.4 27148501.822917 6.822917 /home/keyon/hdd/github/keyonjie/sof/src/audio/dai.c:461 dai_prepare()
0 2 PIPE 1.5 27148507.500000 5.677083 /home/keyon/hdd/github/keyonjie/sof/src/audio/pipeline.c:505 pipeline_trigger()
0 2 HOST 27148511.562500 4.062500 /home/keyon/hdd/github/keyonjie/sof/src/audio/host.c:279 host_trigger()
0 2 DMA 27148515.989583 4.427083 /home/keyon/hdd/github/keyonjie/sof/src/drivers/intel/cavs/hda-dma.c:664 hda-dmac: 5 channel 0 -> start
0 2 DMA 27148520.156250 4.166667 /home/keyon/hdd/github/keyonjie/sof/src/drivers/intel/cavs/hda-dma.c:483 hda-dmac: 5 channel 0 -> enable
0 2 VOLUME 27148561.093750 40.937500 /home/keyon/hdd/github/keyonjie/sof/src/audio/volume.c:453 volume_trigger()
0 2 DAI 1.4 27148565.625000 4.531250 /home/keyon/hdd/github/keyonjie/sof/src/audio/dai.c:569 dai_comp_trigger(), command = 1
0 2 DAI 1.4 27148569.479167 3.854167 /home/keyon/hdd/github/keyonjie/sof/src/audio/dai.c:577 dai_comp_trigger(), START
0 2 DMA 27148576.927083 7.447917 /home/keyon/hdd/github/keyonjie/sof/src/drivers/dw-dma.c:1222 dw_dma_interrupt_register()
0 1 VOLUME 32147593.177083 4999016.000000 /home/keyon/hdd/github/keyonjie/sof/src/audio/volume.c:480 Keyon: hack for xrun debug!
0 2 COMP 32147599.479167 6.302083 /home/keyon/hdd/github/keyonjie/sof/src/include/sof/audio/component.h:399 comp_underrun(), ((dev->comp.id << 16) | source->avail) = 65920, ((min_bytes << 16) | copy_bytes) = 576
0 2 PIPE 1.5 32147603.489583 4.010417 /home/keyon/hdd/github/keyonjie/sof/src/audio/pipeline.c:505 pipeline_trigger()
0 2 HOST 32147607.760417 4.270833 /home/keyon/hdd/github/keyonjie/sof/src/audio/host.c:279 host_trigger()
0 2 DMA 32147612.395833 4.635417 /home/keyon/hdd/github/keyonjie/sof/src/drivers/intel/cavs/hda-dma.c:768 hda-dmac: 5 channel 0 -> stop
0 2 VOLUME 32147617.031250 4.635417 /home/keyon/hdd/github/keyonjie/sof/src/audio/volume.c:453 volume_trigger()
0 2 DAI 1.4 32147621.197917 4.166667 /home/keyon/hdd/github/keyonjie/sof/src/audio/dai.c:569 dai_comp_trigger(), command = 8
0 2 DAI 1.4 32147625.052083 3.854167 /home/keyon/hdd/github/keyonjie/sof/src/audio/dai.c:646 dai_comp_trigger(), XRUN
0 2 DAI 1.4 32147628.697917 3.645833 /home/keyon/hdd/github/keyonjie/sof/src/audio/dai.c:652 dai_comp_trigger(), PAUSE/STOP
0 2 DMA 32147632.760417 4.062500 /home/keyon/hdd/github/keyonjie/sof/src/drivers/dw-dma.c:596 dw-dma: 0 channel 0 stop
0 2 SSP 32147641.145833 8.385417 /home/keyon/hdd/github/keyonjie/sof/src/drivers/intel/cavs/ssp.c:868 ssp_trigger() cmd 0
0 2 SSP 32147773.020833 131.875000 /home/keyon/hdd/github/keyonjie/sof/src/drivers/intel/cavs/ssp.c:849 ssp_stop(), TX stop
0 2 IPC 38311636.250000 6163863.000000 /home/keyon/hdd/github/keyonjie/sof/src/ipc/handler.c:463 ipc: comp 0 -> trigger cmd 5
0 2 PIPE 1.5 38311641.718750 5.468750 /home/keyon/hdd/github/keyonjie/sof/src/audio/pipeline.c:505 pipeline_trigger()
0 2 HOST 38311645.833333 4.114583 /home/keyon/hdd/github/keyonjie/sof/src/audio/host.c:279 host_trigger()
0 1 COMP 38311649.947917 4.114583 /home/keyon/hdd/github/keyonjie/sof/src/audio/component.c:153 comp_set_state() error: wrong state = 3, COMP_TRIGGER_STOP/XRUN
0 1 IPC 38311655.625000 5.677083 /home/keyon/hdd/github/keyonjie/sof/src/audio/pipeline.c:520 pipeline_trigger() error: ret = -22, host->comp.id = 0, cmd = 0
0 1 IPC 38311662.239583 6.614583 /home/keyon/hdd/github/keyonjie/sof/src/ipc/handler.c:497 ipc: comp 0 trigger 5 failed -22
0 2 IPC 38312040.833333 378.593750 /home/keyon/hdd/github/keyonjie/sof/src/ipc/handler.c:366 ipc: comp 0 -> free
0 2 PIPE 1.5 38312046.093750 5.260417 /home/keyon/hdd/github/keyonjie/sof/src/audio/pipeline.c:548 pipeline_reset()
0 2 HOST 38312050.208333 4.114583 /home/keyon/hdd/github/keyonjie/sof/src/audio/host.c:632 host_reset()
0 2 DMA 38312054.531250 4.322917 /home/keyon/hdd/github/keyonjie/sof/src/drivers/intel/cavs/hda-dma.c:768 hda-dmac: 5 channel 0 -> stop
Metadata
Metadata
Assignees
Labels
bugSomething isn't working as expectedSomething isn't working as expected
Activity