Merge DTS support for PTL#10678
Conversation
This patch adds DTS_CODEC for Intel PTL platform builds. Signed-off-by: Joe Cheng <[email protected]>
Update CMakefile and toml to support building DTS to llext module Signed-off-by: Joe Cheng <[email protected]>
Increase the max parameter size to 2048 Signed-off-by: Joe Cheng <[email protected]>
Signed-off-by: Joe Cheng <[email protected]>
There was a problem hiding this comment.
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-playbackpipeline class and register it incavs-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
| File | Description |
|---|---|
| tools/topology/topology2/production/tplg-targets-ace3.cmake | Adds a PTL RT721+RT1320 DTS topology target preset. |
| tools/topology/topology2/platform/intel/sdw-jack-dts.conf | New DTS-enhanced SDW jack pipelines and routing. |
| tools/topology/topology2/platform/intel/sdw-amp-dts.conf | New DTS-enhanced SDW amp (speaker) pipelines and routing. |
| tools/topology/topology2/include/pipelines/cavs/mixout-gain-eqiir-dts-alh-dai-copier-playback.conf | New pipeline class combining mixout/gain/eqiir/DTS/alh-copier. |
| tools/topology/topology2/cavs-sdw.conf | Registers the new pipeline include and selects DTS-specific configs. |
| tools/rimage/config/ptl.toml.h | Includes DTS toml when DTS codec is enabled/modular. |
| src/audio/codec/dts/llext/CMakeLists.txt | Adds linking for modular DTS llext builds. |
| src/audio/codec/dts/dts.toml | Increases DTS module IBS to 2048. |
| src/audio/codec/CMakeLists.txt | Fixes conditional structure for DTS codec selection. |
| app/overlays/ptl/dts_overlay.conf | Adds 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 | ||
| } |
There was a problem hiding this comment.
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).
| } | |
| } | |
| { | |
| source dts.$index.1 | |
| sink alh-copier.$index.1 | |
| } |
| # | ||
| # BE playback pipeline: mixout-gain-alh-dai-copier. | ||
| # | ||
| # All attributes defined herein are namespaced | ||
| # by alsatplg to "Object.Pipeline.mixout-gain-alh-dai-copier-playback.N.attribute_name" | ||
| # | ||
| # Usage: mixout-gain-alh-dai-copier-playback pipeline object can be instantiated as: |
There was a problem hiding this comment.
The header comment and namespacing/usage examples reference mixout-gain-alh-dai-copier-playback, but this file defines mixout-gain-eqiir-dts-alh-dai-copier-playback. Update the comment block to match the actual class name and emitted object namespace to avoid misleading consumers.
| Object.Widget { | ||
| alh-copier [ | ||
| { | ||
| index $ALH_2ND_SPK_ID | ||
| type dai_in | ||
| stream_name $SDW_SPK_STREAM | ||
| dai_index 1 | ||
| type "dai_in" | ||
| direction "playback" | ||
| node_type $ALH_LINK_OUTPUT_CLASS |
There was a problem hiding this comment.
This object defines the type key twice (type dai_in and type \"dai_in\"). Duplicate keys can cause parse errors or unintended overrides depending on the config parser. Remove the duplicate type assignment (and apply the same fix to other duplicated type fields in this file, e.g., the dai_out blocks).
| Object.Widget.dts.1 { | ||
| Object.Control { | ||
| bytes."1" { | ||
| name 'Post Mixer $AMP_PLAYBACK_NAME DTS bytes' |
There was a problem hiding this comment.
The DTS bytes control here doesn’t specify a max value, while the jack DTS config sets max 2048 and dts.toml increases the module IBS to 2048. For consistency (and to avoid an implicit default limit that may be too small), set an explicit max matching the expected payload size.
| name 'Post Mixer $AMP_PLAYBACK_NAME DTS bytes' | |
| name 'Post Mixer $AMP_PLAYBACK_NAME DTS bytes' | |
| max 2048 |
No description provided.