Uh oh!
There was an error while loading. Please reload this page.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(Regardless of loadable modules method) I see no reason in switching such frequently used module if we will load it always anyway.
I checked "reference firmware" and they are not using loadable option for typical modules, only for rarely used or external modules so I think we could optimize our settings similarly
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@abonislawski Today we are quite monolithic once FW and library has been loaded into SRAM, this works today, but is not fully optimal if we want to be more aggressive for PnP and offload more to DSP. Long term we need to optimize our hot code more to run on SRAM and cold code on IMR/DRAM, being able to unload (delete from SRAM and keep in IMR/DRAM) is needed if we want to maximize offload capability with limited SRAM. i.e. we can unload to swap media decoder modules (or other modules), power off SRAM banks when not used, change processing coefficients (e.g. switching SRC rates), unload init code (only used once), etc.