Skip to content

Commit 8e4a0df

Browse files
committed
Tools: Topology: Add build of benchmark topologies for SDW
This patch adds build of test topologies for SDW MTL platforms, e.g. sof-mtl-sdw-benchmark-<module><16/24/32>.tplg. The benchmark topologies were before this build only for HDA generic platforms that limits current test devices availability. The HDA topologies build is cleaned up and benchmark tplg build is removed from the production topology high level file sof-hda-generic.conf. The required definitions are moved to cavs-benchmark-hda.conf. The io-gateway or dai definitions are moved to this file to keep the component specific topologies parts agnostic to audio codec endpoint. A similar high level benchmark topologies configuration file is added for SDW into cavs-benchmark-sdw.conf. The tplg-targets-bench.cmake is modified to build topologies for both HDA and SDW. In component specific files the dai-copier endpoints are passed in macro since the names are codec type specific. The route configurations are renamed to be without hda. The host gateway configuration is removed to be without io since it was moved to platform type specific higher level configuration. Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
1 parent 7ed4499 commit 8e4a0df

File tree

81 files changed

+1366
-578
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

81 files changed

+1366
-578
lines changed

tools/topology/topology2/cavs-benchmark-hda.conf

Lines changed: 261 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,171 @@
1-
<include/components/dcblock.conf>
2-
<include/components/rtnr.conf>
3-
<include/components/igo_nr.conf>
4-
<include/components/src_lite.conf>
5-
<include/components/asrc.conf>
6-
<include/components/tdfb.conf>
7-
<include/components/template_comp.conf>
8-
<include/components/micsel.conf>
1+
<searchdir:include>
2+
<searchdir:include/common>
3+
<searchdir:include/components>
4+
<searchdir:include/dais>
5+
<searchdir:include/pipelines>
6+
<searchdir:include/pipelines/cavs>
7+
<searchdir:platform>
8+
<searchdir:platform/intel>
9+
10+
<vendor-token.conf>
11+
<tokens.conf>
12+
<virtual.conf>
13+
<host-gateway-playback.conf>
14+
<host-gateway-capture.conf>
15+
<dai-copier.conf>
16+
<io-gateway.conf>
17+
<io-gateway-capture.conf>
18+
<mixout-dai-copier-playback.conf>
19+
<mixout-aria-gain-mixin-playback.conf>
20+
<host-copier-gain-mixin-playback.conf>
21+
<highpass-capture-be.conf>
22+
<data.conf>
23+
<pcm.conf>
24+
<pcm_caps.conf>
25+
<fe_dai.conf>
26+
<hda.conf>
27+
<hw_config_simple.conf>
28+
<manifest.conf>
29+
<route.conf>
30+
<common_definitions.conf>
31+
<module-copier.conf>
32+
33+
<aria.conf>
34+
<asrc.conf>
35+
<dcblock.conf>
36+
<drc.conf>
37+
<eqiir.conf>
38+
<eqfir.conf>
39+
<gain.conf>
40+
<igo_nr.conf>
41+
<micsel.conf>
42+
<mixin.conf>
43+
<mixout.conf>
44+
<multiband_drc.conf>
45+
<rtnr.conf>
46+
<src.conf>
47+
<src_lite.conf>
48+
<tdfb.conf>
49+
<template_comp.conf>
950

1051
Define {
52+
HDA_CONFIG "none"
53+
PLATFORM "none"
1154
ANALOG_PLAYBACK_PCM 'Analog Playback'
1255
ANALOG_CAPTURE_PCM 'Analog Capture'
1356
HDA_ANALOG_DAI_NAME 'Analog'
1457
HDA_ANALOG_CAPTURE_RATE 48000
1558
HDA_ANALOG_PLAYBACK_RATE 48000
59+
BENCH_PLAYBACK_HOST_PIPELINE 1
60+
BENCH_PLAYBACK_DAI_PIPELINE 2
61+
BENCH_CAPTURE_HOST_PIPELINE 3
62+
BENCH_CAPTURE_DAI_PIPELINE 4
63+
BENCH_PLAYBACK_DAI_COPIER "dai-copier.HDA.Analog.playback"
64+
BENCH_CAPTURE_DAI_COPIER "dai-copier.HDA.Analog.capture"
65+
BENCH_PCM_CHANNELS_MIN 2
66+
BENCH_PCM_CHANNELS_MAX 2
1667
}
1768

