From 3ad30d576cc287fdfcc49cc99eb82ac663bc9fc7 Mon Sep 17 00:00:00 2001 From: Jyri Sarha Date: Wed, 22 Feb 2023 19:19:40 +0200 Subject: [PATCH] topology2: pipeline: Add "kcps" attribute Adds kcps attribute to pipeline class with 0 default value. The default can be overrided with KCPS_PIPELINE_DEFAULT define. Signed-off-by: Jyri Sarha --- tools/topology/topology2/include/common/tokens.conf | 1 + .../topology2/include/components/pipeline.conf | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/tools/topology/topology2/include/common/tokens.conf b/tools/topology/topology2/include/common/tokens.conf index e411283a8..d1612dbbf 100644 --- a/tools/topology/topology2/include/common/tokens.conf +++ b/tools/topology/topology2/include/common/tokens.conf @@ -80,6 +80,7 @@ Object.Base.VendorToken { # ABI 4.0 onwards lp_mode 207 use_chain_dma 209 + kcps 210 } "9" { diff --git a/tools/topology/topology2/include/components/pipeline.conf b/tools/topology/topology2/include/components/pipeline.conf index 8dafb6bdf..92f3e11d3 100644 --- a/tools/topology/topology2/include/components/pipeline.conf +++ b/tools/topology/topology2/include/components/pipeline.conf @@ -13,6 +13,12 @@ # # Where N is the unique instance number for pipeline widget in the same alsaconf node. +Define { + # If KCPS value for the pipeline is 0 then the driver does not send any + # KCPS adjustment message to the firmware. This is the default. + KCPS_PIPELINE_DEFAULT 0 +} + Class.Widget."pipeline" { # pipeline_id for the pipeline widget DefineAttribute."index" {} @@ -104,6 +110,12 @@ Class.Widget."pipeline" { } } + # kcps requirements for the pipeline, default value defined bellow + DefineAttribute."kcps" { + # Token reference and type + token_ref "sof_tkn_scheduler.word" + } + attributes { # pipeline widget name will be constructed as pipeline.1, pipeline.2 etc !constructor [ @@ -127,4 +139,5 @@ Class.Widget."pipeline" { # Default attributes for pipeline type "scheduler" no_pm "true" + kcps $KCPS_PIPELINE_DEFAULT }