18c2ecf20Sopenharmony_ci========================= 28c2ecf20Sopenharmony_ci drm/amdgpu AMDgpu driver 38c2ecf20Sopenharmony_ci========================= 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ciThe drm/amdgpu driver supports all AMD Radeon GPUs based on the Graphics Core 68c2ecf20Sopenharmony_ciNext (GCN) architecture. 78c2ecf20Sopenharmony_ci 88c2ecf20Sopenharmony_ciModule Parameters 98c2ecf20Sopenharmony_ci================= 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ciThe amdgpu driver supports the following module parameters: 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ciCore Driver Infrastructure 168c2ecf20Sopenharmony_ci========================== 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ciThis section covers core driver infrastructure. 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci.. _amdgpu_memory_domains: 218c2ecf20Sopenharmony_ci 228c2ecf20Sopenharmony_ciMemory Domains 238c2ecf20Sopenharmony_ci-------------- 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ci.. kernel-doc:: include/uapi/drm/amdgpu_drm.h 268c2ecf20Sopenharmony_ci :doc: memory domains 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ciBuffer Objects 298c2ecf20Sopenharmony_ci-------------- 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_object.c 328c2ecf20Sopenharmony_ci :doc: amdgpu_object 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_object.c 358c2ecf20Sopenharmony_ci :internal: 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_ciPRIME Buffer Sharing 388c2ecf20Sopenharmony_ci-------------------- 398c2ecf20Sopenharmony_ci 408c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c 418c2ecf20Sopenharmony_ci :doc: PRIME Buffer Sharing 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c 448c2ecf20Sopenharmony_ci :internal: 458c2ecf20Sopenharmony_ci 468c2ecf20Sopenharmony_ciMMU Notifier 478c2ecf20Sopenharmony_ci------------ 488c2ecf20Sopenharmony_ci 498c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c 508c2ecf20Sopenharmony_ci :doc: MMU Notifier 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c 538c2ecf20Sopenharmony_ci :internal: 548c2ecf20Sopenharmony_ci 558c2ecf20Sopenharmony_ciAMDGPU Virtual Memory 568c2ecf20Sopenharmony_ci--------------------- 578c2ecf20Sopenharmony_ci 588c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c 598c2ecf20Sopenharmony_ci :doc: GPUVM 608c2ecf20Sopenharmony_ci 618c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c 628c2ecf20Sopenharmony_ci :internal: 638c2ecf20Sopenharmony_ci 648c2ecf20Sopenharmony_ciInterrupt Handling 658c2ecf20Sopenharmony_ci------------------ 668c2ecf20Sopenharmony_ci 678c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c 688c2ecf20Sopenharmony_ci :doc: Interrupt Handling 698c2ecf20Sopenharmony_ci 708c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c 718c2ecf20Sopenharmony_ci :internal: 728c2ecf20Sopenharmony_ci 738c2ecf20Sopenharmony_ciIP Blocks 748c2ecf20Sopenharmony_ci------------------ 758c2ecf20Sopenharmony_ci 768c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/include/amd_shared.h 778c2ecf20Sopenharmony_ci :doc: IP Blocks 788c2ecf20Sopenharmony_ci 798c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/include/amd_shared.h 808c2ecf20Sopenharmony_ci :identifiers: amd_ip_block_type amd_ip_funcs 818c2ecf20Sopenharmony_ci 828c2ecf20Sopenharmony_ciAMDGPU XGMI Support 838c2ecf20Sopenharmony_ci=================== 848c2ecf20Sopenharmony_ci 858c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c 868c2ecf20Sopenharmony_ci 878c2ecf20Sopenharmony_ciAMDGPU RAS Support 888c2ecf20Sopenharmony_ci================== 898c2ecf20Sopenharmony_ci 908c2ecf20Sopenharmony_ciThe AMDGPU RAS interfaces are exposed via sysfs (for informational queries) and 918c2ecf20Sopenharmony_cidebugfs (for error injection). 928c2ecf20Sopenharmony_ci 938c2ecf20Sopenharmony_ciRAS debugfs/sysfs Control and Error Injection Interfaces 948c2ecf20Sopenharmony_ci-------------------------------------------------------- 958c2ecf20Sopenharmony_ci 968c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c 978c2ecf20Sopenharmony_ci :doc: AMDGPU RAS debugfs control interface 988c2ecf20Sopenharmony_ci 998c2ecf20Sopenharmony_ciRAS Reboot Behavior for Unrecoverable Errors 1008c2ecf20Sopenharmony_ci-------------------------------------------------------- 1018c2ecf20Sopenharmony_ci 1028c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c 1038c2ecf20Sopenharmony_ci :doc: AMDGPU RAS Reboot Behavior for Unrecoverable Errors 1048c2ecf20Sopenharmony_ci 1058c2ecf20Sopenharmony_ciRAS Error Count sysfs Interface 1068c2ecf20Sopenharmony_ci------------------------------- 1078c2ecf20Sopenharmony_ci 1088c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c 1098c2ecf20Sopenharmony_ci :doc: AMDGPU RAS sysfs Error Count Interface 1108c2ecf20Sopenharmony_ci 1118c2ecf20Sopenharmony_ciRAS EEPROM debugfs Interface 1128c2ecf20Sopenharmony_ci---------------------------- 1138c2ecf20Sopenharmony_ci 1148c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c 1158c2ecf20Sopenharmony_ci :doc: AMDGPU RAS debugfs EEPROM table reset interface 1168c2ecf20Sopenharmony_ci 1178c2ecf20Sopenharmony_ciRAS VRAM Bad Pages sysfs Interface 1188c2ecf20Sopenharmony_ci---------------------------------- 1198c2ecf20Sopenharmony_ci 1208c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c 1218c2ecf20Sopenharmony_ci :doc: AMDGPU RAS sysfs gpu_vram_bad_pages Interface 1228c2ecf20Sopenharmony_ci 1238c2ecf20Sopenharmony_ciSample Code 1248c2ecf20Sopenharmony_ci----------- 1258c2ecf20Sopenharmony_ciSample code for testing error injection can be found here: 1268c2ecf20Sopenharmony_cihttps://cgit.freedesktop.org/mesa/drm/tree/tests/amdgpu/ras_tests.c 1278c2ecf20Sopenharmony_ci 1288c2ecf20Sopenharmony_ciThis is part of the libdrm amdgpu unit tests which cover several areas of the GPU. 1298c2ecf20Sopenharmony_ciThere are four sets of tests: 1308c2ecf20Sopenharmony_ci 1318c2ecf20Sopenharmony_ciRAS Basic Test 1328c2ecf20Sopenharmony_ci 1338c2ecf20Sopenharmony_ciThe test verifies the RAS feature enabled status and makes sure the necessary sysfs and debugfs files 1348c2ecf20Sopenharmony_ciare present. 1358c2ecf20Sopenharmony_ci 1368c2ecf20Sopenharmony_ciRAS Query Test 1378c2ecf20Sopenharmony_ci 1388c2ecf20Sopenharmony_ciThis test checks the RAS availability and enablement status for each supported IP block as well as 1398c2ecf20Sopenharmony_cithe error counts. 1408c2ecf20Sopenharmony_ci 1418c2ecf20Sopenharmony_ciRAS Inject Test 1428c2ecf20Sopenharmony_ci 1438c2ecf20Sopenharmony_ciThis test injects errors for each IP. 1448c2ecf20Sopenharmony_ci 1458c2ecf20Sopenharmony_ciRAS Disable Test 1468c2ecf20Sopenharmony_ci 1478c2ecf20Sopenharmony_ciThis test tests disabling of RAS features for each IP block. 1488c2ecf20Sopenharmony_ci 1498c2ecf20Sopenharmony_ci 1508c2ecf20Sopenharmony_ciGPU Power/Thermal Controls and Monitoring 1518c2ecf20Sopenharmony_ci========================================= 1528c2ecf20Sopenharmony_ci 1538c2ecf20Sopenharmony_ciThis section covers hwmon and power/thermal controls. 1548c2ecf20Sopenharmony_ci 1558c2ecf20Sopenharmony_ciHWMON Interfaces 1568c2ecf20Sopenharmony_ci---------------- 1578c2ecf20Sopenharmony_ci 1588c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 1598c2ecf20Sopenharmony_ci :doc: hwmon 1608c2ecf20Sopenharmony_ci 1618c2ecf20Sopenharmony_ciGPU sysfs Power State Interfaces 1628c2ecf20Sopenharmony_ci-------------------------------- 1638c2ecf20Sopenharmony_ci 1648c2ecf20Sopenharmony_ciGPU power controls are exposed via sysfs files. 1658c2ecf20Sopenharmony_ci 1668c2ecf20Sopenharmony_cipower_dpm_state 1678c2ecf20Sopenharmony_ci~~~~~~~~~~~~~~~ 1688c2ecf20Sopenharmony_ci 1698c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 1708c2ecf20Sopenharmony_ci :doc: power_dpm_state 1718c2ecf20Sopenharmony_ci 1728c2ecf20Sopenharmony_cipower_dpm_force_performance_level 1738c2ecf20Sopenharmony_ci~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1748c2ecf20Sopenharmony_ci 1758c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 1768c2ecf20Sopenharmony_ci :doc: power_dpm_force_performance_level 1778c2ecf20Sopenharmony_ci 1788c2ecf20Sopenharmony_cipp_table 1798c2ecf20Sopenharmony_ci~~~~~~~~ 1808c2ecf20Sopenharmony_ci 1818c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 1828c2ecf20Sopenharmony_ci :doc: pp_table 1838c2ecf20Sopenharmony_ci 1848c2ecf20Sopenharmony_cipp_od_clk_voltage 1858c2ecf20Sopenharmony_ci~~~~~~~~~~~~~~~~~ 1868c2ecf20Sopenharmony_ci 1878c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 1888c2ecf20Sopenharmony_ci :doc: pp_od_clk_voltage 1898c2ecf20Sopenharmony_ci 1908c2ecf20Sopenharmony_cipp_dpm_* 1918c2ecf20Sopenharmony_ci~~~~~~~~ 1928c2ecf20Sopenharmony_ci 1938c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 1948c2ecf20Sopenharmony_ci :doc: pp_dpm_sclk pp_dpm_mclk pp_dpm_socclk pp_dpm_fclk pp_dpm_dcefclk pp_dpm_pcie 1958c2ecf20Sopenharmony_ci 1968c2ecf20Sopenharmony_cipp_power_profile_mode 1978c2ecf20Sopenharmony_ci~~~~~~~~~~~~~~~~~~~~~ 1988c2ecf20Sopenharmony_ci 1998c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 2008c2ecf20Sopenharmony_ci :doc: pp_power_profile_mode 2018c2ecf20Sopenharmony_ci 2028c2ecf20Sopenharmony_ci\*_busy_percent 2038c2ecf20Sopenharmony_ci~~~~~~~~~~~~~~~ 2048c2ecf20Sopenharmony_ci 2058c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 2068c2ecf20Sopenharmony_ci :doc: gpu_busy_percent 2078c2ecf20Sopenharmony_ci 2088c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 2098c2ecf20Sopenharmony_ci :doc: mem_busy_percent 2108c2ecf20Sopenharmony_ci 2118c2ecf20Sopenharmony_cigpu_metrics 2128c2ecf20Sopenharmony_ci~~~~~~~~~~~~~~~~~~~~~ 2138c2ecf20Sopenharmony_ci 2148c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 2158c2ecf20Sopenharmony_ci :doc: gpu_metrics 2168c2ecf20Sopenharmony_ci 2178c2ecf20Sopenharmony_ciGPU Product Information 2188c2ecf20Sopenharmony_ci======================= 2198c2ecf20Sopenharmony_ci 2208c2ecf20Sopenharmony_ciInformation about the GPU can be obtained on certain cards 2218c2ecf20Sopenharmony_civia sysfs 2228c2ecf20Sopenharmony_ci 2238c2ecf20Sopenharmony_ciproduct_name 2248c2ecf20Sopenharmony_ci------------ 2258c2ecf20Sopenharmony_ci 2268c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 2278c2ecf20Sopenharmony_ci :doc: product_name 2288c2ecf20Sopenharmony_ci 2298c2ecf20Sopenharmony_ciproduct_number 2308c2ecf20Sopenharmony_ci-------------- 2318c2ecf20Sopenharmony_ci 2328c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 2338c2ecf20Sopenharmony_ci :doc: product_name 2348c2ecf20Sopenharmony_ci 2358c2ecf20Sopenharmony_ciserial_number 2368c2ecf20Sopenharmony_ci------------- 2378c2ecf20Sopenharmony_ci 2388c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 2398c2ecf20Sopenharmony_ci :doc: serial_number 2408c2ecf20Sopenharmony_ci 2418c2ecf20Sopenharmony_ciunique_id 2428c2ecf20Sopenharmony_ci--------- 2438c2ecf20Sopenharmony_ci 2448c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 2458c2ecf20Sopenharmony_ci :doc: unique_id 2468c2ecf20Sopenharmony_ci 2478c2ecf20Sopenharmony_ciGPU Memory Usage Information 2488c2ecf20Sopenharmony_ci============================ 2498c2ecf20Sopenharmony_ci 2508c2ecf20Sopenharmony_ciVarious memory accounting can be accessed via sysfs 2518c2ecf20Sopenharmony_ci 2528c2ecf20Sopenharmony_cimem_info_vram_total 2538c2ecf20Sopenharmony_ci------------------- 2548c2ecf20Sopenharmony_ci 2558c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c 2568c2ecf20Sopenharmony_ci :doc: mem_info_vram_total 2578c2ecf20Sopenharmony_ci 2588c2ecf20Sopenharmony_cimem_info_vram_used 2598c2ecf20Sopenharmony_ci------------------ 2608c2ecf20Sopenharmony_ci 2618c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c 2628c2ecf20Sopenharmony_ci :doc: mem_info_vram_used 2638c2ecf20Sopenharmony_ci 2648c2ecf20Sopenharmony_cimem_info_vis_vram_total 2658c2ecf20Sopenharmony_ci----------------------- 2668c2ecf20Sopenharmony_ci 2678c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c 2688c2ecf20Sopenharmony_ci :doc: mem_info_vis_vram_total 2698c2ecf20Sopenharmony_ci 2708c2ecf20Sopenharmony_cimem_info_vis_vram_used 2718c2ecf20Sopenharmony_ci---------------------- 2728c2ecf20Sopenharmony_ci 2738c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c 2748c2ecf20Sopenharmony_ci :doc: mem_info_vis_vram_used 2758c2ecf20Sopenharmony_ci 2768c2ecf20Sopenharmony_cimem_info_gtt_total 2778c2ecf20Sopenharmony_ci------------------ 2788c2ecf20Sopenharmony_ci 2798c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c 2808c2ecf20Sopenharmony_ci :doc: mem_info_gtt_total 2818c2ecf20Sopenharmony_ci 2828c2ecf20Sopenharmony_cimem_info_gtt_used 2838c2ecf20Sopenharmony_ci----------------- 2848c2ecf20Sopenharmony_ci 2858c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c 2868c2ecf20Sopenharmony_ci :doc: mem_info_gtt_used 2878c2ecf20Sopenharmony_ci 2888c2ecf20Sopenharmony_ciPCIe Accounting Information 2898c2ecf20Sopenharmony_ci=========================== 2908c2ecf20Sopenharmony_ci 2918c2ecf20Sopenharmony_cipcie_bw 2928c2ecf20Sopenharmony_ci------- 2938c2ecf20Sopenharmony_ci 2948c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c 2958c2ecf20Sopenharmony_ci :doc: pcie_bw 2968c2ecf20Sopenharmony_ci 2978c2ecf20Sopenharmony_cipcie_replay_count 2988c2ecf20Sopenharmony_ci----------------- 2998c2ecf20Sopenharmony_ci 3008c2ecf20Sopenharmony_ci.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_device.c 3018c2ecf20Sopenharmony_ci :doc: pcie_replay_count 3028c2ecf20Sopenharmony_ci 3038c2ecf20Sopenharmony_ci 304