Commit Graph

199 Commits

Author SHA1 Message Date
Jyri Sarha d52941b1ed app: add new debug_stream_overlay.conf
Add overlay to build debug_stream protocol over a debug window slot,
make room for the slot, and send thread info data through it.

Signed-off-by: Jyri Sarha <jyri.sarha@linux.intel.com>
2024-10-07 22:22:55 +03:00
Laurentiu Mihalcea beb1e68e79 app: boards: add DTS and config overlay for imx95
Add DTS and configuration overlay for the imx95 platform.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2024-10-04 11:14:58 +03:00
Kai Vehmanen b70d2bf54d app: winconsole_overlay: disable SOF telemetry perf measurements
SOF telemetry performance measurement tools use the same window 3 as the
DSP winstream log backend, so the two cannot be enabled at the same
time.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2024-09-26 18:31:18 +01:00
Kai Vehmanen 6f243d9c18 app: shell_overlay: disable SOF telemetry perf measurements
SOF telemetry performance measurement tools use the same window 3 as the
DSP winstream log backend and the latter is enabled in the shell
overlay. Disable the conflicting feature.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2024-09-26 18:31:18 +01:00
Tomasz Leman 7836735a69 config: Enable PROBE module for PTL platform
The patch adds the necessary configuration directives to include the
PROBE module and sets the maximum number of DMA channels for probing to
2, aligning with the configurations of other platforms like MTL and LNL
where the PROBE module is already enabled. With this change, the PROBE
module will be built into the firmware for the PTL platform, allowing
the test suite to successfully execute probe-related tests and ensuring
feature parity across different platforms.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2024-09-26 18:27:05 +01:00
Grzegorz Bernat 3304e6f34d app: board: Change the soc from ace30_ptl to ace30
Renamed soc from ace30_ptl to ace30.
We were previously using the wrong soc name.
The correct name is ace30.

There is only one ptl platform, but there can be several ace30 platforms.

Signed-off-by: Grzegorz Bernat <grzegorzx.bernat@intel.com>
2024-09-26 15:59:28 +01:00
Tobiasz Dryjanski 1e5b284ea2 I/O performance monitor: enable I/O performance measurements
Enable I/O performance for mtl and lnl

Signed-off-by: Tobiasz Dryjanski <tobiaszx.dryjanski@intel.com>
2024-09-18 15:59:54 +03:00
Guennadi Liakhovetski 3659b69d97 mux: enable building as an llext module
Add support for LLEXT building to mux.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-09-18 13:24:49 +03:00
Guennadi Liakhovetski 99a35a1798 google_rtc_aec: enable building as an llext module
Add support for LLEXT building to google_rtc_audio_processing. Only
building in a stub configuration is supported, linking with a
prebuilt library should be implemented separately.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-09-18 13:24:49 +03:00
Guennadi Liakhovetski 1b38612460 mfcc: enable building as an llext module
Add support for LLEXT building to mfcc.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-09-18 13:24:49 +03:00
Guennadi Liakhovetski 661c05dfc5 aria: enable building as an llext module
Add support for LLEXT building to aria.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-09-18 13:24:49 +03:00
Guennadi Liakhovetski e206134083 multiband_drc: enable building as an llext module
Add support for LLEXT building to multiband_drc.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-09-18 13:24:49 +03:00
Guennadi Liakhovetski a216c1a793 tdfb: enable building as an llext module
Add support for LLEXT building to tdfb.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-09-18 13:24:49 +03:00
Guennadi Liakhovetski 26a02fc434 igo_nr: enable building as an llext module
Add support for LLEXT building to igo_nr. Only building in a stub
configuration is supported, linking with a prebuilt library should be
implemented separately.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-09-18 13:24:49 +03:00
Guennadi Liakhovetski 3800f23f3f dts: enable building as an llext module
Add support for LLEXT building to dts. Only building in a stub
configuration is supported, linking with a prebuilt library should be
implemented separately.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-09-18 13:24:49 +03:00
Guennadi Liakhovetski 15d503075f dcblock: enable building as an llext module
Add support for LLEXT building to dcblock.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-09-18 13:24:49 +03:00
Guennadi Liakhovetski a33b955f64 selector: enable building as an llext module
Add support for LLEXT building to selector.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-09-18 13:24:49 +03:00
Guennadi Liakhovetski 5b23a37d88 crossover: enable building as an llext module
Add support for LLEXT building to crossover.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-09-18 13:24:49 +03:00
Guennadi Liakhovetski 095e2d674c google_ctc_aec: enable building as an llext module
Add support for LLEXT building to google_ctc_audio_processing. Only
building in a stub configuration is supported, linking with a
prebuilt library should be implemented separately.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-09-18 13:24:49 +03:00
Guennadi Liakhovetski 3136819473 rtnr: enable building as an llext module
Add support for LLEXT building to RTNR. Only building in a stub
configuration is supported, linking with a prebuilt library should be
implemented separately. So far no platform is switched to building
RTNR as a module.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-09-18 13:24:49 +03:00
Tobiasz Dryjanski 1872a109b9 performance monitor: change timer source to ccount for lnl
Use ccount for performance measurement for lnl to have a better comparison with
reference firmware.

