Access to objects, defined with a SHARED_DATA attribute should only
be performed, using the platform_shared_get() function at run-time or
using cache_to_uncache_init() at initialisation time.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
cache_to_uncache_init() is needed to convert addresses from cached to
uncached aliases in a preprocessor-friendly way. Add it to all
platforms.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Access to objects, defined with a SHARED_DATA attribute should only
be performed, using the platform_shared_get() function.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Access to objects, defined with a SHARED_DATA attribute should only
be performed, using the platform_shared_get() function.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Access to objects, defined with a SHARED_DATA attribute should only
be performed, using the platform_shared_get() function.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
notify_data is a name of a structure, a field in a structure, a
static object and a local variable in several functions. Use a
different name to at least avoid conflicting static and local
variables.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Access to objects, defined with a SHARED_DATA attribute should only
be performed, using the platform_shared_get() function.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
mn is a name of a structure, a field in a structure, a static object
and a local variable in several functions. Use a different name to at
least avoid conflicting static and local variables.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
pipeline_posn is a name of a structure, a field in a structure, a
static object and a local variable in several functions. Use a
different name to at least avoid conflicting static and local
variables.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Shared objects are placed into a separate section to make sure they
don't share cache lines with core-local data. This must also be done
in single-core configurations because those configurations perform
uncached access and manage cache manually too.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Fix fw panic in ipc4 linux driver test. When dai
and host are in different pipelines, dai pipeline may be
prepared after host pipeline, in this case we can't get
dai position. The pipeline of copier component is set
when pipeline is prepared, now set it in initialization
function to avoid above case.
Signed-off-by: Rander Wang <rander.wang@intel.com>
Current RTNR version( 20220314 ) requires about 320KB heap memory, which is a little bit larger than previous versions.
Signed-off-by: Ming Jen Tai <mingjen_tai@realtek.com>
Move software configuration from Zephyr samples directory
to SOF platforms directory using Zephyr overlay mechanism.
How it works:
1. Gets zephyr board defconfig values
2. Applies Zephyr samples prj.conf values on top of it
3. Then applies our new overlay.conf on top of it
4. Final "summary" of Kconfig settings is written to autoconf.h header
Signed-off-by: Andrey Borisovich <andrey.borisovich@intel.com>
Remove the extra module_process() call when the init_done flag is not
set. Pass all the available bytes to the codec's process callback and
let it handle initialization and processing depending on the number of
bytes available.
Modify all codec implementations to perform init in their first process
callback so as to not break bisect.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Move the check for required data for each process callback into the
individual codec implementation. This is in preparation for removing
in_buff_size from struct module_processing_data eventually.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Progress bar of audio player disappears when it is dragged by
mouse. In this case pipeline is first paused then reset, paused
started again. Cd data is initialized when copier is created and
will not be initialized again after reset operation, so we can't
clear cd data in reset state, only reset stream position and used
dai or host.
Signed-off-by: Rander Wang <rander.wang@intel.com>
Progress bar of audio player disappears when it is dragged by
mouse. In this case pipeline is first paused then reset.Driver
checks the llp position in memory windows by node id. Driver
can't find llp position since fw cleared node id. This patch
reserves node id for pause-reset case and only reset llp position.
The node_id will be cleared when dai is free.
Signed-off-by: Rander Wang <rander.wang@intel.com>
When the ll-scheduler is initialised and its private data is
allocated, all fields of that data have to be initialised. Add a
missing n_tasks initialisation.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Replaced sof timer related functions with Zephyr alternative.
Signed-off-by: Adrian Warecki <adrianx.warecki@intel.com>
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Removed needless ll_timer field from structure zephyr_domain and timer
parameter from function zephyr_domain_init.
Signed-off-by: Adrian Warecki <adrianx.warecki@intel.com>
Function platform_timer_set_delta was replaced with generic
clock_ns_to_ticks. Moved log time delta value from timer structure to the
dma_trace_buf.
Signed-off-by: Adrian Warecki <adrianx.warecki@intel.com>
Waiting for a certain time has been simplified by adding a functions
wait_delay_ms and wait_delay_us. Previously now, its required a conversion
between time to ticks using clock_ms_to_ticks.
Signed-off-by: Adrian Warecki <adrianx.warecki@intel.com>
To provide echo cancelling effect while a stereo signal is played out,
the RTC Audio processing component required to have both left and right
channel as reference.
This CL ensure this is the case.
Signed-off-by: Lionel Koenig <lionelk@google.com>
This restores the performance of the original shell script and makes a
big difference in CI. CI clones over and over again whereas developers
clone rarely and can run a simple git fetch --unshallow.
Don't use --depth 0 to provide more context in the logs and also make it
more obvious that this is a shallow clone and not just git log -n 1.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Running on a mac crashed with "undefined xtensa_tools_version_postfix",
that should not be fatal (there are other toolchains).
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
This reverts commit 819c023d23.
Fix a regression issue on windows.
Component is set to reset status in pipeline_reset, so no
need to propagate reset status to each component.
Pipe_reset may return PATH_STOP of value 1 and this is not
a error status, so we don't return error for this case.
Signed-off-by: Rander Wang <rander.wang@intel.com>
Define fs as signed integer in afe_irq_config to fix cppcheck
warning.
Fixes: 1b7f8ed2a6(drivers: mtk: add afe driver for mtk mt8195)
Signed-off-by: YC Hung <yc.hung@mediatek.com>
rballoc() is used for buffer allocations, no need to use it for
volume internal control structures.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Duplicating all parameters of subprocess.run() is not just tedious and
error-prone, it makes the script compatible only with a range of
specific Python versions.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
In scripts/xtensa-build-zephyr.sh line 199:
if test $platform = tgl-h ; then
^-------^ SC2086: Double quote to prevent globbing
and word splitting.
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
This patch fixes issue in testbench when multiband-drc is executed.
Since the library libsof_multiband_drc.so includes also crossover
and drc component sources the topology component register is done
for drc instead of multiband-drc. Therefore testench executes drc
when multiband-drc run is attempted.
Placement of multiband-drc as last in sources list is a workaround
to fix but recommended now since this impacts only testbench. The
proper fix of moving DRC and Crossover parts to library would be
a much larger change.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch adds build of topologies sof-hda-generic-multiband-drc.tplg
and sof-hda-generic-2ch-multiband-drc.tplg. The processing happens in
pipeline part after mixer. Volume is controlled in PGA before mixer.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch replaces the audio stream read/write frag functions
based source read and sink write operations. The processing is
performed in blocks those are based on number of samples from
audio_stream_samples_without_wrap_s16/s24/32() function.
On TGL-H and stereo 48 kHz playback stream the MCPS is decreased
from 216.8/216.8/216.0 to 201.6/200.4/200.8 for s16/s24/s32
formats. The saving is in average 15.6 MCPS.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
This patch adds functions to retrieve number of PCM samples until
source or sink buffer circular wrap need.
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
Use intel_adsp_cavs20_jsl Zephyr board when building for
Intel Jasper Lake.
BugLink: https://github.com/thesofproject/sof/issues/4539
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Same -u option as the new Python script.
We need this for the new sof/stable-v2.1 branch on
https://github.com/thesofproject/zephyr while our CI has not entirely
switched to the python script yet.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
This script is run from an existing SOF repo that is assumed to be fully
initialized. Updating existing submodules is a potentially destructive
operation.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
The older shell script had a deprecated convenience hack to clone
submodules before building rimage but _only if submodules were missing_!
While trying to preserve that, the new script changed that to an
unconditional git submodule update that can be destructive when
submodules are already present.
Generally speaking, using git and building must always be two very
distinct activities. No one wants the source code to change quietly from
one build to the next.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>