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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
- Update clock switching and clock frequency sequence.
- Return EBUSY for IPC when Host busy with previous ipc.
Signed-off-by: SaiSurya Ch <saisurya.chakkaveeravenkatanaga@amd.com>
After enabling deadline calculation DP threads began to lose priority
in relation to logger thread which currently is set to the same priority
but has zeroed deadline.
Since processing should be not disturbed by logging operations, the
ZEPHYR_DP_THREAD_PRIORITY must be set to lower value than logger.
Signed-off-by: Jaroslaw Stelter <Jaroslaw.Stelter@intel.com>
Will first check whether have same target volume, if same,
then only calculate one channel and copy to other channels.
Signed-off-by: Baofeng Tian <baofeng.tian@intel.com>
With multi-fifo we need to enable done bit from software
as we have multiple fifos.
For this we make use of sw_done_sel configurations bits and
write proper bits into SDMA_DONE0 register.
For more information see `SDMA DONE0 Configuration
(SDMAARMx_DONE0_CONFIG)` SDMA register from i.MX8 reference manual.
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
In order to enable PDM we need to use Multi-fifo support
and mcu_2_sai RAM script.
This script defines watermark level as follows:
r7 = Watermark
bit0~11: watermark level(wml*fifo_number)
bit15~12: to do-fifo number
bit16~19: fifo offset
bit27~24: sw done selector
bit28~31: # audio channels in one frame, 0: 1 channel,1: 2 channels
bit23: sw done enabled
Configuration parameters should come from DAI (PDM in our specific case)
but there is no easy way to forward such information so we just make
use of some default configuration, 4 fifos, 1 channel per fifo, sw done
enabled.
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
This reverts 'commit e847c8b270 ("module_adapter: avoid module
init crash in case of ipc data invalid")'.
No data is not an invalid case for mixer, for example.
Fixes: #8265
Signed-off-by: Iuliana Prodan <iuliana.prodan@nxp.com>
as DP uses LL as a tick source, it starts an empty LL task
to ensure that an instance of LL is running
This applies to mostly to secondary cores, but is may happen
that there's no LL instance started on primary
This commit fixes 2 problems
- LL tick source was stated once for every DP module
- LL tick source wasn't stopped when there were no DP
modules running anymore
Signed-off-by: Marcin Szkudlinski <marcin.szkudlinski@intel.com>
volume related config are missed to move during volume move out
from module adapter, move volume kconfig from module adapter folder
to volume folder with a specific volume kconfig file.
Signed-off-by: Baofeng Tian <baofeng.tian@intel.com>
previously, linear ramp is only applicable for ipc3, however,
linear is also applicable for chrome/linux with ipc4, so remove
this ipc3 restriction.
Signed-off-by: Baofeng Tian <baofeng.tian@intel.com>