mirror of
https://github.com/torvalds/linux.git
synced 2024-11-21 19:41:42 +00:00
Documentation/amdgpu: Add PM policy documentation
Add documentation about the newly added pm_policy node in sysfs. Signed-off-by: Lijo Lazar <lijo.lazar@amd.com> Acked-by: Alex Deucher <alexander.deucher@amd.com> Reviewed-by: Asad Kamal <asad.kamal@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
04806c1a21
commit
f88e570d4b
@ -49,6 +49,12 @@ pp_power_profile_mode
|
||||
.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
|
||||
:doc: pp_power_profile_mode
|
||||
|
||||
pm_policy
|
||||
---------------------
|
||||
|
||||
.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
|
||||
:doc: pm_policy
|
||||
|
||||
\*_busy_percent
|
||||
---------------
|
||||
|
||||
|
@ -2220,6 +2220,59 @@ struct amdgpu_pm_policy_attr {
|
||||
enum pp_pm_policy id;
|
||||
};
|
||||
|
||||
/**
|
||||
* DOC: pm_policy
|
||||
*
|
||||
* Certain SOCs can support different power policies to optimize application
|
||||
* performance. However, this policy is provided only at SOC level and not at a
|
||||
* per-process level. This is useful especially when entire SOC is utilized for
|
||||
* dedicated workload.
|
||||
*
|
||||
* The amdgpu driver provides a sysfs API for selecting the policy. Presently,
|
||||
* only two types of policies are supported through this interface.
|
||||
*
|
||||
* Pstate Policy Selection - This is to select different Pstate profiles which
|
||||
* decides clock/throttling preferences.
|
||||
*
|
||||
* XGMI PLPD Policy Selection - When multiple devices are connected over XGMI,
|
||||
* this helps to select policy to be applied for per link power down.
|
||||
*
|
||||
* The list of available policies and policy levels vary between SOCs. They can
|
||||
* be viewed under pm_policy node directory. If SOC doesn't support any policy,
|
||||
* this node won't be available. The different policies supported will be
|
||||
* available as separate nodes under pm_policy.
|
||||
*
|
||||
* cat /sys/bus/pci/devices/.../pm_policy/<policy_type>
|
||||
*
|
||||
* Reading the policy file shows the different levels supported. The level which
|
||||
* is applied presently is denoted by * (asterisk). E.g.,
|
||||
*
|
||||
* .. code-block:: console
|
||||
*
|
||||
* cat /sys/bus/pci/devices/.../pm_policy/soc_pstate
|
||||
* 0 : soc_pstate_default
|
||||
* 1 : soc_pstate_0
|
||||
* 2 : soc_pstate_1*
|
||||
* 3 : soc_pstate_2
|
||||
*
|
||||
* cat /sys/bus/pci/devices/.../pm_policy/xgmi_plpd
|
||||
* 0 : plpd_disallow
|
||||
* 1 : plpd_default
|
||||
* 2 : plpd_optimized*
|
||||
*
|
||||
* To apply a specific policy
|
||||
*
|
||||
* "echo <level> > /sys/bus/pci/devices/.../pm_policy/<policy_type>"
|
||||
*
|
||||
* For the levels listed in the example above, to select "plpd_optimized" for
|
||||
* XGMI and "soc_pstate_2" for soc pstate policy -
|
||||
*
|
||||
* .. code-block:: console
|
||||
*
|
||||
* echo "2" > /sys/bus/pci/devices/.../pm_policy/xgmi_plpd
|
||||
* echo "3" > /sys/bus/pci/devices/.../pm_policy/soc_pstate
|
||||
*
|
||||
*/
|
||||
static ssize_t amdgpu_get_pm_policy_attr(struct device *dev,
|
||||
struct device_attribute *attr,
|
||||
char *buf)
|
||||
|
Loading…
Reference in New Issue
Block a user