Even though "latest" is being referenced by the current
https://github.com/zephyrproject-rtos/docker-image/tree/072880b3#readme
I've been told it's too "bleeding edge" to be used in CI.
v0.17.3 also has libssl-dev which was the only thing we were missing.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Catching up latest LTS Ubuntu image, 20.04. It is supposed to be minor
upgrade but alsa-lib need to be set default library path,
/usr/lib/x86_64-linux-gnu/. Otherwise topology library loading error
is found for SOF tool build. This is typical error message,
alsatplg: error while loading shared libraries: libatopology.so.2:
cannot open shared object file: No such file or directory.
Signed-off-by: Fred Oh <fred.oh@linux.intel.com>
There was a assumption /etc/apt/apt.conf has apt proxy settings for
the system. This workaround is not required.
Signed-off-by: Fred Oh <fred.oh@linux.intel.com>
Adds pipe-drc-eq-volume-demux-playback.m4 for locating Multiband DRC and EQ
IIR on the path of the internal speaker.
This pipeline will be used by Eldrid first for Audio DRC/EQ offloading
purpose.
Signed-off-by: Pin-chih Lin <johnylin@google.com>
Without this patch codec adapter submenu is displayed after IGO NR
component resulting in something like this:
[*] Codec adapter
[*] IGO NR components
Codec adapter codecs
After this patch is applied the display will be as expected:
[*] Codec adapter
Codec adapter codecs
[*] IGO NR components
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Somehow we only support this configuration for BYT, but there are
Baytrail devices using the same codec.
BugLink: https://github.com/thesofproject/sof/issues/4160
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Failing _in the middle of one log entry_ should really not be treated as
a normal event. The purpose of a logging tool is to find issues, not
hide them.
Don't abort on EOF because of valid use cases like device suspend but
don't do it quietly.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Add a few missing log_err().
Remove calls to ferror() because:
- its return value is a meaningless "non-zero" boolean,
- we don't really care whether the dictionary file is in an error state
or not; an unexpected end of dictionary file is just as bad.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
In general the DMA trace runs until interrupted but there are cases
where it can exit "normally": when reading from a file or stdin, when
some error happens,....
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
The top-level Kconfig has a number of platform and architecture specific
options. For clarity, rename all Xtensa specific options with "XT_"
prefix. Impacted options:
config WAITI_DELAY
config BOOT_LOADER
config HAVE_RESET_VECTOR_ROM
config IRQ_MAP
config INTERRUPT_LEVEL_[12345]
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
In case of a spurious DMIC interrupt flood the active FIFO count
will decrement below 0. Prevent it by checking the current DAI state.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Currently the dai logic will assert if not configured before hw_params.
Fix this so we produce error output only.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Make sure component creation is not tightly coupled to a particular IPC
version. This is mostly a mechanical change of structures being passed
to the comp creation APIs away from IPC specific to general structures.
Highlevel changes
1) Pass a common component data object and a component
specific data object during create().
2) Mark the component IPC derived data as "ipc_config" within the
component device to help developers track the data source origin.
3) Pass component specific data during creation so that componets
can allocate and copy to thier private data.
4) Comp_dev no longer has component specific data appended to it.
Instead we can store all in the comp private data (and hence use the
compiler to access it rather than by developer access methods).
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Add direction to the component attr api. This decouples the host data
from the handler logic.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
schedule_edf_task_cancel() should return 0 or an error code, whereas
k_work_cancel_delayable() returns flags, depending on the state of
the task being cancelled. Return value of schedule_task_cancel()
is never checked so this bug had no negative effect on SOF.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Moved the constant is_2byte if-else check out of while loop. We then have 2
while loops and the constant becomes to be checked once.
Signed-off-by: Pin-chih Lin <johnylin@google.com>
Change to run smart_amp pipelines on DSP core 1, this will help reduce
the core 0 usage and add multi-core to the CI coverage.
Signed-off-by: Keyon Jie <yang.jie@linux.intel.com>
Move the code that sets the scheduling comp for
a pipeline to allow setting it in ipc_pipeline_complete().
This removes the restriction that the scheduling comp must
be set up before the pipeline widget and provides the
flexibility in the kernel to set up the widgets in any order
while parsing topology.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
The delayed work API is deprecated, convert to use the replacement
delayable work API.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Replace sch->domain with a local domain pointer variable on many
occasions.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
With Zephyr timer domain handlers are per-core, therefore
rescheduling has to be performed after each scheduler run, but the
next scheduling tick must be calculated only once.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
In timer_domain_set() timer_domain is a pointer to a single struct
timer_domain object, not an array. Fix potential access beyond the
object memory.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Trying to write back cache on uncached addresses can overwrite data.
Invalidating cache should have no ill effects but isn't very
meaningful either. Disable both.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
When built with Zephyr all memory except stack is sharable: either it
is read-only, or it is accessed via the non-caching address range.
Besides no .shared_data section is actually created under Zephyr,
therefore trying to place data in it leads to linker warnings and
actually moves that data to the caching address range.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Builds a configuration of the max98373-rt5682 topology with AMP_SSP=2
defined and includes the IIR component
Signed-off-by: Ross Chisholm <ross.chisholm@xperi.com>
Some devices are using rt711 only, without amplifiers.
Add the "EXT_AMP" option in sof-tgl-rt711-rt1308.
Signed-off-by: Libin Yang <libin.yang@intel.com>
The key-phrase-buffer (kpb) component can be included in
Zephyr-based builds, but the component is not initialized
properly in the builds.
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>