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