Signed-off-by: Tobiasz Dryjanski <tobiaszx.dryjanski@intel.com>
2024-09-18 10:08:21 +03:00
Tobiasz Dryjanski 3be9f32ecd performance monitor: change timer source to ccount for mtl
Use ccount for performance measurement for mtl to have a better comparison with
reference firmware.

Signed-off-by: Tobiasz Dryjanski <tobiaszx.dryjanski@intel.com>
2024-09-18 10:08:21 +03:00
Kai Vehmanen 55ecc19ab6 app: intel_adsp_ace15_mtpm.conf: set DRC as built-in
Set DRC back as built-in (CONFIG_COMP_DRC=y) for these platforms.
DRC is now part of many common upstream topologies and as MTL
is a shipping platform, we cannot guarantee end-users have
sufficiently new kernel to support module loading.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2024-09-16 19:15:54 +03:00
Guennadi Liakhovetski 5c025b0d9d asrc: enable building as an llext module
Add support for LLEXT building to asrc.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-09-12 18:07:16 +03:00
Guennadi Liakhovetski ed65e22943 eq-fir: enable building as an llext module
Add support for LLEXT building to eq-fir.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-09-12 18:07:16 +03:00
Guennadi Liakhovetski dcd21cd0cb volume: add LLEXT support
This makes it possible to build volume as an LLEXT module to be
loaded at run-time.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-09-12 18:07:16 +03:00
Guennadi Liakhovetski cfd27fbde0 src: convert to a loadable module
Build src as a loadable llext module.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-09-12 18:07:16 +03:00
Curtis Malainey 186251cddc fuzzer: add ubsan support
Adds support for undefined fuzzing

Signed-off-by: Curtis Malainey <cujomalainey@chromium.org>
2024-09-11 14:04:01 +03:00
Guennadi Liakhovetski 8c75f80f96 llext: add missing modules to LNL overlay
LNL modules overlay is missing eq_iir and mixin_mixout entries, add
them there.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-09-10 09:23:24 +03:00
Guennadi Liakhovetski 9f48037505 llext: automatically calculate module addresses
Currently LLEXT module starting addresses are hard-coded in their
respective CMakeLists.txt files. This is very wasteful, since it's
unknown in what order modules are loaded, inflexible and not easily
extendible to other platforms. Switch to calculating addresses
automatically based on a single per-platform Kconfig value.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-09-10 09:23:24 +03:00
Marc Herbert 76c976f8b3 app: drop "overlay" from the name of a few extra configs
Zephyr does not call extra configs "overlays", it uses overlays only for
Device Tree.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2024-09-09 10:16:39 +01:00
Marc Herbert ffe80eb0e6 xtensa-build-zephyr.py: cosmetic: rename "overlays" variable
The Zephyr documentation uses the term "overlay" for Device Tree, not
for Kconfig.

