Skip to content

Commit be9b290

Browse files
committed
Tools: Topology: Add test topology for Level Multiplier
This patch adds build of e.g. sof-hda-benchmark-level_multiplier32.tplg and sof-mtl-sdw-benchmark-level_multiplier32.tplg to test run the component. Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
1 parent fd31b0f commit be9b290

19 files changed

+283
-0
lines changed

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

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
<eqfir.conf>
3939
<gain.conf>
4040
<igo_nr.conf>
41+
<level_multiplier.conf>
4142
<micsel.conf>
4243
<mixin.conf>
4344
<mixout.conf>
@@ -781,6 +782,22 @@ IncludeByKey.BENCH_CONFIG {
781782
<include/bench/igo_nr_s32.conf>
782783
}
783784

785+
#
786+
# Level Multiplier component
787+
#
788+
789+
"level_multiplier16" {
790+
<include/bench/level_multiplier_s16.conf>
791+
}
792+
793+
"level_multiplier24" {
794+
<include/bench/level_multiplier_s24.conf>
795+
}
796+
797+
"level_multiplier32" {
798+
<include/bench/level_multiplier_s32.conf>
799+
}
800+
784801
#
785802
# Micsel component
786803
#

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

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
<eqfir.conf>
3939
<gain.conf>
4040
<igo_nr.conf>
41+
<level_multiplier.conf>
4142
<micsel.conf>
4243
<multiband_drc.conf>
4344
<rtnr.conf>
@@ -421,6 +422,22 @@ IncludeByKey.BENCH_CONFIG {
421422
<include/bench/igo_nr_s32.conf>
422423
}
423424

425+
#
426+
# Level Multiplier component
427+
#
428+
429+
"level_multiplier16" {
430+
<include/bench/level_multiplier_s16.conf>
431+
}
432+
433+
"level_multiplier24" {
434+
<include/bench/level_multiplier_s24.conf>
435+
}
436+
437+
"level_multiplier32" {
438+
<include/bench/level_multiplier_s32.conf>
439+
}
440+
424441
#
425442
# Micsel component
426443
#

