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

ipc4: mixin/mixout: Remove redundant source_info stuff #8274

Merged

Conversation

serhiy-katsyuba-intel
Copy link
Contributor

Mutex protected module_source_info was an old failed attempt to support cross-core connection of mixin and mixout. That functionality was never properly tested as FW did not support cross-core connections there.

For connected mixin and mixout located on same core, that functionality is not needed. For cross-core connection, that functionality creates dead-lock.

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 not only removes source_info from mixin-mixout, but also removes generic module binding and unbinding and moves it to mixin-mixout only. This might be valid, but it's certainly more than what the commit description is saying

src/audio/mixin_mixout/mixin_mixout.c Show resolved Hide resolved
src/audio/mixin_mixout/mixin_mixout.c Show resolved Hide resolved
@serhiy-katsyuba-intel
Copy link
Contributor Author

this not only removes source_info from mixin-mixout, but also removes generic module binding and unbinding and moves it to mixin-mixout only. This might be valid, but it's certainly more than what the commit description is saying

No, module_adpter_bind() and unbind() are still there. They are just stripped from the stuff that was only needed for mixin/mixout. Previously that was implemented in mixout_bind() and unbind() and were moved to module_adapter after mixin/mixout was modified to use it. That module_adapter_source_info is (1) not needed at all, (2) does not work: does nothing on single core and creates dead-lock on cross-core.

Mutex protected module_source_info was an old failed attempt to support
cross-core connection of mixin and mixout. That functionality was never
properly tested as FW did not support cross-core connections there.

For connected mixin and mixout located on same core, that functionality
is not needed. For cross-core connection, that functionality creates
dead-lock.

Signed-off-by: Serhiy Katsyuba <[email protected]>
@lgirdwood
Copy link
Member

@serhiy-katsyuba-intel there were also some recent MCPS optimisations for local core 1:1 copying. Can you confirm there is no MCPS impact for this use case. Thanks

@serhiy-katsyuba-intel
Copy link
Contributor Author

@serhiy-katsyuba-intel there were also some recent MCPS optimisations for local core 1:1 copying. Can you confirm there is no MCPS impact for this use case. Thanks

The PR does not add new code to execution flow, it just removes module_source_info stuff which is not needed. The performance might become a little bit better or at least the same, not worse.

@lgirdwood
Copy link
Member

Rerun the actions and Zephyr issues are known and unrelated..

@lgirdwood lgirdwood merged commit f873a99 into thesofproject:main Oct 2, 2023
36 of 38 checks passed
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.

5 participants