Repository navigation
[BUG][Multi-core] ipc timed out for 0x13000004|0x1GLB_SET_PIPELINE_STATE when testing non-core 0 pipeline on MTL-NOCODEC #7649
Copy link
Copy link
Closed
Labels
I2SApplies to I2S bus for codec connectionApplies to I2S bus for codec connectionIPC timeoutIPC timeout observedIPC timeout observedMTLApplies to Meteor Lake platformApplies to Meteor Lake platformP1Blocker bugs or important featuresBlocker bugs or important featuresbugSomething isn't working as expectedSomething isn't working as expectedmtl-005multicoreIssues observed when not only core#0 is used.Issues observed when not only core#0 is used.multicore-3coresIssues observed when 3 cores are used.Issues observed when 3 cores are used.
Description
Describe the bug
Testing mtl-005-stable-drop branch on MTL-NOCODEC platform with multi-core tplg, but all non-core0 pipelines failed the test with IPC times out. The reproduce rate is 100%.
DMESG
[ 898.191889] snd_sof:sof_ipc4_log_header: sof-audio-pci-intel-mtl 0000:00:1f.3: ipc tx : 0x13000003|0x1: GLB_SET_PIPELINE_STATE [data size: 12]
[ 898.192296] snd_sof:sof_ipc4_log_header: sof-audio-pci-intel-mtl 0000:00:1f.3: ipc tx reply: 0x33000000|0x1: GLB_SET_PIPELINE_STATE
[ 898.192326] snd_sof:sof_ipc4_log_header: sof-audio-pci-intel-mtl 0000:00:1f.3: ipc tx done : 0x13000003|0x1: GLB_SET_PIPELINE_STATE [data size: 12]
[ 898.192333] snd_sof:sof_ipc4_log_header: sof-audio-pci-intel-mtl 0000:00:1f.3: ipc tx : 0x13000004|0x1: GLB_SET_PIPELINE_STATE [data size: 12]
[ 898.700002] sof-audio-pci-intel-mtl 0000:00:1f.3: ipc timed out for 0x13000004|0x1
[ 898.700032] sof-audio-pci-intel-mtl 0000:00:1f.3: Attempting to prevent DSP from entering D3 state to preserve context
[ 898.700041] sof-audio-pci-intel-mtl 0000:00:1f.3: ------------[ IPC dump start ]------------
[ 898.700059] sof-audio-pci-intel-mtl 0000:00:1f.3: Host IPC initiator: 0x93000004|0x1|0x0, target: 0x13000004|0x1|0x0, ctl: 0x3
[ 898.700070] sof-audio-pci-intel-mtl 0000:00:1f.3: ------------[ IPC dump end ]------------
[ 898.700078] sof-audio-pci-intel-mtl 0000:00:1f.3: ------------[ DSP dump start ]------------
[ 898.700084] sof-audio-pci-intel-mtl 0000:00:1f.3: IPC timeout
[ 898.700091] sof-audio-pci-intel-mtl 0000:00:1f.3: fw_state: SOF_FW_BOOT_COMPLETE (7)
[ 898.700107] sof-audio-pci-intel-mtl 0000:00:1f.3: ROM status: 0x5, ROM error: 0x0
[ 898.700113] sof-audio-pci-intel-mtl 0000:00:1f.3: ROM debug status: 0x50000005, ROM debug error: 0x0
[ 898.700123] sof-audio-pci-intel-mtl 0000:00:1f.3: ROM feature bit enabled
[ 898.700128] sof-audio-pci-intel-mtl 0000:00:1f.3: ------------[ DSP dump end ]------------
[ 898.700158] sof-audio-pci-intel-mtl 0000:00:1f.3: failed to set final state 4 for all pipelines
[ 898.700168] sof-audio-pci-intel-mtl 0000:00:1f.3: ASoC: error at soc_component_trigger on 0000:00:1f.3: -110
[ 898.700181] Port2: ASoC: trigger FE cmd: 1 failed: -110
To Reproduce
$ aplay -Dhw:0,1 -r 48000 -c 2 -f S16_LE -d 3 /dev/zero -v -q
or
$ aplay -Dhw:0,2 -r 48000 -c 2 -f S16_LE -d 3 /dev/zero -v -q
Reproduction Rate
100%
Environment
- Branch name and commit hash of the 2 repositories: sof (firmware/topology) and linux (kernel driver).
- Linux Branch: topic/sof-dev
- Linux Commit: 0035b02b10f1
- SOF Branch: mtl-005-drop-stable
- SOF Commit: 7c46d9c6fea6
- Name of the topology file
- Topology: sof-mtl-nocodec-multicore.tplg (Built with PR [MTL-005] Cherry pick recent topology updates #7582)
- Name of the platform(s) on which the bug is observed.
- Platform: MTL-RVP-NOCODEC
Reactions are currently unavailable
Metadata
Metadata
Labels
I2SApplies to I2S bus for codec connectionApplies to I2S bus for codec connectionIPC timeoutIPC timeout observedIPC timeout observedMTLApplies to Meteor Lake platformApplies to Meteor Lake platformP1Blocker bugs or important featuresBlocker bugs or important featuresbugSomething isn't working as expectedSomething isn't working as expectedmtl-005multicoreIssues observed when not only core#0 is used.Issues observed when not only core#0 is used.multicore-3coresIssues observed when 3 cores are used.Issues observed when 3 cores are used.

Activity
abonislawski commentedon May 19, 2023
Multi-core fix added to 005, it should cover case when several pipelines used on a single secondary core.
Please verify if it helps here or in #7650
keqiaozhang commentedon May 19, 2023
This issue is still reproducible on latest mtl-005/ddc2ef6. But it won't fail immediately and the errors are also changed.
abonislawski commentedon May 19, 2023
This is not the same issue, just another one
abonislawski commentedon May 22, 2023
Probably now we hit this one
#7108 (comment)
keqiaozhang commentedon May 22, 2023
I checked this issue again today and found that this issue only happened at the first/second round of test after system reboot.
But this issue cannot be reproduced after reloading kmod,
Test steps:
abonislawski commentedon May 30, 2023
Verified today with latest 005 version.
Original problem is fixed along with another one in 7108.
Right now it can hit another issue, aplay -Dhw:0,1 is working fine one by one but (as @keqiaozhang advised) we can add delay and break it.
That's because driver will put dsp to D3 state in such case:
and restore when we start another aplay, core 1 will be powered up successfully but hit timeout on the first IPC (create pipeline).
I think this is already third issue in this thread so it would be great to close this and open another one for D3 restore scenario.
@mengdonglin FYI: IMR context save is enabled only on 005, thats why it can behave differently on main branch.
6c57b64
aborisovich commentedon Jun 18, 2023
Reproduced the issue, checked sof main branch with my 2 modified PRs:
#7325
zephyrproject-rtos/zephyr#56168
Unfortunately this does not work and fails very differently (on system boot multiple IPC timeout error on pipeline creation).
dmesg (2).txt
Cherry-picked those PRs along with PM fix zephyrproject-rtos/zephyr@5ea27ec to mtl-0050-drop-stable .
This brought no improvement over originally reported issue... (used
aplay -Dhw:0,2 -r 48000 -c 2 -f S16_LE -d 3 /dev/zero -v -q)serhiy-katsyuba-intel commentedon Jun 27, 2023
The root cause of the issue is that IDC interrupt was not re-enabled after exiting D3.
Fix PR for mtl-005-drop-stable branch:
thesofproject/zephyr#68
keqiaozhang commentedon Jun 30, 2023
This issue has been fixed on latest mtl-005 branch, closing it.