tools/topology/topology2/development/tplg-targets-bench.cmake

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ set(components
1616
"eqfir"
1717
"gain"
1818
"igo_nr"
19+
"level_multiplier"
1920
"micsel"
2021
"rtnr"
2122
"src"
@@ -33,6 +34,7 @@ set(component_parameters
3334
"BENCH_EQFIR_PARAMS=loudness"
3435
"BENCH_GAIN_PARAMS=default"
3536
"BENCH_IGO_NR_PARAMS=default"
37+
"BENCH_LEVEL_MULTIPLIER_PARAMS=default"
3638
"BENCH_MICSEL_PARAMS=passthrough"
3739
"BENCH_RTNR_PARAMS=default"
3840
"BENCH_SRC_PARAMS=default"
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Created initially with script "./bench_comp_generate.sh level_multiplier"
2+
# may need edits to modify controls
3+
Object.Control {
4+
# Un-comment the supported controls in LEVEL_MULTIPLIER
5+
bytes."1" {
6+
name '$ANALOG_CAPTURE_PCM Level Multiplier bytes'
7+
IncludeByKey.BENCH_LEVEL_MULTIPLIER_PARAMS {
8+
"default" "include/components/level_multiplier/gain_0_db.conf"
9+
}
10+
}
11+
#mixer."1" {
12+
# name '$ANALOG_CAPTURE_PCM LEVEL_MULTIPLIER switch or volume'
13+
#}
14+
#enum."1" {
15+
# name '$ANALOG_CAPTURE_PCM LEVEL_MULTIPLIER enum'
16+
#}
17+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Created initially with script "./bench_comp_generate.sh level_multiplier"
2+
# may need edits to modify controls
3+
Object.Control {
4+
# Un-comment the supported controls in LEVEL_MULTIPLIER
5+
bytes."1" {
6+
name '$ANALOG_PLAYBACK_PCM Level Multiplier bytes'
7+
IncludeByKey.BENCH_LEVEL_MULTIPLIER_PARAMS {
8+
"default" "include/components/level_multiplier/gain_0_db.conf"
9+
}
10+
}
11+
#mixer."1" {
12+
# name '$ANALOG_PLAYBACK_PCM LEVEL_MULTIPLIER switch or volume'
13+
#}
14+
#enum."1" {
15+
# name '$ANALOG_PLAYBACK_PCM LEVEL_MULTIPLIER enum'
16+
#}
17+
}
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
# Created with script "./bench_comp_generate.sh level_multiplier"
2+
Object.Base.route [
3+
{
4+
sink '$BENCH_PLAYBACK_DAI_COPIER'
5+
source 'level_multiplier.$BENCH_PLAYBACK_HOST_PIPELINE.1'
6+
}
7+
{
8+
sink 'level_multiplier.$BENCH_PLAYBACK_HOST_PIPELINE.1'
9+
source 'host-copier.0.playback'
10+
}
11+
{
12+
source '$BENCH_CAPTURE_DAI_COPIER'
13+
sink 'level_multiplier.$BENCH_CAPTURE_HOST_PIPELINE.2'
14+
}
15+
{
16+
source 'level_multiplier.$BENCH_CAPTURE_HOST_PIPELINE.2'
17+
sink 'host-copier.0.capture'
18+
}
19+
]
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Created with script "./bench_comp_generate.sh level_multiplier"
2+
Object.Widget.level_multiplier.1 {
3+
index $BENCH_PLAYBACK_HOST_PIPELINE
4+
<include/bench/one_input_output_format_s16.conf>
5+
<include/bench/level_multiplier_controls_playback.conf>
6+
}
7+
Object.Widget.level_multiplier.2 {
8+
index $BENCH_CAPTURE_HOST_PIPELINE
9+
<include/bench/one_input_output_format_s16.conf>
10+
<include/bench/level_multiplier_controls_capture.conf>
11+
}
12+
<include/bench/host_gateway_pipelines_s16.conf>
13+
<include/bench/level_multiplier_route.conf>
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Created with script "./bench_comp_generate.sh level_multiplier"
2+
Object.Widget.level_multiplier.1 {
3+
index $BENCH_PLAYBACK_HOST_PIPELINE
4+
<include/bench/one_input_output_format_s24.conf>
5+
<include/bench/level_multiplier_controls_playback.conf>
6+
}
7+
Object.Widget.level_multiplier.2 {
8+
index $BENCH_CAPTURE_HOST_PIPELINE
9+
<include/bench/one_input_output_format_s24.conf>
10+
<include/bench/level_multiplier_controls_capture.conf>
11+
}
12+
<include/bench/host_gateway_pipelines_s24.conf>
13+
<include/bench/level_multiplier_route.conf>
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Created with script "./bench_comp_generate.sh level_multiplier"
2+
Object.Widget.level_multiplier.1 {
3+
index $BENCH_PLAYBACK_HOST_PIPELINE
4+
<include/bench/one_input_output_format_s32.conf>
5+
<include/bench/level_multiplier_controls_playback.conf>
6+
}
7+
Object.Widget.level_multiplier.2 {
8+
index $BENCH_CAPTURE_HOST_PIPELINE
9+
<include/bench/one_input_output_format_s32.conf>
10+
<include/bench/level_multiplier_controls_capture.conf>
11+
}
12+
<include/bench/host_gateway_pipelines_s32.conf>
13+
<include/bench/level_multiplier_route.conf>
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
#
2+
#
3+
# A generic level_multiplier component. All attributes defined herein are namespaced
4+
# by alsatplg to "Object.Widget.level_multiplier.attribute_name"
5+
#
6+
# Usage: this component can be used by declaring in the parent object. i.e.
7+
#
8+
# Object.Widget.level_multiplier."N" {
9+
# index 1
10+
# }
11+
# }
12+
13+
#
14+
# Where M is pipeline ID and N is a unique integer in the parent object.
15+
16+
Class.Widget."level_multiplier" {
17+
#
18+
# Pipeline ID
19+
#
20+
DefineAttribute."index" {
21+
type "integer"
22+
}
23+
24+
#
25+
# Unique instance for widget
26+
#
27+
DefineAttribute."instance" {
28+
type "integer"
29+
}
30+
31+
# Include common widget attributes definition
32+
<include/components/widget-common.conf>
33+
34+
attributes {
35+
!constructor [
36+
"index"
37+
"instance"
38+
]
39+
!mandatory [
40+
"num_input_pins"
41+
"num_output_pins"
42+
"num_input_audio_formats"
43+
"num_output_audio_formats"
44+
]
45+
46+
!immutable [
47+
"uuid"
48+
"type"
49+
]
50+
!deprecated [
51+
"preload_count"
52+
]
53+
unique "instance"
54+
}
55+
56+
#
57+
# Default attributes for level_multiplier
58+
#
59+
# 30397456-4661-4644-97e5-39a9e5ab1778
60+
uuid "56:74:39:30:61:46:44:46:97:e5:39:a9:e5:ab:17:78"
61+
type "effect"
62+
no_pm "true"
63+
num_input_pins 1
64+
num_output_pins 1
65+
}

0 commit comments

Comments
 (0)