Repository navigation
Closed
Labels
P2Critical bugs or normal featuresCritical bugs or normal featuresbugSomething isn't working as expectedSomething isn't working as expected
Milestone
Description
Describe the bug
Unable to load topology on TGLU_UP_HDA_IPC4 which is used to enable zephyr+ipc4 in CI.
To enable IPC4 ,intel_adsp_cavs25.conf is modified as stated in Environment section
Not sure whether this is merely a topology problem or a kernel side problem .
Any advice ? thanks!
Environment
- Kernel: inner source linux topic/sof-cavs-dev f81ca4668a
- SOF: main branch plus PR 5231 , and add below contents to the
zephyrproject/zephyr/samples/subsys/audio/sof/boards/intel_adsp_cavs25.conf
CONFIG_RIMAGE_SIGNING_SCHEMA="tgl-cavs"
CONFIG_IPC_MAJOR_4=y
- Platform: TGLU_UP_HDA_IPC4 which is used to enable zephyr+ipc4 in CI
- TOPOLOGY: cavs-passthrough-hda
Screenshots or console output
[dmesg]
[ 2654.274245] sof-audio-pci-intel-tgl 0000:00:1f.3: firmware boot complete
[ 2654.274247] sof-audio-pci-intel-tgl 0000:00:1f.3: fw_state change: 5 -> 6
[ 2654.274305] sof-audio-pci-intel-tgl 0000:00:1f.3: snd_sof_init_trace: dma_trace_pages: 16
[ 2654.274324] sof-audio-pci-intel-tgl 0000:00:1f.3: bard: ipc4 doesn't support trace_ipc
[ 2654.274473] sof-audio-pci-intel-tgl 0000:00:1f.3: created machine skl_hda_dsp_generic
[ 2654.274642] sof-audio-pci-intel-tgl 0000:00:1f.3: Completing SOF PCI probe
[ 2654.294193] skl_hda_dsp_generic skl_hda_dsp_generic: skl_hda_audio_probe: entry
[ 2654.294270] skl_hda_dsp_generic skl_hda_dsp_generic: skl_hda_add_dai_link: dai link name - iDisp1
[ 2654.294316] skl_hda_dsp_generic skl_hda_dsp_generic: skl_hda_add_dai_link: dai link name - iDisp2
[ 2654.294352] skl_hda_dsp_generic skl_hda_dsp_generic: skl_hda_add_dai_link: dai link name - iDisp3
[ 2654.294386] skl_hda_dsp_generic skl_hda_dsp_generic: skl_hda_add_dai_link: dai link name - Analog Playback and Capture
[ 2654.294419] skl_hda_dsp_generic skl_hda_dsp_generic: skl_hda_add_dai_link: dai link name - Digital Playback and Capture
[ 2654.294456] skl_hda_dsp_generic skl_hda_dsp_generic: skl_hda_add_dai_link: dai link name - dmic01
[ 2654.296524] skl_hda_dsp_generic skl_hda_dsp_generic: skl_hda_add_dai_link: dai link name - dmic16k
[ 2654.296739] sof-audio-pci-intel-tgl 0000:00:1f.3: loading topology2:intel/sof-tplg/sof-hda-generic.tplg
[ 2654.296820] sof-audio-pci-intel-tgl 0000:00:1f.3: Topology: ABI 3:20:1 Kernel ABI 3:18:0
[ 2654.296829] sof-audio-pci-intel-tgl 0000:00:1f.3: tplg2: ready widget pipe 0 comp 0 type 7 name : iDisp3 Tx stream none
[ 2654.296833] sof-audio-pci-intel-tgl 0000:00:1f.3: widget type 7 name iDisp3 Tx not handled
[ 2654.296839] sof-audio-pci-intel-tgl 0000:00:1f.3: tplg2: ready widget pipe 1 comp 1 type 27 name : copier.HDA.1.0 stream Analog Playback and Capture
[ 2654.296843] sof-audio-pci-intel-tgl 0000:00:1f.3: Failed to find module ID for widget copier.HDA.1.0 with uuid 9BA00C83-CA12-4A83-943C-1FA2E82F9DDA
[ 2654.296850] sof-audio-pci-intel-tgl 0000:00:1f.3: error: DSP failed to add widget id 0 type 27 name : copier.HDA.1.0 stream Analog Playback and Capture
[ 2654.296855] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: failed to load widget copier.HDA.1.0
[ 2654.296859] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: topology: could not load header: -12
[ 2654.296862] sof-audio-pci-intel-tgl 0000:00:1f.3: error: tplg2 component load failed -12
[ 2654.296871] sof-audio-pci-intel-tgl 0000:00:1f.3: error: failed to load DSP topology -22
[ 2654.296875] sof-audio-pci-intel-tgl 0000:00:1f.3: ASoC: error at snd_soc_component_probe on 0000:00:1f.3: -22
[ 2654.296910] skl_hda_dsp_generic skl_hda_dsp_generic: ASoC: failed to instantiate card -22
[ 2654.297307] skl_hda_dsp_generic: probe of skl_hda_dsp_generic failed with error -22
Metadata
Metadata
Assignees
Labels
P2Critical bugs or normal featuresCritical bugs or normal featuresbugSomething isn't working as expectedSomething isn't working as expected
Activity
lgirdwood commentedon Jan 31, 2022
@lyakh can you take a look at this, thanks !
lyakh commentedon Feb 1, 2022
@lgirdwood @mengdonglin @XiaoyunWu6666 sorry, I don't see a reference to the CI test result nor do I see firmware trace here. But the error is verry telling: -12 is
-ENOMEM... I'm guessing some topology value got corrupted and there's a large number somewhere where memory size is expected.lgirdwood commentedon Feb 1, 2022
Looks like this will need @RanderWang to give inputs when back from vacation.
RanderWang commentedon Feb 8, 2022
Last time I found that the uuid of copier was not built into FW manifest, so it can't be found. @XiaoyunWu6666 can you decode FW to check uuid ? thanks
XiaoyunWu6666 commentedon Feb 8, 2022
hi @RanderWang , I decoded FW and got info below.
However, I could not get any relevant hints in it ...
RanderWang commentedon Feb 9, 2022
thanks. according to your info, there are only two modules and copier is missed.
please check my info. These info are added by rimage with config of tgl-cavs
XiaoyunWu6666 commentedon Feb 9, 2022
hi @rander , It seems that the firmware I built was different from you , maybe there is a gap between ways we built.
Below is mine :
Step 1 : fetch the newest sof code
Step 2 : apply PR 5231
Step 3 : zephyrproject/zephyr/samples/subsys/audio/sof/boards/intel_adsp_cavs25.conf
Add below to
Step 4 : build firmware with script : ./scripts/xtensa-build-zephyr.sh tgl
Could you please share your way to build?
RanderWang commentedon Feb 9, 2022
I only built it for xtos, not zephyr. The FW structure should be the same for both cases
XiaoyunWu6666 commentedon Feb 9, 2022
@aiChaoSONG found some IPC4 files were not specified in sof/zephyr/CMakeLists.txt, so they are not built when building with zephyr.
However after adding inclusion of src/audio/copier.c and src/audio/base_fw.c , the decode output of zephyr-build firmware still lacks copier component.
@lyakh @RanderWang Are there any other dependencies for enabling copier when building zephyr firmware?
Many thanks~
XiaoyunWu6666 commentedon Feb 9, 2022
Just synced with @aiChaoSONG , he found some mismatch in zephyrproject/zephyr/boards/xtensa/intel_adsp_cavs25/board.cmake
However , we need board_set_rimage_target(tgl-cavs) instead to enable using tgl-cavs.toml when signing with tool rimage
lyakh commentedon Feb 10, 2022
@XiaoyunWu6666 yes, I think I know why: there are no references to the copier, so it isn't linked into the image. You need to add a prototype of and a call to
sys_comp_copier_init()to sof/zephyr/wrapper.c similar to, e.g.sys_comp_tone_init()lyakh commentedon Feb 10, 2022
...and yes, I presume a call to
sys_comp_basefw_init()has to be added too, possibly other modules as well, if you're adding those tooRanderWang commentedon Feb 10, 2022
@lyakh it is another issue. Currently rimage adds module UUID to extended fw manifest according to tgl-cavs.toml and driver will check it. Now the UUID is not added to FW extended manifest since it use tgl.toml
lgirdwood commentedon Feb 10, 2022
@RanderWang thanks so it looks like we need the 1) component init update suggested by @lyakh and some 2) manifest updates suggested by @RanderWang.
@marc-hb fyi - is the rimage toml file alignment on your WIP list ?
@aiChaoSONG are you able to do 1 and 2 above ?
aiChaoSONG commentedon Feb 11, 2022
@lgirdwood For 1), the patch is here: #5344, For 2) Kai has reported an issue, #5335, I I don't have a good solution to un-hardcode the rimage sign schema, or provide an override mechanism.
More discussion is needed for #5335
XiaoyunWu6666 commentedon Feb 28, 2022
For two problems in this issue ,
This can be closed but let's wait for some days until zephyr provides fix for the xcc build so that I can make a double check
keqiaozhang commentedon Mar 7, 2022
This issue is fixed, closing this bug.