This commit does not change the wrongly named --overlay option not to
break anything but it stops that wrong name from leaking all over the
code. Also tweak the --help text.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2024-09-09 10:16:39 +01:00
Curtis Malainey f383b0ffab fuzz: add argument to support other sanitizers
Allows for switching out zephyr configs for other sanitizers

Signed-off-by: Curtis Malainey <cujomalainey@chromium.org>
2024-09-06 21:27:05 +03:00
Kai Vehmanen 0741e1eb00 boards: ace30: enable SOF log level at INF level
Re-enable normal INFO level log output for ace30_ptl target.
Move the limited log level setting to FPGA overlay.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2024-09-05 16:22:40 +03:00
Marc Herbert b2f79a0c3d intel_adsp_ace15_mtpm.conf: replace blanket _STUBS with focused RTC MOCK
CONFIG_COMP_STUBS=y was enabled in #8722 / commit 8e34109e10 ("AEC:
Enable Google AEC with Mock compliation").

CONFIG_COMP_STUBS indirectly enables
CONFIG_GOOGLE_RTC_AUDIO_PROCESSING_MOCK which was the desired
effect. However it also automatically and silently "mocks" all other 3rd
party modules which is not desirable. So, replace it with the more
focused `CONFIG_GOOGLE_RTC_AUDIO_PROCESSING_MOCK`. `src/audio/Kconfig`
says "CONFIG_STUBS: This should only be used in testing environments
like fuzzers or CI."

Official sof-bin releases include `google_rtc_audio_processing_mock.c`
because the CI that uses it can't use extra CONFIGS. That's another
topic for another day, see #9410.

build-mtl/zephyr.strip is identical before versus after this commit.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2024-09-04 08:58:58 -07:00
Marc Herbert 2a23f3be21 Add new `fuzz_*features.conf` files to add more CONFIG_ when fuzzing
The goal of these new files is to:
1. Fuzz more code
2. Reduce the configuration gap between fuzzed SOF and the real thing.

See the fuzz_features.conf header for more details.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2024-09-02 16:48:32 +01:00
Marc Herbert 43912a70ed native_sim_libfuzzer.conf: override some incompatible hardware options
Override incompatible options CONFIG_SMP_BOOT_DELAY and
CONFIG_SCHED_CPU_MASK_PIN_ONLY found in `sof/app/prj.conf` to silence
build time warnings. Strange why these are in `app/prj.conf` but not our
problem here.

```
warning: SCHED_CPU_MASK_PIN_ONLY (defined at kernel/Kconfig:139) was
assigned the value 'y' but got the value 'n'. Check these unsatisfied
dependencies: SMP (=n).

warning: SMP_BOOT_DELAY (defined at kernel/Kconfig.smp:32) was assigned
the value 'y' but got the value 'n'. Check these unsatisfied
dependencies: SMP (=n).
```

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2024-09-02 11:25:14 +01:00
Guennadi Liakhovetski cada215ee5 lib_manager: disable on TGL
The library manager isn't supported on TGL, disable it there.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-08-30 16:03:28 +03:00
Marc Herbert 577c9ae3e7 fuzz.sh: add new boards/native_sim_libfuzzer.conf
Extract -DCONFIG_* definitions hardcoded inside the script and move them
to a new .conf file where they belong.

This is a first, baby-step towards addressing the more general lack of
.config control described in #9386

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2024-08-23 13:28:23 +01:00
Seppo Ingalsuo 1009ba774b App: Boards: Temporarily always set MFCC kconfig to yes
To see draft CI build results, will be removed later for
proposal.

