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>
Clean cherry-picks of two commits from separate rimage repo
https://github.com/thesofproject/rimage/commits/stable-v2.7
This will properly setup partition_usage field
and remove fixed 0x23 value from MTL toml
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
(cherry picked from commit fbea59358d06ffa86645cdf4ce0996e352742eb5)
Second, squashed LNL commit:
config/lnl.toml: drop now invalid signed_pkg.partition_usage
Fixes commit fbea59358d06 ("rimage: mtl: fix key slot setup based on imr
type") which broke LNL compilation like this:
```
error: 1 unparsed keys left in 'signed_pkg'
error: key 'signed_pkg' parsing error
```
This commit does not change the final image (compared to before rimage
commit fbea59358d06) because the default value is now 0x20 + IMR type.
Fixes are normally submitted to the main branch first and then cherry
picked to stable branches. However MTL fbea59358d06 has been made in
stable-v2.7 first so the LNL change was also in stable-v2.7 first for
consistency.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
(cherry picked from commit 469102a8f6052ce6a374b870ea945a84d04c3b1a)
Fixes commit deed9a8808 ("scripts: fuzz: add support for build and
overlays")
The main issue was the way fuzz.sh was trying to parse the overlay
file. Drop that and just pass it as is to `west` and `cmake` instead,
they know what to do with it.
Also:
- Fix invalid syntax in stub_build_all_ipc4.conf
- Make fuzz.sh shellcheck-clean again. Always use shellcheck.
- Temporarily disable `CONFIG_COMP_SMART_AMP` in
stub_build_all_ipc3.conf because `smart_amp.c` does not compile (in
any configuration)
```
sof/src/audio/smart_amp/smart_amp.c:748:9: error:
no member named 'in_channels' in 'struct smart_amp_data'
sad->in_channels = audio_stream_get_channels(&source_buffer->stream);
```
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Fixed the order in which sections are placed in the output firmware image
for platforms using a simple manifest.
Fixes: #8336
Signed-off-by: Adrian Warecki <adrian.warecki@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>
The xt-clang RI-2022.10 compiler headers define UNUSED. The
rename of the macro for trace fixes in testbench build this
error:
In file included sof/tools/tplg_parser/pga.c:17:
In file included sof/tools/tplg_parser/
../../src/include/sof/lib/uuid.h:11:
In file included sof/tools/tplg_parser/
../../src/include/sof/common.h:105:
/home/singalsu/work/current/sof/sof/tools/tplg_parser/
../../src/include/sof/trace/preproc.h:162:9: error:
'UNUSED' macro redefined [-Werror,-Wmacro-redefined]
#define UNUSED(arg1, ...) do { META_RECURSE(
xtensa/XtDevTools/install/tools/RI-2022.10-linux/XtensaTools/
xtensa-elf/include/xtensa/xtensa-types.h:60:9:
note: previous definition is here
#define UNUSED(x) ((void)(x))
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Contains 600+ commits merged after 3.5.0 release, including following
directly affecting SOF targets:
76cb2a54f51f intel_adsp: Do not include device_runtime header
1fac5ed2a60b soc: xtensa/nxp_adsp: put guard in Kconfig.defconfig
f4cb487b79f9 modules: sof: Options only when module is available
02deea0e806a ace: alh: Only ACE1.5 has OSEL feature
f0326f72498c tests: dma_loopback: Intel ADSP ACE15 disable PM
adf6d0e3d80e soc: intel_adsp: lpsram enable retention mode
eeb4f2f76d6d soc: intel_adsp: hpsram enable retention mode
16f729214b50 soc: intel_adsp: lpsram init refactor
112611378f85 soc: intel_adsp: hpsram init refactor
cdd4d8470323 xtensa: add custom mem range check functions
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>