This patch adds the aria test topologies build. Aria supports
only s32 format so the s16 and s24 versions build is left
out.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch adds test topologies build for gain component. Testing
of gain can be done with all supported s16/s24/s32 source and sink
formats. The topologies normally use only the s32 format
internally.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
The create of component benchmark topologies is moved to
other included file from CMakeLists.txt.
The adding of new components with custom parameters for
multiple formats and platforms is simplified with nested
foreach loops. The previous topologies for TGL are now
built also for MTL.
Due to use of "IN ZIP_LISTS" with foreach, cmake requirement
is bumped to 3.17 for topology2.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
The includes to define bytes and mixer controls classes are
needed in case no other class definition has included these.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch adds to benchmark topologies template .conf files
generator commented out control examples types for easier
ALSA controls create.
The controls include files are renamed since they may
contain all controls types and not just bytes.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Example: if a module has 2 input pins, one 16000/16/2, second 48000/16/2 and
one output pin 48000/32/4 and is designed to process 10ms data chunks:
in pin1 IBS should be 16(samples/1ms) * 2 bytes * 2 * 10(ms) = 640
in pin2 IBS should be 48(samples/1ms) * 2 bytes * 2 * 10(ms) = 1920
out pin1 OBS should be 48(samples/1ms) * 4 bytes * 4 * 10(ms) = 7680
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Yong Zhi <yong.zhi@intel.com>
This patch adds sof-mtl-rt722-l0.tplg, which is used
to support MTL RVP + RT722 EVB combination.
Headphone, speaker and DMIC functions are verified
with this topology.
Signed-off-by: Chao Song <chao.song@linux.intel.com>
This patch adds sof-lnl-rt711-l0-rt1316-l23-rt714-l1.tplg,
which is used to support LNL RVP + AIOC4.1 codec board
combination.
Signed-off-by: Chao Song <chao.song@linux.intel.com>
This patch adds the class for the Time domain fixed beamformer
(TDFB) and example blobs for line arrays.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch adds to definitions in common.conf a new class "text"
to support the enum control values.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
We'll use this new function to require ALSA 1.2.5 and finally rename to
"codec_consumer" (see revert discussion #5192)
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
We want to fail if STATUS is not defined, the empty string, the FALSE
string or anything unexpected that it is not strictly equal to success
code "0".
Fixes commit 308a24a92b ("topology2: Add build support")
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
The main page sources were dropped out from the document sources in the
last review rounds of the original PR. Add *.doxy to FILE_PATTERNS to
add it back.
Signed-off-by: Jyri Sarha <jyri.sarha@linux.intel.com>
Replace audio_format objects with input_audio_format/output_audio_format
objects in preparation for deprecating the audio_format class.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Use input_audio_format/output_audio_format explicitly in preparation for
deprecating the audio_format class.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Use input_audio_format/output_audio_format explicitly in preparation for
deprecating the audio_format class.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Use input_audio_format/output_audio_format explicitly in preparation for
deprecating the audio_format class.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
There're no differences for SSP and SoundWire TPLGs between
MTL and LNL, we can reuse MTL TPLGs for LNL.
Signed-off-by: Keqiao Zhang <keqiao.zhang@intel.com>
This is additional HW board: No SDW_DMIC connection
SDW0: rt713 Jack codec
SDW1: rt1316 smart amp l
SDW2: rt1316 smart amp r
Signed-off-by: Mac Chiang <mac.chiang@intel.com>
The num_output_pins was set for pass-through path but missed in normal
path. Without it Linux kernel driver wouldn't set second output pin
format for dai copier which connects smart amp and gain module.
Signed-off-by: Rander Wang <rander.wang@intel.com>
This patch changes all cavs-nocodec.conf based topologies to
use exponential Windows fade curve_type in gain components. It
is done to ensure the ramp gets tested after change of gain
curve_type default to linear.
The gain in included deep buffer playback pipeline (hw:0,31) and
in mixer pipeline (hw:0,41) are not changed because they are used
also in normal topologies. Also in capture direction DMIC raw
(hw:0,10) remains curve_type 2. Other gains are curve_type 1
Windows fade.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This change can drop in TGL platform 2ch 48 kHz gain component
peak load e.g. from 16.7 to 7.09 MCPS CPU_PEAK(MAX) reported by
sof_perf_analyzer.py. The peak varies a bit time. If several
gain instances ramp simulatenously in stream start, the peak
MCPS consumption could be source for xruns and glitches if overall
load is high.
The change with linear curve is barely audible. The
computationally heavier Windows fade exponential curve is required
only with Windows OS. Since Windows is not using ALSA topologies
this change does not impact it.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Use input_output_format/output_audio_format explicitly. Additionally,
this patch introduces the used of the CombineArrays feature in the
topology2 compiler to generate multiple audio format objects from the
attribute array combinations.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Setting the in bit depth for the second audio format in the
host-gateway-capture object results in resetting the channel count to 2.
The in_bit_depth is set to 32-bit by default for all audio formats in
host-gateway-capture class already.
Fixes: 7a11e27bf2 ('topology2: host-gateway-capture: Replace audio_format objects')
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
The first playback PCM is for AEC mic input via SSP0 LBM. The second
playback PCM is for AEC reference via SSP2 LBM. The first capture
PCM is the AEC output.
The AEC (mockup) can be run and tested with the topology like
this:
$ aplay -Dhw:0,0 mic_clip.wav &
$ aplay -Dhw:0,2 ref_clip.wav &
$ arecord -Dhw:0,0 -f dat -d 10 output.wav
With AEC mockup version output.wav is mix of microphone
and reference.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
name
rt713 and rt1713 are in different SoundWire links. So, no DAI type will
be appended to DAI link name. We should use default stream name in
the topology.
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
This patch uses cavs-benchmark-hda.conf to build topologies to
test components in a simple playback and capture configuration.
host copier --> component --> DAI copier
host copier <-- component <-- DAI copier
The built topologies are
sof-hda-benchmark-dcblock16/24/32-tgl.tplg
The shell script bench_comp_generate.sh is added to conveniently
generate include files needed to build new test topologies for
component with s16/s24/s32 format.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
With input_audio_format/output_audio_format objects in preparation to
deprecate the audio_format class.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
There were couple of classes that did not have their topology2 snippets
showing. Probably the essential problem was just the class definition
starting from the first line of the file. There was nothing obviously
wrong in the output of the filter, but the way the doxygen works is
sometimes hard to anticipate. Adding \struct before the definition
fixed the problem.
Signed-off-by: Jyri Sarha <jyri.sarha@linux.intel.com>