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 52pm_policy 53--------------------- 54 55.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 56 :doc: pm_policy 57 58\*_busy_percent 59--------------- 60 61.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 62 :doc: gpu_busy_percent 63 64.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 65 :doc: mem_busy_percent 66 67gpu_metrics 68----------- 69 70.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 71 :doc: gpu_metrics 72 73fan_curve 74--------- 75 76.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 77 :doc: fan_curve 78 79acoustic_limit_rpm_threshold 80---------------------------- 81 82.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 83 :doc: acoustic_limit_rpm_threshold 84 85acoustic_target_rpm_threshold 86----------------------------- 87 88.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 89 :doc: acoustic_target_rpm_threshold 90 91fan_target_temperature 92---------------------- 93 94.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 95 :doc: fan_target_temperature 96 97fan_minimum_pwm 98--------------- 99 100.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 101 :doc: fan_minimum_pwm 102 103fan_zero_rpm_enable 104---------------------- 105 106.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 107 :doc: fan_zero_rpm_enable 108 109fan_zero_rpm_stop_temperature 110----------------------------- 111 112.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 113 :doc: fan_zero_rpm_stop_temperature 114 115GFXOFF 116====== 117 118GFXOFF is a feature found in most recent GPUs that saves power at runtime. The 119card's RLC (RunList Controller) firmware powers off the gfx engine 120dynamically when there is no workload on gfx or compute pipes. GFXOFF is on by 121default on supported GPUs. 122 123Userspace can interact with GFXOFF through a debugfs interface (all values in 124`uint32_t`, unless otherwise noted): 125 126``amdgpu_gfxoff`` 127----------------- 128 129Use it to enable/disable GFXOFF, and to check if it's current enabled/disabled:: 130 131 $ xxd -l1 -p /sys/kernel/debug/dri/0/amdgpu_gfxoff 132 01 133 134- Write 0 to disable it, and 1 to enable it. 135- Read 0 means it's disabled, 1 it's enabled. 136 137If it's enabled, that means that the GPU is free to enter into GFXOFF mode as 138needed. Disabled means that it will never enter GFXOFF mode. 139 140``amdgpu_gfxoff_status`` 141------------------------ 142 143Read it to check current GFXOFF's status of a GPU:: 144 145 $ xxd -l1 -p /sys/kernel/debug/dri/0/amdgpu_gfxoff_status 146 02 147 148- 0: GPU is in GFXOFF state, the gfx engine is powered down. 149- 1: Transition out of GFXOFF state 150- 2: Not in GFXOFF state 151- 3: Transition into GFXOFF state 152 153If GFXOFF is enabled, the value will be transitioning around [0, 3], always 154getting into 0 when possible. When it's disabled, it's always at 2. Returns 155``-EINVAL`` if it's not supported. 156 157``amdgpu_gfxoff_count`` 158----------------------- 159 160Read it to get the total GFXOFF entry count at the time of query since system 161power-up. The value is an `uint64_t` type, however, due to firmware limitations, 162it can currently overflow as an `uint32_t`. *Only supported in vangogh* 163 164``amdgpu_gfxoff_residency`` 165--------------------------- 166 167Write 1 to amdgpu_gfxoff_residency to start logging, and 0 to stop. Read it to 168get average GFXOFF residency % multiplied by 100 during the last logging 169interval. E.g. a value of 7854 means 78.54% of the time in the last logging 170interval the GPU was in GFXOFF mode. *Only supported in vangogh* 171