Blame view

Documentation/gpu/amdgpu.rst 6.61 KB
99fa7ce3a   Michel Dänzer   drm/doc: Add init...
1
2
3
4
5
6
  =========================
   drm/amdgpu AMDgpu driver
  =========================
  
  The drm/amdgpu driver supports all AMD Radeon GPUs based on the Graphics Core
  Next (GCN) architecture.
baca30fab   Michel Dänzer   drm/amdgpu: Add d...
7

8405cf39e   Sonny Jiang   drm/amdgpu: updat...
8
9
10
11
12
13
  Module Parameters
  =================
  
  The amdgpu driver supports the following module parameters:
  
  .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
baca30fab   Michel Dänzer   drm/amdgpu: Add d...
14
15
16
17
  Core Driver Infrastructure
  ==========================
  
  This section covers core driver infrastructure.
0152ac165   Michel Dänzer   drm/amdgpu: Hook ...
18
19
20
21
22
23
24
  .. _amdgpu_memory_domains:
  
  Memory Domains
  --------------
  
  .. kernel-doc:: include/uapi/drm/amdgpu_drm.h
     :doc: memory domains
a2d19d66b   Michel Dänzer   drm/amdgpu: Hook ...
25
26
27
28
29
30
31
32
  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:
baca30fab   Michel Dänzer   drm/amdgpu: Add d...
33
34
  PRIME Buffer Sharing
  --------------------
fbebaa729   Mauro Carvalho Chehab   gpu: amdgpu: fix ...
35
  .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c
baca30fab   Michel Dänzer   drm/amdgpu: Add d...
36
     :doc: PRIME Buffer Sharing
fbebaa729   Mauro Carvalho Chehab   gpu: amdgpu: fix ...
37
  .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c
baca30fab   Michel Dänzer   drm/amdgpu: Add d...
38
     :internal:
ad7f0b633   Christian König   drm/amdgpu: fix d...
39
40
41
42
43
44
45
46
47
  
  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:
7fc48e591   Andrey Grodzovsky   drm/amdgpu: Updat...
48
49
50
51
52
53
54
55
  
  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
ab3ec8a1a   Michel Dänzer   drm/amdgpu: Resto...
56
     :internal:
923ff76eb   Slava Abramov   drm/amdgpu: updat...
57
58
59
60
61
62
63
64
  
  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
7fc48e591   Andrey Grodzovsky   drm/amdgpu: Updat...
65
     :internal:
dc85db256   Alex Deucher   drm/doc: Add amdg...
66

52ef3a1a6   Ryan Taylor   drm/amdgpu: Add i...
67
68
69
70
71
72
73
74
  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
1c1e53f7f   Tom St Denis   drm/amd/doc: Add ...
75
76
77
78
  AMDGPU XGMI Support
  ===================
  
  .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
1c1e53f7f   Tom St Denis   drm/amd/doc: Add ...
79

f77c7109c   Alex Deucher   drm/amdgpu/ras: f...
80
81
  AMDGPU RAS Support
  ==================
ef177d11d   Alex Deucher   drm/amdgpu: Impro...
82
83
  The AMDGPU RAS interfaces are exposed via sysfs (for informational queries) and
  debugfs (for error injection).
f77c7109c   Alex Deucher   drm/amdgpu/ras: f...
84
85
  RAS debugfs/sysfs Control and Error Injection Interfaces
  --------------------------------------------------------
74abc2210   Tom St Denis   drm/amd/doc: Add ...
86
87
88
  
  .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
     :doc: AMDGPU RAS debugfs control interface
ef177d11d   Alex Deucher   drm/amdgpu: Impro...
89
90
91
92
93
  RAS Reboot Behavior for Unrecoverable Errors
  --------------------------------------------------------
  
  .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
     :doc: AMDGPU RAS Reboot Behavior for Unrecoverable Errors
f77c7109c   Alex Deucher   drm/amdgpu/ras: f...
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
  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
74abc2210   Tom St Denis   drm/amd/doc: Add ...
111

ef177d11d   Alex Deucher   drm/amdgpu: Impro...
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
  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.
74abc2210   Tom St Denis   drm/amd/doc: Add ...
137

dc85db256   Alex Deucher   drm/doc: Add amdg...
138
139
140
141
142
143
144
  GPU Power/Thermal Controls and Monitoring
  =========================================
  
  This section covers hwmon and power/thermal controls.
  
  HWMON Interfaces
  ----------------
778879b94   Randy Dunlap   amdgpu: fix Docum...
145
  .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
dc85db256   Alex Deucher   drm/doc: Add amdg...
146
147
148
149
150
151
152
153
154
     :doc: hwmon
  
  GPU sysfs Power State Interfaces
  --------------------------------
  
  GPU power controls are exposed via sysfs files.
  
  power_dpm_state
  ~~~~~~~~~~~~~~~
