Skip to content

Conversation

@bardliao
Copy link
Collaborator

Add deep buffer speaker support to amp function topologies

The existing code assumes that deep buffer jack is always there if deep
buffer is enabled. But amp function topology only needs deep buffer
speaker. Split deep buffer speaker from the deep-buffer.conf will make
us be easier to add deep buffer speaker into the amp function topology.

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Include deep-buffer-spk.conf if DEEP_BUF_SPK is true and SDW_JACK is
false. deep-buffer-spk.conf is only included when SDW_JACK is false
because deep-buffer-spk.conf is already included in deep-buffer.conf
when SDW_JACK is true.

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Add deep buffer speaker support to amp function topologies

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
@bardliao bardliao requested a review from jsarha as a code owner February 11, 2026 06:38
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds deep-buffer speaker support to SDCA amp function topologies by enabling deep-buffer flags in production targets and refactoring the speaker deep-buffer pipeline into a reusable include.

Changes:

  • Enable deep-buffer speaker flags for sof-sdca-{1..4}amp-id2 production target strings.
  • Conditionally include a new deep-buffer-spk.conf from SDW amp generic config when deep-buffer speaker mode is enabled.
  • Refactor deep-buffer.conf to include speaker pipeline from the new deep-buffer-spk.conf file.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

File Description
tools/topology/topology2/production/tplg-targets-sdca-generic.cmake Enables deep-buffer speaker mode parameters for SDCA amp target variants.
tools/topology/topology2/platform/intel/sdw-amp-generic.conf Adds conditional include logic to pull in deep-buffer speaker config for SDW amp topologies.
tools/topology/topology2/platform/intel/deep-buffer.conf Replaces embedded speaker deep-buffer pipeline with an include of deep-buffer-spk.conf.
tools/topology/topology2/platform/intel/deep-buffer-spk.conf Introduces a standalone deep-buffer speaker pipeline + PCM definition for reuse.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

IncludeByKey.PASSTHROUGH {
"false" {
IncludeByKey.DEEPBUFFER_FW_DMA_MS {
"([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|1000)" {
Copy link

Copilot AI Feb 11, 2026

Choose a reason for hiding this comment

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

The regex is intended to restrict DEEPBUFFER_FW_DMA_MS to 1–1000, but without anchors some regex engines will treat it as a partial match (e.g., 10000 matching 1000). Use an anchored pattern (e.g., ^(1000|[1-9][0-9]{0,2})$) so only valid full-string values enable the include.

Suggested change
"([1-9]|[1-9][0-9]|[1-9][0-9][0-9]|1000)" {
"^(1000|[1-9][0-9]{0,2})$" {

Copilot uses AI. Check for mistakes.
Comment on lines +26 to +27
#deep-buffer-spk.conf is included in deep-buffer.conf
#and deep-buffer.conf is included if SDW_JACK is true
Copy link

Copilot AI Feb 11, 2026

Choose a reason for hiding this comment

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

These comments are confusing in this context because this branch explicitly checks SDW_JACK is "false" and includes deep-buffer-spk.conf directly. Consider rewriting the comment to explain the actual behavior here (e.g., “deep-buffer-spk.conf is normally pulled via deep-buffer.conf when SDW_JACK=true; for SDW amp topologies with SDW_JACK=false we include it directly here”).

Suggested change
#deep-buffer-spk.conf is included in deep-buffer.conf
#and deep-buffer.conf is included if SDW_JACK is true
# deep-buffer-spk.conf is normally pulled in via deep-buffer.conf
# when SDW_JACK=true; for SDW amp topologies with SDW_JACK=false
# we include deep-buffer-spk.conf directly here.

Copilot uses AI. Check for mistakes.
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.

1 participant