If there are no command line definitions, the build fails because the
4th argument to the add_alsatplg2_command macro is NULL.
Fix this by using named arguments for the macro and checking for the
optional argument for command line definitions.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Some useful algorithms internal traces are output with debug traces.
This patch enables the verbose trace (CONFIG_TRACEV) for library build.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
The path append of current directory (.) is not correct for
the signal processing package function iirnotch. The issue does
not happen with Octave since it has pei_tseng_notch().
The standard notch function is used in all THD+N tests so this
issue has caused fail of nearly all tests with Matlab.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch adds to command line switch -n for output channels count.
Existing -c is for in channels, new -n is for out channels count. Out
channels count is same as input if -n is not present. Switch -q is
added to quiet the trace output if it is not needed.
The Matlab language test scripts for components are updated to use
the -t config.sh interface of comp_run.sh. It allows more flexible
control of input and output streams.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
The -a option was recently broken by the addition of platform(s) that
don't have a toolchain available in the Docker image. Every platform can
be built by someone but no one can built -a(ll) platforms right now.
Add a new platform array to make the distinction between default
platforms built by the -a option versus work in progress.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
No one else has it.
Gets rid of the only shellcheck warning.
Fixes commit 7453e3d571 ("scripts: add renoir support")
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
The issue was found when testing 44.1khz stream on windows.
We should use input format of copier to set source buffer fmt,
not output fmt which may be dai output fmt and different from
source fmt.
According to spec, copier only support one input source and
four output sinks, so we don't need to check source list.
Tested on windows.
Signed-off-by: Rander Wang <rander.wang@intel.com>
Automatic Regressive Input Amplifier Module
ARIA applies variable gain into incoming signal.
Applied gain is in range <1, 2 power attenuation>
Currently ARIA introduces gain transition and
algorithmic latency equal to 1 ms.
At initial release only hifi3 version is supported
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
During reset, it is only important to free the memory associated with
the runtime params, so that they can be reallocated during prepare. So
move the allocation of the cadence_codec_data to use rballoc, so that
module_free_all_memory() doesn't end up freeing it. It will be freed
during cadence_free() when the device is freed.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Remove the setup config info from all initial config data in the
codec_adapter kcontrol's. This is no longer needed.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Remove the setup cfg from struct module_datai and have one just common
config. The config sent during module init should be saved a set up config
within the module's private data if the module needs it. Modify the
cadence_codec_data and the waves_codec_data to add the setup config to
save the initial config that can be applied during prepare when it is
invoked during the reset.
Remove enum module_cfg_type and struct ca_config as they are no longer
needed.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
If module_prepare() fails, the pipeline will be reset resulting in
module_reset() getting invoked. Just return if the state is <
MODULE_IDLE which indicates that the module was never prepared.
Also, in this case, local_buff is never allocated. So, check if it is
NULL before zeroing it out to avoid DSP panic.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Remove the module ID fields from struct processing_module and struct
ca_config. The comp ID is unique across all components in topology and
can be reused to identify the modules as well.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Add a new field to struct cadence_codec_data to save the API ID and
set its default value to be that associated with CADENCE_CODEC_WRAPPER_ID.
If needed, this can be overwritten from userspace at runtime.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
During reset, it is only important to free the memory associated with
the runtime params, so that they can be reallocated during prepare. So
move the allocation of the cadence_codec_data to use rballoc, so that
module_free_all_memory() doesn't end up freeing it. It will be freed
during cadence_free() when the device is freed.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Remove the setup config info from all initial config data in the
codec_adapter kcontrol's. This is no longer needed.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Remove the setup cfg from struct module_datai and have one just common
config. The config sent during module init should be saved a set up config
within the module's private data if the module needs it. Modify the
cadence_codec_data and the waves_codec_data to add the setup config to
save the initial config that can be applied during prepare when it is
invoked during the reset.
Remove enum module_cfg_type and struct ca_config as they are no longer
needed.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
If module_prepare() fails, the pipeline will be reset resulting in
module_reset() getting invoked. Just return if the state is <
MODULE_IDLE which indicates that the module was never prepared.
Also, in this case, local_buff is never allocated. So, check if it is
NULL before zeroing it out to avoid DSP panic.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Remove the module ID fields from struct processing_module and struct
ca_config. The comp ID is unique across all components in topology and
can be reused to identify the modules as well.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Add a new field to struct cadence_codec_data to save the API ID and
set its default value to be that associated with CADENCE_CODEC_WRAPPER_ID.
If needed, this can be overwritten from userspace at runtime.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
It looks like a change to the ipc creation was landed in parallel to the
hotword wrapper as the hotword wrapper is authored before, but comes after
in the relation chain. Solution is to update the hotword lib wrapper.
Signed-off-by: Curtis Malainey <cujomalainey@chromium.org>