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>
Because the size of struct comp_buffer has increased, the current heap
layout for the basic use case is not enough.
Some use cases are experiencing out of memory issues,
c0 memory src/lib/alloc.c:765 ERROR failed to alloc 0x180 bytes zone
0x4 caps 0x1 flags 0x0
To fix this issue, we increase the number of 512-byte heap blocks to 32.
Signed-off-by: Trevor Wu <trevor.wu@mediatek.com>
When I was using xtensa to build mt8188 platform, I encountered an error:
'redefinition of i'. To fix the problem, I removed the declaration in
the for loop.
Signed-off-by: Trevor Wu <trevor.wu@mediatek.com>
These topologies are no longer supported by mainline firmware code for
these platforms. The stable-v2.2 branch continues to support these
targets with topology1. Also SOF main branch provides topology2 targets
for a subset of these configurations.
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
A simplified copy of previous bxt.m4 is made as local
platform/generic.m4 with SSP and other platform definitions
for test topologies build. It is included to test-all,
test-capture, and test-playback macros definitions.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Fixes compilation failure with clang 15:
rimage/src/toml_utils.c:297:67: error: taking address of packed member
'd0' of class or structure 'uuid_t' may result in an unaligned pointer
value [-Werror,-Waddress-of-packed-member]
sscanf(buf, "%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x", &id.d0,
^~~~
This also aligns indexes.
Signed-off-by: Marc Herbert <marc.herbert@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>
Addition of SRC Lite module,
which only supports a subset of conversions
supported by the SRC module.
Purpose of SRC Lite module is memory optimization.
Code of SRC Lite is drastically reduced and requires
significantly less memory. When needed one of
defined conversions, driver can choose SRC Lite
module instead of SRC module to optimize memory utilization.
48 -> 16kHz
44.1 -> 16 kHz
32 -> 16 kHz
44.1 -> 48
Signed-off-by: Fabiola Kwasowiec <fabiola.kwasowiec@intel.com>
Set the default alignment value after buffer format is set
in audio_stream_set_params instead of in audio_stream_init
where the buffer format hasn't been set yet.
Signed-off-by: Andrula Song <andrula.song@intel.com>
Print out some information from the Signed package info extension, the most
important information being is the partition_usage which is used to select
key slot to be used for verification.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
KD topology tests fail on MTL due to insufficient size of
heap memory. During creation of KD topologies with
4ch audio format, FW fails on memory allocation.
The patch increases HEAPMEM size.
Signed-off-by: Jaroslaw Stelter <Jaroslaw.Stelter@intel.com>
KD topology tests fail on LNL due to insufficient size of
heap memory. During creation of KD topologies with
4ch audio format, FW fails on memory allocation.
The patch increases HEAPMEM size.
Signed-off-by: Jaroslaw Stelter <Jaroslaw.Stelter@intel.com>
There are two headers for aria, below action is taken:
1. move header file from include path to module path.
2. combine two headers to one header file.
Signed-off-by: Baofeng Tian <baofeng.tian@intel.com>
It's not clear why `LDFLAGS=-Wl,-LE` was added in
commit 10d0b3b5e1 ("Scripts: Add xt-run build target for
rebuild-testbench.sh"). Maybe it was supposed to be `-Wl,-EL`?
Either way this flag has always been interpreted as adding the directory
`./E/` to the search library path, which obviously never had any
effect; proof below. So it can safely be removed.
Here's the proof:
```
mv ~/XCC/install/builds/RG-2017.8-linux/cavs2x_LX6HiFi3_2017_8/xtensa-elf/lib/libm.a .
./scripts/rebuild-testbench.sh -p tgl
# Fails as expected
# => XCC/install/tools/RG-2017.8-linux/XtensaTools/bin/xt-ld: cannot find -lm
cmake --build tools/testbench/build_xt_testbench/ -- testbench
# Same again
# => XCC/install/tools/RG-2017.8-linux/XtensaTools/bin/xt-ld: cannot find -lm
mkdir tools/testbench/build_xt_testbench/E/
cp libm.a tools/testbench/build_xt_testbench/E/
cmake --build tools/testbench/build_xt_testbench/ -- testbench
# => now compiles!
```
Remember: the best way to test software is always to break it.
Don't forget to fix XCC:
```
mv libm.a ~/XCC/install/builds/RG-2017.8-linux/cavs2x_LX6HiFi3_2017_8/xtensa-elf/lib/
```
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Fixes commit 4bc6488b24 (".github/zephyr: de-hardcode the name of the
zephyr remote")
(Yay for duplication)
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
There is no need to print an error at the beginning of a function.
The usual behavior should be to print an info.
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Stop producing corrupted .tplg files when using `codec_consumer` (e.g.:
sof-imx8mp-btsco-dual-8ch.tplg, sof-imx8ulp-9x9-btsco-16k.tplg, ...)
Then we'll be able to finally search/replace "codec_master", see revert
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
The LNL board does not use DMA_DW driver, so the board
file should not set any build options specific to that
driver.
This fixes build warning:
--cut--
warning: DMA_DW_SUSPEND_DRAIN (defined at
drivers/dma/Kconfig.dw_common:27, drivers/dma/Kconfig.dw_common:27,
drivers/dma/Kconfig.dw_common:27) was assigned the value 'y' but got the
value 'n'.
---cut--
Link: https://github.com/thesofproject/sof/issues/8356
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
With this change e.g. in all 2ch case all output channels are
mixed with matching microphone and reference channels. It helps
with testing to hear and see that the mockup works.
The mix is done for matching microphone, reference and output
channels indices. With e.g. less reference channels, the remaining
output channels are passed directly from microphone.
The mixed samples are saturated to avoid nasty sounding overflows.
Signed-off-by: Lionel Koenig <lionelk@google.com>
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch converts the component to module API. The changes are:
- google_rtc_audio_processing_params() is changed to update
sources and sink params from IPC4 init IPC. It's not used for
IPC3 where module adapter handles params().
- The commands handling is fixed to handle via module adapter
the IPC3 and IPC4 commands.
- The google_rtc_audio_processing_init() is updated to simpler
module adapter client way.
- The google_rtc_audio_processing_prepare() is updated to set
buffers parameters for IPC4 and find sources buffers for
microphone and reference by index instead of buffer pointer.
That simplifies the processing function with module adapter.
- The google_rtc_audio_processing_process() is updated from copy()
to module adapter client way.
- google_rtc_audio_processing_get_attribute() is removed
- As overall change dev handle is changed to mod handle in nearly
all functions.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
GitHub conveniently times each step but to reduce step proliferation we
sometimes have multiple commands in a single step and lose the ability
to time download commands. Prefix them with `time` to restore the data.
Signed-off-by: Marc Herbert <marc.herbert@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>
this is preparation for later ipc3 and ipc4 code split out
from eq_iir.c, these common functions will be used both by
ipc3 and ipc4.
Signed-off-by: Baofeng Tian <baofeng.tian@intel.com>
This patch is needed to make the module work with linux and avoid
firmware crash. This patch sets the attenuation parameters with the
bytes control since the setup parameters can't be passed in init()
as in Windows OS.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>