mirror of https://github.com/Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
324 lines
7.1 KiB
324 lines
7.1 KiB
========================= |
|
drm/amdgpu AMDgpu driver |
|
========================= |
|
|
|
The drm/amdgpu driver supports all AMD Radeon GPUs based on the Graphics Core |
|
Next (GCN) architecture. |
|
|
|
Module Parameters |
|
================= |
|
|
|
The amdgpu driver supports the following module parameters: |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c |
|
|
|
Core Driver Infrastructure |
|
========================== |
|
|
|
This section covers core driver infrastructure. |
|
|
|
.. _amdgpu_memory_domains: |
|
|
|
Memory Domains |
|
-------------- |
|
|
|
.. kernel-doc:: include/uapi/drm/amdgpu_drm.h |
|
:doc: memory domains |
|
|
|
Buffer Objects |
|
-------------- |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_object.c |
|
:doc: amdgpu_object |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_object.c |
|
:internal: |
|
|
|
PRIME Buffer Sharing |
|
-------------------- |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c |
|
:doc: PRIME Buffer Sharing |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c |
|
:internal: |
|
|
|
MMU Notifier |
|
------------ |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c |
|
:doc: MMU Notifier |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c |
|
:internal: |
|
|
|
AMDGPU Virtual Memory |
|
--------------------- |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c |
|
:doc: GPUVM |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c |
|
:internal: |
|
|
|
Interrupt Handling |
|
------------------ |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c |
|
:doc: Interrupt Handling |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c |
|
:internal: |
|
|
|
IP Blocks |
|
------------------ |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/include/amd_shared.h |
|
:doc: IP Blocks |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/include/amd_shared.h |
|
:identifiers: amd_ip_block_type amd_ip_funcs |
|
|
|
AMDGPU XGMI Support |
|
=================== |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c |
|
|
|
AMDGPU RAS Support |
|
================== |
|
|
|
The AMDGPU RAS interfaces are exposed via sysfs (for informational queries) and |
|
debugfs (for error injection). |
|
|
|
RAS debugfs/sysfs Control and Error Injection Interfaces |
|
-------------------------------------------------------- |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c |
|
:doc: AMDGPU RAS debugfs control interface |
|
|
|
RAS Reboot Behavior for Unrecoverable Errors |
|
-------------------------------------------------------- |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c |
|
:doc: AMDGPU RAS Reboot Behavior for Unrecoverable Errors |
|
|
|
RAS Error Count sysfs Interface |
|
------------------------------- |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c |
|
:doc: AMDGPU RAS sysfs Error Count Interface |
|
|
|
RAS EEPROM debugfs Interface |
|
---------------------------- |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c |
|
:doc: AMDGPU RAS debugfs EEPROM table reset interface |
|
|
|
RAS VRAM Bad Pages sysfs Interface |
|
---------------------------------- |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c |
|
:doc: AMDGPU RAS sysfs gpu_vram_bad_pages Interface |
|
|
|
Sample Code |
|
----------- |
|
Sample code for testing error injection can be found here: |
|
https://cgit.freedesktop.org/mesa/drm/tree/tests/amdgpu/ras_tests.c |
|
|
|
This is part of the libdrm amdgpu unit tests which cover several areas of the GPU. |
|
There are four sets of tests: |
|
|
|
RAS Basic Test |
|
|
|
The test verifies the RAS feature enabled status and makes sure the necessary sysfs and debugfs files |
|
are present. |
|
|
|
RAS Query Test |
|
|
|
This test checks the RAS availability and enablement status for each supported IP block as well as |
|
the error counts. |
|
|
|
RAS Inject Test |
|
|
|
This test injects errors for each IP. |
|
|
|
RAS Disable Test |
|
|
|
This test tests disabling of RAS features for each IP block. |
|
|
|
|
|
GPU Power/Thermal Controls and Monitoring |
|
========================================= |
|
|
|
This section covers hwmon and power/thermal controls. |
|
|
|
HWMON Interfaces |
|
---------------- |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c |
|
:doc: hwmon |
|
|
|
GPU sysfs Power State Interfaces |
|
-------------------------------- |
|
|
|
GPU power controls are exposed via sysfs files. |
|
|
|
power_dpm_state |
|
~~~~~~~~~~~~~~~ |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c |
|
:doc: power_dpm_state |
|
|
|
power_dpm_force_performance_level |
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c |
|
:doc: power_dpm_force_performance_level |
|
|
|
pp_table |
|
~~~~~~~~ |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c |
|
:doc: pp_table |
|
|
|
pp_od_clk_voltage |
|
~~~~~~~~~~~~~~~~~ |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c |
|
:doc: pp_od_clk_voltage |
|
|
|
pp_dpm_* |
|
~~~~~~~~ |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c |
|
:doc: pp_dpm_sclk pp_dpm_mclk pp_dpm_socclk pp_dpm_fclk pp_dpm_dcefclk pp_dpm_pcie |
|
|
|
pp_power_profile_mode |
|
~~~~~~~~~~~~~~~~~~~~~ |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c |
|
:doc: pp_power_profile_mode |
|
|
|
\*_busy_percent |
|
~~~~~~~~~~~~~~~ |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c |
|
:doc: gpu_busy_percent |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c |
|
:doc: mem_busy_percent |
|
|
|
gpu_metrics |
|
~~~~~~~~~~~~~~~~~~~~~ |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c |
|
:doc: gpu_metrics |
|
|
|
GPU Product Information |
|
======================= |
|
|
|
Information about the GPU can be obtained on certain cards |
|
via sysfs |
|
|
|
product_name |
|
------------ |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_device.c |
|
:doc: product_name |
|
|
|
product_number |
|
-------------- |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_device.c |
|
:doc: product_name |
|
|
|
serial_number |
|
------------- |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_device.c |
|
:doc: serial_number |
|
|
|
unique_id |
|
--------- |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c |
|
:doc: unique_id |
|
|
|
GPU Memory Usage Information |
|
============================ |
|
|
|
Various memory accounting can be accessed via sysfs |
|
|
|
mem_info_vram_total |
|
------------------- |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c |
|
:doc: mem_info_vram_total |
|
|
|
mem_info_vram_used |
|
------------------ |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c |
|
:doc: mem_info_vram_used |
|
|
|
mem_info_vis_vram_total |
|
----------------------- |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c |
|
:doc: mem_info_vis_vram_total |
|
|
|
mem_info_vis_vram_used |
|
---------------------- |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c |
|
:doc: mem_info_vis_vram_used |
|
|
|
mem_info_gtt_total |
|
------------------ |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c |
|
:doc: mem_info_gtt_total |
|
|
|
mem_info_gtt_used |
|
----------------- |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c |
|
:doc: mem_info_gtt_used |
|
|
|
PCIe Accounting Information |
|
=========================== |
|
|
|
pcie_bw |
|
------- |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c |
|
:doc: pcie_bw |
|
|
|
pcie_replay_count |
|
----------------- |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_device.c |
|
:doc: pcie_replay_count |
|
|
|
+GPU SmartShift Information |
|
============================ |
|
|
|
GPU SmartShift information via sysfs |
|
|
|
smartshift_apu_power |
|
-------------------- |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c |
|
:doc: smartshift_apu_power |
|
|
|
smartshift_dgpu_power |
|
--------------------- |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c |
|
:doc: smartshift_dgpu_power |
|
|
|
smartshift_bias |
|
--------------- |
|
|
|
.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c |
|
:doc: smartshift_bias
|
|
|