1 ========================= 2 drm/amdgpu AMDgpu driver 3 ========================= 4 5 The drm/amdgpu driver supports all AMD Radeon GPUs based on the Graphics Core 6 Next (GCN) architecture. 7 8 Module Parameters 9 ================= 10 11 The amdgpu driver supports the following module parameters: 12 13 .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c 14 15 Core Driver Infrastructure 16 ========================== 17 18 This section covers core driver infrastructure. 19 20 .. _amdgpu_memory_domains: 21 22 Memory Domains 23 -------------- 24 25 .. kernel-doc:: include/uapi/drm/amdgpu_drm.h 26 :doc: memory domains 27 28 Buffer Objects 29 -------------- 30 31 .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_object.c 32 :doc: amdgpu_object 33 34 .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_object.c 35 :internal: 36 37 PRIME Buffer Sharing 38 -------------------- 39 40 .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c 41 :doc: PRIME Buffer Sharing 42 43 .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c 44 :internal: 45 46 MMU Notifier 47 ------------ 48 49 .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c 50 :doc: MMU Notifier 51 52 .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c 53 :internal: 54 55 AMDGPU Virtual Memory 56 --------------------- 57 58 .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c 59 :doc: GPUVM 60 61 .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c 62 :internal: 63 64 Interrupt Handling 65 ------------------ 66 67 .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c 68 :doc: Interrupt Handling 69 70 .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c 71 :internal: 72 73 IP Blocks 74 ------------------ 75 76 .. kernel-doc:: drivers/gpu/drm/amd/include/amd_shared.h 77 :doc: IP Blocks 78 79 .. kernel-doc:: drivers/gpu/drm/amd/include/amd_shared.h 80 :identifiers: amd_ip_block_type amd_ip_funcs 81 82 AMDGPU XGMI Support 83 =================== 84 85 .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c 86 87 AMDGPU RAS Support 88 ================== 89 90 The AMDGPU RAS interfaces are exposed via sysfs (for informational queries) and 91 debugfs (for error injection). 92 93 RAS debugfs/sysfs Control and Error Injection Interfaces 94 -------------------------------------------------------- 95 96 .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c 97 :doc: AMDGPU RAS debugfs control interface 98 99 RAS Reboot Behavior for Unrecoverable Errors 100 -------------------------------------------------------- 101 102 .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c 103 :doc: AMDGPU RAS Reboot Behavior for Unrecoverable Errors 104 105 RAS Error Count sysfs Interface 106 ------------------------------- 107 108 .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c 109 :doc: AMDGPU RAS sysfs Error Count Interface 110 111 RAS EEPROM debugfs Interface 112 ---------------------------- 113 114 .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c 115 :doc: AMDGPU RAS debugfs EEPROM table reset interface 116 117 RAS VRAM Bad Pages sysfs Interface 118 ---------------------------------- 119 120 .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c 121 :doc: AMDGPU RAS sysfs gpu_vram_bad_pages Interface 122 123 Sample Code 124 ----------- 125 Sample code for testing error injection can be found here: 126 https://cgit.freedesktop.org/mesa/drm/tree/tests/amdgpu/ras_tests.c 127 128 This is part of the libdrm amdgpu unit tests which cover several areas of the GPU. 129 There are four sets of tests: 130 131 RAS Basic Test 132 133 The test verifies the RAS feature enabled status and makes sure the necessary sysfs and debugfs files 134 are present. 135 136 RAS Query Test 137 138 This test checks the RAS availability and enablement status for each supported IP block as well as 139 the error counts. 140 141 RAS Inject Test 142 143 This test injects errors for each IP. 144 145 RAS Disable Test 146 147 This test tests disabling of RAS features for each IP block. 148 149 150 GPU Power/Thermal Controls and Monitoring 151 ========================================= 152 153 This section covers hwmon and power/thermal controls. 154 155 HWMON Interfaces 156 ---------------- 157 158 .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 159 :doc: hwmon 160 161 GPU sysfs Power State Interfaces 162 -------------------------------- 163 164 GPU power controls are exposed via sysfs files. 165 166 power_dpm_state 167 ~~~~~~~~~~~~~~~ 168 169 .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 170 :doc: power_dpm_state 171 172 power_dpm_force_performance_level 173 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 174 175 .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 176 :doc: power_dpm_force_performance_level 177 178 pp_table 179 ~~~~~~~~ 180 181 .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 182 :doc: pp_table 183 184 pp_od_clk_voltage 185 ~~~~~~~~~~~~~~~~~ 186 187 .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 188 :doc: pp_od_clk_voltage 189 190 pp_dpm_* 191 ~~~~~~~~ 192 193 .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 194 :doc: pp_dpm_sclk pp_dpm_mclk pp_dpm_socclk pp_dpm_fclk pp_dpm_dcefclk pp_dpm_pcie 195 196 pp_power_profile_mode 197 ~~~~~~~~~~~~~~~~~~~~~ 198 199 .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 200 :doc: pp_power_profile_mode 201 202 \*_busy_percent 203 ~~~~~~~~~~~~~~~ 204 205 .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 206 :doc: gpu_busy_percent 207 208 .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 209 :doc: mem_busy_percent 210 211 gpu_metrics 212 ~~~~~~~~~~~~~~~~~~~~~ 213 214 .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 215 :doc: gpu_metrics 216 217 GPU Product Information 218 ======================= 219 220 Information about the GPU can be obtained on certain cards 221 via sysfs 222 223 product_name 224 ------------ 225 226 .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 227 :doc: product_name 228 229 product_number 230 -------------- 231 232 .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 233 :doc: product_name 234 235 serial_number 236 ------------- 237 238 .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 239 :doc: serial_number 240 241 unique_id 242 --------- 243 244 .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 245 :doc: unique_id 246 247 GPU Memory Usage Information 248 ============================ 249 250 Various memory accounting can be accessed via sysfs 251 252 mem_info_vram_total 253 ------------------- 254 255 .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c 256 :doc: mem_info_vram_total 257 258 mem_info_vram_used 259 ------------------ 260 261 .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c 262 :doc: mem_info_vram_used 263 264 mem_info_vis_vram_total 265 ----------------------- 266 267 .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c 268 :doc: mem_info_vis_vram_total 269 270 mem_info_vis_vram_used 271 ---------------------- 272 273 .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c 274 :doc: mem_info_vis_vram_used 275 276 mem_info_gtt_total 277 ------------------ 278 279 .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c 280 :doc: mem_info_gtt_total 281 282 mem_info_gtt_used 283 ----------------- 284 285 .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c 286 :doc: mem_info_gtt_used 287 288 PCIe Accounting Information 289 =========================== 290 291 pcie_bw 292 ------- 293 294 .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 295 :doc: pcie_bw 296 297 pcie_replay_count 298 ----------------- 299 300 .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 301 :doc: pcie_replay_count 302 303 GPU SmartShift Information 304 ========================== 305 306 GPU SmartShift information via sysfs 307 308 smartshift_apu_power 309 -------------------- 310 311 .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 312 :doc: smartshift_apu_power 313 314 smartshift_dgpu_power 315 --------------------- 316 317 .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 318 :doc: smartshift_dgpu_power 319 320 smartshift_bias 321 --------------- 322 323 .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 324 :doc: smartshift_bias 325