On D3 entry FW needs to power gate both LP & HP SRAM banks. The power
gating is done from code executed from L1 cache.
Signed-off-by: Lech Betlej <lech.betlej@linux.intel.com>
When host stop fails, it should return the errno.
This patch fixes the coverity the below coverity check issue:
static int host_trigger(struct comp_dev *dev, int cmd)
273{
274 struct host_data *hd = comp_get_drvdata(dev);
275 int ret = 0;
276
277 trace_host("trg");
278
279 ret = comp_set_state(dev, cmd);
280 if (ret < 0)
281 goto out;
282
283 switch (cmd) {
284 case COMP_TRIGGER_STOP:
CID 324978 (#1 of 1): Unused value (UNUSED_VALUE)
returned_value: Assigning value from host_stop(dev) to ret here,
but that stored value is overwritten before it can be used.
285 ret = host_stop(dev);
286 /* fall through /
287 case COMP_TRIGGER_XRUN:
288/ TODO: add attribute to dma interface and do run-time if() here */
289#if defined CONFIG_DMA_GW
value_overwrite: Overwriting previous write to ret with value from
dma_stop(hd->dma, hd->chan).
290 ret = dma_stop(hd->dma, hd->chan);
291#endif
Signed-off-by: Libin Yang <libin.yang@intel.com>
Buffer overflow was possible when mbox traces of varying length were
logged consecutively, near end of the buffer, petentially leading to
next segment of memory being overwritten with garbage.
Also log entry was pasted twice, once to the on-stack buffer, and then
separately to the mailbox. Now data is being copied to both from the same
source.
Also separating this to a function call, reduces overall .text section of FW.
Signed-off-by: ArturX Kloniecki <arturx.kloniecki@linux.intel.com>
Split the larger ABI files into smaller more manageable chunks. Also
split by end user into IPC and user space ABIs.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Use semantic ABI versioning with major, minor and patch versioning
according to https://semver.org/
Also make sure micro version is included in ABI version.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Add a debug option to include build number, date and time into build.
This will be disabled b default so that all builds are reproducible.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Add reserved fields to structures that contain variable length data
sections to allow for future ABI compatibility. Also make all enums
into uint32_t type to prevent compliers treating enum packing
differently.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
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>