This patch updates the IPC check, allocation and copy for new()
to similar as in normal SOF components. The previous code caused
pipeline_comp_params() in pipeline.c to get uninitialized data.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Removes dedicated stacks for medium lvl interrupts
as switching between different levels of irq doesn't
work correctly and requires more complicated
context switch implementation. We already have stack
per core used for runtime and level 1 interrupts and
currently its size is enough to also support other
irq levels (see UP arch).
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
This patch adds to SRC for timer based scheduling capability to
determine in copy() the number of frames to process. Due to
potentially high computational load the max amount to process is
limited to just exceed the nominal number of frames per
scheduling rate. It prevents SRC to be preempted due to too long
processing time and cause pipeline xruns in the start of playback
when the buffers contain a large number of frames.
The pre-fill of samples in first copy() is removed since the just
above period length of data processing target avoids the sink
buffer to get too small number of frames for the downstream
pipeline.
The currently happening bad metallic sound with SRC in pipeline
is fixed by this patch.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Component is registered in function added to shared lib's constructors.
We no longer call init found with dlsym, instead we delay delay
dlopen until we want to register comp.
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
All components should be added after sys_comp_init,
to be able to register themselves.
Dai and host are not used so it's better to just
remove them.
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
Unification in setting mclk and bclk in ssp_config() for cavs platform.
Now ssp clk information are placed in include/platform/clk-map.h. I've
added also possibility to select PLL Fixed clock as a mclk and bclk
source for cavs platforms.
issue: #560
Signed-off-by: Bartosz Kokoszko <bartoszx.kokoszko@linux.intel.com>
Refactor by replacing specific CONFIG_{cavs_platform}
defines by CONFIG_CAVS define.
Signed-off-by: Bartosz Kokoszko <bartoszx.kokoszko@linux.intel.com>
Add one argument in test-tone-playback.m4 to fix the building error
of insufficient PIPELINE_ADD arguments.
Signed-off-by: Xun Zhang <xun2.zhang@intel.com>
This commit will change the order of functions in panic_rewind() to fix SOF_IPC_PANIC_STACK in dump_stack().
Thats because arch_dump_regs() function is not able to make a 100% safe return
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@linux.intel.com>
This patch adds to copy() function capability to handle any number
of frames with circular source and sink buffers. The number of
frames to process is retrieved with new helper function
comp_get_copy_limits().
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch determines the frame format for component depending on
stream direction. In playback it is determined from source buffer
and in capture from sink buffer. The errors handling in prepare()
is improved.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch adds to copy() function capability to handle any number
of frames with circular source and sink buffers. The number of
frames to process is retrieved with new helper function
comp_get_copy_limits().
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch determines the frame format for component depending on
stream direction. In playback it is determined from source buffer
and in capture from sink buffer. The errors handling in prepare()
is improved.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch adds into component.c/h an utility function and
a data structure to simplify audio component's copy() method code.
The do-nothing function pipeline_xrun() is added to avoid cmocka test
fail due to adding function comp_get_copy_limits().
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Adds check if optional comp_ops are available.
This patch also adds assert for mandatory ops.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Use the SOF project root directory in get_abi.sh to read the
ABI macros instead of using the relative path.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Activated by '-r' option. Useful for intermediate log
processing when the output is used as an input for another
tool. No headers, tokens separated by single spaces,
component ids concatenated with component name to
still produce a single token if present.
Signed-off-by: Marcin Maka <marcin.maka@linux.intel.com>
This file is useful to visualize memory map of the fw image
with much more details than using just the aggregated data
available from the .ri file manifest.
Signed-off-by: Marcin Maka <marcin.maka@linux.intel.com>
We can add ABI information to the Manifest section. So kernel can
check if the topology is compatible with the kernel.
Signed-off-by: Bard liao <yung-chuan.liao@linux.intel.com>
Abort build if not all mandatory arguments are passed to
the macros. This should help to catch invalid usage.
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
The used memcpy_s() has wrong size for destination. It causes the
prepare() method to fail later in component life cycle into sink buffer
resize due to zero config->periods_sink value. This patch fixes the
fail of pipeline instantantion with IIR and FIR EQ components.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>