aboutsummaryrefslogtreecommitdiffstats
path: root/roms/skiboot/doc/opal-api/opal-power-shift-ratio.rst
diff options
context:
space:
mode:
authorAngelos Mouzakitis <a.mouzakitis@virtualopensystems.com>2023-10-10 14:33:42 +0000
committerAngelos Mouzakitis <a.mouzakitis@virtualopensystems.com>2023-10-10 14:33:42 +0000
commitaf1a266670d040d2f4083ff309d732d648afba2a (patch)
tree2fc46203448ddcc6f81546d379abfaeb323575e9 /roms/skiboot/doc/opal-api/opal-power-shift-ratio.rst
parente02cda008591317b1625707ff8e115a4841aa889 (diff)
Add submodule dependency filesHEADmaster
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'roms/skiboot/doc/opal-api/opal-power-shift-ratio.rst')
-rw-r--r--roms/skiboot/doc/opal-api/opal-power-shift-ratio.rst89
1 files changed, 89 insertions, 0 deletions
diff --git a/roms/skiboot/doc/opal-api/opal-power-shift-ratio.rst b/roms/skiboot/doc/opal-api/opal-power-shift-ratio.rst
new file mode 100644
index 000000000..4437b55bb
--- /dev/null
+++ b/roms/skiboot/doc/opal-api/opal-power-shift-ratio.rst
@@ -0,0 +1,89 @@
+.. _opal-psr:
+
+======================
+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_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
+-------
+
+:ref:`OPAL_SUCCESS`
+ Success
+:ref:`OPAL_PARAMETER`
+ Invalid ratio pointer
+:ref:`OPAL_UNSUPPORTED`
+ No support for reading psr
+:ref:`OPAL_HARDWARE`
+ Unable to procced due to the current hardware state
+:ref:`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_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
+-------
+
+:ref:`OPAL_SUCCESS`
+ Success
+:ref:`OPAL_PARAMETER`
+ Invalid ratio requested
+:ref:`OPAL_UNSUPPORTED`
+ No support for changing the ratio
+:ref:`OPAL_PERMISSION`
+ Hardware cannot take the request
+:ref:`OPAL_ASYNC_COMPLETION`
+ Request was sent and an async completion message will be sent with
+ token and status of the request.
+:ref:`OPAL_HARDWARE`
+ Unable to procced due to the current hardware state
+:ref:`OPAL_BUSY`
+ Previous request in progress
+:ref:`OPAL_INTERNAL_ERROR`
+ Error in request response
+:ref:`OPAL_TIMEOUT`
+ Timeout in request completion