OPAL Power Shift Ratio¶
Sometimes power management firmware needs to throttle power availability to system components in order to keep within power cap or thermal limits. It’s possible to set a preference as to what trade-offs power management firmware will make. For example, certain workloads may heavily prefer throttling CPU over GPUs or vice-versa.
OPAL_GET_POWER_SHIFT_RATIO¶
OPAL call to read the power-shifting-ratio using a handle to identify the type (e.g CPU vs. GPU, CPU vs. MEM) which is exported via device-tree.
The call can be asynchronus, where the token parameter is used to wait for the completion.
Parameters¶
u32 |
handle |
int |
token |
u32 |
*ratio |
Returns¶
- OPAL_SUCCESS
Success
- OPAL_PARAMETER
Invalid ratio pointer
- OPAL_UNSUPPORTED
No support for reading psr
- OPAL_HARDWARE
Unable to procced due to the current hardware state
- OPAL_ASYNC_COMPLETION
Request was sent and an async completion message will be sent with token and status of the request.
OPAL_SET_POWER_SHIFT_RATIO¶
OPAL call to set power-shifting-ratio using a handle to identify the type of PSR which is exported in device-tree. This call can be asynchronus where the token parameter is used to wait for the completion.
Parameters¶
u32 |
handle |
int |
token |
u32 |
ratio |
Returns¶
- OPAL_SUCCESS
Success
- OPAL_PARAMETER
Invalid ratio requested
- OPAL_UNSUPPORTED
No support for changing the ratio
- OPAL_PERMISSION
Hardware cannot take the request
- OPAL_ASYNC_COMPLETION
Request was sent and an async completion message will be sent with token and status of the request.
- OPAL_HARDWARE
Unable to procced due to the current hardware state
- OPAL_BUSY
Previous request in progress
- OPAL_INTERNAL_ERROR
Error in request response
- OPAL_TIMEOUT
Timeout in request completion