Skip to content

Commit 87dd3c7

Browse files
committed
Tools: Topology2: Add IIR, FIR, DRC to HDA analog playback
This patch replaces pipeline mixout-gain-dai-copier-playback with mixout-gain-efx-dai-copier-playback. The purpose is to allow enhance of audio playback quality with equalizers (IIR and FIR) and dynamic range control (DRC). The components are programmed by default to passthrough for minimal overhead. They can be activated via sof-ctl or UCM with ALSA controls. - Post Mixer Analog Playback IIR Eq bytes - Post Mixer Analog Playback FIR Eq bytes - Post Mixer Analog Playback DRC bytes - Post Mixer Analog Playback DRC switch The recommendation is to keep headphone playback flat and enable processing only when HDA output is in speaker mode. Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
1 parent 469c0a7 commit 87dd3c7

File tree

1 file changed

+25
-2
lines changed

1 file changed

+25
-2
lines changed

tools/topology/topology2/cavs-mixin-mixout-hda.conf

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ Define {
77
DEEP_BUFFER_PIPELINE_SRC 'mixin.15.1'
88
DEEP_BUFFER_PIPELINE_SINK 'mixout.2.1'
99
DEEP_BUFFER_PCM_NAME 'Deepbuffer HDA Analog'
10+
EFX_FIR_PARAMS 'passthrough'
11+
EFX_IIR_PARAMS 'passthrough'
12+
EFX_DRC_PARAMS 'passthrough'
1013
}
1114

1215
# include deep buffer config if buffer size is in 1 - 1000 ms.
@@ -28,7 +31,7 @@ Object.Dai.HDA [
2831
]
2932

3033
Object.Pipeline {
31-
mixout-gain-dai-copier-playback [
34+
mixout-gain-efx-dai-copier-playback [
3235
{
3336
index 2
3437

@@ -43,6 +46,26 @@ Object.Pipeline {
4346
name 'Post Mixer $ANALOG_PLAYBACK_PCM Volume'
4447
}
4548
}
49+
Object.Widget.eqiir.1 {
50+
Object.Control.bytes."1" {
51+
name 'Post Mixer $ANALOG_PLAYBACK_PCM IIR Eq bytes'
52+
}
53+
}
54+
Object.Widget.eqfir.1 {
55+
Object.Control.bytes."1" {
56+
name 'Post Mixer $ANALOG_PLAYBACK_PCM FIR Eq bytes'
57+
}
58+
}
59+
Object.Widget.drc.1 {
60+
Object.Control {
61+
bytes."1" {
62+
name 'Post Mixer $ANALOG_PLAYBACK_PCM DRC bytes'
63+
}
64+
mixer."1" {
65+
name 'Post Mixer $ANALOG_PLAYBACK_PCM DRC switch'
66+
}
67+
}
68+
}
4669
}
4770
]
4871

@@ -133,7 +156,7 @@ Object.PCM.pcm [
133156
Object.Base.route [
134157
{
135158
sink 'dai-copier.HDA.$HDA_ANALOG_DAI_NAME.playback'
136-
source 'gain.2.1'
159+
source 'drc.2.1'
137160
}
138161
{
139162
source 'mixin.1.1'

0 commit comments

Comments
 (0)