This removes a lot of warning noise and may help spot other warnings
like `ALSA lib ops.c:48:(lookup_ops) wrong kcontrol ops value string ''`
and others.
Now that commit 1b1ec6c492 ("topology/cmake: skip all topologies when
alsatplg < 1.2.5") enforces alsatplg version >= 1.2.5, it is finally safe
to do this!
I compared the generated .tplg files before/after this commit and
they're bit for bit identical. Tested with alsatplg v2.6.1 from
Ubuntu 22.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
This removes a lot of warning noise and may help spot other warnings
like `ALSA lib ops.c:48:(lookup_ops) wrong kcontrol ops value string ''`
and others.
Now that commit 1b1ec6c492 ("topology/cmake: skip all topologies when
alsatplg < 1.2.5") enforces alsatplg version >= 1.2.5, it is finally safe
to do this!
I compared the generated .tplg files before/after this commit and
they're bit for bit identical. Tested with both alsatplg v2.6.1 from
Ubuntu 22 and version 1.2.9 from the SOF docker container.
Note this is a much smaller commit than the reverted
commit f50b6fe0ad ("topologies: switch all .m4 files to codec_provider
and codec_consumer") because most topologies v1 have been removed from
the main branch. Most topologies v1 are now only in stable-v2.2 where
the warning spam is still a problem :-(
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Register pm_state_notifier to set ready_flag for secondary core when it
is powered up for second time after first fw boot. We can remove
CONFIG_ADSP_IMR_CONTEXT_SAVE check for cavs platform for this feature.
Signed-off-by: Rander Wang <rander.wang@intel.com>
Adding all source files in a single, giant zephyr/CMakeLists.txt is
inconvenient and does not scale.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Adding all source files in a single, giant zephyr/CMakeLists.txt is
inconvenient and does not scale.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
The build of testbench fails at /* fallthrough */ with xt-clang
build for MTL since warnings are treated in tesbench build as
errors. The re-arrange of default and 'h' fixes also return
of -EINVAL in default case for unknown option.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Build for MTL needs other compiler xt-clang, so the COMPILER is
set by default to xt-xcc and changed for MTL in set_xtensa_params.sh
where also core and tools version is defined.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Set correct TDM slot width to 32 bits.
The error has been discovered after commit
0ba64e98ec ("SAI: use topology params").
We start using the tdm_slot_width from topology,
rather than hardcoded in code.
Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
For delete pipeline operation this patch adds deletion of
modules added to given pipeline but executed on different
core. This case could appear only for DP processing modules.
Signed-off-by: Jaroslaw Stelter <Jaroslaw.Stelter@intel.com>
New IDC request idc_comp_free() is required to delete
component located on different core than the pipline to which
the module belongs.
Signed-off-by: Jaroslaw Stelter <Jaroslaw.Stelter@intel.com>
By default ipc_get_comp_by_ppl_id() routine omits component
from core different that the one where pipeline is working.
However with introduction of DP modules such situation can happen.
In some flows we need to find modules that belongs to given pipeline
but are scheduled on different core. This modifications will allow to
select when include such modules in the search.
Signed-off-by: Jaroslaw Stelter <Jaroslaw.Stelter@intel.com>
RTC_AEC module is using DP and rest of pipeline is LL and both can
run on different cores.
For the purpose to assign DP module individually on secondary core,
now add a new macro GOOGLE_AEC_DP_CORE_ID.
Signed-off-by: Yong Zhi <yong.zhi@intel.com>
Although imx8ulp have no cascade interrupt, we also need do interrupt
init to disable cascade interrupt.
Signed-off-by: Zhang Peng <peng.zhang_8@nxp.com>
Use the Zephyr sys/util.h when Zephyr RTOS is used.
While here, remove sof/lib/cpu.h which is not used.
Signed-off-by: Zhang Peng <peng.zhang_8@nxp.com>
Avoids conflicts with the "real" smart_amp.c when the "stub" compilation
check enables everything and compiles everything.
Also makes `git grep smart_thing` a bit more convenient in some cases.
Only the IPC3 sample clashed because the real code does not use
MODULE_ADAPTER(). Pre-emptively rename the IPC4 sample too for
consistency and in case the real code changes its mind later.
Only global symbols are renamed; no need to git churn private symbols.
Fixes commit ba2cfe3daa ("app/stub*.conf: add
CONFIG_SAMPLE_SMART_AMP=y") which clashed with commit
d4d0a0ca13 ("smart_amp: fix code and re-enable it on stub builds")
CI did not detect the clash because these two commits were merged at the
same time.
In case anyone is interested, the CI "fix" to prevent this type of race
is a GitHub feature called "merge queue" (resp. "merge train" in Gitlab,
"commit queue" in the older Chrome infrastructure, etc.) It would be a
heavy lift, overkill for the small size and concurrency of the sof git
repo and how rarely these accidents happen (a couple times/year)
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
This pipeline PCM -> ASRC -> DAI is used only in testbench test
topologies usage. None of the normal topologies build in SOF
use it. Since testbench can't support without failure the DAI
timestamps, the asynchronous mode is disabled. This allows
to test ASRC objective audio quality similarly as normal SRC.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
The same tests can be applied for ASRC in sychronous mode. This
patch allows to pass component name as last argument. Use it
this way:
src_test(32, 32, 44100, 48000, 0, 1, 'asrc');
or
src_test(32, 32, 44100, 48000, 0, 1, 'src');
src_test(32, 32, 44100, 48000, 0, 1);
To run ASRC or SRC. See "help src_test" output for all
test options.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
These headers mostly only used by copier itself, move to
copier folder will make this folder cover all related code.
Signed-off-by: Baofeng Tian <baofeng.tian@intel.com>
Add cavs-mixin-mixin-mixout-eqiir-dts-ssp.conf to support EQ IIR + DTS
processing on rt5682
Co-developed-by: Mac Chiang <mac.chiang@intel.com>
Signed-off-by: Mac Chiang <mac.chiang@intel.com>
Signed-off-by: Joe Cheng <joe.cheng@xperi.com>
In order to adopt more different playback pipelines, refer to
sof-hda-generic.conf and move playback pipeline in cavs-rt5682.conf to
cavs-mixin-mixout-ssp.conf.
Co-developed-by: Mac Chiang <mac.chiang@intel.com>
Signed-off-by: Mac Chiang <mac.chiang@intel.com>
Signed-off-by: Joe Cheng <joe.cheng@xperi.com>
This commit adds DTS componenet and pipeline for topology2.
1. DTS component
2. A new pipeline to support EQ IIR + DTS processing
dts_spk.conf includes the parameters for DTS SDK V1.1.3
Co-developed-by: Mac Chiang <mac.chiang@intel.com>
Signed-off-by: Mac Chiang <mac.chiang@intel.com>
Signed-off-by: Joe Cheng <joe.cheng@xperi.com>
In non sdw-dmic case, dai incremental id without it, so correct
HDMI1/2/3_ID sequence from default 5,6,7 to 4,5,6.
Signed-off-by: Mac Chiang <mac.chiang@intel.com>
Refactor dai params into more feasible functions and remove duplicate
code. No functional change.
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
Signed-off-by: Rander Wang <rander.wang@intel.com>
These command line options for Octave and Matlab are the
most silent with no graphical plot windows opening during
batch job.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Set field export_howto to instruction that was used to create
the blob. The tplg2 .conf and tplg1 .m4 files will contain the
command in the beginning of file.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
mailbox_sw_regs_write is used by dai to update llp node. In multi-core
test, the updated llp node is invisable to other cores although
dcache_writeback_region is used on both cavs & ace platforms. Now use
uncached address to write memory directly which is aligned with other
mailbox access functions.
Validated on cavs & ace platforms.
Signed-off-by: Rander Wang <rander.wang@intel.com>
Fixes commit f06da576cf ("smart_amp: add smart amplifier test
component") which added its COMP_TEST_SMART_AMP ancestor.
This code can compile without any hardware dependency;
`git show ___ | grep include` does not show any.
This is useful for fuzzing etc.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
This reverts commit fbde1dccf8.
Now that CONFIG_SAMPLE_SMART_AMP has a hard, menu dependency on
CONFIG_SAMPLES, we don't need to encode Kconfig dependencies in CMake
any more.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Don't be creative with weird "visible if" syntax. Simply don't include
sub-Kconfig when the top-level option is disabled.
This removes "backdoors" like:
-DCONFIG_SAMPLE_SMART_AMP=y -DCONFIG_SAMPLES=n
"In Rome, do as the Romans do"
Fixes commit 03b80eaf44 ("audio: move test components into the
src/samples/audio dir")
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
When executing a blocking operation on a remote core
it is expected that an exit code of the operation is
passed to the caller as if the operation was on the
same core
In fact, a result of message passing was returned,
so in most cases result was success, no matter what
operation result was
Signed-off-by: Marcin Szkudlinski <marcin.szkudlinski@intel.com>
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>
Removes the misplaced code in smart_amp.c for the fix, then
re-enables CONFIG_COMP_SMART_AMP on building stub images.
Signed-off-by: Pin-chih Lin <johnylin@google.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>