As reported by gcc.
Fixes: 0b279e06bc. This is a partial, one-line revert of that commit
that decreased the size of this array for no obvious reason.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Add "UPDATE_DISCONNECTED True" property in ExternalProject_Add() so:
- Unit tests can be rebuilt without a network connection
- The code can't change from one build to the next without the developer
being aware.
Found by chance thanks to some network issue.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
The pop noise is generated by invalid data in dma buffer.
Since all buffers are cleared by pipeline_comp_prepare except
dma buffer, so clear it to zero to avoid pop noise.
Signed-off-by: randerwang <rander.wang@linux.intel.com>
This patch initializes early the "next" pointer of
new memory block. This is important because if
further allocation fails (i.e due to not enough
memory available) this block will end up with missing
next pointer so every operatation on linked list of buffers
will likely fail (assuming there is no check for NULL pointer)
Signed-off-by: Marcin Rajwa <marcin.rajwa@linux.intel.com>
This change decreases heap buffer block size from 0x180
to 0x100 bytes. This improves memory usage as often single
block of 0x180 bytes exceeds allocation needs.
Signed-off-by: Marcin Rajwa <marcin.rajwa@linux.intel.com>
This patch increases HEAP_BUFFER_SIZE so more advanced pipelines
can be allocated. Also HEAP_BUFFER_BLOCK_SIZE has been decreased
to allocate buffers with better granuality
Signed-off-by: Marcin Rajwa <marcin.rajwa@linux.intel.com>
This change prevents the IPC error that happens if aplay or
speaker-test uses larger than 64 kB buffer size. The buffer
setting in PCM_CAPABILITIES() is now the same as for low latency
PCM.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch removes the spin_lock() and spin_unlock() calls
from DMIC, HDA, and SSP driver code. The removal avoids a pipeline
stall issue that has been seen to happen in ASRC capture pipelines.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch adds TGL topology for the DUT which has the
following audio configuration:
Max98373 speaker (I2S), ALC5682 headset codec (I2S),
DMIC, 4 HDMI devices.
Signed-off-by: Jairaj Arava <jairaj.arava@intel.com>
Signed-off-by: Sathyanarayana Nujella <sathyanarayana.nujella@intel.com>
Error during conversion should be logged to stderr and to
output file by default. Such a approach will speed up debugging
process when some error with conversion occur in CI.
Signed-off-by: Karol Trzcinski <karolx.trzcinski@linux.intel.com>
Content inside if statement should be indented with only one
tab more that if keyword.
Signed-off-by: Karol Trzcinski <karolx.trzcinski@linux.intel.com>
Currently, after pipeline params propagation, mux/demux processing
function might not be properly set up, if current params mismatch
ones assigned with binary blob during instantiation.
Similar assignment was there originally, but was lost to the history.
Signed-off-by: Artur Kloniecki <arturx.kloniecki@linux.intel.com>
On i.MX8M we don't use SDMA which requires individual interrupts per
channel. Let dma_chan_irq and dma_chan_irq_name fallback to the
controller specific interrupt.
Signed-off-by: Paul Olaru <paul.olaru@nxp.com>
On i.MX8MP the interrupt registers are mapped in the following fashion:
* Interrupts 0-31 at register 0x14
* Interrutps 32-63 at register 0x10
* Interrupts 64-95 at register 0x0C
* Interrupts 96-127 at register 0x08
* Interrupts 128-159 at register 0x04
Interrupts 0-31 map to one of the IRQ_STEER lines, 32-95 to another
and 96-159 to another. To not change the in-driver logic we falsely
shift the interrupts by 32, so 32-63 map to a line, 64-127 to another
and 128-191 to another. Now the valid interrupt numbers are shifted
from 0-160 to 32-191.
We also update REGISTERS_NUM to 6 even though one of the registers will
never be accessed due to bounds checking with RESERVED_IRQS_NUM. In fact
accessing those registers would lead to incorrect behavior.
So we use this kind of reverse mapping similar to on 8QXP/8QM except
that the reserved interrupts, rather than being reserved in hardware,
don't actually exist.
The only remaining effect to consider is that the interrupt numbers
must be shifted from what the datasheet says in order to correctly
register them.
Signed-off-by: Paul Olaru <paul.olaru@nxp.com>
Fixes potential exception while freeing history buffer.
Not all buffers in the linked list are always allocated.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Like other SHARED_DATA objects, this one should have limited visibility
just to pipeline compilation unit.
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
Our guidelines encourage pasting whole quoted string of trace messages
in one line, rather than splitting it across multiple lines, when it
exceeds the regular 80 chars per line limit.
Signed-off-by: Artur Kloniecki <arturx.kloniecki@linux.intel.com>
Thats because probe packet struct is packed and aligned to 1
which will generate a warning (error) with pointer assigning
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@linux.intel.com>
In case of lack of memory to allocate control struct for newly created
buffer, pointer to that buffer was rfree'd instead of proper buffer_free
call, which would have resulted in memory leak. This patch is to address
this issue.
Signed-off-by: Artur Kloniecki <arturx.kloniecki@linux.intel.com>
Implements proper position offset retrieval in order to
update current stream position in mailbox. Previous one
was using pipeline_id in calculations, which has been
failing for bigger values. Lack of error handling has
also been a problem. This new solution uses predefined
list of available offsets and picks the first free from
the list. This way it will fail only if we exceed the
maximum number of simultaneously supported offsets.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Decreases runtime heap size on APL in order to accommodate
enabling larger number of simultaneous features.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Reduces default EDF task's stack size for some platforms,
which have less memory and aren't used for more serious
processing.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
This will create a basic pipeline with a buffer only. Note that
we don't implement a SectionGraph to connect the buffer to its
starting component, we should define it manually.
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
This is basically the same as pipe-dai-playback.m4, but use SCHED_COMP
instead of N_DAI_OUT.
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Merged the documentation of the component api and
infrastructure helpers.
Removed unnesessary dox groups that did not improve readability.
Completed missing dox parts.
Signed-off-by: Marcin Maka <marcin.maka@linux.intel.com>
The current content of component.h is a mix of basic api, common
basic helpers for every component developers as well as advanced
functions and macros used by infrastructure and very specialized
components like host, dai, kpb etc.
This patch moves the advanced part to component_ext.h and keeps
only basic part in component.h to avoid overloading effects
component developers with declarations and code they do not use.
Signed-off-by: Marcin Maka <marcin.maka@linux.intel.com>
Replacing pointers that varies from build to build
with stable uuids makes analysis of traces much easier.
Signed-off-by: Marcin Maka <marcin.maka@linux.intel.com>
Msg size should use its own structure's size.
Only payload should be allocated using passed one.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
This patch removes support for over 48 kHz sample rates and changes
scheduling to every 1 ms to save in buffers sizes. In pipe-pcm-media.m4
the buffers in the pipeline are reduced from 4 to 2 or 3 periods.
These changes should allow the media PCM to work in BYT platform.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Changes ring buffer to use mailbox_get_debug_base() macro.
It points to the same memory region as previously, but it's
defined for all platforms.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>