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>
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>
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>
Updates sof_ipc_pipe_new struct to better handle
different time domains:
- Changes "deadline" to "period".
- Changes "timer_delay" to "time_domain".
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
After a recent scheduler update the API has changed: now it requires
task's private pointer to be NULL before calling schedule_task_init()
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Use ctrl data message id to receive and send large binary
blobs over ipc. When first message arrives, reserve memory
for the whole blob.
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
I've removed queue per priority in low latency scheduler.
Now there is only one queue for all priorities. Scheduler adds
tasks to queue in descending order based on ther priority.
Signed-off-by: Bartosz Kokoszko <bartoszx.kokoszko@linux.intel.com>
Adds new status to pipeline to accurately reflect
what is the expectation here. Value of 1 isn't
saying anything.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Adds new component status to accurately reflect
current status. Value of 1 isn't saying much.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
I've changed scheduler invocation in schedule_edf_task_normal()
from generic schedule() to specific schedule_edf() for optimization
(there is no need to use generic functions in specific scheduler
implementation).
Signed-off-by: Bartosz Kokoszko <bartoszx.kokoszko@linux.intel.com>
Fixes playback with DW-DMA. Flow of pipeline copy
has changed, so now we need to preload the whole
buffer before allowing first copy to further
components. Also we need to move dma_copy call
to buffer callbacks to be up to date with data.
This was previosly done only for Host DMA.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
I've remove trace core logic from build when CONFIG_TRACE
is not set with Kconfig. When driver tries to enable traces
in case FW was built without tracing, FW returns error.
Signed-off-by: Bartosz Kokoszko <bartoszx.kokoszko@linux.intel.com>
Fixes DW-DMA copy size calculations for transfers,
which are not using auto reloadable linked lists.
They require manual linked list reload to update
current position, so it should happen before
call to DMA copy.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
I've renamed cavs-version.h header to version.h and
moved it to platform/intel/cavs/include/cavs dir.
Signed-off-by: Bartosz Kokoszko <bartoszx.kokoszko@linux.intel.com>
The switch ID and tone sample rate are defined in kernel files, reflect the
definitions for the firmware
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>