Repository navigation
Conversation
…copier With PASSTHROUGH=true the SSP1 playback DAI copier is instantiated from the io-gateway class, which does not set num_input_pins, and unlike the SSP0 passthrough DAI copier the instance does not set it either. The kernel sees 0 input pins and fails to bind the host copier to it when the PCM is opened, in sof_ipc4_get_queue_id(): warning: W007 route 'host-copier.1.playback' -> 'dai-copier.SSP.NoCodec-1.playback': 'dai-copier.SSP.NoCodec-1.playback' has 0 input pins (fails when PCM 'Port1' playback is opened) Set num_input_pins 1 like for the SSP0 passthrough DAI copier. Only the PASSTHROUGH=true topologies change. Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
The Port0 PCM always advertises U8, A_LAW, MU_LAW and FLOAT_LE in addition to the S16/S24/S32 formats. With PASSTHROUGH=true the PCM is connected to passthrough host copiers that only have integer formats, so hw_params with any of the extra formats fails in sof_ipc4_init_input_audio_fmt() with "Unsupported audio format": warning: F002 PCM 'Port0' (id 0): playback: PCM allows U8, FLOAT_LE, MU_LAW, A_LAW but host copier 'host-copier.0.playback' has no such format Advertise only S16_LE, S24_LE and S32_LE in passthrough mode. The topologies without PASSTHROUGH=true are unchanged. Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
There was a problem hiding this comment.
Warning
Copilot couldn't run its full agentic review because it didn't start before the timeout. Make sure your repository has a runner available, or add a copilot-code-review.yml file specifying one with the runs-on attribute. See the docs for more details.
Copilot review overview
1 open issue
What changed in this PR
Fixes and tightens “nocodec” topology PCM capability definitions to satisfy issues found by the tplg2 validator, including conditional format sets for passthrough mode and a missing pin count on an SSP link node.
Changes:
- Make PCM format capabilities conditional on
PASSTHROUGH, restricting passthrough to integer PCM formats. - Add
num_input_pinsto an SSP link output node to satisfy topology node requirements.
| File | Description |
|---|---|
| tools/topology/topology2/cavs-nocodec.conf | Adjusts PCM caps to vary formats with PASSTHROUGH and adds a missing node pin-count field for validator compliance. |
Review effort: Lite
| channels_min 1 | ||
| channels_max 8 | ||
| } | ||
| "true" { | ||
| formats 'S16_LE,S24_LE,S32_LE' | ||
| } | ||
| } |
There was a problem hiding this comment.
@lgirdwood Not an issue. With PASSTHROUGH=true the caps get the 2-channel default from the pcm_caps class. The 1-8 range depends on updownmix configs not present in passthrough config, so the 2ch defaults should be used instead. On top, this is not related to this PR.
PR 11358: test resultsRun date: 2026-10-28 13:08 UTC Tested commit: 0d7713c19afc88f46e454ed0ab784414eec62d6b |

A few fixes to nocodec topology definitions found by the new tplg2 validator tool (#11344 ).