Commit Graph

1718 Commits

Author SHA1 Message Date
Adrian Bonislawski 2ec2c2101b panic: fix faulty panic handling
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>
2019-04-03 21:24:55 +01:00
Seppo Ingalsuo d7b36bf3e4 FIR EQ: Add support for timer based scheduling
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>
2019-04-02 09:53:29 +01:00
Seppo Ingalsuo ddc383e9ef FIR EQ: Fix for pipeline PCM format handling plus code cleanup
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>
2019-04-02 09:53:29 +01:00
Seppo Ingalsuo 7f617947f0 IIR EQ: Add support for timer based scheduling
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>
2019-04-02 09:53:29 +01:00
Seppo Ingalsuo 5e487e013d IIR EQ: Fix for pipeline PCM format handling plus code cleanup
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>
2019-04-02 09:53:29 +01:00
Seppo Ingalsuo 22ecaa41e1 Component: Add comp_get_copy_limits() function for copy() preparations
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>
2019-04-02 09:53:29 +01:00
Tomasz Lauda c14554349f component: add check if optional comp_ops are available
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>
2019-04-01 14:54:43 +01:00
Tomasz Lauda 872a04779e debug: add assert macro
Adds assert macro to easily locate wrong
parameters. If condition is not met we
will panic.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2019-04-01 14:54:43 +01:00
Marcin Maka dc452b2771 cmake: generate map (section header list) file for sof elf
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>
2019-04-01 11:27:29 +02:00
Seppo Ingalsuo a10e69d2f1 EQ: Fix IPC data copy size in new() method in IIR and FIR
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>
2019-03-29 11:01:31 +01:00
Tomasz Lauda 742f83ba2f pipeline: update sof_ipc_pipe_new struct
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>
2019-03-27 21:44:02 +00:00
ArturX Kloniecki 25cd7795cc debugability: extend core dumps to provide AR registers.
Signed-off-by: ArturX Kloniecki <arturx.kloniecki@linux.intel.com>
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@linux.intel.com>
2019-03-27 21:10:48 +00:00
Tomasz Lauda 8847b14440 pipeline: rename status
Renames pipeline status from PPL_PATH_STOP
to PPL_STATUS_PATH_STOP.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2019-03-27 14:28:56 +00:00
Tomasz Lauda b5070847bf component: rename status
Renames status COMP_STATE_ALREADY_SET to
COMP_STATUS_STATE_ALREADY_SET.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2019-03-27 14:28:56 +00:00
Guennadi Liakhovetski d8a6d8fccc ssi-spi: fix a regression, caused by a scheduler-update
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>
2019-03-27 09:31:54 +00:00
Jaska Uimonen c53d745e0a eq: make fir to receive large blobs in parts
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>
2019-03-26 16:28:07 +00:00
Jaska Uimonen 0c232c86e4 ipc: add msg_id and elems_remaining to ctrl data struct
Add members to enable sending and receiving large messages
and bump abi minor version.

Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
2019-03-26 16:28:07 +00:00
Bartosz Kokoszko e5cf39ff9c schedule: ll: add ll specific traces
Signed-off-by: Bartosz Kokoszko <bartoszx.kokoszko@linux.intel.com>
2019-03-26 16:20:34 +00:00
Bartosz Kokoszko 5ea5da80dd schedule: ll: refinement low latency queue
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>
2019-03-25 14:25:10 +00:00
Janusz Jankowski d33f8c99a1 test: rename CHECK to UNIT_TEST
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-03-25 14:11:47 +00:00
Tomasz Lauda 939f500c86 pipeline: add PPL_PATH_STOP status
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>
2019-03-25 13:52:46 +00:00
Tomasz Lauda 22f4bd9c18 component: add COMP_STATE_ALREADY_SET status
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>
2019-03-25 13:52:46 +00:00
Bartosz Kokoszko 090208a481 edf: using specific schedule_edf() instead of schedule()
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>
2019-03-25 14:34:22 +01:00
Janusz Jankowski 11ccd01588 include: remove unused test file
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-03-25 14:32:36 +01:00
Janusz Jankowski 60e609cc99 mixer: make init unit-testable
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-03-24 13:42:10 +00:00
Janusz Jankowski 73cfb9b691 kpb: make init unit-testable
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-03-24 13:42:10 +00:00
Janusz Jankowski 9310135020 include: add header for unit testing
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
2019-03-24 13:42:10 +00:00
Curtis Malainey 509990620b volume: make init function static
Fixes checkpatch error that slipped in

