From a2c8276cf57d583e3441207d4771ebd46acb5b0d Mon Sep 17 00:00:00 2001 From: Jyri Sarha Date: Sun, 6 Apr 2025 22:50:11 +0300 Subject: [PATCH 1/2] Topology2: Add "scheduler_domain" attribute to all widgets Add "scheduler_domain" attribute to all widgets. The allowed values are "LL", "DP" and "default". Signed-off-by: Jyri Sarha --- .../topology2/include/common/tokens.conf | 1 + .../include/components/widget-common.conf | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/tools/topology/topology2/include/common/tokens.conf b/tools/topology/topology2/include/common/tokens.conf index 46b172bb08e2..4f00ad79a73f 100644 --- a/tools/topology/topology2/include/common/tokens.conf +++ b/tools/topology/topology2/include/common/tokens.conf @@ -25,6 +25,7 @@ Object.Base.VendorToken { num_input_audio_formats 415 num_output_audio_formats 416 no_wname_in_kcontrol_name 417 + scheduler_domain 418 } "2" { diff --git a/tools/topology/topology2/include/components/widget-common.conf b/tools/topology/topology2/include/components/widget-common.conf index 3c398300ef89..a0e816a0f22e 100644 --- a/tools/topology/topology2/include/components/widget-common.conf +++ b/tools/topology/topology2/include/components/widget-common.conf @@ -119,3 +119,20 @@ DefineAttribute."no_wname_in_kcontrol_name" { } no_wname_in_kcontrol_name "true" + +## widget format +DefineAttribute."scheduler_domain" { + type "string" + # Token set reference name and type + token_ref "comp.string" + constraints { + !valid_values [ + # Low Latency + "LL" + # Data Processing + "DP" + # Use manifest value + "default" + ] + } +} From f0195ef359d7c34c9752062b209c952b6206e283 Mon Sep 17 00:00:00 2001 From: Jyri Sarha Date: Tue, 22 Apr 2025 22:57:52 +0300 Subject: [PATCH 2/2] Topology2: Add nocodec DP test topologies for MTL, LNL, and PTL This commit creates three new topologies, sof-mtl-nocodec-dp-test.tplg, sof-lnl-nocodec-dp-test.tplg, and sof-ptl-nocodec-dp-test.tplg. They are otherwise the same as the corresponding standard nocodec topologies, but both the src.11.1 on SSP2_Playback and src.5.1 on SSP2 Capture have scheduler_domain attribute set to "DP". Signed-off-by: Jyri Sarha --- tools/topology/topology2/cavs-nocodec.conf | 5 +++++ .../topology/topology2/development/tplg-targets.cmake | 10 ++++++++++ 2 files changed, 15 insertions(+) diff --git a/tools/topology/topology2/cavs-nocodec.conf b/tools/topology/topology2/cavs-nocodec.conf index 4f66a8c08c9e..e44a0b838e2f 100644 --- a/tools/topology/topology2/cavs-nocodec.conf +++ b/tools/topology/topology2/cavs-nocodec.conf @@ -94,6 +94,7 @@ Define { SSP2_PCM_CORE_ID 2 DMIC0_PCM_0_NAME "DMIC SFX1" DMIC0_PCM_1_NAME "DMIC SFX2" + SRC_DOMAIN "default" } # override defaults with platform-specific config @@ -245,6 +246,9 @@ IncludeByKey.PASSTHROUGH { name 'Pre Mixer $SSP2_PCM_NAME Playback Volume' } } + Object.Widget.src.1 { + scheduler_domain "$SRC_DOMAIN" + } Object.Widget.pipeline.1 { core $SSP2_PCM_CORE_ID } @@ -883,6 +887,7 @@ IncludeByKey.PASSTHROUGH { Object.Widget.src.1 { index 11 rate_in 48000 + scheduler_domain "$SRC_DOMAIN" } diff --git a/tools/topology/topology2/development/tplg-targets.cmake b/tools/topology/topology2/development/tplg-targets.cmake index baf4ec908c13..3ea316fa5d5a 100644 --- a/tools/topology/topology2/development/tplg-targets.cmake +++ b/tools/topology/topology2/development/tplg-targets.cmake @@ -299,6 +299,16 @@ PREPROCESS_PLUGINS=nhlt,NHLT_BIN=nhlt-sof-tgl-nocodec-crossover.bin,EFX_CROSSOVE "development/cavs-nocodec-rtcaec\;sof-tgl-nocodec-rtcaec\;PLATFORM=tgl,\ PREPROCESS_PLUGINS=nhlt,NHLT_BIN=nhlt-sof-tgl-nocodec-rtcaec.bin" +# SSP test topology for Data Processing SRC on MTL +"cavs-nocodec\;sof-mtl-nocodec-dp-test\;PLATFORM=mtl,NUM_DMICS=4,PDM1_MIC_A_ENABLE=1,PDM1_MIC_B_ENABLE=1,\ +PREPROCESS_PLUGINS=nhlt,NHLT_BIN=nhlt-sof-mtl-nocodec.bin,SRC_DOMAIN=DP" +# SSP test topology for Data Processing SRC on LNL +"cavs-nocodec\;sof-lnl-nocodec-dp-test\;PLATFORM=lnl,NUM_DMICS=4,PDM1_MIC_A_ENABLE=1,PDM1_MIC_B_ENABLE=1,\ +PREPROCESS_PLUGINS=nhlt,NHLT_BIN=nhlt-sof-lnl-nocodec.bin,SRC_DOMAIN=DP" +# SSP test topology for Data Processing SRC on PTL +"cavs-nocodec\;sof-ptl-nocodec-dp-test\;PLATFORM=ptl,NUM_DMICS=4,PDM1_MIC_A_ENABLE=1,PDM1_MIC_B_ENABLE=1,\ +PREPROCESS_PLUGINS=nhlt,NHLT_BIN=nhlt-sof-ptl-nocodec.bin,SRC_DOMAIN=DP" + # Add MFCC to 16 kHz DMIC1, 2ch with NHLT - cAVS "sof-hda-generic\;sof-hda-generic-cavs25-2ch-mfcc\;HDA_CONFIG=mix,\ PREPROCESS_PLUGINS=nhlt,NHLT_BIN=nhlt-sof-hda-generic-cavs25-2ch-mfcc.bin,\