Apollolake and Cannonlake have some register differences in DW-DMA HW.
Add macros to support those differences.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Allow interrupts to have a parent and child relationship in order to
support nested interrupts between different HW interrupt controllers.
This patch allows child handler to be registered for secondary interrupt
controllers and allow multiple child interrupt sources to share a single
interrupt pin.
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Haswell and Broadwell have some differences with some DMA registers.
Add macros for these bits.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Coverity issue: 254842 Uninitialized scalar variable
The variable will contain an arbitrary value left from earlier
computations.
In parse_page_descriptors: Use of an uninitialized variable (CWE-457)
The elem.src variable is not initialized, but in
dma_trace_host_buffer() the code reads this initialized value.
Break
*e = *elem;
in
e->dest = elem->dest;
e->size = elem->size;
to only access relevant fields.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
This patch updates the pointer cast in host/dai for library build
support for 64-bit arch
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Explicitly comment that the fall through in a switch case is not
a typo to make Coverity warnings go away.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
We don't need set host buffer size in each sg_elem, instead,
we can set it only one time, here set it in params().
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Currently SOF is version as x.y. Add a z so that the version is x.y.z and
can represent different stable versions.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Make install/dist were missing some headers files and dirs. Add them and
make sure version generation works for building from the dist directory
where there is no git versioning information available.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Only compile dma-trace.c when BUILD_DMA_TRACE is true.
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Acked-by: Yan Wang <yan.wang@linux.intel.com>
CONFIG_DMA_TRACE is selected by default. But we should
not do dma trace when CONFIG_DMA_TRACE is not selected
(--disable-dma-trace is added to configure command line),
here add this judgement to fix compiling issue for that
dma trace is not selected.
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Acked-by: Yan Wang <yan.wang@linux.intel.com>
The DAI and host components states must be preserved during pause so that
when normal pipeline positions are used on resume. i.e. pause just looks
like a very long pipeline schedule.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
The circular trace buffer can overflow if too much trace data is sent
before it can schedule a DMA copy to flush the data. This overflow
causes the avail bytes counter to be greater than the buffer size and
means the DMA copy is rescheduled until avail is 0 (repeating old data).
Fix this by resetting avail to 0 when we overflow.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
The DAI and host components states must be preserved during pause so that
when normal pipeline positions are used on resume. i.e. pause just looks
like a very long pipeline schedule.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Fix so that dump stack does not overwrite any debug data and does not
read past the end of the stack.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Initialise the SA during platform init and then notify SA of idle in the
main audio loop.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Add a simple system monitoring agent that can detect when FW does not
execute correctly. The assumption is that FW will always idle from time
to time and this idling can be monitored by the SA. The FW wont idle if
it's thrashing, continually interrupted, continually running work or
continually rescheduling a task.
The SA will emit trace and panic if idle is not entered for a specific time
period.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Fix so that dump stack does not overwrite any debug data and does not
read past the end of the stack.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
This patch changes the condition for limiting the smallest gain to
eliminate a never executed code part when VOL_MIN is defined as zero. The
variable v is unsigned integer so less than zero is not possible.
The functionality is not modified by this patch.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch changes the condition for limiting the smallest gain to
eliminate a never executed code part when VOL_MIN is defined as zero. The
variable v is unsigned integer so less than zero is not possible.
The functionality is not modified by this patch.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This variable is set by the return value of dma_copy_to_host_nowait().
Unsigned type will mislead error checking.
Signed-off-by: Yan Wang <yan.wang@linux.intel.com>
This variable is set by the return value of dma_copy_to_host_nowait().
Unsigned type will mislead error checking.
Signed-off-by: Yan Wang <yan.wang@linux.intel.com>
Add a debug option that can detect deadlock and panic(). The deadlock
detection attempts to acquire a lock several times before giving up
and causing a panic() taht dumps the deadlock details.
Signed-off-by: Liam Girdwwod <liam.r.girdwood@linux.intel.com>