Skip to content

tools: topology2: fixes to nocodec tplg - #11358

Open
kv2019i wants to merge 2 commits into
thesofproject:mainfrom
kv2019i:202610-tplg2-nocodec-fixes
Open

kv2019i wants to merge 2 commits into
thesofproject:mainfrom
kv2019i:202610-tplg2-nocodec-fixes

Conversation

@kv2019i

@kv2019i kv2019i commented Oct 26, 2026

Copy link
Copy Markdown
Collaborator

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

…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>
@kv2019i
kv2019i requested review from bardliao, lgirdwood, singalsu and ujfalusi and a balanced review from Copilot October 26, 2026 15:16

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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_pins to 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

Comment on lines 1600 to 1606
channels_min 1
channels_max 8
}
"true" {
formats 'S16_LE,S24_LE,S32_LE'
}
}
@intel-sofci

intel-sofci commented Oct 26, 2026 •

Copy link
Copy Markdown

PR 11358: test results

Run date: 2026-10-27 16:32 UTC

Tested commit: 0d7713c19afc88f46e454ed0ab784414eec62d6b

mtl pass rate lnl pass rate ptl pass rate wcl pass rate nvl pass rate

@lgirdwood lgirdwood left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot opens

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants