If it's possible, each line with comment to struct field
should be aligned, to keep code style consistent.
Signed-off-by: Karol Trzcinski <karolx.trzcinski@linux.intel.com>
It allows to comparison this full UUID value with value in IPC message,
what is important step to create new component from topology by their
UUID value.
Signed-off-by: Karol Trzcinski <karolx.trzcinski@linux.intel.com>
UUID entries, related with components from topology,
should be loaded into SRAM to allow runtime comparison with
value in IPC message during component creation.
UUID of the components whose are not created by IPC message
are not needed in runtime, so there should not be there to
reduce memory consumtion - as it is now. It's untouched.
Signed-off-by: Karol Trzcinski <karolx.trzcinski@linux.intel.com>
Each component driver should have assigned UUID value and trace
contecxt, to allow generic component creation routine usage.
It's espiecially important for trace context, because it's
accessed by pointer so dereferencing NULL pointer will lead to
segmentation fault.
Signed-off-by: Karol Trzcinski <karolx.trzcinski@linux.intel.com>
Cleanups MCLK and MN related functionality. Moves some defines
from ssp to mn header. Also hides some definitions in platform
specific headers.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Check if re-register failed in dma_domain_unregister_owner.
Error reported by clang static analyzer.
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
Implements new DMIC_HW_VERSION 3. It requires to set ipm values
no matter how many controllers are implemented.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
The stream parameters set in the pipeline were mismatched with
the DMIC hardware configuration, which resulted in failures.
Signed-off-by: Slawomir Blauciak <slawomir.blauciak@linux.intel.com>
To allow changing trace level of global elements, like
system agent or component driver, than it must be possible
to find corresponding trace context.
It is the first step to allow iterating over the trace context
entries and find what we are looking for. Linker variables
_trace_ctx_start and _trace_ctx_end will be needed to know
this section size in runtime code.
Signed-off-by: Karol Trzcinski <karolx.trzcinski@linux.intel.com>
That's too extreme and was probably accidental because the rest of
commit d721347ad9 ("gitignore: ignore boot loaders and binaries.")
seems not related at all.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
As documented in https://docs.zephyrproject.org/2.2.0/guides/modules.html,
Zephyr and Kconfiglib support merging Kconfig menus across multiple git
repos. This requires relative inclusion paths.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
This will prevent removing the component if not in a proper state
as required in our security requirements
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@linux.intel.com>
Extracts IDC protocol related code to common file.
Platform specific driver has just the implementations
for hardware specific operations.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Port commit a716056c4b ("tgl: use additional CHANNEL
define in rt711 + rts1308 tplg") to all tgl sdw platforms
Signed-off-by: Rander Wang <rander.wang@intel.com>
Each buffer instance should use own trace context to allow
setting different log level per buffer.
Signed-off-by: Karol Trzcinski <karolx.trzcinski@linux.intel.com>
Each pipeline instance should use own trace context to allow
setting different log level per pipeline.
Signed-off-by: Karol Trzcinski <karolx.trzcinski@linux.intel.com>
Each component instance should use own trace context to allow
setting different log level per component.
Signed-off-by: Karol Trzcinski <karolx.trzcinski@linux.intel.com>
FIFO warning flag signals if SAI FIFO is empty (for transmitter)
or full (for receiver) and it is cleared automatically if the condition
is removed.
We already use FIFO request flag to signal DMA for data availability
so there is no need to enable FIFO warning DMA flag.
This aligns SAI firmware driver with SAI Linux kernel driver.
Also, this mitigates a problem in the SDMA driver where multiple
starting and stopping aplay in a loop results in an I/O error
after some time.
Investigation should continue to fix the SDMA driver.
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Initializes HP SRAM based on PLATFORM_MEM_INIT_AT_BOOT definition
instead of checking for cAVS version.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Stops checking for CONFIG_BOOT_LOADER in boot_loader module.
It makes no sense, since this file is only compiled when
CONFIG_BOOT_LOADER is set.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Removes from bootloader duplicated memory power gating functions
and uses existing implementations from pm_memory.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Refactors pm_memory in order to add functionality to also
power gate LP SRAM in a similar fashion.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Moves the entire pm_memory header from public directory
to cAVS specific one. Power management for memory is
currently done only for cAVS, so there is no point in
keeping one function public.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Increases default stack size for EDF tasks. Some of the
IPC operations are very stack heavy, so let's make sure
they won't exceed stack.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Prevents DAI config to be executed double for SSP.
Along with this change we need to share dai private data.
From now on master core will be always responsible for setting
dai config on dai and it may happen that private data is allocated
by slave core.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Error messages should deliver as much information as possible
to speed up the debug process. Otherwise it relies on presence
of other info-level information in the log and requires scrolling
back to find out things that could be discovered immediately.
Signed-off-by: Marcin Maka <marcin.maka@linux.intel.com>
Frequency response measure script mls_freq_resp.m could fail due to
network or ssh execution delays. This patch increases the recording
time by 3 seconds to ensure that remote device playback via ssh for
the relevant parts is within the local capture window.
Also the start marker search is done for first 5 seconds of captured
test signal. The script exits cleanly if the start and end markers
were not found and the captured waveform is shown to help understand
the possible network delays caused issue.
The BSD-3-Clause text is updated to short version.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
In new version of rimage software, headers are located in
rimage/src/include/rimage directory to make it easily accessible
from another source code without include path collision.
Signed-off-by: Karol Trzcinski <karolx.trzcinski@linux.intel.com>
It is a special --no_cse mode useful in case the cse part is
unparsable for any reason. Cse manifest parsing is skipped and
Adsp part is parsed only.
Signed-off-by: Marcin Maka <marcin.maka@linux.intel.com>
Running with -v option now gives more information about
the parsing progress which makes debug easier.
Signed-off-by: Marcin Maka <marcin.maka@linux.intel.com>
CSS Manifest header must be created with file offset adjusted
by extended manifest size to loop through extensions correctly.
Signed-off-by: Marcin Maka <marcin.maka@linux.intel.com>
Strings are padded with zeroes in the binary input file,
so rstrip used after decode removes them, otherwise such
a string cuts the output if inserted as argument in the
middle.
Signed-off-by: Marcin Maka <marcin.maka@linux.intel.com>
Information about modules memory occupation is displayed
when memory layout of the target platform is known
(determined by the fw binary name).
Signed-off-by: Marcin Maka <marcin.maka@linux.intel.com>
Additional parameters added:
no_modules - works like previous 'headers' option where
modules are excluded from output
no_headers - excludes cse manifest headers from output
and dumps info about the adsp modules only
Signed-off-by: Marcin Maka <marcin.maka@linux.intel.com>
There might be binaries where cse mft is not included.
And adsp mft begins at std offset 0x2000 from the optional
extended manifest.
Signed-off-by: Marcin Maka <marcin.maka@linux.intel.com>
Moves timestamp functionality into separate driver. This way every
future platform can have its own implementation.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Compiles out M/N divider related functions based on
whether platform supports them or not. Currently
all cAVS platforms support dividers.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Shared ssp driver implementation between all possible Intel
platforms and not only cAVS. Currently depends only on cAVS,
since all other supported platforms don't support it.
Implementations for Baytrail and Haswell stay in their respective
platform directiories. It's built based on CONFIG_INTEL_SSP.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Shares dmic driver implementation between all possible Intel
platforms and not only cAVS. Currently depends only on cAVS,
since all other supported platforms don't support it.
It's built based on CONFIG_INTEL_DMIC.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Shares alh driver implementation between all possible Intel
platforms and not only cAVS. Currently depends only on
cAVS, since all other supported platforms don't support it.
It's built based on CONFIG_INTEL_ALH.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Shares hda driver implementation between all Intel platforms and
not only cAVS. Currently it depends only on cAVS, since no other
supported Intel platform has the hardware. It's built based on new
CONFIG_INTEL_HDA, which is mandatory for cAVS and not user selectable.
Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>