Some bits being missed due to cache coherency. This showed on
on Zephyr due to different cache/uncahe mappings and management.
On Zephyr we invalidate all descripts, clear all DONE bits and write
back. This guarantees all DONE bits are clear for nex LLI.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Some macros are duplicated between SOF and Zephyr meaning we need
to undefine them in the short term until Zephyr and SOF can align
fully.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Fixes build for zephyr. TODO: memcpy_s() header inluces other
generic calls duplicated and colliding in Zephyr hence will need
to separate out in order to include correct header.
Define it locally atm.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
tb_pipeline_params() function takes an argument called ipc_pipe,
which is a pointer and is derefernced in the function to access
a member of structure that pointer is pointing to.
If this pointer is NULL, this leads to Segmentation fault. A
null pointer check is added before the argument is dereferenced.
Signed-off-by: Mohana Datta Yelugoti <ymdatta.work@gmail.com>
This value is one of audio_stream property, so should be
saved in this place to keep data synchronised, and allow
to usage generic function working on audio_stream, like
stream converters.
Signed-off-by: Karol Trzcinski <karolx.trzcinski@linux.intel.com>
This value is always set in dai_new() function, value 0 represents
SOF_IPC_FRAME_S16_LE so such an check doesn't give any value.
Signed-off-by: Karol Trzcinski <karolx.trzcinski@linux.intel.com>
Move the switch check out of the loop, to optimize the
kpb_drain_samples() and speed up the draining itself.
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
This was missed changes after commit
"fedec980: cpu: Export mask with enabled cores".
Without it, edited condition is always false.
Signed-off-by: Karol Trzcinski <karolx.trzcinski@linux.intel.com>
This commit changes SSP bclk rate from 9600000 to
12288000 ind ssp container to 32 bits order to fix
glitch issue.
Signed-off-by: Bartosz Kokoszko <bartoszx.kokoszko@linux.intel.com>
IDC task may be time consuming and has high priority,
what may make other tasks stall. To prevent this it should
have limited cycles budget per systick.
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
IPC task may be time consuming and has high priority,
what may make other tasks stall. To prevent this it should
have limited cycles budget per systick.
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
Add possibility to set budget for EDF tasks.
It's needed to ensure that some long running task will
not stall other tasks.
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
Every core has it's own timer so cpu timer should be
handled for each core independently.
Signed-off-by: Janusz Jankowski <janusz.jankowski@linux.intel.com>
This partially reverts commit 1a8ed6dfd0 PR #3184,
merged on Wed Jul 15 15:22:50 2020 +0100. This reverts just the
rimage part of it.
Commit 1a8ed6dfd0 downgraded rimage from:
from most recent 7317f2af39 ("manifest: set feature mask to 0xffff")
to 3 commits older 9f3f2d7d71 ("headers: Use full path to header")
This upgrades rimage again to newer 7317f2af39
Hopefully fixes (again): #3173
Useful command for these situations:
cd sof; git log -p -- rimage
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
TGL introduces new LDO control register bits - HS2 which
is responsible of LDO2 control. This patch adds this missing
LDO2 settings for TGL HPSRAM memory banks.
Signed-off-by: Marcin Rajwa <marcin.rajwa@linux.intel.com>
Some TGL devices use the same devices and hardware layout and on CML,
reuse. Also remove cml-mono.m4 definition and directly add the define
in the CMakeLists.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
This patch decreases history buffer free size during
real time copies therefore we avoid history data overwrite
when draining is delayed.
Signed-off-by: Marcin Rajwa <marcin.rajwa@linux.intel.com>
This file is no longer maintained and does not work with the SoundWire
drivers, remove.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
This patch removes not used code from edf_scheduler header
file and code which is setting edf scheduler tasks start
time while this is not supported by this scheduler.
Signed-off-by: Marcin Rajwa <marcin.rajwa@linux.intel.com>
This commit simplifies mux processing functions and
does not allow mux to mix channels.
Signed-off-by: Bartosz Kokoszko <bartoszx.kokoszko@linux.intel.com>
This will add DSP residency counters to Debug menu
It introduces generic DSP states R0, R1 and R2 with simple
reporting changes and tracing it in SRAM_REG mailbox.
Number of DSP residency states can be easily extended depending on platform needs.
In initial version CAVS support is added with the following approach:
R0 - in HPRO
R1 - in LPRO
R2 - LPS
with extra priority to R2 (LPS).
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@linux.intel.com>
In renaming of $j -> $platform one instance of variable was missed which
has led to wrong configs being used.
Fixes: 941dfcccb0 ("use switch case")
Signed-off-by: Shreeya Patel <shreeya.patel23498@gmail.com>
Stop drowning and missing other warnings.
Example:
./scripts/checkpatch.pl -g eaf49e26b4bb~0
- 40 "Please update ABI..." warnings
- 2 other warnings including a spelling mistake that were missed.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Add a brief overview of the IPC protocol, message syntax,
byte encoding and command replies. Clarify text in ABI
compatibility section.
Avoid using subsections in group documentation as these are
not included in generated Sphinx output (with Breathe
4.14.1).
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Collect key IPC documentation to header.h and ensure it is
included in public API documentation in the doxygen output.
Specifically move the IPC compatibility rules documented in ipc/handler.c.
This is important information to all IPC implementers for host
and DSP, so should be part of API documentation.
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
dist.cmake is (for now) the only .cmake file that uses GIT_TAG at _cmake
configure time_. This means even "make clean" is not enough for
dist.cmake to take into account some git tag or version change. It's
very confusing because on the other hand "make check_version_h" and
everything else always shows up-to-date git information.
"make rebuild_cache" addresses this situation so mention it in a
warning.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
There are two .tarball-version files. The one generated by the build is
in the build directory so it doesn't need to be in .gitignore. The
other, input one in the source directory lets some (rare) users override
the default values and these users likely don't want to forget about
that override.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Update submodule with two new commits:
* 2156dcb00d rimage.c: add assert(image.adsp->write_firmware[_meu])
* 4348e2a2bd cmake: use CMAKE_BUILD_TYPE and default to Debug
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
It's important to know which pm_runtime_context is related with
given call to pm_runtime* function.
Signed-off-by: Karol Trzcinski <karolx.trzcinski@linux.intel.com>
Before this fix, any random, later git tag like for instance
"releases/jsl/v3.0-rc1" would be picked up and then immediately
discarded and replaced with v0000 because it didn't start with 'v*'
Also log all the versions always and not just when there is already a
.tarball-version file.
Increase --abbrev=12 because --abbrev=4 doesn't seem to make sense.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Clock manegement is important part for power consumption optimization,
what is a task of this module.
Signed-off-by: Karol Trzcinski <karolx.trzcinski@linux.intel.com>
This function will be called from power manager to change current
clock value for sleep time.
Detailed implemnentation may be clock instance dependednt.
Signed-off-by: Karol Trzcinski <karolx.trzcinski@linux.intel.com>