From 86a738ccc39d443f22702cecd786c4306ab52d62 Mon Sep 17 00:00:00 2001 From: Tomasz Leman Date: Thu, 20 Feb 2025 12:17:05 +0100 Subject: [PATCH 1/2] audio: export symbols for LLEXT module compatibility This patch exports the symbols `comp_is_current_data_blob_valid` and `ipc4_update_source_format` to resolve issues encountered when the Google RTC module was converted into an LLEXT module. The lack of exported symbols was causing warnings and subsequent firmware exceptions when these functions were called from within the module. Changes include: - Adding `EXPORT_SYMBOL` for `comp_is_current_data_blob_valid` in src/audio/data_blob.c. - Adding `EXPORT_SYMBOL` for `ipc4_update_source_format` in src/ipc/ipc4/helper.c. Signed-off-by: Tomasz Leman --- src/audio/data_blob.c | 1 + src/ipc/ipc4/helper.c | 1 + 2 files changed, 2 insertions(+) diff --git a/src/audio/data_blob.c b/src/audio/data_blob.c index e66c43fdd309..a7ff3c7dae33 100644 --- a/src/audio/data_blob.c +++ b/src/audio/data_blob.c @@ -128,6 +128,7 @@ bool comp_is_current_data_blob_valid(struct comp_data_blob_handler { return !!blob_handler->data; } +EXPORT_SYMBOL(comp_is_current_data_blob_valid); int comp_init_data_blob(struct comp_data_blob_handler *blob_handler, uint32_t size, const void *init_data) diff --git a/src/ipc/ipc4/helper.c b/src/ipc/ipc4/helper.c index bc195ace5b87..913d38ca835e 100644 --- a/src/ipc/ipc4/helper.c +++ b/src/ipc/ipc4/helper.c @@ -1218,6 +1218,7 @@ void ipc4_update_source_format(struct sof_source *source, source_set_valid_fmt(source, valid_fmt); source_set_buffer_fmt(source, fmt->interleaving_style); } +EXPORT_SYMBOL(ipc4_update_source_format); void ipc4_update_sink_format(struct sof_sink *sink, const struct ipc4_audio_format *fmt) From 5c83b22a8c4c4a87e76adf319363c8a0a5df7ea7 Mon Sep 17 00:00:00 2001 From: Tomasz Leman Date: Thu, 24 Jul 2025 12:07:22 +0200 Subject: [PATCH 2/2] boards: intel: mtpm: change RTC Audio Processing to module configuration This patch modifies the configuration of the Google RTC Audio Processing component from being built-in (`y`) to a loadable module (`m`). This change allows for more flexibility in managing the component, as it can now be loaded or unloaded dynamically. The adjustment aligns with the need for modularity and adaptability in the SOF firmware, especially in environments where resource management and configuration customization are critical. Signed-off-by: Tomasz Leman --- app/boards/intel_adsp_ace15_mtpm.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/boards/intel_adsp_ace15_mtpm.conf b/app/boards/intel_adsp_ace15_mtpm.conf index bf8cc7068b71..288410192b81 100644 --- a/app/boards/intel_adsp_ace15_mtpm.conf +++ b/app/boards/intel_adsp_ace15_mtpm.conf @@ -40,7 +40,7 @@ CONFIG_PCM_CONVERTER_FORMAT_FLOAT=y # SOF / audio modules / mocks # This mock is part of official sof-bin releases because the CI that # tests it can't use extra CONFIGs. See #9410, #8722 and #9386 -CONFIG_COMP_GOOGLE_RTC_AUDIO_PROCESSING=y +CONFIG_COMP_GOOGLE_RTC_AUDIO_PROCESSING=m CONFIG_GOOGLE_RTC_AUDIO_PROCESSING_MOCK=y # SOF / infrastructure