Skip to content

Merge DTS support for PTL - #10678

Merged
kv2019i merged 3 commits into
thesofproject:mainfrom
joechengxperi:main-dts-ptl-merge
Apr 21, 2026
Merged

Merge DTS support for PTL#10678
kv2019i merged 3 commits into
thesofproject:mainfrom
joechengxperi:main-dts-ptl-merge

Conversation

@joechengxperi

Copy link
Copy Markdown
Contributor

No description provided.

This patch adds DTS_CODEC for Intel PTL platform builds.
Signed-off-by: Joe Cheng <joe.cheng@xperi.com>

CopilotAI 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

Adds DTS-based pipeline configurations for the PTL SoundWire (SDW) topology, wiring DTS processing into speaker and jack playback paths and enabling DTS module packaging/build support.

Changes:

  • Add new DTS-specific SDW amp/jack topology configuration files and select them via SDW_*_PIPELINE_SRC=dts.
  • Introduce a new reusable mixout-gain-eqiir-dts-alh-dai-copier-playback pipeline class and register it in cavs-sdw.conf.
  • Enable DTS module inclusion for PTL rimage config and extend DTS llext build rules.

Reviewed changes

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

Show a summary per file
FileDescription
tools/topology/topology2/production/tplg-targets-ace3.cmakeAdds a PTL RT721+RT1320 DTS topology target preset.
tools/topology/topology2/platform/intel/sdw-jack-dts.confNew DTS-enhanced SDW jack pipelines and routing.
tools/topology/topology2/platform/intel/sdw-amp-dts.confNew DTS-enhanced SDW amp (speaker) pipelines and routing.
tools/topology/topology2/include/pipelines/cavs/mixout-gain-eqiir-dts-alh-dai-copier-playback.confNew pipeline class combining mixout/gain/eqiir/DTS/alh-copier.
tools/topology/topology2/cavs-sdw.confRegisters the new pipeline include and selects DTS-specific configs.
tools/rimage/config/ptl.toml.hIncludes DTS toml when DTS codec is enabled/modular.
src/audio/codec/dts/llext/CMakeLists.txtAdds linking for modular DTS llext builds.
src/audio/codec/dts/dts.tomlIncreases DTS module IBS to 2048.
src/audio/codec/CMakeLists.txtFixes conditional structure for DTS codec selection.
app/overlays/ptl/dts_overlay.confAdds PTL overlay options to enable DTS and required components.

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

{
source eqiir.$index.1
sink dts.$index.1
}

CopilotAIApr 3, 2026

Copy link

Choose a reason for hiding this comment

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

The pipeline routing stops at dts.$index.1 and never connects to alh-copier, so audio won’t reach the DAI stage. Add the missing route entry connecting the DTS widget output to the ALH copier input (consistent with how other playback pipelines terminate at alh-copier).

Suggested change
}
}
{
source dts.$index.1
sink alh-copier.$index.1
}

Copilot uses AI. Check for mistakes.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

I've checked for other similar files. There are no route to alh-copier in those files explicitly. This is likely handled by the topology framework.

Comment threadtools/topology/topology2/platform/intel/sdw-amp-dts.conf Outdated
Comment threadtools/topology/topology2/platform/intel/sdw-amp-dts.conf Outdated
DEEPBUFFER_FW_DMA_MS=10,DEEP_BUF_SPK=true,JACK_RATE=96000,DEEP_BUF_JACK_RATE=96000"

# RT721 for DTS
"cavs-sdw\;sof-ptl-rt721-l3-rt1320-l3-dts\;PLATFORM=ptl,NUM_SDW_AMP_LINKS=1,NUM_DMICS=4,\

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.

I didn't find a sof-ptl-rt721-l3-rt1320-l3 build here. Which topology is derived from? (i.e. the same audio codec configuration but without DTS)

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

@johnylin76
This is provided by Mac. @macchian could you please help to comment on this? Thanks.

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.

@joechengxperi, @johnylin76 , to be updated the specific topology name due to 3rd party pipeline be included instead of functional topology.

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.

For the SOF build structure on our device, we will prepare both common and 3rd-party solution topologies of the same codec spec, i.e. sof-ptl-rt721-l3-rt1320-l3.tplg and sof-ptl-rt721-l3-rt1320-l3-dts.tplg.

  • sof-ptl-rt721-l3-rt1320-l3.tplg is installed onto
    /vendor/firmware/**/sof-tplg/sof-ptl-rt721-l3-rt1320-l3.tplg
  • sof-ptl-rt721-l3-rt1320-l3-dts.tplg is installed onto
    /vendor/firmware/**/sof-tplg/device/sof-ptl-rt721-l3-rt1320-l3.tplg

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

