Add function to fetch dai fifo depth from driver platform data, as for
some reason it is missing. Update all drivers that are actually using
it.
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
In preparation for modifying the volume component to use the new
module API, add support for SET_VALUE/GET_VALUE control commands.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Define the set_large_config and get_large_config ops for the module
adapter component. These are mandatory ops needed to make the module
adapter compatible with IPC4.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Module adapter can be used by components with types other than
SOF_COMP_MODULE_ADAPTER. So modify the create op to handle components
by type.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Remove the const qualification for the data pointer and pass the pointer
for the data_offset_size. The data_offset_size will need to be read and
updated after copying the config data.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Change all functions to accept a pointer to struct processing_module
as a parameter and use mod->priv to access the module data.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
This patch changes the assert to check of IIR processing function
and fail with -EINVAL if function is not set.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch changes the assert to check of FIR processing function
and fail with -EINVAL if function is not set.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
The average number of cpu cycles/ticks spent could be provided per 1024
scheduled tasks by the performance counter. It would be more accurate for
MCPS measurement than the peak number. Even so, the tracing macro will log
both of them to provide more insights.
This is enabled by CONFIG_PERFORMANCE_COUNTERS_RUN_AVERAGE, which depends
on CONFIG_PERFORMANCE_COUNTERS.
Signed-off-by: Pin-chih Lin <johnylin@google.com>
To properly use buffer-locking functions many buffer and
audio-stream API functions have to use the __sparse_cache annotation too.
Note, that we don't convert comp_update_buffer_consume() and
comp_update_buffer_produce() yet. They will be converted together
with all the buffer API users to also move buffer acquisition out of
those functions into the caller scope.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
With some compiler versions container_of() loses any type attributes
which then leads to compilation issues. Add an attribute-preserving
version of the macro.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
buffer_acquire() and buffer_release() convert between cached and
uncached addresses. Add the sparse __sparse_cache annotation to them to
track down any API misuses.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
cache_to_uncache() and uncache_to_cache() functions take a cached
memory alias or return one respectively. Add the __sparse_cache annotation
to them.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Data-cache flushing functions can only be used on cached aliases.
Using them on uncached aliases generates exceptions. At the moment we
have to cast all uses of those functions to use the __sparse_cache sparse
attribute. We should convert respective variables to the correct tyoe
one by one.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
We want to separate access to memory via cached and uncached aliases.
To enforce this use sparse's address-space attributes.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Fix errors, reported by sparse. Some of them really seem to be sparse
limitations, since they don't show up in normal builds, e.g. the
missing __GLIBC_USE definition or some __builtin_* support.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
to DECLARE_MODULE_ADAPTER and comp_driver to comp_module_adapter.
Also rename SOF_COMP_MODULE_ADAPTER to SOF_COM_MODULE_ADAPTER.
No functional changes.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
to module_adapter_new(). Also, rename ipc_codec_adapter to
ipc_module_adaptermodule. No functional changes.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Fix a capture issue on windows. Currently we use SOF_COMP_HOST
or SOF_COMP_DAI for copier with host or dai included. But There
are some functions process copier as host or dai since its type
is that type. This will result to unexpected error.
This patch uses uuid to find copier with gateway support so that
it can be identified in ipc4 framework.
Signed-off-by: Rander Wang <rander.wang@intel.com>
with changes we have - 3.072MHz bclk, 32-bit slot-width,
24-bit data-width.
rt1019 in auto mode is compatible with rt1015p driver.
By keeping the SSP configuration same as rt1015 will have fewer
configuration.
Signed-off-by: Vamshi Krishna <vamshi.krishna.gopal@intel.com>
This PR is based on https://github.com/thesofproject/sof/pull/5616
It decouples the switch-typed control for enabling/disabling from the
control bytes.
Previously, control blobs should be sent from userspace to to toggle
RTNR on/off.
With this PR, RTNR can be toggled by setting the UCM switch value.
cset "name='RTNR10.0 rtnr_enable_10' off"
cset "name='RTNR10.0 rtnr_enable_10' on"
or from command line
amixer -c0 cset name='RTNR10.0 rtnr_enable_10' 1
amixer -c0 cget name='RTNR10.0 rtnr_enable_10' 0
Signed-off-by: Pin-chih Lin <johnylin@google.com>
Signed-off-by: Ming Jen Tai <mingjen_tai@realtek.com>
merge copy_func
Add remove callback function for SP and BT dai
drivers in dai ops.
This callbacks definition will resolve the firmware
NULL pointer access during remove sequence from sof core.
Signed-off-by: Balakishorepati <balaKishore.pati@amd.com>
* Use %z specifier for size types to avoid format
specifier warnings on arm32
* in ctl_dump(), size_t n may be used uninitialized
if ctl_data->out_fd > 0 and !ctl_data->binary.
Signed-off-by: Li-Yu Yu <aaronyu@google.com>
This patch adds the Kconfig option COMP_SRC_IPC4_FULL_MATRIX and
adds handling to src.c. Testbench build was changed to use this
largest matrix.
The coefficients were generated with script src_ipc4_int32.m. The
new sample rates were added to test script src_test.m.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
There's need to have a 0 dB gain SRC conversion matrix while
earlier all defaulted to -1 dB. With this change the parameter
cfg.gain can be used with src_generate() function.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch helps to pass the code style check in generated header
file src_<profile>_<data type>_table.h. The error was:
CHECK: Please use a blank line after function/struct/union/enum
declarations
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch forces open of every plot to the same picture window.
Earlier version could open hundreds of windows and freeze the
computer.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>