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

Loadable up down mixer #8667

Closed

Conversation

pjdobrowolski
Copy link
Contributor

This is an module_example of loadable up_down_mixer with lmdk.

load_offset = "0x40000"

[module]
count = 1
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no, all this must not be here.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where can it be more suitable place to leave that toml?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Where can it be more suitable place to leave that toml?

sorry, I meant that specific part that you're adding here. It's platform specific and it should be in a suitable .toml and they should be merged together by the C preprocessor similar to how https://github.com/thesofproject/sof/blob/main/tools/rimage/config/mtl.toml.h currently includes all module toml files

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good point

@dbaluta
Copy link
Collaborator

dbaluta commented Jan 10, 2024

@pjdobrowolski are you using a 3rd party binary for the mixer OR just the code we have in the SOF repo? Or, does it matter?

posix/include/rtos/alloc.h Outdated Show resolved Hide resolved
@pjdobrowolski
Copy link
Contributor Author

@pjdobrowolski are you using a 3rd party binary for the mixer OR just the code we have in the SOF repo? Or, does it matter?

This is the example how to convert up_down_mixer from SOF repo to loadable version. Only requirement for conversion is to set UPDWMIX to know in configuration to exclude up_down_mixer from build_in modules.

Copy link
Collaborator

@lyakh lyakh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is draft quality at best

lmdk/modules/up_down_mixer/CMakeLists.txt Outdated Show resolved Hide resolved
src/audio/up_down_mixer/up_down_mixer.c Show resolved Hide resolved
src/audio/up_down_mixer/up_down_mixer.c Outdated Show resolved Hide resolved
src/audio/up_down_mixer/up_down_mixer.c Show resolved Hide resolved
@@ -0,0 +1,86 @@
version = [3, 0]
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is this file needed, and particularly in this PR?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

toml is modular now, so we can take the up/down mixer parts in the correct place.

src/include/sof/trace/trace.h Outdated Show resolved Hide resolved
src/include/sof/audio/component.h Outdated Show resolved Hide resolved
src/include/sof/audio/component.h Outdated Show resolved Hide resolved
src/include/sof/audio/pipeline-trace.h Outdated Show resolved Hide resolved
zephyr/include/rtos/bit.h Outdated Show resolved Hide resolved
@pjdobrowolski
Copy link
Contributor Author

this is draft quality at best

You are welcome.

@@ -0,0 +1,86 @@
version = [3, 0]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

toml is modular now, so we can take the up/down mixer parts in the correct place.

lmdk/modules/up_down_mixer/up_down_mixer_hifi3.c Outdated Show resolved Hide resolved
@pjdobrowolski pjdobrowolski force-pushed the loadable_up_down_mixer branch from 5e9f9db to 65dbf89 Compare January 11, 2024 13:46
@pjdobrowolski pjdobrowolski marked this pull request as draft January 22, 2024 11:37
@pjdobrowolski
Copy link
Contributor Author

Changed to draft, module will be moved to https://github.com/thesofproject/converged-sof-modules

@pjdobrowolski pjdobrowolski force-pushed the loadable_up_down_mixer branch from 421536b to 109843b Compare January 22, 2024 12:35
@lgirdwood
Copy link
Member

Changed to draft, module will be moved to https://github.com/thesofproject/converged-sof-modules

No, this repo was temporary and for staging only prior to module API, IPC4 etc being upstream in main. All the dependencies are now upstream so all library support should go upstream. We also cannot duplicate our modules in two places.

This repo will be moving to archived state, there is no need to keep it today.

@pjdobrowolski pjdobrowolski force-pushed the loadable_up_down_mixer branch 2 times, most recently from d565c36 to 5ff7f2b Compare January 25, 2024 14:35
@pjdobrowolski pjdobrowolski force-pushed the loadable_up_down_mixer branch from 5ff7f2b to f0ccf30 Compare January 25, 2024 14:46
@pjdobrowolski
Copy link
Contributor Author

Ok, I removed all unnecessary MODULE_PRIVAT tags and created exported headers from sof. Now up_down_mixer is building outside of sof. @softwarecki now we must create some kind of git/python verification script to check if these headers change or what happen with them for ABI verification.

@RanderWang
Copy link
Collaborator

please check #8554. We don't need to copy headers to lmdk.

@pjdobrowolski
Copy link
Contributor Author

llext and native loadable modules are not the same.

@lyakh
Copy link
Collaborator

lyakh commented Jan 29, 2024

llext and native loadable modules are not the same.

@pjdobrowolski what @RanderWang is talking about isn't an LLEXT module, it's what you call a "native" system-service module, that he has submitted, you still don't need to copy headers for those

@pjdobrowolski pjdobrowolski force-pushed the loadable_up_down_mixer branch from f0ccf30 to d05c03c Compare January 31, 2024 09:24
Not all headers and funtions are used in loadable modules that is why we
need for smaller header packs reduce it to what is truely need.

Signed-off-by: Dobrowolski, PawelX <[email protected]>
Example of loadable module build using lmdk

Signed-off-by: Dobrowolski, PawelX <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants