Commit Graph

6499 Commits

Author SHA1 Message Date
Marc Herbert 40c9bb2e30 .github: switch docker image from ':latest' to ':v0.17.3'
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>
2021-05-13 12:00:45 +01:00
Marc Herbert 55025f6343 zephyr/docker-build.sh: remove apt update / install libssl-dev
The Zephyr image has been updated in
https://github.com/zephyrproject-rtos/docker-image/pull/58

This will save some time and even better avoid llvm.org
glitches like this one:

https://github.com/thesofproject/sof/pull/4089/checks?check_run_id=2554961695

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-05-13 12:00:45 +01:00
Ranjani Sridharan 426d7816e2 topology: nocodec: switch to dynamic pipelines
Switch the APL/CNL/ICL/JSL/TGL nocodec topologies to use dynamic
pipelines.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2021-05-13 11:58:06 +01:00
Ranjani Sridharan b371f93c51 topology: hda: re-enable dynamic pipelines
Re-enable dynamic pipelines for HDA topologies.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
2021-05-13 11:58:06 +01:00
Fred Oh 5083b2b73a docker: upgrade base ubuntu image to 20.04
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>
2021-05-12 20:29:37 +01:00
Fred Oh c7a527e4bd Dockerfile: remove apt.conf dependency
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>
2021-05-12 20:29:37 +01:00
Fred Oh cbef494ee6 Dockerfile: add vim and jed to apt install list
Can't imagine editing files without vim or jed.

Signed-off-by: Fred Oh <fred.oh@linux.intel.com>
2021-05-12 20:29:37 +01:00
Fred Oh 4b9fbaf24b docker-run.sh: minor alignment fix
Removed extra spaces.

Signed-off-by: Fred Oh <fred.oh@linux.intel.com>
2021-05-12 20:29:37 +01:00
Fred Oh 77ef08a951 docker-run.sh: set http/https proxy when docker run
Use http/https proxys setting from the host.

Signed-off-by: Fred Oh <fred.oh@linux.intel.com>
2021-05-12 20:29:37 +01:00
Pin-chih Lin 1f68cabafa topology: add drc-eq-volume-demux playback pipeline and default coefs
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>
2021-05-12 13:44:28 +01:00
Daniel Baluta 8c722f0bf3 audio: Fix codec adapter submenu display
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>
2021-05-12 13:14:01 +01:00
fy.tsuo 9ec1039ac5 audio: igo_nr: abstract igo_nr creation API.
Abstract igo_nr creation API.

Signed-off-by: fy.tsuo <fy.tsuo@intelli-go.com>
2021-05-12 13:01:15 +01:00
fy.tsuo 7fa9befd57 topology: sof-tgl-max98373-rt5682: added igonr.
Added sof-tgl-max98373-rt5682-igonr.tplg.

Signed-off-by: fy.tsuo <fy.tsuo@intelli-go.com>
2021-05-12 13:01:15 +01:00
fy.tsuo 3e36f6cf1a config: override: chrome: Added tigerlake_chrome_igonr.config.
Added igonr override config for tigerlake_chrome.

Signed-off-by: fy.tsuo <fy.tsuo@intelli-go.com>
2021-05-12 13:01:15 +01:00
fy.tsuo 2b714ecbba audio: igo_nr: update email address.
Changed the email address of Intelligo Technology Inc.

Signed-off-by: fy.tsuo <fy.tsuo@intelli-go.com>
2021-05-12 13:01:15 +01:00
Pierre-Louis Bossart d430091259 topology: add missing configuration for byt-max99080
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>
2021-05-12 09:23:22 +01:00
Marc Herbert 96f6a7b385 logger: add error messages when failing in the middle of fetch_entry()
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>
2021-05-12 09:22:10 +01:00
Marc Herbert e6f0f8b60f logger: add or fix error handling in read_entry_from_ldc_file()
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>
2021-05-12 09:22:10 +01:00
Marc Herbert fb02c56649 logger: don't sound like the DMA trace can wrap
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>
2021-05-12 09:22:10 +01:00
Marc Herbert 1e64b7e83c logger: fix relative timestamp when re-opening the trace after EOF
Need to reset the (now global) entry number.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-05-12 09:22:10 +01:00
Kai Vehmanen d337c0a9ba kconfig: add a namespace prefix to top-level xtensa specific options
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>
2021-05-11 18:57:37 +01:00
fy.tsuo ea5d9be6a0 audio: igo_nr: Added LICENSE file.
Added legal license file for igo_nr feature.

Signed-off-by: fy.tsuo <fy.tsuo@intelli-go.com>
2021-05-10 15:39:46 +01:00
fy.tsuo 19666007e1 audio: igo_nr: Added a new line.
A new line is missing after variable declaration.

Signed-off-by: fy.tsuo <fy.tsuo@intelli-go.com>
2021-05-10 15:39:46 +01:00
fy.tsuo 9287747f90 audio: igo_nr: Removed ENUM type get/set of Kcontrol.
ENUM handlers have been removed in igo_nr_cmd_get_value
and igo_nr_cmd_set_value.

