Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions app/overlays/ptl/dts_overlay.conf
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,4 @@ CONFIG_DTS_CODEC=y
CONFIG_LLEXT_HEAP_SIZE=64
CONFIG_KCPS_DYNAMIC_CLOCK_CONTROL=n
CONFIG_SOF_STACK_SIZE=8192
CONFIG_SOF_ZEPHYR_HEAP_SIZE=0x80000
1 change: 1 addition & 0 deletions tools/topology/topology2/cavs-sdw.conf
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,7 @@ Define {
SDW_AMP_XOVER_EQIIR_PARAMS default
SDW_AMP_XOVER_EQFIR_PARAMS default
DOLBY_DAX_CORE_ID 0
DTS_CORE_ID 0
SDW_AMP_PIPELINE_SRC "generic"
SDW_JACK_PIPELINE_SRC "generic"
SDW_ECHO_REF_DAI "false"
Expand Down
23 changes: 23 additions & 0 deletions tools/topology/topology2/platform/intel/sdw-amp-dts.conf
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ Object.Dai.ALH [

Object.Widget.module-copier."22" {
index 21
core_id $DTS_CORE_ID
num_input_pins 1
num_output_pins 2
num_input_audio_formats 1
Expand All @@ -79,6 +80,11 @@ IncludeByKey.PASSTHROUGH {
host-copier-gain-mixin-playback [
{
index 20
core_id $DTS_CORE_ID

Object.Widget.pipeline.1 {
core $DTS_CORE_ID
}

Object.Widget.host-copier.1 {
stream_name "sdw amplifiers"
Expand Down Expand Up @@ -143,6 +149,11 @@ IncludeByKey.PASSTHROUGH {
mixout-gain-eqiir-dts-alh-dai-copier-playback [
{
index 21
core_id $DTS_CORE_ID

Object.Widget.pipeline.1 {
core $DTS_CORE_ID
}

Object.Widget.alh-copier.1 {
stream_name $SDW_SPK_STREAM
Expand Down Expand Up @@ -185,6 +196,7 @@ IncludeByKey.PASSTHROUGH {
}

Object.Widget.dts.1 {
core_id $DTS_CORE_ID
Object.Control {
bytes."1" {
name 'Post Mixer $AMP_PLAYBACK_NAME DTS bytes'
Expand Down Expand Up @@ -243,6 +255,12 @@ IncludeByKey.PASSTHROUGH {
Object.Pipeline.host-gateway-playback [
{
index 20
core_id $DTS_CORE_ID

Object.Widget.pipeline.1 {
core $DTS_CORE_ID
}

Object.Widget.host-copier.1 {
stream_name "sdw amplifiers"
pcm_id 2
Expand Down Expand Up @@ -289,6 +307,7 @@ IncludeByKey.PASSTHROUGH {
direction playback
type dai_in
index 21
core_id $DTS_CORE_ID
num_input_audio_formats 3
Object.Base.input_audio_format [
{
Expand Down Expand Up @@ -318,6 +337,8 @@ IncludeByKey.PASSTHROUGH {
pipeline [
{
index 21
core_id $DTS_CORE_ID
core $DTS_CORE_ID

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.

I think only one of them is needed and I think it's core, could you check?

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.

Yes, it's confusing the tplg compiler doesn't catch this, but for the pipeline widget, only "core" is needed.

But I won't block because of this, "core" is the pipeline level token (SOF_TKN_SCHED_CORE for Linux kernel) and "core_id" is the widget token (SOF_TKN_COMP_CORE_ID in Linux kernel). For a pipeline, both can be set, but only "core" is needed as Linux driver will force same values.

This is confusing I admit and we should improve this for topology developers.

priority 0
lp_mode 0
dynamic_pipeline 1
Expand Down Expand Up @@ -889,6 +910,8 @@ IncludeByKey.SDW_AMP_FEEDBACK {
pipeline [
{
index 31
core_id $DTS_CORE_ID
core $DTS_CORE_ID
priority 0
lp_mode 0
dynamic_pipeline 1
Expand Down
30 changes: 30 additions & 0 deletions tools/topology/topology2/platform/intel/sdw-jack-dts.conf
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,11 @@ IncludeByKey.PASSTHROUGH {
host-copier-gain-mixin-playback [
{
index 0
core_id $DTS_CORE_ID

Object.Widget.pipeline.1 {
core $DTS_CORE_ID
}

Object.Widget.host-copier.1 {
stream_name "volume playback 0"
Expand Down Expand Up @@ -163,6 +168,11 @@ IncludeByKey.PASSTHROUGH {
mixout-gain-eqiir-dts-alh-dai-copier-playback [
{
index 1
core_id $DTS_CORE_ID

Object.Widget.pipeline.1 {
core $DTS_CORE_ID
}

Object.Widget.mixout.1 {
Object.Base.input_audio_format [
Expand Down Expand Up @@ -240,6 +250,7 @@ IncludeByKey.PASSTHROUGH {
}

Object.Widget.dts.1 {
core_id $DTS_CORE_ID
Object.Control {
bytes."1" {
name 'Post Mixer $JACK_PLAYBACK_PCM_NAME DTS bytes'
Expand All @@ -255,6 +266,12 @@ IncludeByKey.PASSTHROUGH {
Object.Pipeline.host-gateway-playback [
{
index 0
core_id $DTS_CORE_ID

Object.Widget.pipeline.1 {
core $DTS_CORE_ID

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.

right, I think pipeline widgets use core, while processing components use core_id

}

Object.Widget.host-copier.1 {
stream_name "volume playback 0"
pcm_id 0
Expand Down Expand Up @@ -304,6 +321,7 @@ IncludeByKey.PASSTHROUGH {
stream_name $SDW_JACK_OUT_STREAM
node_type $ALH_LINK_OUTPUT_CLASS
index 1
core_id $DTS_CORE_ID
type dai_in
direction playback
num_input_pins 1
Expand Down Expand Up @@ -340,6 +358,8 @@ IncludeByKey.PASSTHROUGH {
pipeline [
{
index 1
core_id $DTS_CORE_ID
core $DTS_CORE_ID
priority 0
lp_mode 0
dynamic_pipeline 1
Expand All @@ -352,6 +372,11 @@ IncludeByKey.PASSTHROUGH {
Object.Pipeline.host-gateway-capture [
{
index 10
core_id $DTS_CORE_ID

Object.Widget.pipeline.1 {
core $DTS_CORE_ID
}

Object.Widget.host-copier.1 {
stream_name "Passthrough Capture 0"
Expand Down Expand Up @@ -426,6 +451,7 @@ Object.Pipeline.host-gateway-capture [
Object.Widget {
module-copier."12" {
index 1
core_id $DTS_CORE_ID
num_input_pins 1
num_output_pins 2
num_input_audio_formats 1
Expand All @@ -452,6 +478,7 @@ Object.Widget {
direction "capture"
type "dai_out"
index 11
core_id $DTS_CORE_ID
node_type $ALH_LINK_INPUT_CLASS
num_input_audio_formats 1
num_output_audio_formats 1
Expand Down Expand Up @@ -479,6 +506,8 @@ Object.Widget {
pipeline [
{
index 11
core_id $DTS_CORE_ID
core $DTS_CORE_ID
priority 0
lp_mode 0
dynamic_pipeline 1
Expand All @@ -487,6 +516,7 @@ Object.Widget {
"false" {
Object.Widget.eqiir [
{
core_id $DTS_CORE_ID
num_input_audio_formats 1
num_output_audio_formats 1
# index 11 is inherited from the pipeline definition
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,13 @@ SDW_JACK_IN_STREAM=Capture-SimpleJack,NUM_HDMIS=0"
SDW_AMP_FEEDBACK=false,SDW_SPK_STREAM=Playback-SmartAmp,NUM_HDMIS=0,\
DEEP_BUF_SPK=true"

"cavs-sdw\;sof-sdca-jack-id0-dts\;SDW_JACK_OUT_STREAM=Playback-SimpleJack,\

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.

FYI @bardliao @ujfalusi I have no objections to this. Just noting there has been work ongoing to standardize how to extended SDCA topologies (and/or use feature topologies).

SDW_JACK_IN_STREAM=Capture-SimpleJack,NUM_HDMIS=0,SDW_JACK_PIPELINE_SRC=dts"

"cavs-sdw\;sof-sdca-1amp-id2-dts\;NUM_SDW_AMP_LINKS=1,SDW_JACK=false,\
SDW_AMP_FEEDBACK=false,SDW_SPK_STREAM=Playback-SmartAmp,NUM_HDMIS=0,\
DEEP_BUF_SPK=true,SDW_AMP_PIPELINE_SRC=dts,DTS_CORE_ID=1"

"cavs-sdw\;sof-sdca-2amp-id2\;NUM_SDW_AMP_LINKS=2,SDW_JACK=false,\
SDW_AMP_FEEDBACK=false,SDW_SPK_STREAM=Playback-SmartAmp,NUM_HDMIS=0,\
DEEP_BUF_SPK=true"
Expand Down
Loading