This patch enables clock gating in configurations of a ace platforms.
With CONFIG_ADSP_IDLE_CLOCK_GATING enabled clock gating is always
enabled during WAITI.
Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
Fix the IPC3 incompatible pointer type passing 'struct
timestamp_data *' to parameter of type 'struct dai_ts_data *',
which is found by ./scripts/fuzz.sh test.
Signed-off-by: Andrula Song <andrula.song@intel.com>
Clean up some cut/paste code that had spread around, replacing it with
a simpler "comp_same_dir()" predicate. No behavioral changes, just
refactoring.
Also remove the big comment that was repeated in triplicate. It
explained this as error handling (i.e. it must be broken topology from
which we want to recover), but in fact cross-pipeline widget
connections in modern SOF do run in opposite directions (c.f. echo
cancellation, which need to look at the output stream to process
microphone input, or smart amp devices that do the reverse).
So just explain it as policy: we don't propagate across
opposite-direction pipelines, period. Usages that need them need to
manage their pipeline lifecycles manually.
Signed-off-by: Andy Ross <andyross@google.com>
The module-adapter API has 3 processing modes: raw, stream and
source-sink, and until now only one of them can be implemented by any
module. However, the "modules" module, that loads loadable modules,
has to implement all of them to be prepared to handle any loadable
modules. This adds support for such modules.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Signed-off-by: Rander Wang <rander.wang@intel.com>
Loadable modules are linked, using a linked script, built by a cmake
script. That linker script includes multiple existing linker script
fragments. Each of those fragments defines 1 or more sections and
respective PHDRs. However, some of those scripts, e.g.
common_rodata_linker_script.txt and data_linker_script.txt add
sections to the same rodata_phdr PHDR. This makes the linker
allocate sections in that PHDR twice in the resulting output file:
one copy is real and the other one is filled with zeros. Removing
one of the PHDR definitions solves the problem and removes about
60KiB of empty space from the output file.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
- This test has failed on MTL since it was enabled. Running tests that
we systematically ignore the failure of is much worse than not running
them because it provides a false impression of quality.
- This can cause DSP panics as seen in
https://github.com/thesofproject/sof/pull/8621
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
ipc4
They are done in bind & unbind(). But we need to keep it for ipc3.
Signed-off-by: Marcin Szkudlinski <marcin.szkudlinski@intel.com>
Signed-off-by: Rander Wang <rander.wang@intel.com>
This re-adds imx8ulp to --all platform list. This was removed
in commit 7737efadf4 ("xtensa-build-zephyr.py: remove imx8ulp from --all")
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Rename the variable name used by SOF script with the one expected by the
Zephyr build system for simplicity and consistency.
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
This is a clean up, purpose is declutter headers, toml files,
Readme.md etc per module basis, since today everything is scattered
in current code base.
Signed-off-by: Baofeng Tian <baofeng.tian@intel.com>
We need to build params based on module base config first then we can
verify it since the income params is built for the source of the this
module. In comp_verify_params the params is applied to buffer so the
sequence is vital. And also remove redundant stream_param set.
Signed-off-by: Rander Wang <rander.wang@intel.com>
Currently, the minimum number of channels for the capture PCM
is set to the same value as the maximum number. This restricts
the number of channels supported by the PCM to the maximum number.
This is wrong if we want to allow arecord to work with multiple channel
values. As such, follow the example of "pipe-volume-playback.m4" and
introduce a new macro: LOCAL_CHANNELS_MIN. This will be set to
"CHANNELS_MIN" if said macro is defined, otherwise it will be set to
2.
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
Rename:
- tgl-cavs.toml to tgl.toml
- tgl-h-cavs.toml to tgl-h.toml
Remove the IPC3/IPC4 switch added by commit 6f71808e3e
("xtensa-build-zephyr.py: add ipc4 build support for tgl")
This brings back consistency which is required for the .toml
split (#8490)
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
The main branch hasn't supported IPC3 for tgl for a long time.
Follow-up to commit a17c2823d3 ("xtensa-build-zephyr: remove ipc
option")
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Remove the rest of channels and rate attribute values from pipeline
instamces and remove rate attribute definition from
pipeline-common.conf. There was no channels attribute definition in
pipeline-common.conf, not to mention *_min and *_max attributes.
Signed-off-by: Jyri Sarha <jyri.sarha@linux.intel.com>
This commit removes all defined values for rate, rate_min, rate_max,
channels, channels_min, and channels_max, from all pipeline
definitions under include/pipelines/cavs. The commit also removes them
from the usage examples in the comments.
The removed pipeline level attribute values are obsolete.
Signed-off-by: Jyri Sarha <jyri.sarha@linux.intel.com>
Update Zephyr to bring in total of 290 commits, including
the following related to SOF targets:
0ebeca2eb7d0 intel_adsp: ace: add firmware loading tool
0e73c225bb54 drivers: ssp: Reverted CPA check condition
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
The build of testbench for MTL platform simulation causes this build
fail (rebuilt-testbench -p mtl):
src/audio/module_adapter/module/generic.c:213:6:
error: variable 'ret' is used uninitialized whenever 'if'
condition is false [-Werror,-Wsometimes-uninitialized]
if (md->ops->prepare) {
^~~~~~~~~~~~~~~~
src/audio/module_adapter/module/generic.c:236:9:
note: uninitialized use occurs here
return ret;
^~~
Since it's a possibility to have a module without prepare()
operation, the initialize to zero is added to avoid the
return of undefined value.
Reported-by: Marc Herbert <marc.herbert@intel.com>
Signed-off-by: shastry <malladi.sastry@intel.com>
Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
read module function should only read module,
additional free operation could result in double free scenario
Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
This is a clean up, purpose is de-cluster headers, toml files,
Readme.md etc per module basis, since today everything is
scattered in current code base.
Signed-off-by: Baofeng Tian <baofeng.tian@intel.com>
Added limit of a number of input modules provided in a command line to the
maximum number of supported modules (size of module array / MAX_MODULES)
Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
This was broken from the start when converting the script from shell
script to Python.
A good reference was left in the non-Zephyr script which is still
active: `./scripts/xtensa-build-all.sh -h`
Fixes initial commit 1de3ef3675 ("Rewritten xtensa-build-zephyr.sh to
python")
Signed-off-by: Marc Herbert <marc.herbert@intel.com>
Test both cases - when spanning multiple blocks is allowed and when
it isn't.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>