config must be the first field in copier_data structure, because function
ipc4_create_buffer casts components private data as ipc4_base_module_cfg.
Signed-off-by: Adrian Warecki <adrianx.warecki@intel.com>
This will be used to assemble all the fragments of the configuration
data and load it.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
This will be used to classify the fragments when sending/retrieving
configuration data.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Modify the signatures of waves_effect_allocate() and
waves_effect_buffers() to pass the pointer to struct processing_module
as input.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
As part of the 3rd part module API changes, change the signature of the
free op in the module interface API to pass the pointer to struct
processing_module instead of comp_dev. Also. modify the signature of the
module_free_all_memory() to pass struct processing_module pointer as
input.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
As part of the 3rd part module API changes, change the signature of the
reset op in the module interface API to pass the pointer to struct
processing_module instead of comp_dev.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
As part of the 3rd part module API changes, change the signature of the
prepare op in the module interface API to pass the pointer to struct
processing_module instead of comp_dev.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
As part of the 3rd part module API changes, change the signature of the
init op in the module interface API to pass the pointer to struct
processing_module instead of comp_dev.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Add a pointer to comp_dev in struct processing_module. This is a
temporary change that is needed for trace messages in the module
implementation. This should be removed when the trace API is updated to
not need the dev pointer.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
The malloc output is useful for debug only otherwise it can add more
noise to the trace output.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
This is the first step in running a full DSP topology on multiple testbench
"virtual" cores. Testbench will use threads to virtualise a emulate a core
allowing topologies with more than one core to run simultaneously.
This patch makes the following changes.
1) Adds and passes a topology testbench context to all APIs instead of
relying on some globals.
2) Splits the testbench up into small functions that have a single purpose.
3) Creates a thread for each pipeline which in turn share a virtual core.
4) Adds the command line options to enable testing different cores and
pipelines.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Split pipeline functionality into smaller action to support more
complex use cases. Provide more useful logging.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Add LL scheduler emulation for testbench pipelines. Each core is
implemented as a thread.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
This removes the "unknown" string and replaces with file and line.
Function is already in msg.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
SOF use sai6 on imx8ulp 9x9 board, use sai5 on imx8ulp board.
Modify for compatible with different imx8ulp boards.
Signed-off-by: Zhang Peng <peng.zhang_8@nxp.com>
DSP connects to sai5 on the normal imx8ulp board(15x15). But on the
imx8ulp 9x9 board, DSP connects to sai6, add resource sai6, preparing
to bring up sof on the imx8ulp 9x9 board.
Signed-off-by: Zhang Peng <peng.zhang_8@nxp.com>
Add EDMA_HS_GET/SET_DMAMUX_CFG macros to get/set dmamux rx/tx irq.
This is for preparing support different imx8ulp board.
Modify on imx8 platform to suit this change.
Signed-off-by: Zhang Peng <peng.zhang_8@nxp.com>
Use gcc typeof() to cast the output of ASSUME_ALIGNED() back into the
type of its argument. This lets the compiler report type mismatches.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Do not pass array arguments to ASSUME_ALIGNED() macro, pass a pointer
instead.
Then it is possible to make ASSUME_ALIGNED type safe.
When using -g0, gcc outputs are exactly the same before vs after this
commit.
Note it is still not possible to make the `cdata->data->data`
abomination type-safe because it is nesting non-standard zero-length
members. However that is a different issue; not ASSUME_ALIGNED's
problem. ASSUME_ALIGNED is apparently needed for some "normal" C code
too.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
This reverts commit 079ce95b98.
As explained in the comment that it modified, predicted in the #5159
discussion and reproduced in test #5290 /
https://github.com/thesofproject/sof/runs/4988844402, this commit broke
'CONFIG_TRACE=n'. Simple reproduction steps:
$ rm -rf zephyrproject/build-apl
$ echo 'CONFIG_TRACE=n' >> \
boards/xtensa/intel_adsp_cavs15/intel_adsp_cavs15_defconfig
$ sof/scripts/xtensa-build-zephyr.sh [ -p /path/to/zephyrproject ] apl
fw abi main version: 3.20.1
fw abi dbg version: 5.3.0
warning: can't find section .static_log_entries in zephyr/zephyr.elf
error: section .static_log_entries can't be found
error: unable to write dictionaries, -22
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Clear the init_done flag at reset to fix the problem with failure with a
subsequent playback.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Codec data is not allocated with module_allocate_memory(). So use rfree()
to free it.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>