1 =========================================== 2 GPU Power/Thermal Controls and Monitoring 3 =========================================== 4 5 HWMON Interfaces 6 ================ 7 8 .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 9 :doc: hwmon 10 11 GPU sysfs Power State Interfaces 12 ================================ 13 14 GPU power controls are exposed via sysfs files. 15 16 power_dpm_state 17 --------------- 18 19 .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 20 :doc: power_dpm_state 21 22 power_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 28 pp_table 29 -------- 30 31 .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 32 :doc: pp_table 33 34 pp_od_clk_voltage 35 ----------------- 36 37 .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 38 :doc: pp_od_clk_voltage 39 40 pp_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 46 pp_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 61 gpu_metrics 62 ----------- 63 64 .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 65 :doc: gpu_metrics 66 67 GFXOFF 68 ====== 69 70 GFXOFF is a feature found in most recent GPUs that saves power at runtime. The 71 card's RLC (RunList Controller) firmware powers off the gfx engine 72 dynamically when there is no workload on gfx or compute pipes. GFXOFF is on by 73 default on supported GPUs. 74 75 Userspace can interact with GFXOFF through a debugfs interface (all values in 76 `uint32_t`, unless otherwise noted): 77 78 ``amdgpu_gfxoff`` 79 ----------------- 80 81 Use it to enable/disable GFXOFF, and to check if it's current enabled/disabled:: 82 83 $ xxd -l1 -p /sys/kernel/debug/dri/0/amdgpu_gfxoff 84 01 85 86 - Write 0 to disable it, and 1 to enable it. 87 - Read 0 means it's disabled, 1 it's enabled. 88 89 If it's enabled, that means that the GPU is free to enter into GFXOFF mode as 90 needed. Disabled means that it will never enter GFXOFF mode. 91 92 ``amdgpu_gfxoff_status`` 93 ------------------------ 94 95 Read it to check current GFXOFF's status of a GPU:: 96 97 $ xxd -l1 -p /sys/kernel/debug/dri/0/amdgpu_gfxoff_status 98 02 99 100 - 0: GPU is in GFXOFF state, the gfx engine is powered down. 101 - 1: Transition out of GFXOFF state 102 - 2: Not in GFXOFF state 103 - 3: Transition into GFXOFF state 104 105 If GFXOFF is enabled, the value will be transitioning around [0, 3], always 106 getting into 0 when possible. When it's disabled, it's always at 2. Returns 107 ``-EINVAL`` if it's not supported. 108 109 ``amdgpu_gfxoff_count`` 110 ----------------------- 111 112 Read it to get the total GFXOFF entry count at the time of query since system 113 power-up. The value is an `uint64_t` type, however, due to firmware limitations, 114 it can currently overflow as an `uint32_t`. *Only supported in vangogh* 115 116 ``amdgpu_gfxoff_residency`` 117 --------------------------- 118 119 Write 1 to amdgpu_gfxoff_residency to start logging, and 0 to stop. Read it to 120 get average GFXOFF residency % multiplied by 100 during the last logging 121 interval. E.g. a value of 7854 means 78.54% of the time in the last logging 122 interval the GPU was in GFXOFF mode. *Only supported in vangogh* 123