blob: 17112352f605e087a580043654095d1ffffca16b [file] [log] [blame]
Michel Dänzer99fa7ce2018-05-29 18:39:04 +02001=========================
2 drm/amdgpu AMDgpu driver
3=========================
4
5The drm/amdgpu driver supports all AMD Radeon GPUs based on the Graphics Core
6Next (GCN) architecture.
Michel Dänzerbaca30f2018-05-29 18:33:41 +02007
Sonny Jiang8405cf32018-06-26 15:48:34 -04008Module Parameters
9=================
10
11The amdgpu driver supports the following module parameters:
12
13.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
14
Michel Dänzerbaca30f2018-05-29 18:33:41 +020015Core Driver Infrastructure
16==========================
17
18This section covers core driver infrastructure.
19
Michel Dänzer0152ac12018-06-01 12:10:02 +020020.. _amdgpu_memory_domains:
21
22Memory Domains
23--------------
24
25.. kernel-doc:: include/uapi/drm/amdgpu_drm.h
26 :doc: memory domains
27
Michel Dänzera2d19d62018-06-01 12:30:44 +020028Buffer 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
Michel Dänzerbaca30f2018-05-29 18:33:41 +020037PRIME Buffer Sharing
38--------------------
39
Mauro Carvalho Chehabfbebaa72019-05-29 20:23:42 -030040.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c
Michel Dänzerbaca30f2018-05-29 18:33:41 +020041 :doc: PRIME Buffer Sharing
42
Mauro Carvalho Chehabfbebaa72019-05-29 20:23:42 -030043.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c
Michel Dänzerbaca30f2018-05-29 18:33:41 +020044 :internal:
Christian Königad7f0b62018-06-05 11:47:43 +020045
46MMU 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:
Andrey Grodzovsky7fc48e52018-06-11 11:11:24 -040054
55AMDGPU 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
Michel Dänzerab3ec8a2018-06-14 11:59:20 +020062 :internal:
Slava Abramov923ff762018-06-07 17:27:07 -040063
64Interrupt 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
Andrey Grodzovsky7fc48e52018-06-11 11:11:24 -040071 :internal:
Alex Deucherdc85db22018-06-01 12:28:14 -050072
Tom St Denis1c1e53f2019-05-24 09:15:17 -040073AMDGPU XGMI Support
74===================
75
76.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
77 :doc: AMDGPU XGMI Support
78
79.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
80 :internal:
81
Alex Deucherf77c7102019-09-19 15:09:56 -050082AMDGPU RAS Support
83==================
84
Alex Deucheref177d12019-10-30 14:40:09 -040085The AMDGPU RAS interfaces are exposed via sysfs (for informational queries) and
86debugfs (for error injection).
87
Alex Deucherf77c7102019-09-19 15:09:56 -050088RAS debugfs/sysfs Control and Error Injection Interfaces
89--------------------------------------------------------
Tom St Denis74abc222019-05-24 09:21:54 -040090
91.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
92 :doc: AMDGPU RAS debugfs control interface
93
Alex Deucheref177d12019-10-30 14:40:09 -040094RAS Reboot Behavior for Unrecoverable Errors
95--------------------------------------------------------
96
97.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
98 :doc: AMDGPU RAS Reboot Behavior for Unrecoverable Errors
99
Alex Deucherf77c7102019-09-19 15:09:56 -0500100RAS Error Count sysfs Interface
101-------------------------------
102
103.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
104 :doc: AMDGPU RAS sysfs Error Count Interface
105
106RAS EEPROM debugfs Interface
107----------------------------
108
109.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
110 :doc: AMDGPU RAS debugfs EEPROM table reset interface
111
112RAS VRAM Bad Pages sysfs Interface
113----------------------------------
114
115.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
116 :doc: AMDGPU RAS sysfs gpu_vram_bad_pages Interface
Tom St Denis74abc222019-05-24 09:21:54 -0400117
118.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
119 :internal:
120
Alex Deucheref177d12019-10-30 14:40:09 -0400121Sample Code
122-----------
123Sample code for testing error injection can be found here:
124https://cgit.freedesktop.org/mesa/drm/tree/tests/amdgpu/ras_tests.c
125
126This is part of the libdrm amdgpu unit tests which cover several areas of the GPU.
127There are four sets of tests:
128
129RAS Basic Test
130
131The test verifies the RAS feature enabled status and makes sure the necessary sysfs and debugfs files
132are present.
133
134RAS Query Test
135
136This test checks the RAS availability and enablement status for each supported IP block as well as
137the error counts.
138
139RAS Inject Test
140
141This test injects errors for each IP.
142
143RAS Disable Test
144
145This test tests disabling of RAS features for each IP block.
146
Tom St Denis74abc222019-05-24 09:21:54 -0400147
Alex Deucherdc85db22018-06-01 12:28:14 -0500148GPU Power/Thermal Controls and Monitoring
149=========================================
150
151This section covers hwmon and power/thermal controls.
152
153HWMON Interfaces
154----------------
155
156.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
157 :doc: hwmon
158
159GPU sysfs Power State Interfaces
160--------------------------------
161
162GPU power controls are exposed via sysfs files.
163
164power_dpm_state
165~~~~~~~~~~~~~~~
166
167.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
168 :doc: power_dpm_state
169
170power_dpm_force_performance_level
171~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
172
173.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
174 :doc: power_dpm_force_performance_level
175
176pp_table
177~~~~~~~~
178
179.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
180 :doc: pp_table
181
182pp_od_clk_voltage
183~~~~~~~~~~~~~~~~~
184
185.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
186 :doc: pp_od_clk_voltage
187
Alex Deuchera667b752019-09-19 15:03:27 -0500188pp_dpm_*
189~~~~~~~~
Alex Deucherdc85db22018-06-01 12:28:14 -0500190
191.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
Alex Deuchera667b752019-09-19 15:03:27 -0500192 :doc: pp_dpm_sclk pp_dpm_mclk pp_dpm_socclk pp_dpm_fclk pp_dpm_dcefclk pp_dpm_pcie
Alex Deucherdc85db22018-06-01 12:28:14 -0500193
194pp_power_profile_mode
195~~~~~~~~~~~~~~~~~~~~~
196
197.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
198 :doc: pp_power_profile_mode
199
Alex Deucherda9cebe2020-06-15 16:36:49 -0400200*_busy_percent
201~~~~~~~~~~~~~~
Tom St Denisb374d822018-06-20 07:55:39 -0400202
203.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
Alex Deucherda9cebe2020-06-15 16:36:49 -0400204 :doc: gpu_busy_percent
205
206.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
207 :doc: mem_busy_percent
Kent Russellbd607162020-03-13 09:21:55 -0400208
209GPU Product Information
210=======================
211
212Information about the GPU can be obtained on certain cards
213via sysfs
214
215product_name
216------------
217
218.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
219 :doc: product_name
220
221product_number
222--------------
223
224.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
225 :doc: product_name
226
227serial_number
228-------------
229
230.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
231 :doc: serial_number
Kent Russell1d90c132020-03-19 15:03:40 -0400232
Kent Russell18485be2020-03-20 09:19:01 -0400233unique_id
234---------
235
236.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
237 :doc: unique_id
238
Kent Russell1d90c132020-03-19 15:03:40 -0400239GPU Memory Usage Information
240============================
241
242Various memory accounting can be accessed via sysfs
243
244mem_info_vram_total
245-------------------
246
247.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c
248 :doc: mem_info_vram_total
249
250mem_info_vram_used
251------------------
252
253.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c
254 :doc: mem_info_vram_used
255
256mem_info_vis_vram_total
257-----------------------
258
259.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c
260 :doc: mem_info_vis_vram_total
261
262mem_info_vis_vram_used
263----------------------
264
265.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c
266 :doc: mem_info_vis_vram_used
267
268mem_info_gtt_total
Kent Russell1af8e762020-03-20 09:17:21 -0400269------------------
Kent Russell1d90c132020-03-19 15:03:40 -0400270
271.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c
272 :doc: mem_info_gtt_total
273
274mem_info_gtt_used
Kent Russell1af8e762020-03-20 09:17:21 -0400275-----------------
Kent Russell1d90c132020-03-19 15:03:40 -0400276
277.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c
278 :doc: mem_info_gtt_used
Kent Russell1af8e762020-03-20 09:17:21 -0400279
280PCIe Accounting Information
281===========================
282
283pcie_bw
284-------
285
286.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
287 :doc: pcie_bw
288
289pcie_replay_count
290-----------------
291
292.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
293 :doc: pcie_replay_count
294
295