-
Notifications
You must be signed in to change notification settings - Fork 321
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
board: intel_adsp_ace15_mtpm: Disable IMR context save for MTL #7994
Conversation
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.
Can one of the admins verify this patch? |
SOFCI TEST |
1757454
to
37d6c34
Compare
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.
@mengdonglin thanks, lets enable when needed by developers.
@kv2019i @lgirdwood @gkbldcig @abonislawski
|
@wszypelt @lrudyX I checked QB CI log: https://quickbuild.igk.intel.com/build/12698102/log It seems building completed successfully for MTL and LNL, but CI cannot trigger smoke test. Can you help check where it fails? |
@RanderWang @lyakh @kv2019i @abonislawski Can you help evaluate whether setting I learned from @RanderWang that cavs2.5 platform needs an extra 'z_init_cpu' to support multi-core. But since in https://github.com/thesofproject/sof/blob/main/zephyr/lib/cpu.c, we don't know if the SoC is MTL or cavs2.5, so we depend on CONFIG_ADSP_IMR_CONTEXT_SAVE to distinguish MTL from cavs2.5: @RanderWang Can you please confirm MTL doesn't need 'z_init_cpu' no matter CONFIG_ADSP_IMR_CONTEXT_SAVE is set or not? |
@tmleman MTL doesn't need 'z_init_cpu' for your comment ? |
@mengdonglin @lgirdwood |
sorry, don't understand why we cannot check the DSP version there? |
Yes, if we want to disable this feature we need to change this condition. Second cpu init will break multicore support on MTL. |
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.
I'm blocking it so it doesn't get merge too early. Additional changes are required.
@tmleman Thanks for the confirmation! Can you please share more info why second cpu init will break multicore support on MTL (even w/o IMR context save?) but not on cavs2.5 platforms? And can we make another PR to decide whether it's MTL or cavs2.5 in https://github.com/thesofproject/sof/blob/main/zephyr/lib/cpu.c#L151, something like this?
CONFIG_ACE is defined for MTL in https://github.com/thesofproject/sof/blob/main/src/platform/Kconfig#L22 @RanderWang @lyakh What do you think? |
is it for LNL PORed feature? if not, I would suggest disable on LNL as well. |
|
if that's what works (and after replacing |
@mengdonglin @lyakh when you are doing set_dx only for secondary cores no IMR context save takes place. Context save to IMR is done only when we are disabling primary core. In case of a secondary core, Idle thread stack is still in memory and by calling I discussed this with the team and we would prefer this feature to be disabled only on release branches. I suggest we discuss this further on Tuesday's sync. |
@tmleman I don't think that was my concern. I just meant that specific change from checking for
If we replace the check for
|
This is how it should look like. |
How about something like this for the comment in that file:
But please double-check that this is exactly what we need because it sounds strange. |
@mengdonglin Do I understand it correctly? We will disable CONFIG_ADSP_IMR_CONTEXT_SAVE on main branch for purpose of 2.7 release and then re-enable it? |
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.
@tmleman @mengdonglin Let's not merge this for main and instead just do a patch to stable-v2.7
Disable IMR context save on MTL by default, as it isn't a mandatory feature for MTL.
The feature implementation is kept. So users can set CONFIG_ADSP_IMR_CONTEXT_SAVE=y to use this feature.
This is also to save some latency for audio to suspend #8071