Signed-off-by: Seppo Ingalsuo <seppo.ingalsuo@linux.intel.com>
2024-08-21 14:39:05 +01:00
Marc Herbert f7eb1ab89f Revert "intel_adsp_ace15_mtpm.conf: temporarily disable CONFIG_MODULES"
This reverts commit 8847de0555.

This should now work thanks to the "better" IMR addresses in
https://github.com/zephyrproject-rtos/zephyr/pull/76196

Note the longer term issue is still open:
https://github.com/zephyrproject-rtos/zephyr/issues/76247

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2024-08-06 10:01:26 +03:00
Anne Onciulescu a544eb30ae app/stub_build_all_ipc3/4.conf: enable CONFIG_CADENCE_CODEC
This change enables CONFIG_CADENCE_CODEC in the app/stub_build_all_ipc3/4.conf files.
With this, the Cadence Codec component will be included in builds for CI testing.

Signed-off-by: Anne Onciulescu <anne.onciulescu@gmail.com>
2024-07-19 11:54:16 +03:00
Marc Herbert 8847de0555 intel_adsp_ace15_mtpm.conf: temporarily disable CONFIG_MODULES
Temporarily disable CONFIG_MODULES to get MTL working again.

Avoids crash https://github.com/thesofproject/sof/issues/9308

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2024-07-18 21:51:51 +03:00
Guennadi Liakhovetski 3f84f32088 drc: make modular on MTL and LNL
Export missing symbols for modular DRC builds and select it as a
module on MTL and LNL. DRC isn't built by default, so we cannot
use CONFIG_LIBRARY_DEFAULT_MODULAR for it.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-07-16 15:29:47 +03:00
Guennadi Liakhovetski c06ad78195 drc: enable building as an llext module
Add support for LLEXT building to drc. Since multiband DRC calls
functions from DRC, we cannot so far build it if DRC is configured as
a module. In the future it should be possible to build both as
modules and to export symbols between them.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-07-16 15:29:47 +03:00
Guennadi Liakhovetski 87e973d32f llext: disable when testing reproducible builds
So far we cannot build identical LLEXT modules under Linux and
Windows, build a monolithic firmware for this test.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
2024-07-16 15:29:47 +03:00
Tobiasz Dryjanski 32132a7f12 performance measurements: enable performance measurements
Enable global performance measutements.

Signed-off-by: Tobiasz Dryjanski <tobiaszx.dryjanski@intel.com>
2024-07-10 17:20:31 +01:00
Marcin Szkudlinski ac17c743d7 kconfig: add PIPELINE_2_0 flag
This flag enables changes to new pipeline structure,
known as pipeline2_0
It is required for certain new features, like DP_SCHEDULER.
The changes are incremental and at the moment pipeline 2.0
is fully backward compatible with legacy platforms, however
it generates some overhead in data and code, so it is useful to
turn if off if not needed

Signed-off-by: Marcin Szkudlinski <marcin.szkudlinski@intel.com>
2024-07-10 15:31:06 +03:00
Kai Vehmanen 64e335e0b1 App: Boards: Set CONFIG_COMP_DRC=y for PTL platform
The DRC component was not included to build. This component is used in
upstream HDA generic topology, so must be enabled. See commit
727ad82997 ("Tools: Topology2: Add IIR, FIR, DRC to HDA analog
playback").

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2024-07-09 16:43:16 +03:00
Tomasz Leman 066f414fd6 boards: ace30: Enable system-managed device power management
Enable the system-managed device power management feature for the ACE30
PTL board configuration. This feature allows the power management
subsystem to automatically suspend devices before entering a low power
state and resume them after waking up.

The following configuration option has been added:
- `CONFIG_PM_DEVICE_SYSTEM_MANAGED=y`: This option is set to enable
  system-managed device power management, ensuring that the power
  management subsystem takes care of suspending and resuming devices as
  part of the power state transitions.

This change is in line with the power management strategy to minimize
power consumption and manage device states more efficiently without the
need for explicit device power state management in the application code.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2024-07-04 13:37:08 +03:00