Repository navigation
volume pipeline copy failure with HDMI playback on APL-UP2-pcm512x. #1114
Copy link
Copy link
Closed
Labels
APLApplies to Apollolake platformApplies to Apollolake platformWHLApplies to WhiskeyLake platformApplies to WhiskeyLake platformbugSomething isn't working as expectedSomething isn't working as expected
Milestone
Description
Summary:
Fail to check HDMI aplay function on APL-UP2-pcm512x.
Step:
1.aplay -Dhw:0,2 -fS16_LE -c2 -r48000 /dev/zero
Output:
Playing raw data '/dev/zero' : Signed 16 bit Little Endian, Rate 48000 Hz, Stereo
aplay: pcm_write:2011: write error: Input/output error
Dmesg:
[ 4.477053] sof-audio-pci 0000:00:0e.0: link dma channel 1 for playback
[ 4.477065] sof-audio-pci 0000:00:0e.0: ipc tx: 0x80010000: GLB_DAI_MSG: CONFIG
[ 4.477124] sof-audio-pci 0000:00:0e.0: ipc tx succeeded: 0x80010000: GLB_DAI_MSG: CONFIG
[ 4.477134] sof-audio-pci 0000:00:0e.0: link dma channel 2 for playback
[ 4.477145] sof-audio-pci 0000:00:0e.0: ipc tx: 0x80010000: GLB_DAI_MSG: CONFIG
[ 4.477204] sof-audio-pci 0000:00:0e.0: ipc tx succeeded: 0x80010000: GLB_DAI_MSG: CONFIG
[ 4.477209] sof-audio-pci 0000:00:0e.0: ASoC: Parent card not yet available, widget card binding deferred
[ 4.477212] sof-audio-pci 0000:00:0e.0: tplg: complete pipeline PIPELINE.4.HDA2.OUT id 23
[ 4.477219] sof-audio-pci 0000:00:0e.0: ipc tx: 0x30130000: GLB_TPLG_MSG: PIPE_COMPLETE
[ 4.477327] sof-audio-pci 0000:00:0e.0: ipc tx succeeded: 0x30130000: GLB_TPLG_MSG: PIPE_COMPLETE
[ 4.477333] sof-audio-pci 0000:00:0e.0: tplg: complete pipeline PIPELINE.3.HDA1.OUT id 17
[ 4.477339] sof-audio-pci 0000:00:0e.0: ipc tx: 0x30130000: GLB_TPLG_MSG: PIPE_COMPLETE
[ 4.477391] sof-audio-pci 0000:00:0e.0: ipc tx succeeded: 0x30130000: GLB_TPLG_MSG: PIPE_COMPLETE
[ 4.477396] sof-audio-pci 0000:00:0e.0: tplg: complete pipeline PIPELINE.2.HDA0.OUT id 11
[ 4.477401] sof-audio-pci 0000:00:0e.0: ipc tx: 0x30130000: GLB_TPLG_MSG: PIPE_COMPLETE
[ 4.477451] sof-audio-pci 0000:00:0e.0: ipc tx succeeded: 0x30130000: GLB_TPLG_MSG: PIPE_COMPLETE
[ 4.477458] sof-audio-pci 0000:00:0e.0: tplg: complete pipeline PIPELINE.1.SSP5.OUT id 5
[ 4.477463] sof-audio-pci 0000:00:0e.0: ipc tx: 0x30130000: GLB_TPLG_MSG: PIPE_COMPLETE
[ 4.477763] sof-audio-pci 0000:00:0e.0: ipc tx succeeded: 0x30130000: GLB_TPLG_MSG: PIPE_COMPLETE
[ 4.478974] HDMI HDA Codec ehdaudio0D2: hdac_hdmi_present_sense: disconnect for pin:port 5:0
[ 4.479149] HDMI HDA Codec ehdaudio0D2: hdac_hdmi_present_sense: disconnect for pin:port 7:0
[ 4.483877] sof-audio-pci 0000:00:0e.0: ipc tx: 0x40010000: GLB_PM_MSG: CTX_SAVE
[ 4.483954] sof-audio-pci 0000:00:0e.0: ipc tx succeeded: 0x40010000: GLB_PM_MSG: CTX_SAVE
[ 4.483983] sof-audio-pci 0000:00:0e.0: FW Poll Status: reg=0x1010303 successful
[ 4.484993] sof-audio-pci 0000:00:0e.0: FW Poll Status: reg=0x303 successful
[ 4.484996] sof-audio-pci 0000:00:0e.0: DSP core(s) enabled? 0 : core_mask 3
[ 4.485016] sof-audio-pci 0000:00:0e.0: Debug PCIR: 00000000 at 00000044
[ 4.485019] sof-audio-pci 0000:00:0e.0: Debug PCIW: 00000010 at 00000044
[ 4.486134] bxt-pcm512x bxt-pcm512x: pcm512x-hifi <-> SSP5 Pin mapping ok
[ 4.486152] bxt-pcm512x bxt-pcm512x: intel-hdmi-hifi1 <-> iDisp1 Pin mapping ok
[ 4.486164] bxt-pcm512x bxt-pcm512x: intel-hdmi-hifi2 <-> iDisp2 Pin mapping ok
[ 4.486174] bxt-pcm512x bxt-pcm512x: intel-hdmi-hifi3 <-> iDisp3 Pin mapping ok
[ 4.486222] sof-audio-pci 0000:00:0e.0: creating new PCM Port5
[ 4.486225] sof-audio-pci 0000:00:0e.0: spcm: allocate Passthro
sof-logger:
CORE LEVEL COMP_ID TIMESTAMP DELTA FILE_NAME CONTENT
0 1 VOLUME 1678634.791667 1678634.750000 src/audio/volume.c:493 volume_copy() error: sink component buffer has not enough free bytes for copy
0 1 PIPE 1678670.989583 36.197918 src/audio/pipeline.c:658 pipeline_copy() error: ret = -5, start->comp.id = 16, dir = 1
0 1 PIPE 3.17 1678677.031250 6.041667 src/audio/pipeline.c:766 pipeline_xrun_recover()
0 1 VOLUME 1679634.791667 957.760437 src/audio/volume.c:493 volume_copy() error: sink component buffer has not enough free bytes for copy
0 1 PIPE 1679671.406250 36.614582 src/audio/pipeline.c:658 pipeline_copy() error: ret = -5, start->comp.id = 16, dir = 1
0 1 PIPE 3.17 1679677.343750 5.937500 src/audio/pipeline.c:766 pipeline_xrun_recover()
0 1 VOLUME 1680634.791667 957.447937 src/audio/volume.c:493 volume_copy() error: sink component buffer has not enough free bytes for copy
0 1 PIPE 1680670.989583 36.197918 src/audio/pipeline.c:658 pipeline_copy() error: ret = -5, start->comp.id = 16, dir = 1
0 1 PIPE 3.17 1680677.031250 6.041667 src/audio/pipeline.c:766 pipeline_xrun_recover()
0 1 VOLUME 1681634.791667 957.760437 src/audio/volume.c:493 volume_copy() error: sink component buffer has not enough free bytes for copy
0 1 PIPE 1681671.354167 36.562500 src/audio/pipeline.c:658 pipeline_copy() error: ret = -5, start->comp.id = 16, dir = 1
0 1 PIPE 3.17 1681677.343750 5.989583 src/audio/pipeline.c:766 pipeline_xrun_recover()
0 1 VOLUME 1682634.739583 957.395813 src/audio/volume.c:493 volume_copy() error: sink component buffer has not enough free bytes for copy
0 1 PIPE 1682671.093750 36.354168 src/audio/pipeline.c:658 pipeline_copy() error: ret = -5, start->comp.id = 16, dir = 1
0 1 PIPE 3.17 1682677.135417 6.041667 src/audio/pipeline.c:766 pipeline_xrun_recover()
0 1 VOLUME 1683634.791667 957.656250 src/audio/volume.c:493 volume_copy() error: sink component buffer has not enough free bytes for copy
0 1 PIPE 1683669.531250 34.739582 src/audio/pipeline.c:658 pipeline_copy() error: ret = -5, start->comp.id = 16, dir = 1
0 1 PIPE 3.17 1683675.468750 5.937500 src/audio/pipeline.c:766 pipeline_xrun_recover()
0 1 VOLUME 1684679.270833 1003.802063 src/audio/volume.c:493 volume_copy() error: sink component buffer has not enough free bytes for copy
0 1 PIPE 1684715.781250 36.510418 src/audio/pipeline.c:658 pipeline_copy() error: ret = -5, start->comp.id = 16, dir = 1
0 1 PIPE 3.17 1684722.083333 6.302083 src/audio/pipeline.c:766 pipeline_xrun_recover()
0 1 VOLUME 1684823.593750 101.510414 src/audio/volume.c:493 volume_copy() error: sink component buffer has not enough free bytes for copy
0 1 PIPE 1684859.791667 36.197918 src/audio/pipeline.c:658 pipeline_copy() error: ret = -5, start->comp.id = 16, dir = 1
0 1 PIPE 3.17 1684865.885417 6.093750 src/audio/pipeline.c:766 pipeline_xrun_recover()
0 1 VOLUME 1685634.843750 768.958313 src/audio/volume.c:493 volume_copy() error: sink component buffer has not enough free bytes for copy
0 1 PIPE 1685671.406250 36.562500 src/audio/pipeline.c:658 pipeline_copy() error: ret = -5, start->comp.id = 16, dir = 1
0 1 PIPE 3.17 1685677.604167 6.197917 src/audio/pipeline.c:766 pipeline_xrun_recover()
Env:
sof master: 2dbe69e
kernel sof-dev: facd448
tplg: sof-apl-pcm512x.tplg
Log file:
dmesg.log
logger.log
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
APLApplies to Apollolake platformApplies to Apollolake platformWHLApplies to WhiskeyLake platformApplies to WhiskeyLake platformbugSomething isn't working as expectedSomething isn't working as expected
Activity
[-]Fail to check HDMI aplay function on APL-UP2-pcm512x.[/-][+]volume pipeline copy failure with HDMI playback on APL-UP2-pcm512x.[/+]lgirdwood commentedon Mar 12, 2019
@tlauda I guess HDMI playback is working at your end ?
@Jiangxinx can you describe the pipeline this is failing on ?
tlauda commentedon Mar 12, 2019
@lgirdwood Last time I've checked it worked. Anyway HDMI playback works on work_queue, so it's basically timer driven scheduling. During next two weeks we should have schedule refactor ready along with timer scheduling enabled, so limitation will need to be introduced for scheduling HDA-Link pipelines. We should allow only timer scheduling for them.
lgirdwood commentedon Mar 12, 2019
@mengdonglin, @xiulipan @keyonjie can someone check timer scheduling for HDMI is enabled for this test. Thanks
mengdonglin commentedon Mar 13, 2019
@lgirdwood @tlauda We haven't revise, so the time_delay is still 0 by default, I think. Could you share more info about how to "allow only timer scheduling" for HDA-link pipelines?
tlauda commentedon Mar 13, 2019
@mengdonglin Timer scheduling is not yet ready, but we're getting there. We need to have #1089 and #1116 merged first and after that one more small PR from my side. I think I could also modify topology files and enable timer for HDA based pipelines to avoid synchronization problems between FW and Topology updates.
I wouldn't like to spend much time on this issue, because current implementation of HDA Link is very faulty and everything should work fine after we switch to timer scheduling.
tlauda commentedon Mar 14, 2019
@mengdonglin PRs that will resolve the issue: #1089, #1125, #1130, #1131.
keqiaozhang commentedon Mar 15, 2019
@tlauda
These patch series have some conflicts, please have a check.
Or what the right order to apply these patches?
RanderWang commentedon Mar 15, 2019
I also created a bug: #1133 and I got the reason.
RanderWang commentedon Mar 20, 2019
Now the error is: hda-dmac: %d channel %d HDA Link DMA doesn't support irq scheduling.
I submitted #1153 to fix this error msg.
2 remaining items
tlauda commentedon Mar 27, 2019
@wenqingfu Yes.
wenqingfu commentedon Mar 27, 2019
Close. Please reopen if it still fails in your daily regression. @Jiangxinx @stevyan
Jiangxinx commentedon Mar 28, 2019
This issue can still be reproduced in daily regression on APL-UP2-pcm512x.
sof-logger:
Dmesg:
Env:
sof master: 44705df
kernel sof-dev: 0367002
tplg: sof-apl-pcm512x.tplg
tlauda commentedon Mar 28, 2019
@Jiangxinx Error due to the timer not set for HDA pipeline. It looks like you haven't used the latest topology.
Edit: You have used the wrong FW. Fix was introduced in 6a0dcb3.
RanderWang commentedon Mar 28, 2019
I validated it on HDA codec and found the issue has been fixed.
mengdonglin commentedon Mar 28, 2019
@Jiangxinx @DarrenxWang @stevyan Please help to check if the sof-apl-pcm512x.tplg used by daily test has been update to latest for all HDA pipelines to use timer as scheduling source:
6a0dcb3
lgirdwood commentedon Mar 28, 2019
@mengdonglin blocker for 1.3-rc1
wenqingfu commentedon Mar 28, 2019
@Jiangxinx @RanderWang can you please help to do a cross checking and come to a conclusion of the testing status?
keqiaozhang commentedon Mar 29, 2019
This issue is fixed on GLK, HDMI playback works well.
sof/tplg:glk-011-drop-stable/55ae67b5c
kernel:cros-sof-v4.14-rebase/d4d2c3b8
stevyan commentedon Mar 29, 2019
Summary
This issue is fixed on APL UP2 PCM512x, HDMI playback works well.
Test Env
sof master: 742f83b
kernel sof-dev: e29122d
tplg: sof-apl-pcm512x.tplg