@johnylin76
Sure, I'll add it.

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.

@joechengxperi , please refer to this topology #10708

This also requires kernel PR:
thesofproject/linux#5739

@lyakhlyakh left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

nice!

Comment threadsrc/audio/codec/CMakeLists.txt Outdated

@kv2019ikv2019i left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

A few minor comments inline, please check (along with copilot review comments).

"false" {
Object.Base.route [
{
source "gain.21.1"

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

@bardliao Shouldn't this be "dts.21.1" (instead of "gain.21.1") if enhanced playback is set and DTS is included in the graph. Or doesn't this matter for the virtual link (same problem in sdw-amp-dts.conf)?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

@bardliao is there any comment on this? Thanks.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

@kv2019i@joechengxperi Sorry for the late reply. It doesn't matter because it is virtual DAI. But when I see the topology graph, there seems be 2 routes from gain.1.1 to eqiir.1.1 to dts.1.1.
sof-ptl-rt721-l3-rt1320-l3-dts
Could you double check it?

Update CMakefile and toml to support building DTS to llext module
Signed-off-by: Joe Cheng <joe.cheng@xperi.com>
Increase the max parameter size to 2048
Signed-off-by: Joe Cheng <joe.cheng@xperi.com>

CopilotAI 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

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


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

Comment threadtools/topology/topology2/platform/intel/sdw-amp-dts.conf Outdated
SDW_JACK_OUT_STREAM=Playback-SimpleJack,SDW_JACK_IN_STREAM=Capture-SimpleJack,\
PREPROCESS_PLUGINS=nhlt,NHLT_BIN=nhlt-sof-ptl-rt721-l3-rt1320-l3-4ch.bin,\
DMIC0_ENHANCED_CAPTURE=true,EFX_DMIC0_TDFB_PARAMS=line4_pass,EFX_DMIC0_DRC_PARAMS=dmic_default,\
DEEP_BUF_SPK=true,BT_PCM_ID=8,BT_ID=8,BT_PCM_NAME=Bluetooth,ADD_BT=true,\

CopilotAIApr 14, 2026

Copy link

Choose a reason for hiding this comment

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

This target sets DEEP_BUF_SPK=true but does not set DEEPBUFFER_FW_DMA_MS. In sdw-jack-dts.conf the deep-buffer config is only included when DEEPBUFFER_FW_DMA_MS matches 1-1000ms, so the deep-buffer speaker instance won’t be generated as-is. Either add DEEPBUFFER_FW_DMA_MS (e.g. 10) or drop DEEP_BUF_SPK=true for this target to avoid a non-functional/misleading configuration.

Suggested change
DEEP_BUF_SPK=true,BT_PCM_ID=8,BT_ID=8,BT_PCM_NAME=Bluetooth,ADD_BT=true,\
DEEPBUFFER_FW_DMA_MS=10,DEEP_BUF_SPK=true,BT_PCM_ID=8,BT_ID=8,BT_PCM_NAME=Bluetooth,ADD_BT=true,\

Copilot uses AI. Check for mistakes.

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

@macchian I'll add DEEPBUFFER_FW_DMA_MS=10. Let me know if it shouldn't be.

@lgirdwood

Copy link
Copy Markdown
Member

@joechengxperi are you able to respond to any copilot comments so we can dismiss or merge AI inputs with the PR. Thanks !

@joechengxperi
joechengxperiforce-pushed the main-dts-ptl-merge branch 2 times, most recently from 8269e4f to f6cf4c3CompareApril 19, 2026 10:49

@kv2019ikv2019i left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

All my comments addressed, thanks!

@joechengxperi

joechengxperi commented Apr 21, 2026

Copy link
Copy Markdown
ContributorAuthor

This commit Topology2 : add DTS topology to support PTL will be removed from this PR by @macchian request. And will create another PR for this commit after PR #10708 is merged
cc @johnylin76

@johnylin76johnylin76 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.

LGTM

@kv2019i
kv2019i merged commit a5f431c into thesofproject:mainApr 21, 2026
42 of 43 checks passed
Sign up for freeto 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.

8 participants

@joechengxperi@lgirdwood@lyakh@bardliao@macchian@johnylin76@kv2019i