69+
# override defaults with platform-specific config
70+
IncludeByKey.PLATFORM {
71+
"mtl" "platform/intel/mtl.conf"
72+
"lnl" "platform/intel/lnl.conf"
73+
"ptl" "platform/intel/ptl.conf"
74+
}
75+
76+
Object.Widget.virtual [
77+
{
78+
name 'codec0_in'
79+
type input
80+
index 1
81+
}
82+
{
83+
name 'codec1_in'
84+
type input
85+
index 2
86+
}
87+
{
88+
name 'codec0_out'
89+
type output
90+
index 3
91+
}
92+
{
93+
name 'codec1_out'
94+
type output
95+
index 4
96+
}
97+
{
98+
name 'codec2_in'
99+
type input
100+
index 5
101+
}
102+
{
103+
name 'codec2_out'
104+
type output
105+
index 6
106+
}
107+
{
108+
name 'iDisp1_out'
109+
type output
110+
index 7
111+
}
112+
{
113+
name 'iDisp2_out'
114+
type output
115+
index 8
116+
}
117+
{
118+
name 'iDisp3_out'
119+
type output
120+
index 9
121+
}
122+
{
123+
name 'iDisp3 Tx'
124+
type out_drv
125+
index 0
126+
}
127+
{
128+
name 'iDisp2 Tx'
129+
type out_drv
130+
index 1
131+
}
132+
{
133+
name 'iDisp1 Tx'
134+
type out_drv
135+
index 2
136+
}
137+
{
138+
name 'Analog CPU Playback'
139+
type out_drv
140+
index 3
141+
}
142+
{
143+
name 'Digital CPU Playback'
144+
type out_drv
145+
index 4
146+
}
147+
{
148+
name 'Alt Analog CPU Playback'
149+
type out_drv
150+
index 5
151+
}
152+
{
153+
name 'Analog CPU Capture'
154+
type input
155+
index 6
156+
}
157+
{
158+
name 'Digital CPU Capture'
159+
type input
160+
index 7
161+
}
162+
{
163+
name 'Alt Analog CPU Capture'
164+
type input
165+
index 8
166+
}
167+
]
168+
18169
Object.Dai.HDA [
19170
{
20171
name $HDA_ANALOG_DAI_NAME
@@ -40,21 +191,119 @@ Object.PCM.pcm [
40191
name $ANALOG_PLAYBACK_PCM
41192
formats 'S32_LE,S24_LE,S16_LE'
42193
rates "8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,176400,192000"
43-
channels_min 1
44-
channels_max 8
194+
channels_min $BENCH_PCM_CHANNELS_MIN
195+
channels_max $BENCH_PCM_CHANNELS_MAX
45196
}
46197
Object.PCM.pcm_caps.2 {
47198
direction "capture"
48199
name $ANALOG_CAPTURE_PCM
49200
formats 'S32_LE,S24_LE,S16_LE'
50201
rates "8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,176400,192000"
51-
channels_min 1
52-
channels_max 8
202+
channels_min $BENCH_PCM_CHANNELS_MIN
203+
channels_max $BENCH_PCM_CHANNELS_MAX
53204
}
54205
direction duplex
55206
}
56207
]
57208

209+
Object.Pipeline {
210+
io-gateway [
211+
{
212+
index $BENCH_PLAYBACK_DAI_PIPELINE
213+
direction playback
214+
Object.Widget.dai-copier.1 {
215+
node_type $HDA_LINK_OUTPUT_CLASS
216+
stream_name $HDA_ANALOG_DAI_NAME
217+
dai_type "HDA"
218+
copier_type "HDA"
219+
num_input_pins 1
220+
num_input_audio_formats 1
221+
num_output_audio_formats 1
222+
IncludeByKey.BENCH_MODULE_FORMAT {
223+
"s16" {
224+
Object.Base.input_audio_format [
225+
{
226+
in_bit_depth 16
227+
in_valid_bit_depth 16
228+
}
229+
]
230+
}
231+
"s24" {
232+
Object.Base.input_audio_format [
233+
{
234+
in_bit_depth 32
235+
in_valid_bit_depth 24
236+
}
237+
]
238+
}
239+
"s32" {
240+
Object.Base.input_audio_format [
241+
{
242+
in_bit_depth 32
243+
in_valid_bit_depth 32
244+
}
245+
]
246+
}
247+
}
248+
Object.Base.output_audio_format [
249+
{
250+
out_bit_depth 32
251+
out_valid_bit_depth 32
252+
}
253+
]
254+
}
255+
}
256+
]
257+
io-gateway-capture [
258+
{
259+
index $BENCH_CAPTURE_DAI_PIPELINE
260+
direction capture
261+
Object.Widget.dai-copier."1" {
262+
dai_type "HDA"
263+
type "dai_out"
264+
copier_type "HDA"
265+
stream_name $HDA_ANALOG_DAI_NAME
266+
node_type $HDA_LINK_INPUT_CLASS
267+
num_output_pins 1
268+
num_input_audio_formats 1
269+
num_output_audio_formats 1
270+
Object.Base.input_audio_format [
271+
{
272+
in_bit_depth 32
273+
in_valid_bit_depth 32
274+
}
275+
]
276+
IncludeByKey.BENCH_MODULE_FORMAT {
277+
"s16" {
278+
Object.Base.output_audio_format [
279+
{
280+
out_bit_depth 16
281+
out_valid_bit_depth 16
282+
}
283+
]
284+
}
285+
"s24" {
286+
Object.Base.output_audio_format [
287+
{
288+
out_bit_depth 32
289+
out_valid_bit_depth 24
290+
}
291+
]
292+
}
293+
"s32" {
294+
Object.Base.output_audio_format [
295+
{
296+
out_bit_depth 32
297+
out_valid_bit_depth 32
298+
}
299+
]
300+
}
301+
}
302+
}
303+
}
304+
]
305+
}
306+
58307
IncludeByKey.BENCH_CONFIG {
59308
"benchmark" {
60309
Object.Pipeline {

0 commit comments

Comments
 (0)