778879b94   Randy Dunlap   amdgpu: fix Docum...
155
  .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
dc85db256   Alex Deucher   drm/doc: Add amdg...
156
157
158
159
     :doc: power_dpm_state
  
  power_dpm_force_performance_level
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
778879b94   Randy Dunlap   amdgpu: fix Docum...
160
  .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
dc85db256   Alex Deucher   drm/doc: Add amdg...
161
162
163
164
     :doc: power_dpm_force_performance_level
  
  pp_table
  ~~~~~~~~
778879b94   Randy Dunlap   amdgpu: fix Docum...
165
  .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
dc85db256   Alex Deucher   drm/doc: Add amdg...
166
167
168
169
     :doc: pp_table
  
  pp_od_clk_voltage
  ~~~~~~~~~~~~~~~~~
778879b94   Randy Dunlap   amdgpu: fix Docum...
170
  .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
dc85db256   Alex Deucher   drm/doc: Add amdg...
171
     :doc: pp_od_clk_voltage
a667b75c1   Alex Deucher   drm/amdgpu: fix d...
172
173
  pp_dpm_*
  ~~~~~~~~
dc85db256   Alex Deucher   drm/doc: Add amdg...
174

778879b94   Randy Dunlap   amdgpu: fix Docum...
175
  .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
a667b75c1   Alex Deucher   drm/amdgpu: fix d...
176
     :doc: pp_dpm_sclk pp_dpm_mclk pp_dpm_socclk pp_dpm_fclk pp_dpm_dcefclk pp_dpm_pcie
dc85db256   Alex Deucher   drm/doc: Add amdg...
177
178
179
  
  pp_power_profile_mode
  ~~~~~~~~~~~~~~~~~~~~~
778879b94   Randy Dunlap   amdgpu: fix Docum...
180
  .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
dc85db256   Alex Deucher   drm/doc: Add amdg...
181
     :doc: pp_power_profile_mode
39ec39d77   Mauro Carvalho Chehab   docs: amdgpu: fix...
182
183
  \*_busy_percent
  ~~~~~~~~~~~~~~~
b374d82dc   Tom St Denis   drm/amd/amdgpu: A...
184

778879b94   Randy Dunlap   amdgpu: fix Docum...
185
  .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
da9cebe16   Alex Deucher   drm/amdgpu: fix d...
186
     :doc: gpu_busy_percent
778879b94   Randy Dunlap   amdgpu: fix Docum...
187
  .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
da9cebe16   Alex Deucher   drm/amdgpu: fix d...
188
     :doc: mem_busy_percent
bd607166a   Kent Russell   drm/amdgpu: Enabl...
189

25c933b1c   Evan Quan   drm/amd/powerplay...
190
191
  gpu_metrics
  ~~~~~~~~~~~~~~~~~~~~~
778879b94   Randy Dunlap   amdgpu: fix Docum...
192
  .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
25c933b1c   Evan Quan   drm/amd/powerplay...
193
     :doc: gpu_metrics
bd607166a   Kent Russell   drm/amdgpu: Enabl...
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
  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
1d90c13d7   Kent Russell   drm/amdgpu: Add d...
217

18485be97   Kent Russell   drm/amdgpu: Add d...
218
219
  unique_id
  ---------
778879b94   Randy Dunlap   amdgpu: fix Docum...
220
  .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
18485be97   Kent Russell   drm/amdgpu: Add d...
221
     :doc: unique_id
1d90c13d7   Kent Russell   drm/amdgpu: Add d...
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
  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
1af8e76e1   Kent Russell   drm/amdgpu: Add d...
252
  ------------------
1d90c13d7   Kent Russell   drm/amdgpu: Add d...
253
254
255
256
257
  
  .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c
     :doc: mem_info_gtt_total
  
  mem_info_gtt_used
1af8e76e1   Kent Russell   drm/amdgpu: Add d...
258
  -----------------
1d90c13d7   Kent Russell   drm/amdgpu: Add d...
259
260
261
  
  .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c
     :doc: mem_info_gtt_used
1af8e76e1   Kent Russell   drm/amdgpu: Add d...
262
263
264
265
266
267
  
  PCIe Accounting Information
  ===========================
  
  pcie_bw
  -------
778879b94   Randy Dunlap   amdgpu: fix Docum...
268
  .. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
1af8e76e1   Kent Russell   drm/amdgpu: Add d...
269
270
271
272
273
274
275
     :doc: pcie_bw
  
  pcie_replay_count
  -----------------
  
  .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
     :doc: pcie_replay_count