Skip to content

topology2: cavs-sdw: add multiband DRC playback pipeline variant#10969

Open
singalsu wants to merge 1 commit into
thesofproject:mainfrom
singalsu:tplg_use_multidrc
Open

topology2: cavs-sdw: add multiband DRC playback pipeline variant#10969
singalsu wants to merge 1 commit into
thesofproject:mainfrom
singalsu:tplg_use_multidrc

Conversation

@singalsu

@singalsu singalsu commented Jul 2, 2026

Copy link
Copy Markdown
Collaborator

Add an alternative BE speaker playback pipeline class mixout-gain-eqiir-eqfir-mbdrc-alh-dai-copier-playback that mirrors the existing mixout-gain-eqiir-eqfir-drc-alh-dai-copier-playback but uses the multiband_drc effect in place of the single-band drc. This lets an SDW amp topology run per-band dynamics processing without duplicating the surrounding gain, EQ IIR and EQ FIR chain.

The SDW enhanced speaker playback path in the sdw-amp-generic platform partial is now gated by IncludeByKey.EFX_DRC_COMPONENT with "multiband" and "singleband" branches, both in the pipeline instantiation and in the corresponding route block. The multiband branch selects the new pipeline class and exposes the multiband_drc bytes and switch as "Post Mixer MDRC bytes" / "MDRC switch" so it does not collide with the single-band DRC controls. EFX_DRC_COMPONENT still defaults to "singleband" in efx-default.conf, so existing targets are unaffected.

Two development topology targets are added to exercise the new path: sof-mtl-rt713-l0-rt1316-l12-mbdrc and
sof-arl-cs42l43-l0-cs35l56-l23-mbdrc, both with
EFX_DRC_COMPONENT=multiband.

Add an alternative BE speaker playback pipeline class
mixout-gain-eqiir-eqfir-mbdrc-alh-dai-copier-playback that mirrors the
existing mixout-gain-eqiir-eqfir-drc-alh-dai-copier-playback but uses
the multiband_drc effect in place of the single-band drc. This lets an
SDW amp topology run per-band dynamics processing without duplicating
the surrounding gain, EQ IIR and EQ FIR chain.

The SDW enhanced speaker playback path in the sdw-amp-generic platform
partial is now gated by IncludeByKey.EFX_DRC_COMPONENT with "multiband"
and "singleband" branches, both in the pipeline instantiation and in
the corresponding route block. The multiband branch selects the new
pipeline class and exposes the multiband_drc bytes and switch as
"Post Mixer <name> MDRC bytes" / "MDRC switch" so it does not collide
with the single-band DRC controls. EFX_DRC_COMPONENT still defaults to
"singleband" in efx-default.conf, so existing targets are unaffected.

Two development topology targets are added to exercise the new path:
sof-mtl-rt713-l0-rt1316-l12-mbdrc and
sof-arl-cs42l43-l0-cs35l56-l23-mbdrc, both with
EFX_DRC_COMPONENT=multiband.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
@singalsu singalsu marked this pull request as ready for review July 6, 2026 08:39
@singalsu singalsu requested review from jsarha and ranj063 as code owners July 6, 2026 08:39
Copilot AI review requested due to automatic review settings July 6, 2026 08:39

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.

Pull request overview

This PR adds an SDW speaker BE playback pipeline variant that uses multiband_drc instead of the existing single-band drc, and wires it into the sdw-amp-generic platform partial via IncludeByKey.EFX_DRC_COMPONENT so a topology can select either implementation.

Changes:

  • Added a new pipeline class mixout-gain-eqiir-eqfir-mbdrc-alh-dai-copier-playback.
  • Gated SDW enhanced speaker playback pipeline instantiation and routing on EFX_DRC_COMPONENT (singleband vs multiband).
  • Added two development topology targets that set EFX_DRC_COMPONENT=multiband.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.

File Description
tools/topology/topology2/platform/intel/sdw-amp-generic.conf Adds EFX_DRC_COMPONENT-gated selection between single-band DRC and multiband DRC pipelines, plus corresponding route changes.
tools/topology/topology2/include/pipelines/cavs/mixout-gain-eqiir-eqfir-mbdrc-alh-dai-copier-playback.conf Introduces the new BE playback pipeline class that inserts multiband_drc after EQ FIR.
tools/topology/topology2/development/tplg-targets.cmake Adds two development targets to build SDW topologies with EFX_DRC_COMPONENT=multiband.
tools/topology/topology2/cavs-sdw.conf Registers the new pipeline include and adds an MBDRC params default.

Comment on lines 117 to +120
EFX_SPK_IIR_PARAMS "highpass_100hz_0db_48khz"
EFX_SPK_FIR_PARAMS "passthrough"
EFX_SPK_DRC_PARAMS "speaker_default"
EFX_SPK_MBDRC_PARAMS "passthrough"

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

OK, I'll also rename it to EFX_SPK_DRC_COMPONENT to be more specific to where it applies.

@singalsu singalsu requested review from kv2019i and lgirdwood July 6, 2026 14:12
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.

2 participants