Removes debug write from low lvl irq dispatcher in xtos.
It overwrites our FW status in memory window.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Extends system heap for core 0 to match other platforms.
Needed as total size of objects allocated on system heap
constantly changes and causes out of memory during slave
core enablement.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Due to compiler inability to determine compile-time constant value
of a variable, that was used to determine buffer array size,
compiler dynamically allocated memory on stack, which is far from optimal.
Signed-off-by: ArturX Kloniecki <arturx.kloniecki@linux.intel.com>
Less globals.
Path to dynamic dma discovery enabled on platforms that support it.
Avoid linker issues as platform lib still keeps refs to dma
array once probing is deferred (patch is coming).
Signed-off-by: Marcin Maka <marcin.maka@linux.intel.com>
This patch delays FIR initialization until prepare() to avoid unnecessary
initialization for not final channels amount when in idle. It avoids
a number of malloc and free operations. The FIR delaylines allocation
is brought easier visible via addition for FIR delay address and size
pointers to component data. There's no more need to look it up from inside
of FIR channel instances.
The FIR channel bypass feature is now supported with assign of response
number -1 into channel similarly as in IIR. The same change is done
for generic C and optimized FIR cores.
The cache invalidate functions are cleaned up to perform the operation
into single allocated buffer instead of multiple.
FIR reconfigure during playback is prevented due to still incomplete
implementation for runtime changes.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
With some modification in memory alloction, system heap used is enlarged
from 0x16fc to 0x2fcc.
Modify the system heap size to 0xe000 to align with other platforms.
close#274
Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
Include dma.h in alloc.h will cause some error, remove the unneeded
dma.h and add some need header after remove it.
Also move some helper function into alloc.c to avoid some warnings.
Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
The register PS will always be changed due to the IRQ disable.
Store the old PS and dump that value.
Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
Implements shared work queue across multiple cores:
- Work queue with 1 ms tick (will be configurable via IPC).
- Work queue shared across cores based on the same timer.
- Work queue enablement based on the number of active tasks.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
This patch prevents the not supported reconfiguration during playback or
capture. The request is not returned as error because then the kernel
driver will automatically apply the binary command in next idle and the
new response is configured and activated.
Some traces are added to help debugging the driver. The configuration
size is traced and and trace code "eis" is added if the received
configuration has zero length.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
.static_log_entries section is extracted to logs dictionary
to remove xtensa toolchain dependency from logs parser.
Signed-off-by: ArturX Kloniecki <arturx.kloniecki@linux.intel.com>
Update iir and fir to get parameters at the creation time from ipc
message. Parameters are originally sent from user space as part
of the topology.
Also update ipc.h with data members for iir and fir struct.
Signed-off-by: Jaska Uimonen <jaska.uimonen@intel.com>
If a wrong pointer is freed, we may have some memory issues.
Report a error log if pointer is not aligned to the block.
Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>