mirror of https://github.com/thesofproject/sof.git
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>
This commit is contained in:
parent
a216c1a793
commit
e206134083
|
@ -14,4 +14,5 @@ CONFIG_COMP_IGO_NR=m
|
||||||
CONFIG_COMP_VOLUME=m
|
CONFIG_COMP_VOLUME=m
|
||||||
CONFIG_COMP_DCBLOCK=m
|
CONFIG_COMP_DCBLOCK=m
|
||||||
CONFIG_COMP_CROSSOVER=m
|
CONFIG_COMP_CROSSOVER=m
|
||||||
|
CONFIG_COMP_MULTIBAND_DRC=m
|
||||||
CONFIG_COMP_GOOGLE_CTC_AUDIO_PROCESSING=m
|
CONFIG_COMP_GOOGLE_CTC_AUDIO_PROCESSING=m
|
||||||
|
|
|
@ -14,4 +14,5 @@ CONFIG_COMP_IGO_NR=m
|
||||||
CONFIG_COMP_VOLUME=m
|
CONFIG_COMP_VOLUME=m
|
||||||
CONFIG_COMP_DCBLOCK=m
|
CONFIG_COMP_DCBLOCK=m
|
||||||
CONFIG_COMP_CROSSOVER=m
|
CONFIG_COMP_CROSSOVER=m
|
||||||
|
CONFIG_COMP_MULTIBAND_DRC=m
|
||||||
CONFIG_COMP_GOOGLE_CTC_AUDIO_PROCESSING=m
|
CONFIG_COMP_GOOGLE_CTC_AUDIO_PROCESSING=m
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
# SPDX-License-Identifier: BSD-3-Clause
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
|
|
||||||
config COMP_MULTIBAND_DRC
|
config COMP_MULTIBAND_DRC
|
||||||
depends on COMP_IIR && COMP_CROSSOVER && COMP_DRC = y
|
depends on COMP_IIR && COMP_CROSSOVER && COMP_DRC
|
||||||
bool "Multiband Dynamic Range Compressor component"
|
tristate "Multiband Dynamic Range Compressor component"
|
||||||
select CORDIC_FIXED
|
select CORDIC_FIXED
|
||||||
select COMP_BLOB
|
select COMP_BLOB
|
||||||
default n
|
default n
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
# Copyright (c) 2024 Intel Corporation.
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
sof_llext_build("multiband_drc"
|
||||||
|
SOURCES ../multiband_drc.c
|
||||||
|
../multiband_drc_generic.c
|
||||||
|
../multiband_drc_ipc4.c
|
||||||
|
)
|
|
@ -0,0 +1,6 @@
|
||||||
|
#include <tools/rimage/config/platform.toml>
|
||||||
|
#define LOAD_TYPE "2"
|
||||||
|
#include "../multiband_drc.toml"
|
||||||
|
|
||||||
|
[module]
|
||||||
|
count = __COUNTER__
|
|
@ -419,3 +419,22 @@ static const struct module_interface multiband_drc_interface = {
|
||||||
|
|
||||||
DECLARE_MODULE_ADAPTER(multiband_drc_interface, multiband_drc_uuid, multiband_drc_tr);
|
DECLARE_MODULE_ADAPTER(multiband_drc_interface, multiband_drc_uuid, multiband_drc_tr);
|
||||||
SOF_MODULE_INIT(multiband_drc, sys_comp_module_multiband_drc_interface_init);
|
SOF_MODULE_INIT(multiband_drc, sys_comp_module_multiband_drc_interface_init);
|
||||||
|
|
||||||
|
#if CONFIG_COMP_MULTIBAND_DRC_MODULE
|
||||||
|
/* modular: llext dynamic link */
|
||||||
|
|
||||||
|
#include <module/module/api_ver.h>
|
||||||
|
#include <module/module/llext.h>
|
||||||
|
#include <rimage/sof/user/manifest.h>
|
||||||
|
|
||||||
|
#define UUID_MULTIBAND_DRC 0x56, 0x22, 0x9F, 0x0D, 0x4F, 0x8E, 0xB3, 0x47, 0x48, 0x84, \
|
||||||
|
0x23, 0x9A, 0x33, 0x4F, 0x11, 0x91
|
||||||
|
|
||||||
|
SOF_LLEXT_MOD_ENTRY(multiband_drc, &multiband_drc_interface);
|
||||||
|
|
||||||
|
static const struct sof_man_module_manifest mod_manifest __section(".module") __used =
|
||||||
|
SOF_LLEXT_MODULE_MANIFEST("MB_DRC", multiband_drc_llext_entry, 1, UUID_MULTIBAND_DRC, 40);
|
||||||
|
|
||||||
|
SOF_LLEXT_BUILDINFO;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
|
#ifndef LOAD_TYPE
|
||||||
|
#define LOAD_TYPE "0"
|
||||||
|
#endif
|
||||||
|
|
||||||
REM # Multiband-DRC module config
|
REM # Multiband-DRC module config
|
||||||
[[module.entry]]
|
[[module.entry]]
|
||||||
name = "MB_DRC"
|
name = "MB_DRC"
|
||||||
|
@ -5,7 +9,7 @@
|
||||||
affinity_mask = "0x1"
|
affinity_mask = "0x1"
|
||||||
instance_count = "40"
|
instance_count = "40"
|
||||||
domain_types = "0"
|
domain_types = "0"
|
||||||
load_type = "0"
|
load_type = LOAD_TYPE
|
||||||
module_type = "9"
|
module_type = "9"
|
||||||
auto_start = "0"
|
auto_start = "0"
|
||||||
sched_caps = [1, 0x00008000]
|
sched_caps = [1, 0x00008000]
|
||||||
|
|
|
@ -869,11 +869,17 @@ if(NOT CONFIG_COMP_DRC STREQUAL "n")
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
zephyr_library_sources_ifdef(CONFIG_COMP_MULTIBAND_DRC
|
if(CONFIG_COMP_MULTIBAND_DRC STREQUAL "m")
|
||||||
${SOF_AUDIO_PATH}/multiband_drc/multiband_drc.c
|
add_subdirectory(${SOF_AUDIO_PATH}/multiband_drc/llext
|
||||||
${SOF_AUDIO_PATH}/multiband_drc/multiband_drc_generic.c
|
${PROJECT_BINARY_DIR}/multiband_drc_llext)
|
||||||
${SOF_AUDIO_PATH}/multiband_drc/multiband_drc_${ipc_suffix}.c
|
add_dependencies(app multiband_drc)
|
||||||
)
|
elseif(CONFIG_COMP_MULTIBAND_DRC)
|
||||||
|
zephyr_library_sources_ifdef(CONFIG_COMP_MULTIBAND_DRC
|
||||||
|
${SOF_AUDIO_PATH}/multiband_drc/multiband_drc.c
|
||||||
|
${SOF_AUDIO_PATH}/multiband_drc/multiband_drc_generic.c
|
||||||
|
${SOF_AUDIO_PATH}/multiband_drc/multiband_drc_${ipc_suffix}.c
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
zephyr_library_sources_ifdef(CONFIG_COMP_GOOGLE_RTC_AUDIO_PROCESSING
|
zephyr_library_sources_ifdef(CONFIG_COMP_GOOGLE_RTC_AUDIO_PROCESSING
|
||||||
${SOF_AUDIO_PATH}/google/google_rtc_audio_processing.c
|
${SOF_AUDIO_PATH}/google/google_rtc_audio_processing.c
|
||||||
|
|
Loading…
Reference in New Issue