Moves DECLARE_MODULE macro from common.h to
audio/component.h header. It needs config.h
header, which shouldn't be included from common.h,
because it might be indirectly included by external
user applications.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Cleanups includes in all drivers, include and
platform files. Unused headers has been removed
and needed has beed added.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Cleanups includes in all lib files.
Unused headers has been removed and needed
has beed added.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Cleanups includes in all ipc files.
Unused headers has been removed and needed
has beed added.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Cleanups includes in all schedule files.
Unused headers has been removed and needed
has beed added.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Cleanups includes in all math files.
Unused headers has been removed and needed
has beed added.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Cleanups includes in all audio files.
Unused headers has been removed and needed
has been added.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Cleanups includes in all architecture files.
Unused headers has been removed and needed
has beed added.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Right now we have headers spread across main sof include
directory, arch include directory and platform include
directory. The same header e.g. cpu needs to be included
from sof, arch and platform. This creates long inclusion
lists and often we are missing many headers, but since
they are already included in some other headers, we don't
see the issue. This patch changes the approach to including
platform headers. It allows for inclusion only from main
header e.g. sof/cpu.h will include arch/cpu.h and platform/cpu.h.
If we want to use some cpu functionality we only need to include
sof/cpu.h and don't worry about the rest. If we have platform
header, which is only used inside of platform code, then
it can be directly accessed within.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Cleanups inclusions in ipc, kernel and user headers.
Some of the headers were missing and some weren't needed.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Adds preprocessor check in cavs headers and throws error,
when they are included from outside of equivalent platform
headers.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Merges xtensa UP and SMP architectures.
The amount of code which were duplicated by creating
SMP architecture as separate instance is too big
to maintain. I've decided to merge both architectures,
change explicit selection of SMP to be dependent on
configured number of cores (> 1) and add branching in
xtos based on currently used processor configuration.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
This patch provides needed maintenance. The pipelines
missed the volume ramp tokens and caused topology build fail for
topologies those would use the pipeline macros
pipe-eq-fir-volume-playback.m4 and pipe-eq-iir-volume-playback.m4.
The embedded filter coefficients in these pipelines were replaced
by included default FIR and IIR filter coefficients to fix ABI
incompatibility in the configuration blobs and ease future
maintenance of these pipelines.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
driver
The BE id for amplifier pipeline should be changed to 6 to align with
machine driver (The commit ASoC: Intel: sof-rt5682: correct naming for
dmic16k).
Cc: Sathya Prakash M R <sathya.prakash.m.r@intel.com>
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Add volume component, change to use 16KHz sample rate, and modify the
PCM ID from 5 to 8, as it is in lower priority comparing with pipelines
like amplifier.
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Extracts DSP core defines to the separate platform headers.
It was partially done before for cAVS platforms.
It's a step forward towards full header cleanup.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
This patch adds check for sample to not exceed S24_LE range that
could happen in int32_t type storage. The existing check for
abs(delta) > 1 does not cover such case if e.g. the reference
volume code would output e.g. INT24_MAX and the FW component
INT24_MAX + 1.
Similar check is added for every reference volume function that
outputs S24_LE format.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Some codecs require BCLK to be on for some time,
before sending any data. It can be achieved with delay between
enabling BCLK and DMA that should be given in topology.
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
Xrun recover failure will flush all over the memory window that we can't
get the log of the first error, let's disable it before the flag is
moved to kconfig and fw_ready IPC, to rescue logs and debugging.
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
We should not get 0 size from dw_dma_avail_data_size() and
dw_dma_avail_data_size(), if that happened, something might be wrong,
e.g. the dma channel is not enabled, here logging out the channel
enabling status for debugging.
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
We should use the absolute value for the activation comparing, and no
need to take extra handling to those samples with low enough level.
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Move ctl_elem pointers and buffer initialization out of main(), and
replace calling alloca APIs with malloc ones to make they are shareable
between different functions.
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Firmware may use different component specified type in abi header, to
support more than one kcontrols for the same component, here add '-t' to
support specifying this component specified type in the abi header.
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Split buffer allocating and freeing part from main(), add separated
functions and call them from main().
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Using '-r' with '-s' means no abi header for the input file, and asks
for not dumping abi header when using '-r' without '-s'.
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
This will be used on large input file scenario, we need to allocate
buffer according to the input file size.
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
We might dump kcontrol values in different format, create data_dump()
and csv_data_dump() for that.
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Add a globle struct which will store params and be shared among
functions in the later commits, to make the code more readable.
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>