Adds implementation of clk_get_freq method.
It allows to retrieve clock frequency in Hz
based on provided clock id.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
We design to use bytes kcontrol to send kpb configuration data via IPC
from topology, here implement it.
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
This patch adds volume configuration tokens as fifth parameter
for pga.m. All the topologies those use W_PGA() are updated to
use a linear (type=0) ramp with length of 250 ms.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch adds code to handle volume ramp type and ramp length
parameters from topology. The previous hard coded 250 ms ramp
related macros are removed.
Since the kernel does not (yet) provide the volume min/max into
as IPC for new() the code assumes the ramp length is the length
of the mute to 0 dB gain transition.
If a volume transition is larger than that, what can happen in a
high gain configuration, the ramp is shortened to exceed the
passed time parameter. So in other words the large transitions will
use a variable rate slope.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch removes from copy() function the code that was converted
into a generic utility function into component library. The simple
processing components with single source and sink buffers can use
the function to find out the number of frames to process, get
pointers for their source and sink buffers, and amount of bytes
consumed and produced for buffer update after the processing is
done.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Temporary changes xtensa hal state definitions for
gcc builds. Change will be reverted after update
of apollolake overlay.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
We need reset kpb->state to KPB_STATE_BUFFERING, and unregister notifier
in .reset() as we will register it again at next .prepare(), otherwise,
the consequent record won't work.
Add definition of notifier_unregister() into cmoka fix the link error to
avoid breaking UT at the same time.
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Testbench is user-space application that should just consume
SOF library, so it should be moved out from fw buildsystem.
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
Library folder is just set of some mock platform definitions, so it
should be handled as another (abstract) platform.
It's better to have all platform definitions in platform folder
instead of adding some artifical platform to the src root.
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
On Icelake we have 6 SSP ports, but we only enable
registers for 3 of them. Let's enable all.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Add topology file sof-glk-da7219-kwd.m4 which is used for Keyword
Detection feature integrated on GLK platform.
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Kconfig has an entry for COMP_KPB but it isn't used for building. Add
a suitable clause to CMakeLists.txt.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
We are calling comp_get_drvdata() in test_keyword_set_default_config(),
so we should move comp_set_drvdata() before that in test_keyword_new(),
to avoid getting wrong private pointer for the component.
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Fixes DW-DMA interrupt handling for pipelines working
on different DSP cores. We are now keeping the track
of registered DMA channels per core and handling them
per core basis.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Sets separate system runtime heap structures for every slave core.
Previously it only allocated one structure per all the slave cores,
which caused wrong allocations.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Timer will be reset when DSP is powered down. So the time stamp of trace
log will be reset after resume. Get time stamp from kernel and adding it
as a shift of time stamp can avoid the reset.
Signed-off-by: Bard liao <yung-chuan.liao@linux.intel.com>
This change gathers some of the information inside of the DAI drivers,
which was previously inferred using external logic.
Signed-off-by: Slawomir Blauciak <slawomir.blauciak@linux.intel.com>