From 6a0e9b1eb4770e111247fb103cbe59dba3106a62 Mon Sep 17 00:00:00 2001 From: Yong Zhi Date: Wed, 1 Nov 2023 16:50:43 -0500 Subject: [PATCH] topology2: deep-buffer: Add second instance Add 2nd deepbuff PCM as an option. Signed-off-by: Yong Zhi --- .../topology2/platform/intel/deep-buffer.conf | 60 ++++++++++++++++++- 1 file changed, 58 insertions(+), 2 deletions(-) diff --git a/tools/topology/topology2/platform/intel/deep-buffer.conf b/tools/topology/topology2/platform/intel/deep-buffer.conf index 0e91b9fe2..5dd85e960 100644 --- a/tools/topology/topology2/platform/intel/deep-buffer.conf +++ b/tools/topology/topology2/platform/intel/deep-buffer.conf @@ -1,3 +1,7 @@ +Define { + DEEP_BUF_SPK false +} + Object.Pipeline.deepbuffer-playback [ { index $DEEP_BUFFER_PIPELINE_ID @@ -9,7 +13,7 @@ Object.Pipeline.deepbuffer-playback [ Object.Widget.gain.1 { Object.Control.mixer.1 { - name 'Deepbuffer Volume' + name 'Pre Mixer $DEEP_BUFFER_PCM_NAME Volume' } } } @@ -23,7 +27,7 @@ Object.PCM.pcm [ playback_compatible_d0i3 $DEEPBUFFER_D0I3_COMPATIBLE Object.Base.fe_dai.1 { - name "DeepBuffer" + name "$DEEP_BUFFER_PCM_NAME" } Object.PCM.pcm_caps.1 { @@ -46,3 +50,55 @@ Object.Base.route [ sink gain.$DEEP_BUFFER_PIPELINE_ID.1 } ] + +# Spawn another instance +IncludeByKey.DEEP_BUF_SPK { +"true" { + Object.Pipeline.deepbuffer-playback [ + { + index $DEEP_BUFFER_PIPELINE_ID_2 + + Object.Widget.host-copier.1 { + stream_name $DEEP_BUFFER_PCM_NAME_2 + pcm_id $DEEP_BUFFER_PCM_ID_2 + } + Object.Widget.gain.1 { + Object.Control.mixer.1 { + name 'Pre Mixer $DEEP_BUFFER_PCM_NAME_2 Volume' + } + } + } + ] + + Object.PCM.pcm [ + { + name $DEEP_BUFFER_PCM_NAME_2 + id $DEEP_BUFFER_PCM_ID_2 + direction playback + playback_compatible_d0i3 $DEEPBUFFER_D0I3_COMPATIBLE + + Object.Base.fe_dai.1 { + name "$DEEP_BUFFER_PCM_NAME_2" + } + Object.PCM.pcm_caps.1 { + name $DEEP_BUFFER_PCM_NAME_2 + formats 'S16_LE,S24_LE,S32_LE' + # align with $DEEPBUFFER_FW_DMA_MS + period_size_max 65535 + buffer_size_max 262144 + } + } + ] + + Object.Base.route [ + { + source $DEEP_BUFFER_PIPELINE_SRC_2 + sink $DEEP_BUFFER_PIPELINE_SINK_2 + } + { + source host-copier.$DEEP_BUFFER_PCM_ID_2.playback + sink gain.$DEEP_BUFFER_PIPELINE_ID_2.1 + } + ] + } +}