v2.10
The SOF technical steering committee is pleased to announce the v2.10 release of SOF.
Signed binaries for selected platforms are here https://github.com/thesofproject/sof-bin/releases (sof-bin-2024.06).
Highlights
- New stable platforms in binary release: Intel Lunar Lake and Arrow Lake S
- Basic set of algorithms extended (DRC, FIR, IIR) in multiple common upstream DSP topologies. Example configuration has been submitted to upstream alsa-ucm (alsa-project/alsa-ucm-conf#419) showing how to hook product specific audio tuning and distribute them via alsa-ucm.
- Features: Zephyr shell support (debug tool for developers)
- Topologies: new topologies added for multiple Intel Meteor and Lunar Lake devices
What's Changed
- versions.json: set version to 2.9.99 by @kv2019i in #8896
- config L3_HEAP: add missing "ACE" dependency by @marc-hb in #8827
- Virtual Memory Heaps boot testing improvements by @dabekjakub in #8775
- ipc-helper.c: reject invalid SOF_MEM_CAPS_* bits by @marc-hb in #8850
- Tools: Topology2: No need for HDA platform variants for benchmark tplg by @singalsu in #8885
- audio: google: use system directories for mock header include by @yongzhi1 in #8906
- west.yml: update Zephyr to 9d1df132b1c + one revert by @kv2019i in #8903
- west.yml: update Zephyr to f9f44b6dcdd (Mar 07) by @kv2019i in #8913
- [SKIP SOF-TEST] upgrade deprecated Github Actions (node.js v16) by @marc-hb in #8915
- Audio: DRC: DRC math function optimization by @andrula-song in #8757
- loadable libraries and smart-amp-test as an example by @lyakh in #8180
- Preparatory patches for NXP platforms transition to Zephyr native drivers by @LaurentiuM1234 in #8859
- Audio: Component: HiFi5 implementation of functions. by @andrula-song in #8695
- mt8195 fixups by @andyross in #8691
- idc: zephyr: add a timeout to blocking IDC send by @kv2019i in #8911
- xtensa-build-zephyr.py: checksum newly generated rimage_config.toml file by @marc-hb in #8921
- lib_manager: llext_manager: Add const to variables and function parameters cleanup by @softwarecki in #8898
- zephyr: lib: dma: adapt imx93 Kconfig name to HWMv2 name by @LaurentiuM1234 in #8929
- app: boards: intel boards, disable winstream console by @kv2019i in #8932
- west.yml: update Zephyr to 251f52cbceb8 (March 13) by @kv2019i in #8938
- Tools: Topology2: Add IIR, FIR, DRC to HDA analog playback by @singalsu in #8934
- nxp: deprecate XTOS on imx8ulp by @LaurentiuM1234 in #8946
- topology2: sof-tgl/adl-nocodec: disable multicore by @kv2019i in #8952
- lib_manager: Set target memory flags after data loading from storage by @softwarecki in #8882
- west.yml: update Zephyr to ceff785434b by @kv2019i in #8954
- component: module_adapter: Move module_interface pointer to comp_driver by @softwarecki in #8905
- [SKIP SOF-TEST] xtensa-build-zephyr.py: checksum autoconf.h instead of configs.c by @marc-hb in #8951
- audio: dai-zephyr: convert DMA src/dst addresses to host-relative addresses by @LaurentiuM1234 in #8948
- [SKIP SOF-TEST] Llext GitHub testing by @lyakh in #8957
- tools: toml: add src_lite module definition by @dnikodem in #8953
- App: Boards: Set CONFIG_COMP_DRC=y for LNL platform by @singalsu in #8963
- west.yml: update Zephyr to 8858a024c015 by @kv2019i in #8968
- topology2: cavs-rt5682 separate variants for google aec by @johnylin76 in #8930
- ipc4: helper: fix checks in comp dir update by @abonislawski in #8964
- topology2: sof-mtl-rt5650: add SSP FMT 24 bits support by @macchian in #8917
- idc: zephyr: remove unnecessary cache invd/flush calls by @kv2019i in #8910
- kpb: Fix draining task and LL conflict by @serhiy-katsyuba-intel in #8936
- dp: do not block ppl because of sink/source limits by @abonislawski in #8965
- tools: topology1: imx8ulp: correct BCLK rate and change BCLK polarity and protocol by @LaurentiuM1234 in #8978
- nxp: imx93_a55: Switch to timer domain and Zephyr native drivers by @LaurentiuM1234 in #8520
- copier: Use correct multiplier for latency to bytes calculation by @ujfalusi in #8972
- west.yml: update Zephyr to 1f55be8b42df by @LaurentiuM1234 in #8945
- app: boards: Enable Probe for LNL by @gbernatxintel in #8982
- xtensa-build-zephyr.py: make --deployable-build the default by @marc-hb in #8781
- audio: dai-zephyr: Do not reset the DMA buffer cursor for HD-DMA on T… by @ujfalusi in #8995
- modules: Remove unused code and variables by @softwarecki in #8897
- math: avoid re-initialising variables every loop iteration by @lyakh in #8999
- ipc4: Ensure pipeline component directions are synchronized by @tmleman in #8969
- Tools: Tune: Eq: Fix IIR data files names in example_spk_eq.m by @singalsu in #9003
- topology2: add support for MTL HP Omen14 by @plbossart in #8991
- dai: use ibs/obs for dma buffer size calculation by @iganakov in #8983
- [SKIP SOF-TEST] .github/zephyr: upgrade obsolete actions/setup-python@v4 to v5 by @marc-hb in #8955
- topology2: pipeline: document pipeline.priority attribute by @kv2019i in #8509
- Topology2: sof-tgl-rt712: remove SDWx from stream name by @bardliao in #9008
- debug: add an overlay enabling Zephyr's kernel tracing by @marcinszkudlinski in #8967
- west.yml: update Zephyr to fd1a129a3e63 by @LaurentiuM1234 in #9010
- init: zephyr: Fix memory leak during secondary core init by @tmleman in #9006
- Use new '-DREM=#' prefix to preserve comments in pre-processed .toml by @marc-hb in #8956
- Audio: Volume: Fix ongoing gain ramp stop and wrong final gain by @singalsu in #8950
- west: update to a newer Zephyr version by @lyakh in #9019
- lib_manager: Add lib_manager_get_module_manifest function by @softwarecki in #8974
- waves: verify payload size and initialize memory to zero to the allocated memory in waves.c by @barry-waves in #9009
- telemetry: systick info by @tobonex in #8737
- pipeline: register KCPS consumption and enable dynamic clock control by @abonislawski in #8019
- xtos: perf_cnt: use correct timing_counter_get() by @kv2019i in #9016
- Tools: Topology2: Add include of mtl.conf for LNL HDA generic by @singalsu in #8889
- ipc4: Unify component ID logging format across various IPC and pipeline logs by @tmleman in #8970
- module: cadence: don't return on non-fatal error by @LaurentiuM1234 in #9046
- platform: remove drivers/interrupt.h for Intel platforms by @kv2019i in #9048
- ipc: ipc4: remove use of platform/drivers/alh.h by @kv2019i in #9047
- platform: remove platform/drivers/idc.h for Intel platforms by @kv2019i in #9049
- Tools: Topology2: Add other rates support for DMIC and HDA by @singalsu in #8728
- smart_amp_test: fix crash due to different source formats by @tobonex in #9020
- Part 1 of #9013 by @lyakh in #9024
- platform: mtl: fix SSP DAI count by @kv2019i in #9053
- platform: tigerlake: remove unused driver headers by @kv2019i in #9052
- topology2: pcm_caps: Remove defaults for rate_min/rate_max by @ranj063 in #9017
- detect_test: Do not overwrite supplied threshold by @serhiy-katsyuba-intel in #9054
- lib_manager: modules: Fix missing call to modules_free by @softwarecki in #8935
- tools: plugin: ipc4: fix build error in switch-case by @kv2019i in #9050
- topology2: intel: hdmi-generic: Update rates and format support in pc… by @ujfalusi in #9004
- west.yml: update zephyr Apr17 by @kv2019i in #9056
- audio: base_fw: add platform layer to hw_config data by @kv2019i in #9012
- module_adapter: return error if get_conf is not implemented by @johnylin76 in #9045
- topology2: add rt1318 and rt714 support on LNL by @macchian in #9066
- ipc4: mixin: Add gain support (generic and HIFI3) by @serhiy-katsyuba-intel in #9064
- volume: fix wrong volume ramp being chosen by @tobonex in #9062
- detect_test: Fix processing for 24in32 format by @serhiy-katsyuba-intel in #9057
- xtensa-build-zephyr.py: add flexibility to generate
tools/
only by @marc-hb in #8916 - Zephyr manifest update and fix for repro build issue by @LaurentiuM1234 in #9071
- Audio: basefw: Implement ipc4 pipeline info get by @gbernatxintel in #9072
- nxp: imx8/imx8x: switch to Zephyr native drivers by @LaurentiuM1234 in #8863
- Audio: basefw: Implemented ipc4 libraries info get by @gbernatxintel in #9031
- west.yml: update Zephyr to 799a456c2586 by @LaurentiuM1234 in #9078
- audio: base_fw: move platform specific code from base_fw.c by @kv2019i in #9060
- topology2: Revisit period and buffer size settings by @ujfalusi in #8925
- nxp: imx8ulp: switch to Zephyr native drivers and timer domain by @LaurentiuM1234 in #9076
- dp: make dp_queue using externally provided params set by @marcinszkudlinski in #9063
- audio: copier: use v_index for DAI index in I2S link creation by @dnikodem in #8980
- topology2: intel: bt-generic.conf: fix rate constraints by @kv2019i in #9068
- volume: fix fadeout curve shape by @tobonex in #9074
- cleanup: platform: imx8: post-native Zephyr drivers switch cleanup by @LaurentiuM1234 in #9077
- Tools: Tune: Collection of patches to produce ALSA UCM friendly binary control blobs by @singalsu in #9070
- topology2: cavs-rt5682: expose spk core_id for overriding by @yongzhi1 in #8843
- dma-trace.c: lower log level of dropped logs and stop recursion by @marc-hb in #9083
- Audio: basefw: Implement ipc4 modules info get by @gbernatxintel in #9032
- Minor build fixes by @marc-hb in #9094
- Tools: Tune: EQ: Normalize IIR and FIR separately by @singalsu in #9086
- Tools: Topology2: Use for LNL own platform configuration lnl.conf by @singalsu in #8888
- [SKIP SOF-TEST] xtensa-build-zephyr.py: remove obsolete and misleading comment by @marc-hb in #9096
- llext: install modules appropriately for testing by @lyakh in #9013
- west.yml: update Zephyr to d3c9a986ec30 by @kv2019i in #9098
- audio: base_fw: do not use platform interface for vendor extensions by @kv2019i in #9103
- Topology2: add mtl rt713 rt1318 rt1713 support by @bardliao in #9100
- platform/posix: Unbreak fuzzer support by @andyross in #9107
- topology2: common_definitions: improve SAMPLE_TYPE documentation by @kv2019i in #9110
- Minor LLEXT fixes by @marc-hb in #9108
- Tools: Topology2: Intel: Add 16 bit DMIC DAI copier format option by @singalsu in #9102
- LNL: modular TOML by @lyakh in #9105
- cadence: add support for mp3 encoder by @tlissows in #9104
- Audio: SRC: Use valid_bit_depth to select processing function by @singalsu in #9111
- Dp shadow as a part of comp_buffer / audio_stream by @marcinszkudlinski in #9106
- base_fw: update mem_state_info TLV by @dnikodem in #8871
- LLEXT multiple modules by @lyakh in #9090
- Tools: Topology2: Add benchmark topologies for TDFB component by @singalsu in #9118
- [SKIP SOF-TEST] lnl: add support for llext modules by @lyakh in #9115
- module_adapter: passthrough: register module logs in Zephyr by @dbaluta in #9120
- west.yml: update Zephyr to e97d33d0c896 by @kv2019i in #9119
- topology2: add mtl-rt712 topologies version by @plbossart in #9125
- west.yml: update Zephyr to 9d8059b6e5541 (May 20th) by @kv2019i in #9140
- Audio: TDFB: Fix firmware crash caused by TDFB sink format set by @singalsu in #9131
- plugin: noise_suppression_interface: Query available devices by @ranj063 in #9134
- scripts/docker-run.sh: thesofproject/sof:latest to default by @fredoh9 in #9149
- pull-request.yml: add mt8188 to gcc-build-only by @fredoh9 in #9150
- Tools: Tune DRC: Export DRC for DMIC capture and cleanup filenames by @singalsu in #9148
- Tools: Topology2: Define only same channels counts for DMIC0 dai-copier by @singalsu in #9132
- lp64: fix undefined reference compilation breakage by @lyakh in #9130
- topology: imx: Add a variable for schedule domain by @iuliana-prodan in #9161
- regions_mm: New memory mapping functions by @softwarecki in #9114
- app: add winconsole_overlay.conf by @kv2019i in #9162
- Audio: Volume: fix problem with generic peakVol by @gbernatxintel in #9143
- zephyr/cmake: fix llext.uuid growing from the last build by @marc-hb in #9159
- Audio: TDFB: Optimize pass-through MCPS for beamformer by @singalsu in #9144
- Add support for the MediaTek mt8188 platform by @zoran055 in #9137
- Tools: Topology2: Remove unnecessary NHLT binary from EFX topologies by @singalsu in #9141
- scripts: Add support for MediaTek mt8188 platform by @zoran055 in #9142
- Topology2: sof-mtl-sdw-cs42l42-l0-max98363-l2: add SDW_AMP_FMT_24=true by @bardliao in #9175
- west.yml: update Zephyr to 69d790b29331 (May 27th) by @kv2019i in #9168
- ipc: simplify CMakeLists.txt by using a suffix variable by @lyakh in #9180
- west.ytml: update to Zephyr 53ddff639562 (May 31st) by @kv2019i in #9179
- LLEXT: automatic gcc / xt-clang switching by @lyakh in #9151
- topology2: common: pcm_caps: Change the periods_max from 1024 to 256 by @kv2019i in #9228
- [stable-v2.10] west.yml: update Zephyr to stable-v2.10 by @kv2019i in #9233
- [stable-v2.10] app: boards: intel_adsp_ace15_mtpm: disable IMR context-save by @kv2019i in #9231
- [stable-2.10] audio: volume: disable HIFI4 optimizations by @kv2019i in #9229
- [stable-v2.10] west.yml: update Zephyr to sof/stable-v2.10 0f7a01d360e by @kv2019i in #9246
- [stable-v2.10] west.yml: update Zephyr to sof/stable-v2.10 0f7a01d360e by @kv2019i in #9247
- [stable-v2.10] backport bugfixes PR9055 and PR9136 by @kv2019i in #9248
- [stable-v2.10] Tools: Topology2: Update sof-hda-efx-generic controls names by @kv2019i in #9249
New Contributors
Full Changelog: v2.9...v2.10