Signed-off-by: fy.tsuo <fy.tsuo@intelli-go.com>
2021-05-10 15:39:46 +01:00
fy.tsuo ff3c8fec98 audio: igo_nr: Removed NULL assignment of cd.
The NULL initialization of cd is not necessary.

Signed-off-by: fy.tsuo <fy.tsuo@intelli-go.com>
2021-05-10 15:39:46 +01:00
fy.tsuo 60dd8ceef6 audio: igo_nr: Moved struct IGO_PARAMS.
Moved struct IGO_PARAMS from igo_nr.c to igo_nr.h
since sof_igo_nr_config needs it.

Signed-off-by: fy.tsuo <fy.tsuo@intelli-go.com>
2021-05-10 15:39:46 +01:00
Guennadi Liakhovetski 22731744cb dmic: don't decrement active FIFO count below 0
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>
2021-05-10 15:37:13 +01:00
Liam Girdwood 2dc36eb75f topology: add missing codec adaptor type enum
This was missing for some reason. Fix it.

Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
2021-05-10 15:36:07 +01:00
Liam Girdwood 71a5409ea4 dai: dont assert() when DAI is not configured.
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>
2021-05-10 15:36:07 +01:00
Liam Girdwood 80666b7cc7 ipc: component: abstract the component creation API
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>
2021-05-10 15:36:07 +01:00
Liam Girdwood e21c1f31d5 ipc: component: Add direction attribute for component api
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>
2021-05-10 15:36:07 +01:00
Guennadi Liakhovetski beb7d7f93c zephyr: fix schedule_edf_task_cancel() return value
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>
2021-05-10 15:05:40 +01:00
Anas Nashif 1c805dbec9 zephyr: move to new workq APIs
Convert remaining work queue APIs and remove to be deprecated calls.

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2021-05-10 15:05:40 +01:00
Pin-chih Lin 8b40cd0c1a drc: hifi3 implementation for DRC algorithms
Implemented DRC algorithmic functions with hifi3 library.

Signed-off-by: Pin-chih Lin <johnylin@google.com>
2021-05-10 09:54:59 +01:00
Pin-chih Lin 7e471ce18d drc: hifi3 implementation for DRC mathematics
Implemented log, asin, lin2db, and inv functions with hifi3 library in
drc_math.

Signed-off-by: Pin-chih Lin <johnylin@google.com>
2021-05-10 09:54:59 +01:00
Pin-chih Lin f797ff5b75 drc: move constant if-else check out of while loop
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>
2021-05-10 09:54:59 +01:00
Keyon Jie 47d223c09f topology: sof-tgl-nocodec-ci: change to run smart_amp on core 1
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>
2021-05-08 22:43:58 +08:00
Ranjani Sridharan cbf0a1e359 pipeline: fix pipeline's scheduling comp setting
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>
2021-05-08 14:34:19 +01:00
Guennadi Liakhovetski f8172a9b87 zephyr: move timer domain away from a legacy API
The delayed work API is deprecated, convert to use the replacement
delayable work API.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2021-05-08 14:32:40 +01:00
Guennadi Liakhovetski f2f75740f5 ll_scheduler: (cosmetic) simplify pointer dereferencing
Replace sch->domain with a local domain pointer variable on many
occasions.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2021-05-08 14:32:40 +01:00
Guennadi Liakhovetski 2f674127d0 timer_domain: zephyr: fix multi-core scheduling
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>
2021-05-08 14:32:40 +01:00
Guennadi Liakhovetski f8448fec11 timer_domain: fix wrong addressing
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>
2021-05-08 14:32:40 +01:00
Guennadi Liakhovetski bfe7707f37 cavs: disable data cache operations on uncached addresses
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>
2021-05-08 14:32:40 +01:00
Guennadi Liakhovetski bbe046f858 zephyr: no need for explicit memory sharing
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>
2021-05-08 14:32:40 +01:00
Kai Vehmanen 11b9916714 audio: crossover: declare init with UT_STATIC
Allow component to be included in unit tests by using UT_STATIC
in the declaration.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2021-05-08 14:21:52 +01:00
Kai Vehmanen 00fb4e9dba audio: smart_amp: declare init with UT_STATIC
Allow component to be included in unit tests by using UT_STATIC
in the declaration.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2021-05-08 14:21:52 +01:00
Ross Chisholm f706843697 topology: adding IIR component on max98373-rt5682 topology
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>
2021-05-06 17:21:57 +01:00
Libin Yang 7851493534 topology: add sof-adl-rt711 topologies
Add sof-adl-rt711.tplg and sof-adl-rt711-4ch.tplg.

Signed-off-by: Libin Yang <libin.yang@intel.com>
2021-05-06 16:59:52 +01:00
Libin Yang 37c485df36 topology: sof-tgl-rt711-rt1308: add EXT_AMP option
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>
2021-05-06 16:59:52 +01:00
Kai Vehmanen 798226afcf zephyr: fix key-phrase-buffer init in wrapper
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>
2021-05-06 14:45:05 +01:00