Removed 5 parameter trace_event macro implementation.
Removed inline
specifier from __panic function definition.
I've observed, that recent growth of .text section size was caused
by 2 major factors: 2 instances of inlined __panic function
yielding 1.7kB and recent addition of 5 param trace_event
yeilding 0.5kB of used .text. section space.
Signed-off-by: ArturX Kloniecki <arturx.kloniecki@linux.intel.com>
The previous commit introduced a bug in this volume function. The input
parameter for s24 PCM samples must be int32_t. The bug causes for s24 to
s16 converted audio very low signal level and noise due to overflows.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
I've added printing component topology number
(i.e. pipeline_id.component_id). If id's are not
defined logger will not print any values.
e.g.:
CORE LEVEL COMP_ID TIMESTAMP ...
0 2 HOST 487048.229167 ... (not defined id's)
0 2 PIPE 1.3 591235.052083 ... (defined id's)
Signed-off-by: Bartosz Kokoszko <bartoszx.kokoszko@linux.intel.com>
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>
I've added two logger flags for firmware version verification:
-e - enables checking fw version with default file
-v ver_file - enables checking fw version with ver_file file
Signed-off-by: Bartosz Kokoszko <bartoszx.kokoszko@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>