22050Hz obs also need a separate setting, this was missed when first
create this file, now move it to the group with obs setting.
Signed-off-by: Baofeng Tian <baofeng.tian@intel.com>
Split out ipc3 and ipc4 specific code from tdfb module, also
refined header files for new source file.
Signed-off-by: Baofeng Tian <baofeng.tian@intel.com>
Move out ipc3 and ipc4 specific code to corresponding source file.
Also, move some common functions to header file.
Signed-off-by: Baofeng Tian <baofeng.tian@intel.com>
This patch adds build of hda-generic development topologies to
test RTNR component with all s16/s24/s32 formats.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch allows to build topologies to use the RTNR
component. Two bytes control blobs are converted from
topology1 to IPC4 format.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
dma channel null condition check for pipelines
without using any of the specified dma channels.
Signed-off-by: maruthi machani <maruthi.machani@amd.corp-partner.google.com>
To indicate the SoundWire amp need to use 24 bit format.
I use a flag instead of a macro like $SDW_AMP_FMT to set valid_bit_depth
because bit_depth and valid_bit_depth may not be the same.
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
This patch adds DTS_CODEC for IPC4 Intel platform builds.
Since EQ IIR + DTS is the combination we use to support customer, adding
EQ IIR here to ensure it's enabled.
Signed-off-by: Joe Cheng <joe.cheng@xperi.com>
Add more error logs to identify potential problem in set_configuration()
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>
md->state is set in IPC3, not in IPC4.
set_configuration() would fail on MTL because md->state is not set.
Add macro CONFIG_IPC_MAJOR_3 to avoid this problem.
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>
It would build fail without LOG_MODULE_REGISTER.
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>
If sink is full and so no bytes were copied, reload DMA anyway as
otherwise xrun may happen if reload is skipped for a long time.
Signed-off-by: Serhiy Katsyuba <serhiy.katsyuba@intel.com>
sink/src API must grow to provide similar functionality
to comp_buffers.
This commit adds 2 helpers for IPC4 format set
Signed-off-by: Marcin Szkudlinski <marcin.szkudlinski@intel.com>
This commit is needed because the current Linux kernel
version used in our internal testing doesn't
contain the patches that enable MU2's power.
As such, to avoid failures in the internal tests,
disable the CCM and LPUART2 IPs.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
Bump up Zephyr revision to contain the i.MX8QM and
i.MX8QXP patches that introduce support for the
serial interface.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
Before the fix the comp->core in ipc_comp_new() is garbage
and the check for maximum core count fails. The pointer to
struct asrc should be passed instead of address of pointer.
Fixes: d9f9340e1a
("tplg_parser: split out testbench logic and partition
features per file.")
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
The multi-core topology was created since multi-core feature had a few
bugs at that time so it was for validation test. Now this feature works
fine so merge it into nocodec topology then it will be tested by
github CI. And we don't need to maintain a dedicated multi-core topology.
Signed-off-by: Rander Wang <rander.wang@intel.com>
Current implementation only checks if a channel is used with
current interrupt. But that channel might have been registered
with another interrupt earlier.
So, we need a way to skip channels already used. For this, we iterate
over all registered interrupts and check existing registered channels.
This fixes scenarios where running:
$ arecord -Dhw:0,0 -f S32 -c 2 -r 48000 -t raw |
aplay -Dhw:0,0 -f S32_LE -c 2 -r 48000
will result in an I/O error.
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
When a chain DMA stream is the only one running, stopping it
currently takes 100ms. The reason is that the chain DMA driver is
trying to stop the task directly from the IPC context instead of
letting the task exit on its next scheduling event. The IPC thread is
indeed trying to wait on a semaphore for the task to exit, but that
doesn't work either, because zephyr_domain_unregister() terminates
the thread before it signals the semaphore. To fix this we swap the
order and signal the semaphore before terminating the thread.
Link: https://github.com/thesofproject/sof/issues/8445
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
At the beginning of the .text section there must be a structure containing
information about the version of the api used by the library. It's absence
will cause sof to interpret a random literal as a version and incorrectly
load a library.
Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
The .module section contains the module manifest read by rimage. It should
not be included in the final loadable module image. Flags of this section
are now modified using objcopy to ignore it by rimage.
Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
The .data and .rodata sections are placed by rimage into one segment of
a resulting firmware image. So aligning the .rodata section to the page
boundary is just a waste of memory.
Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
Loadable libraries do not need to have a .bss section. After this change,
its absence will be ignored when generating a image of the loadable module.
Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
Changed linker options to enable linking with libgcc and libc. This change
is required to allow use compiler builtins functions (like __divdi3) and
dynamic memory allocation functions.
Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
This commit adds a necessary symbols in the linker script which allows use
a memory allocation functions from libc (malloc, calloc, etc.) in loadable
modules.
Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
As rimage was moved to sof repository it is necessary to update path to
rimage include directory in lmdk build system.
Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>