Signed-off-by: Curtis Malainey <cujomalainey@google.com>
2019-03-24 13:42:10 +00:00
Curtis Malainey e1a757bd19 tone: make init function static
Fixes checkpatch error that slipped in

Signed-off-by: Curtis Malainey <cujomalainey@google.com>
2019-03-24 13:42:10 +00:00
Curtis Malainey 0056599b6e switch: make init function static
Fixes checkpatch error that slipped in

Signed-off-by: Curtis Malainey <cujomalainey@google.com>
2019-03-24 13:42:10 +00:00
Curtis Malainey 85f5cec364 src: make init function static
Fixes checkpatch error that slipped in

Signed-off-by: Curtis Malainey <cujomalainey@google.com>
2019-03-24 13:42:10 +00:00
Curtis Malainey 287ba112e3 selector: make init function static
Fixes checkpatch error that slipped in

Signed-off-by: Curtis Malainey <cujomalainey@google.com>
2019-03-24 13:42:10 +00:00
Curtis Malainey fe8ec158a0 mux: make init function static
Fixes checkpatch error that slipped in

Signed-off-by: Curtis Malainey <cujomalainey@google.com>
2019-03-24 13:42:10 +00:00
Curtis Malainey 94cf6677d8 mixer: make init function static
Fixes checkpatch error that slipped in

Signed-off-by: Curtis Malainey <cujomalainey@google.com>
2019-03-24 13:42:10 +00:00
Curtis Malainey 035c24fe7d kpb: make init function static
Fixes checkpatch error that slipped in

Signed-off-by: Curtis Malainey <cujomalainey@google.com>
2019-03-24 13:42:10 +00:00
Curtis Malainey 150294b248 host: make init function static
Fixes checkpatch error that slipped in

Signed-off-by: Curtis Malainey <cujomalainey@google.com>
2019-03-24 13:42:10 +00:00
Curtis Malainey f25db96012 eq: iir: make init function static
Fixes checkpatch error that slipped in

Signed-off-by: Curtis Malainey <cujomalainey@google.com>
2019-03-24 13:42:10 +00:00
Curtis Malainey a9969dbee4 eq: fir: make init function static
Fixes checkpatch error that slipped in

Signed-off-by: Curtis Malainey <cujomalainey@google.com>
2019-03-24 13:42:10 +00:00
Curtis Malainey 1ea6d48e3c dai: make init function static
Fixes checkpatch error that slipped in

Signed-off-by: Curtis Malainey <cujomalainey@google.com>
2019-03-24 13:42:10 +00:00
Adrian Bonislawski 30f42d808e platform: merge platform.h and plat_cfg.h
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@linux.intel.com>
2019-03-24 13:32:35 +00:00
Tomasz Lauda 52f99da480 eq_fir: fix dest_size in memcpy_s calls
Fixes dest_size in couple of memcpy_s calls.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2019-03-22 11:31:16 +00:00
Tomasz Lauda 3ffc2eb308 eq_iir: fix dest_size in memcpy_s calls
Fixes dest_size in couple of memcpy_s calls.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2019-03-22 11:31:16 +00:00
Jakub Dabek f8703cd32c memory: changed memcpy calls to memcpy_s in audio lib
Signed-off-by: Jakub Dabek <jakub.dabek@linux.intel.com>
2019-03-21 16:51:51 +00:00
Tomasz Lauda de469547ed host: fix playback with DW-DMA
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>
2019-03-21 16:38:27 +00:00
Bartosz Kokoszko 240cd39a22 trace: removal trace logic when CONFIG_TRACE is not set
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>
2019-03-21 16:32:31 +00:00
Bartosz Kokoszko e6f2b1fb35 trace: add traces defines to kconfig.
Add TRACE, TRACEV, TRACEE, TRACEM to Kconfig.

Signed-off-by: Bartosz Kokoszko <bartoszx.kokoszko@linux.intel.com>
2019-03-21 16:32:31 +00:00
Tomasz Lauda 7b7e15d678 dai: fix getting DW-DMA copy size for DMA_CB_TYPE_LLIST
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>
2019-03-21 15:52:35 +00:00
Tomasz Lauda 4aee58f6cb trace: fix DMA setting for traces
Fixes DMA setting for traces transferred using
DW-DMA. They are currently using IRQ mode.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
2019-03-21 15:51:37 +00:00
Bartosz Kokoszko eed3822b18 sof: include: displacement of cavs-version header
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>
2019-03-21 15:49:00 +00:00
Pierre-Louis Bossart d520821b1b uapi: tokens: align with kernel definitions
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>
2019-03-21 15:35:38 +00:00