Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

part 1 of #9116 - preparing the infrastructure #9298

Closed
wants to merge 7 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions app/overlays/repro-build.conf
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
CONFIG_OUTPUT_DISASSEMBLY=y
CONFIG_OUTPUT_DISASSEMBLY_WITH_SOURCE=n
CONFIG_MODULES=n
6 changes: 5 additions & 1 deletion scripts/xtensa-build-zephyr.py
Original file line number Diff line number Diff line change
Expand Up @@ -945,7 +945,11 @@ def install_lib(sof_lib_dir, abs_build_dir, platform_wconfig):
llext_input = entry_path / (llext_base + '.llext')
llext_output = entry_path / (llext_file + '.ri')

sign_cmd = [platform_wconfig.get("rimage.path"), "-o", str(llext_output),
# See why the shlex() parsing step is required at
# https://docs.zephyrproject.org/latest/develop/west/sign.html#rimage
# and in Zephyr commit 030b740bd1ec
rimage_cmd = shlex.split(platform_wconfig.get('rimage.path'))[0]
sign_cmd = [rimage_cmd, "-o", str(llext_output),
"-e", "-c", str(rimage_cfg),
"-k", str(signing_key), "-l", "-r",
str(llext_input)]
Expand Down
6 changes: 1 addition & 5 deletions src/audio/eq_iir/eq_iir.c
Original file line number Diff line number Diff line change
Expand Up @@ -98,8 +98,6 @@ static int eq_iir_free(struct processing_module *mod)
{
struct comp_data *cd = module_get_private_data(mod);

comp_info(mod->dev, "eq_iir_free()");

eq_iir_free_delaylines(cd);
comp_data_blob_handler_free(cd->model_handler);

Expand Down Expand Up @@ -232,8 +230,6 @@ static int eq_iir_reset(struct processing_module *mod)
struct comp_data *cd = module_get_private_data(mod);
int i;

comp_info(mod->dev, "eq_iir_reset()");

eq_iir_free_delaylines(cd);

cd->eq_iir_func = NULL;
Expand Down Expand Up @@ -269,7 +265,7 @@ SOF_MODULE_INIT(eq_iir, sys_comp_module_eq_iir_interface_init);
SOF_LLEXT_MOD_ENTRY(eq_iir, &eq_iir_interface);

static const struct sof_man_module_manifest mod_manifest __section(".module") __used =
SOF_LLEXT_MODULE_MANIFEST("EQIIR", eq_iir_llext_entry, 1, UUID_EQIIR);
SOF_LLEXT_MODULE_MANIFEST("EQIIR", eq_iir_llext_entry, 1, UUID_EQIIR, 40);

SOF_LLEXT_BUILDINFO;

Expand Down
12 changes: 2 additions & 10 deletions src/audio/mixin_mixout/mixin_mixout.c
Original file line number Diff line number Diff line change
Expand Up @@ -173,17 +173,14 @@ static int mixout_init(struct processing_module *mod)
static int mixin_free(struct processing_module *mod)
{
struct mixin_data *md = module_get_private_data(mod);
struct comp_dev *dev = mod->dev;

comp_dbg(dev, "mixin_free()");
rfree(md);

return 0;
}

static int mixout_free(struct processing_module *mod)
{
comp_dbg(mod->dev, "mixout_free()");
rfree(module_get_private_data(mod));

return 0;
Expand Down Expand Up @@ -554,9 +551,6 @@ static int mixout_process(struct processing_module *mod,
static int mixin_reset(struct processing_module *mod)
{
struct mixin_data *mixin_data = module_get_private_data(mod);
struct comp_dev *dev = mod->dev;

comp_dbg(dev, "mixin_reset()");

mixin_data->mix = NULL;
mixin_data->gain_mix = NULL;
Expand All @@ -568,8 +562,6 @@ static int mixout_reset(struct processing_module *mod)
{
struct comp_dev *dev = mod->dev;

comp_dbg(dev, "mixout_reset()");

/* FIXME: move this to module_adapter_reset() */
if (dev->pipeline->source_comp->direction == SOF_IPC_STREAM_PLAYBACK) {
int i;
Expand Down Expand Up @@ -980,8 +972,8 @@ SOF_LLEXT_MOD_ENTRY(mixout, &mixout_interface);

static const struct sof_man_module_manifest mod_manifest[] __section(".module") __used =
{
SOF_LLEXT_MODULE_MANIFEST("MIXIN", mixin_llext_entry, 1, UUID_MIXIN),
SOF_LLEXT_MODULE_MANIFEST("MIXOUT", mixout_llext_entry, 1, UUID_MIXOUT),
SOF_LLEXT_MODULE_MANIFEST("MIXIN", mixin_llext_entry, 1, UUID_MIXIN, 30),
SOF_LLEXT_MODULE_MANIFEST("MIXOUT", mixout_llext_entry, 1, UUID_MIXOUT, 30),
};

SOF_LLEXT_BUILDINFO;
Expand Down
3 changes: 2 additions & 1 deletion src/include/module/module/llext.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,13 @@
#ifndef MODULE_LLEXT_H
#define MODULE_LLEXT_H

#define SOF_LLEXT_MODULE_MANIFEST(manifest_name, entry, affinity, mod_uuid) \
#define SOF_LLEXT_MODULE_MANIFEST(manifest_name, entry, affinity, mod_uuid, instances) \
{ \
.module = { \
.name = manifest_name, \
.uuid = {mod_uuid}, \
.entry_point = (uint32_t)(entry), \
.instance_max_count = instances, \
.type = { \
.load_type = SOF_MAN_MOD_TYPE_LLEXT, \
.domain_ll = 1, \
Expand Down
10 changes: 5 additions & 5 deletions src/ipc/ipc4/helper.c
Original file line number Diff line number Diff line change
Expand Up @@ -946,11 +946,11 @@ const struct comp_driver *ipc4_get_drv(const uint8_t *uuid)
}
}

tr_err(&comp_tr, "get_drv(): the provided UUID (%08x %08x %08x %08x) can't be found!",
*(uint32_t *)(&uuid[0]),
*(uint32_t *)(&uuid[4]),
*(uint32_t *)(&uuid[8]),
*(uint32_t *)(&uuid[12]));
tr_warn(&comp_tr, "get_drv(): the provided UUID (%08x %08x %08x %08x) can't be found!",
*(uint32_t *)(&uuid[0]),
*(uint32_t *)(&uuid[4]),
*(uint32_t *)(&uuid[8]),
*(uint32_t *)(&uuid[12]));

out:
irq_local_enable(flags);
Expand Down
38 changes: 19 additions & 19 deletions src/samples/audio/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -2,27 +2,27 @@

menu "Audio component samples"

config SAMPLE_SMART_AMP
tristate "Smart amplifier test component"
default y
help
Select for test smart amplifier component
config SAMPLE_SMART_AMP
tristate "Smart amplifier test component"
default y
help
Select for test smart amplifier component

config SAMPLE_KEYPHRASE
config SAMPLE_KEYPHRASE
depends on CAVS || IMX || ACE
bool "Keyphrase test component"
default y
help
Select for Keyphrase test component.
Provides basic functionality for use in testing of keyphrase detection pipelines.
bool "Keyphrase test component"
default y
help
Select for Keyphrase test component.
Provides basic functionality for use in testing of keyphrase detection pipelines.

config KWD_NN_SAMPLE_KEYPHRASE
depends on IMX
bool "KWD NN Keyphrase test component"
default n
help
Select for KWD NN Keyphrase test component based on neural network.
Provides ML functionality for use in testing of keyphrase detection pipelines.
Use KWD based on NN as alternative to the default KWD component.
Provides neural network as a library.
depends on IMX
bool "KWD NN Keyphrase test component"
default n
help
Select for KWD NN Keyphrase test component based on neural network.
Provides ML functionality for use in testing of keyphrase detection pipelines.
Use KWD based on NN as alternative to the default KWD component.
Provides neural network as a library.
endmenu
5 changes: 1 addition & 4 deletions src/samples/audio/smart_amp_test_ipc4.c
Original file line number Diff line number Diff line change
Expand Up @@ -157,8 +157,6 @@ static inline int smart_amp_get_config(struct processing_module *mod,

static int smart_amp_free(struct processing_module *mod)
{
LOG_DBG("smart_amp_free()");

#ifndef __SOF_MODULE_SERVICE_BUILD__
struct smart_amp_data *sad = module_get_private_data(mod);

Expand Down Expand Up @@ -320,8 +318,6 @@ static int smart_amp_process(struct processing_module *mod,

static int smart_amp_reset(struct processing_module *mod)
{
LOG_DBG("smart_amp_reset()");

return 0;
}

Expand Down Expand Up @@ -415,6 +411,7 @@ static const struct sof_man_module_manifest main_manifest __section(".module") _
.uuid = {0x1E, 0x96, 0x7A, 0x16, 0xE4, 0x8A, 0xEA, 0x11,
0x89, 0xF1, 0x00, 0x0C, 0x29, 0xCE, 0x16, 0x35},
.entry_point = (uint32_t)smart_amp_test_llext_entry,
.instance_max_count = 1,
.type = {
#ifdef __SOF_MODULE_SERVICE_BUILD__
.load_type = SOF_MAN_MOD_TYPE_MODULE,
Expand Down
3 changes: 0 additions & 3 deletions tools/rimage/src/manifest.c
Original file line number Diff line number Diff line change
Expand Up @@ -464,9 +464,6 @@ static int man_module_create_reloc(struct image *image, struct manifest_module *
/* stack size ??? convert sizes to PAGES */
man_module->instance_bss_size = 1;

/* max number of instances of this module ?? */
man_module->instance_max_count = 1;

module_print_zones(&module->file);

/* main module */
Expand Down
2 changes: 1 addition & 1 deletion zephyr/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ function(sof_llext_build module)
get_target_property(proc_out_file ${module} pkg_input)
add_llext_command(TARGET ${module}
POST_BUILD
COMMAND ${SOF_BASE}scripts/llext_link_helper.py
COMMAND ${PYTHON_EXECUTABLE} ${SOF_BASE}scripts/llext_link_helper.py
--text-addr="${SOF_LLEXT_TEXT_ADDR}" -f ${proc_in_file} ${CMAKE_C_COMPILER} --
-o ${proc_out_file} ${EXTRA_LINKER_PARAMS}
$<TARGET_OBJECTS:${module}_llext_lib>
Expand Down
Loading