Repository navigation
Closed
Labels
HDAApplies to HD-Audio bus for codec connectionApplies to HD-Audio bus for codec connectionP3Low-impact bugs or featuresLow-impact bugs or featuresWHLApplies to WhiskeyLake platformApplies to WhiskeyLake platformdisplay audioAudio to HDMI/DisplayPort via HDAAudio to HDMI/DisplayPort via HDA
Description
Reported by internal tests, e.g.
#/result/planresultdetail/38998?model=WHL_UPEXT_HDA-ipc3&testcase=multiple-pipeline-playback-50
This is concerning since it's just a generic HDaudio device...No idea when it started to appear.
[ 2576.892664] kernel: snd_sof:ipc3_log_header: sof-audio-pci-intel-cnl 0000:00:1f.3: ipc tx: 0x60010000: GLB_STREAM_MSG: PCM_PARAMS
[ 2576.893024] kernel: snd_sof_intel_hda_common:hda_set_stream_data_offset: sof-audio-pci-intel-cnl 0000:00:1f.3: pcm: stream dir 0, posn mailbox offset is 790528
[ 2576.893168] kernel: snd_hda_codec_hdmi ehdaudio0D2: ASoC: error at snd_soc_dai_startup on intel-hdmi-hifi3: -16
[ 2576.893191] kernel: iDisp3: ASoC: error at __soc_pcm_open on iDisp3: -16
[ 2576.893204] kernel: HDMI3: ASoC: error at dpcm_be_dai_startup on HDMI3: -16
[ 2576.893215] kernel: HDMI3: ASoC: error at dpcm_fe_dai_startup on HDMI3: -16
Test Case URL: https://github.com/thesofproject/sof-test/tree/main/test-case/MODEL=WHL_UPEXT_HDA-ipc3
cmd: TPLG=/lib/firmware/intel/sof-tplg/sof-hda-generic-4ch.tplg MODEL=WHL_UPEXT_HDA-ipc3 SOF_TEST_INTERVAL=5 ~/sof-test/test-case/multiple-pipeline.sh -f p -l 50
====================
framework load: ssh ubuntu@jf-whl-upext-hda-2.jf.intel.com 'nohup bash -c "TPLG=/lib/firmware/intel/sof-tplg/sof-hda-generic-4ch.tplg MODEL=WHL_UPEXT_HDA-ipc3 SOF_TEST_INTERVAL=5 ~/sof-test/test-case/multiple-pipeline.sh -f p -l 50 2>&1 | nc -N 10.54.29.142 50789" >/dev/null &'
====================
framework run: 'netcat -l -k 50789'
====================
2024-03-19 01:19:35 UTC [REMOTE_INFO] ktime=2576 sof-test PID=18830: starting
2024-03-19 01:19:35 UTC [REMOTE_INFO] Starting /usr/local/bin/sof-logger -t -l /etc/sof/sof-cnl.ldc > /home/ubuntu/sof-test/logs/multiple-pipeline/2024-03-19-01:19:35-20621/slogger.txt &
2024-03-19 01:19:35 UTC [REMOTE_INFO] /home/ubuntu/sof-test/test-case/multiple-pipeline.sh will use topology /usr/lib/firmware/intel/sof-tplg/sof-hda-generic-4ch.tplg to run the test case
2024-03-19 01:19:35 UTC [REMOTE_INFO] Pipeline list to ignore is specified, will ignore 'pcm=HDA Digital' in test case
2024-03-19 01:19:35 UTC [REMOTE_INFO] Run command to get pipeline parameters
2024-03-19 01:19:35 UTC [REMOTE_COMMAND] sof-tplgreader.py /usr/lib/firmware/intel/sof-tplg/sof-hda-generic-4ch.tplg -f 'type:playback & ~pcm:Amplifier Reference' -b ' pcm:HDA Digital' -s 0 -e
2024-03-19 01:19:35 UTC [REMOTE_INFO] ===== Testing: (Loop: 1/50) =====
2024-03-19 01:19:35 UTC [REMOTE_INFO] /home/ubuntu/sof-test/test-case/multiple-pipeline.sh will use topology /usr/lib/firmware/intel/sof-tplg/sof-hda-generic-4ch.tplg to run the test case
2024-03-19 01:19:35 UTC [REMOTE_INFO] Pipeline list to ignore is specified, will ignore 'pcm=HDA Digital' in test case
2024-03-19 01:19:35 UTC [REMOTE_INFO] Run command to get pipeline parameters
2024-03-19 01:19:35 UTC [REMOTE_COMMAND] sof-tplgreader.py /usr/lib/firmware/intel/sof-tplg/sof-hda-generic-4ch.tplg -f 'type:playback ' -b ' pcm:HDA Digital' -s 0 -e
2024-03-19 01:19:35 UTC [REMOTE_INFO] Testing: HDA Analog [hw:0,0]
2024-03-19 01:19:35 UTC [REMOTE_COMMAND] aplay -D hw:0,0 -c 2 -r 48000 -f S16_LE /dev/zero -q
2024-03-19 01:19:35 UTC [REMOTE_INFO] Testing: HDMI1 [hw:0,3]
2024-03-19 01:19:35 UTC [REMOTE_COMMAND] aplay -D hw:0,3 -c 2 -r 48000 -f S16_LE /dev/zero -q
2024-03-19 01:19:35 UTC [REMOTE_INFO] Testing: HDMI2 [hw:0,4]
2024-03-19 01:19:35 UTC [REMOTE_COMMAND] aplay -D hw:0,4 -c 2 -r 48000 -f S16_LE /dev/zero -q
2024-03-19 01:19:35 UTC [REMOTE_INFO] Testing: HDMI3 [hw:0,5]
2024-03-19 01:19:35 UTC [REMOTE_COMMAND] aplay -D hw:0,5 -c 2 -r 48000 -f S16_LE /dev/zero -q
2024-03-19 01:19:35 UTC [REMOTE_INFO] wait 0.5s for aplay_opts()
aplay: main:831: audio open error: Device or resource busy
cc:
- WHL_UPEXT_HDA has an error at snd_soc_dai_startup on intel-hdmi-hifi3: -16 #4192 - August 2023 duplicate
Metadata
Metadata
Assignees
Labels
HDAApplies to HD-Audio bus for codec connectionApplies to HD-Audio bus for codec connectionP3Low-impact bugs or featuresLow-impact bugs or featuresWHLApplies to WhiskeyLake platformApplies to WhiskeyLake platformdisplay audioAudio to HDMI/DisplayPort via HDAAudio to HDMI/DisplayPort via HDA
Activity
plbossart commentedon Mar 19, 2024
I can't reproduce this issue on my own UpExtreme board which was collecting dust for a while.
I have zero issues when pulseaudio is disabled (as in mv /usr/bin/pulseaudio /usr/bin/_pulseaudio)
With pulseaudio nothing works, so my money is on a configuration problem for this board.
@fredoh9 @marc-hb any ideas?
marc-hb commentedon Mar 19, 2024
I can reproduce on this particular device. There is no pulseaudio running (I think we check that somewhere?)
I can see this error at boot and then again every time the test fails:
@kv2019i any HDMI idea/suggestion?
@fredoh9 could you (re?)-add
verify-kernel-boot-log.shat the start of the stable-v2.2 test plan?I also spotted this:
FYI:
[-]WHL: UpExtreme: 'Device busy' error [/-][+]WHL: UpExtreme: iDisp3: ASoC: error at __soc_pcm_open on iDisp3: -16[/+]marc-hb commentedon Mar 20, 2024
Thanks @ujfalusi and @plbossart for spotting this:
Last successful runs were on
sh-whl-upext-hda-01(last successful run was 38874, March 14th)First failing run was 38915 on
jf-whl-upext-hda-4(March 15th)38998 failed on
jf-whl-upext-hda-2(March 19th)marc-hb commentedon Mar 20, 2024
The failing aplay seems to be always on HDMI3 == hw:0,5
One thing I know @fredoh9 did in JF is to use HDMI "stubs" to fake monitors and avoid Ubuntu issues thesofproject/sof-test#998
Maybe this wasn't done in SH?
Another thing: this can be reproduced easily but sometimes a fresh reboot is required to reproduce!
21 remaining items
marc-hb commentedon Mar 28, 2024
I never reproduced on
jf-whl-upext-hda-3, did anyone or anything? I reproduced only with jf-...-hda-2 and jf-...-hda-4.It could have a different BIOS or different model of HDMI plug. I'll have a look when I get back to JF.
plbossart commentedon Mar 28, 2024
Indeed the last test used jf-whl-upext-hda-4 and the issue is back. Those device-to-device variations are hard to track..
kernel-boot-log.sh: add new show_daemons_session_display()
kernel-boot-log.sh: add new show_daemons_session_display()
kernel-boot-log.sh: add new show_daemons_session_display()
marc-hb commentedon Mar 30, 2024
So the reason why
jf-whl-upext-hda-3passed and the others failed is:jf-whl-upext-hda-3is using a different HDMI stub that does not fake audio support. As soon as I swapped the HDMI stubs, the results followed the stubs.BUT, I also tested the failing stub on my APL UP2 and TGL UP xtreme and it did NOT cause any problem. So there is a problem specific to this WHL model. Reminder: the failure is NOT on the port connected to the HDMI stub. The failure is always on the last HDMI port used concurrently.
Instead of that HDMI stub, I connected a monitor with audio to a failing board and found no failure and no audio issue.
Here's the EDID for the HDMI stub that triggers the failure:
kernel-boot-log.sh: add new show_daemons_session_display()
marc-hb commentedon Apr 3, 2024
Very interesting and relevant HDMI audio facts learned after discussing with the local expert (thanks Clint!)
parse-edidbecause its output is incomplete. Notably:parse-ediddoes not show audio fields! Useedid-decodeinstead, which comes from a separate Debian/Ubuntu package.Do this:
In HDMI, audio is MANDATORY. If a monitor has one HDMI input, then it MUST have at least an audio jack (EDID is not just for HDMI).
Hence the other, HDMI stub that hides this failure is NOT HDMI COMPLIANT! Because its EDID is missing any audio support (it's also reporting really weird display modes but that's hopefully irrelevant)
I've been looking in the labs for a 3rd type of HDMI stub but I didn't find any yet. Ideally a compliant one with audio support.
marc-hb commentedon Apr 3, 2024
No way to find a 3rd type.
We can silence this failure by using on WHL only the (non compliant...) HDMI stub that does not support audio. Deal? It would only be hiding the failure, not solving it.
marc-hb commentedon Apr 4, 2024
Done on jf-whl-*-hda2,3,4
plbossart commentedon Apr 5, 2024
I am lost here.
We have an issue with a HDMI compliant device which exposes audio, but "how compliant" is it if we get this error all the time?
marc-hb commentedon Apr 5, 2024
We get this error only on the WHL UP boards. Other boards with the same HDMI stub pass the test just fine, see above.
Also, remember that the failure is NOT tied to the HDMI port where the stub is used, see above.
plbossart commentedon Apr 24, 2024
I'll close this issue since it's a corner case we have no intention of fixing.
ujfalusi commentedon Apr 25, 2024
FWIW, I had encountered an issue at home: HDMI CEC suddenly stopped working. My TV was not 'seeing' the AVR anymore and could not get ARC working.
It got solved by disconnecting a NUC with WHL from the AVR...
This might be a kernel regression, I think I had the NUC there for over a year and noticed oddities around January.