This patch fixes the bug of runtime & buffer memory heap initialization,
and sets the correct base address for each map.
Signed-off-by: Libin Yang <libin.yang@intel.com>
Implemented set of macros for pipelines to allow reporting of pipeline
and component IDs. Refactor all traces to provide useful, human readible
messages.
Signed-off-by: ArturX Kloniecki <arturx.kloniecki@linux.intel.com>
2 arbitrary IDs may now be passed to specialized versions of
trace_event macro: trace_event_with_ids. Also optimized runtime
stack usage of _trace_event functions.
Signed-off-by: ArturX Kloniecki <arturx.kloniecki@linux.intel.com>
t flag is used to allocate a pseudo-TTY, but in some cases pseudo-tty is
not support. Removed for more useage.
Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
The problem could be heard with extremely loud music content. The
32x32 saturating multiply function works for 32 bit output but
the result will overflow when less number of bits are used from output.
This patch adds to format.h rounded 32x32 multiply inline functions for
saturated s24 and s16 formats. The generic volume function is updated
to utilize them and the code structure is cleaned for easier maintenance
and simpler look.
The format.h file is cleaned up with function parameter indents and
remove of redundant code in saturate function.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Added macro functions to make repetitive, nearly identical functions more maintainable via metaprogramming. They generate code in pre-compile, conceptually similar to C++17 if-constexpr. sof/trace, host/trace: rewrote _trace_event/d+ functions using preproc.h. test/cmocka/include/test_group_generator: rewrote macros to not conflict with new ones. Added unit tests to check whether more advanced and less obvious macros do in fact work.
Signed-off-by: Michal Jerzy Wierzbicki <michalx.wierzbicki@linux.intel.com>
The dmic params struct should be allocated in RZONE_RUNTIME
instead of RZONE_SYS so that it can be freed. This
fixes the DSP panic caused while it is freed after setting
the DMIC config.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Extract fw_version from fw_ready section of elf and include it in
header of .ldc file to allow verification by sof-logger.
Signed-off-by: ArturX Kloniecki <arturx.kloniecki@linux.intel.com>
System heap is one time allocate only meant for init and not for freeing.
Panic if someone attempts to free system heap.
Provide pointers and cpu core ID for any failures in trace .
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Wrong result may impact pause/release command handlers running unaligned
with work queue tick.
Signed-off-by: Marcin Maka <marcin.maka@linux.intel.com>
This is done in order to place fw_version, part of fw_ready message,
in both .ri and .ldc files, for later verification of compatibility
of trace logs reported by dsp with .ldc file parsed together by logger.
Signed-off-by: ArturX Kloniecki <arturx.kloniecki@linux.intel.com>
Added assembly macros to control state of LDO for LP and HP SRAM.
Macros are used during power down procedure to properly handle LDO state.
LDO handling sequence in power down procedure is specific for cAVS 1.5.
Signed-off-by: Lech Betlej <lech.betlej@linux.intel.com>
This patch adds definition of CONFIG_HOST for SOF host version build
and selects for SRC the better quality and full conversions set in
such case.
The problem with default for gcc was that the conversions set for
non-optimized xtensa gcc is very limited and the quality has been
lowered to save resources. Hence the testbench creates huge amount
of fails without this change. With this patch the SRC test tracks the
quality of coefficients for optimized HiFiEP/HiFi3 version code.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
In dtrace_add_event function I've added handling
dma trace buffer overflow. If there is not enough
memory, log will be dropped. Amount of dropped entries
is counted and it will be logged.
Signed-off-by: Bartosz Kokoszko <bartoszx.kokoszko@linux.intel.com>
The internal work queue runs independently at a steady rate,
which caused the first DMA copy to be late in relation to DMA start.
Signed-off-by: Slawomir Blauciak <slawomir.blauciak@linux.intel.com>
host dma and link dma work in decouple mode for SOF + HDA codec.
Now allocate host dma and link dma channel in host and set them
in FW individually.
Signed-off-by: Rander Wang <rander.wang@linux.intel.com>