Adds notifier to core_context, which is the first step
of multicore notifier implementation.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Implements timer driven scheduling by processing
DW DMA data in tasks added to work queue instead
of registering for DW DMA interrupt. Data processing
by default will happen every 1 ms.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Move definitions into header that would be shared between SOF and SOFT.
Paste SOF_ABI_VERSION into FW ready message.
Also remove unused code from uapi/logging.h.
Signed-off-by: ArturX Kloniecki <arturx.kloniecki@linux.intel.com>
This patch adds a single 1024 bytes buffer into heap for e.g. rzalloc()
usage. The FIR EQ code didn't trace the allocation failure so it's added
to see better if this happens. The 1k allocation for PCM samples delay
line is quite typical since a 32 bit 100 tap stereo FIR will need 800
bytes.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Reorganize definitions of macros to enhance visibility of trace_event()
macro. Add proper comment about it's usage.
Fill in missing definitions when TRACE is defined 0, to avoid compilation
issues.
Signed-off-by: ArturX Kloniecki <arturx.kloniecki@linux.intel.com>
Changes method of calculation next work queue tick.
Instead of taking actual time of last tick, lets use
time of requested tick. From my experiments, it can
take up to ~40 cycles from requested time
of interrupt until interrupt handler is executed.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Fixes panic at core power down. Panic happened due to
the waiti check, where we expect waiti to be executed
on irq level 0 and cpu power down happens on idc task
irq level. This is OK, because core is going to be
reset anyway.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Fixes cache issues with multicore processing of multiple pipelines:
- Changes pipeline_cache method as previous implementation
could not work, especially for invalidation.
- Allocates dma and dai private data in uncached memory,
because those resources are shared between different
pipelines, so potentially also between different cores.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
A mechanism similar to the one used for dma applied.
Dai initialization moved to separate unit from the main platform
code for cavs.
Optional dynamic discovery and initialization possible before
making available to other fw units via the lib hub.
SSP count cleaned up for cavs (important pre-work
for clock gating).
Signed-off-by: Marcin Maka <marcin.maka@linux.intel.com>
This patch adds a single 1024 bytes buffer into heap for e.g. rzalloc()
usage. The FIR EQ code didn't trace the allocation failure so it's added
to see better if this happens. The 1k allocation for PCM samples delay
line is quite typical since a 32 bit 100 tap stereo FIR will need 800
bytes.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>