Linux Audio

Check our new training course

Loading...
Note: File does not exist in v3.1.
  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 (all values in
 76`uint32_t`, unless otherwise noted):
 77
 78``amdgpu_gfxoff``
 79-----------------
 80
 81Use 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
 89If it's enabled, that means that the GPU is free to enter into GFXOFF mode as
 90needed. Disabled means that it will never enter GFXOFF mode.
 91
 92``amdgpu_gfxoff_status``
 93------------------------
 94
 95Read 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
105If GFXOFF is enabled, the value will be transitioning around [0, 3], always
106getting 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
112Read it to get the total GFXOFF entry count at the time of query since system
113power-up. The value is an `uint64_t` type, however, due to firmware limitations,
114it can currently overflow as an `uint32_t`. *Only supported in vangogh*
115
116``amdgpu_gfxoff_residency``
117---------------------------
118
119Write 1 to amdgpu_gfxoff_residency to start logging, and 0 to stop. Read it to
120get average GFXOFF residency % multiplied by 100 during the last logging
121interval. E.g. a value of 7854 means 78.54% of the time in the last logging
122interval the GPU was in GFXOFF mode. *Only supported in vangogh*