1===========================================
2 GPU Power/Thermal Controls and Monitoring
3===========================================
4
5HWMON Interfaces
6================
7
8.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
9   :doc: hwmon
10
11GPU sysfs Power State Interfaces
12================================
13
14GPU power controls are exposed via sysfs files.
15
16power_dpm_state
17---------------
18
19.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
20   :doc: power_dpm_state
21
22power_dpm_force_performance_level
23---------------------------------
24
25.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
26   :doc: power_dpm_force_performance_level
27
28pp_table
29--------
30
31.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
32   :doc: pp_table
33
34pp_od_clk_voltage
35-----------------
36
37.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
38   :doc: pp_od_clk_voltage
39
40pp_dpm_*
41--------
42
43.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
44   :doc: pp_dpm_sclk pp_dpm_mclk pp_dpm_socclk pp_dpm_fclk pp_dpm_dcefclk pp_dpm_pcie
45
46pp_power_profile_mode
47---------------------
48
49.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
50   :doc: pp_power_profile_mode
51
52\*_busy_percent
53---------------
54
55.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
56   :doc: gpu_busy_percent
57
58.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
59   :doc: mem_busy_percent
60
61gpu_metrics
62-----------
63
64.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
65   :doc: gpu_metrics
66
67GFXOFF
68======
69
70GFXOFF is a feature found in most recent GPUs that saves power at runtime. The
71card's RLC (RunList Controller) firmware powers off the gfx engine
72dynamically when there is no workload on gfx or compute pipes. GFXOFF is on by
73default on supported GPUs.
74
75Userspace can interact with GFXOFF through a debugfs interface:
76
77``amdgpu_gfxoff``
78-----------------
79
80Use it to enable/disable GFXOFF, and to check if it's current enabled/disabled::
81
82  $ xxd -l1 -p /sys/kernel/debug/dri/0/amdgpu_gfxoff
83  01
84
85- Write 0 to disable it, and 1 to enable it.
86- Read 0 means it's disabled, 1 it's enabled.
87
88If it's enabled, that means that the GPU is free to enter into GFXOFF mode as
89needed. Disabled means that it will never enter GFXOFF mode.
90
91``amdgpu_gfxoff_status``
92------------------------
93
94Read it to check current GFXOFF's status of a GPU::
95
96  $ xxd -l1 -p /sys/kernel/debug/dri/0/amdgpu_gfxoff_status
97  02
98
99- 0: GPU is in GFXOFF state, the gfx engine is powered down.
100- 1: Transition out of GFXOFF state
101- 2: Not in GFXOFF state
102- 3: Transition into GFXOFF state
103
104If GFXOFF is enabled, the value will be transitioning around [0, 3], always
105getting into 0 when possible. When it's disabled, it's always at 2. Returns
106``-EINVAL`` if it's not supported.
107