drc: move logging context to the base image

Logging context can be accessed from the deferred logging
thread. Therefore it must be always available to avoid
access to unmapped memory when an LLEXT module is unloaded.

Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
This commit is contained in:
Guennadi Liakhovetski 2024-08-20 17:15:57 +03:00 committed by Kai Vehmanen
parent 0ddf797dc6
commit 8b48c563ce
4 changed files with 33 additions and 10 deletions

View File

@ -1,6 +1,9 @@
add_local_sources(sof drc.c) add_local_sources(sof
add_local_sources(sof drc_generic.c) drc.c
add_local_sources(sof drc_hifi3.c) drc_generic.c
add_local_sources(sof drc_hifi4.c) drc_hifi3.c
add_local_sources(sof drc_math_generic.c) drc_hifi4.c
add_local_sources(sof drc_math_hifi3.c) drc_math_generic.c
drc_math_hifi3.c
drc_log.c
)

View File

@ -36,11 +36,10 @@
#include "drc.h" #include "drc.h"
#include "drc_algorithm.h" #include "drc_algorithm.h"
LOG_MODULE_REGISTER(drc, CONFIG_SOF_LOG_LEVEL); LOG_MODULE_DECLARE(drc, CONFIG_SOF_LOG_LEVEL);
SOF_DEFINE_REG_UUID(drc); extern const struct sof_uuid drc_uuid;
extern struct tr_ctx drc_tr;
DECLARE_TR_CTX(drc_tr, SOF_UUID(drc_uuid), LOG_LEVEL_INFO);
void drc_reset_state(struct drc_state *state) void drc_reset_state(struct drc_state *state)
{ {

15
src/audio/drc/drc_log.c Normal file
View File

@ -0,0 +1,15 @@
// SPDX-License-Identifier: BSD-3-Clause
//
// Copyright(c) 2024 Intel Corporation.
#include <rtos/symbol.h>
#include <sof/lib/uuid.h>
#include <sof/trace/trace.h>
#include <user/trace.h>
SOF_DEFINE_REG_UUID(drc);
LOG_MODULE_REGISTER(drc, CONFIG_SOF_LOG_LEVEL);
DECLARE_TR_CTX(drc_tr, SOF_UUID(drc_uuid), LOG_LEVEL_INFO);
EXPORT_SYMBOL(drc_tr);
EXPORT_SYMBOL(drc_uuid);
EXPORT_SYMBOL(log_const_drc);

View File

@ -805,6 +805,12 @@ elseif(CONFIG_COMP_DRC)
) )
endif() endif()
if(NOT CONFIG_COMP_DRC STREQUAL "n")
zephyr_library_sources(
${SOF_AUDIO_PATH}/drc/drc_log.c
)
endif()
zephyr_library_sources_ifdef(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.c
${SOF_AUDIO_PATH}/multiband_drc/multiband_drc_generic.c ${SOF_AUDIO_PATH}/multiband_drc/multiband_drc_generic.c