-
Notifications
You must be signed in to change notification settings - Fork 349
ace: power policy management #6489
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
ace: power policy management #6489
Conversation
41f81ec to
eb80502
Compare
kv2019i
left a comment
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.
Looks good to go. One question @tmleman is what is the build error patch and why it's in this series? The build is fine in current main, and I don't see other changes in cpu.c in this PR. So what is failing?
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 not familiar with Zephyr PM API, are we safe here from put() or get() being unbalanced? I.e. can this function be called multiple times with the same value of enable?
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.
Functions can be called multiple times but to balance the count of it is on the application side.
eb80502 to
0888514
Compare
lgirdwood
left a comment
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 would be nice to have some more inline comments around the state logic i.e. explaining the policy and how we change state but that can be added later. Lets get this integrated and tested first.
0888514 to
0d208e7
Compare
|
CI looks stuck. Retry. |
|
SOFCI TEST |
0d208e7 to
87f7a4f
Compare
|
@tmleman like we have a build error on MTL in CI for GCC config. |
This patch introduce custom power management policy for ace platforms. Default version depends mainly on system tick. Definition on the application side will allow later for better customization. When CONFIG_PM_POLICY_CUSTOM is set, kernel expect that application will provide custom policy implementation. Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
This patch adds functions that allow to set/unset prevent on dynamic power gating. Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
D3 (PM_STATE_SOFT_OFF) state can be only entered after IPC request from host. That why this prevent should be permanent. D0i3 (PM_STATE_RUNTIME_IDLE) can be entered if host allows it and under special conditions. State is prevented by default. Host will remove this prevent with dedicated IPC message. Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
Adding missing header: rtos/wait.h The error appears in meteorlake after enabling power management. Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
Enabling zephyr power management functionalities for meteorlake board. Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
87f7a4f to
aac1777
Compare
|
@tmleman still seeing an error |
|
@lgirdwood wrote:
That's caused by #6517 that was merged yesterday. My bad, should have caught this pre-merge. Let's address this in a separate PR. UPDATE: fixed partly in #6529 , see comments about the hifi3/XCC dependency that remains |
|
Known failures in CI. I did a local test with Zephyr SDK toolchain and all passes cleanly now. Proceeding with merge. |
List of changes: