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

soc: xtensa: intel_adsp: restore bootctl with per-core state #68894

Merged
merged 1 commit into from
Feb 13, 2024

Conversation

kv2019i
Copy link
Collaborator

@kv2019i kv2019i commented Feb 12, 2024

When exiting PM_STATE_SOFT_OFF, the primary core state is always used to restore bootctl register and the clock and power gating settings.

This can lead to problems if non-primary core is powered up and down many times before primary core 0 is powered down the first time. The saved state in core_desc[0].bctl will be null, and as a result- power gating and clock gating is not disabled correctly for non-primary cores.

Link: thesofproject/sof#8642

When exiting PM_STATE_SOFT_OFF, the primary core state is always
used to restore bootctl register and the clock and power gating
settings.

This can lead to problems if non-primary core is powered up and down
many times before primary core 0 is powered down the first time.
The saved state in core_desc[0].bctl will be null, and as a result-
power gating and clock gating is not disabled correctly for
non-primary cores.

Link: thesofproject/sof#8642
Signed-off-by: Kai Vehmanen <[email protected]>
@kv2019i kv2019i added the platform: Intel ADSP Intel Audio platforms label Feb 12, 2024
@kv2019i kv2019i requested a review from tmleman February 12, 2024 19:23
@zephyrbot zephyrbot added the Trivial Changes that can be reviewed by anyone, i.e. doc changes, minor build system tweaks, etc. label Feb 12, 2024
@@ -354,7 +354,7 @@ void pm_state_exit_post_ops(enum pm_state state, uint8_t substate_id)
if (state == PM_STATE_SOFT_OFF) {
/* restore clock gating state */
DSPCS.bootctl[cpu].bctl |=
(core_desc[0].bctl & DSPBR_BCTL_WAITIPCG);
(core_desc[cpu].bctl & DSPBR_BCTL_WAITIPCG);
Copy link
Collaborator

Choose a reason for hiding this comment

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

this code dates back to 1631d2d

@fabiobaltieri fabiobaltieri added this to the v3.6.0 milestone Feb 13, 2024
@henrikbrixandersen henrikbrixandersen merged commit a8af622 into zephyrproject-rtos:main Feb 13, 2024
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
platform: Intel ADSP Intel Audio platforms Trivial Changes that can be reviewed by anyone, i.e. doc changes, minor build system tweaks, etc.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants