Skip to content

Commit d6cdb1c

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 test devices availability. The HDA topologies build is cleaned up and benchmark tplg build is removed from 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 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 d2a8a89 commit d6cdb1c

81 files changed

Lines changed: 1377 additions & 581 deletions

File tree

Some content is hidden

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

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

Lines changed: 264 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,172 @@
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>
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+
<mixin.conf>
42+
<mixout.conf>
43+
<multiband_drc.conf>
44+
<rtnr.conf>
45+
<src.conf>
46+
<src_lite.conf>
47+
<tdfb.conf>
48+
<template_comp.conf>
849

950
Define {
51+
HDA_CONFIG "none"
52+
PLATFORM "none"
1053
ANALOG_PLAYBACK_PCM 'Analog Playback'
1154
ANALOG_CAPTURE_PCM 'Analog Capture'
1255
HDA_ANALOG_DAI_NAME 'Analog'
1356
HDA_ANALOG_CAPTURE_RATE 48000
1457
HDA_ANALOG_PLAYBACK_RATE 48000
58+
ANALOG_PLAYBACK_STREAM_NAME "Analog PlaybackStream"
59+
ANALOG_CAPTURE_STREAM_NAME "Analog Capture Stream"
60+
BENCH_PLAYBACK_HOST_PIPELINE 1
61+
BENCH_PLAYBACK_DAI_PIPELINE 2
62+
BENCH_CAPTURE_HOST_PIPELINE 3
63+
BENCH_CAPTURE_DAI_PIPELINE 4
64+
BENCH_PLAYBACK_DAI_COPIER "dai-copier.HDA.Analog.playback"
65+
BENCH_CAPTURE_DAI_COPIER "dai-copier.HDA.Analog.capture"
66+
BENCH_PCM_CHANNELS_MIN 2
67+
BENCH_PCM_CHANNELS_MAX 2
1568
}
1669

70+
# override defaults with platform-specific config
71+
IncludeByKey.PLATFORM {
72+
"mtl" "platform/intel/mtl.conf"
73+
"lnl" "platform/intel/lnl.conf"
74+
"ptl" "platform/intel/ptl.conf"
75+
}
76+
77+
Object.Widget.virtual [
78+
{
79+
name 'codec0_in'
80+
type input
81+
index 1
82+
}
83+
{
84+
name 'codec1_in'
85+
type input
86+
index 2
87+
}
88+
{
89+
name 'codec0_out'
90+
type output
91+
index 3
92+
}
93+
{
94+
name 'codec1_out'
95+
type output
96+
index 4
97+
}
98+
{
99+
name 'codec2_in'
100+
type input
101+
index 5
102+
}
103+
{
104+
name 'codec2_out'
105+
type output
106+
index 6
107+
}
108+
{
109+
name 'iDisp1_out'
110+
type output
111+
index 7
112+
}
113+
{
114+
name 'iDisp2_out'
115+
type output
116+
index 8
117+
}
118+
{
119+
name 'iDisp3_out'
120+
type output
121+
index 9
122+
}
123+
{
124+
name 'iDisp3 Tx'
125+
type out_drv
126+
index 0
127+
}
128+
{
129+
name 'iDisp2 Tx'
130+
type out_drv
131+
index 1
132+
}
133+
{
134+
name 'iDisp1 Tx'
135+
type out_drv
136+
index 2
137+
}
138+
{
139+
name 'Analog CPU Playback'
140+
type out_drv
141+
index 3
142+
}
143+
{
144+
name 'Digital CPU Playback'
145+
type out_drv
146+
index 4
147+
}
148+
{
149+
name 'Alt Analog CPU Playback'
150+
type out_drv
151+
index 5
152+
}
153+
{
154+
name 'Analog CPU Capture'
155+
type input
156+
index 6
157+
}
158+
{
159+
name 'Digital CPU Capture'
160+
type input
161+
index 7
162+
}
163+
{
164+
name 'Alt Analog CPU Capture'
165+
type input
166+
index 8
167+
}
168+
]
169+
17170
Object.Dai.HDA [
18171
{
19172
name $HDA_ANALOG_DAI_NAME
@@ -36,20 +189,122 @@ Object.PCM.pcm [
36189
}
37190
Object.PCM.pcm_caps.1 {
38191
direction "playback"
39-
name $ANALOG_PLAYBACK_PCM
192+
name $ANALOG_PLAYBACK_STREAM_NAME
40193
formats 'S32_LE,S24_LE,S16_LE'
41194
rates "8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,176400,192000"
195+
channels_min $BENCH_PCM_CHANNELS_MIN
196+
channels_max $BENCH_PCM_CHANNELS_MAX
42197
}
43198
Object.PCM.pcm_caps.2 {
44199
direction "capture"
45-
name $ANALOG_CAPTURE_PCM
200+
name $ANALOG_CAPTURE_STREAM_NAME
46201
formats 'S32_LE,S24_LE,S16_LE'
47202
rates "8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,176400,192000"
203+
channels_min $BENCH_PCM_CHANNELS_MIN
204+
channels_max $BENCH_PCM_CHANNELS_MAX
48205
}
49206
direction duplex
50207
}
51208
]
52209

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

0 commit comments

Comments
 (0)