]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blame - Documentation/gpu/amdgpu.rst
Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf
[mirror_ubuntu-jammy-kernel.git] / Documentation / gpu / amdgpu.rst
CommitLineData
99fa7ce3
MD
1=========================
2 drm/amdgpu AMDgpu driver
3=========================
4
5The drm/amdgpu driver supports all AMD Radeon GPUs based on the Graphics Core
6Next (GCN) architecture.
baca30fa 7
8405cf39
SJ
8Module Parameters
9=================
10
11The amdgpu driver supports the following module parameters:
12
13.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
14
baca30fa
MD
15Core Driver Infrastructure
16==========================
17
18This section covers core driver infrastructure.
19
0152ac16
MD
20.. _amdgpu_memory_domains:
21
22Memory Domains
23--------------
24
25.. kernel-doc:: include/uapi/drm/amdgpu_drm.h
26 :doc: memory domains
27
a2d19d66
MD
28Buffer 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
baca30fa
MD
37PRIME Buffer Sharing
38--------------------
39
fbebaa72 40.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c
baca30fa
MD
41 :doc: PRIME Buffer Sharing
42
fbebaa72 43.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c
baca30fa 44 :internal:
ad7f0b63
CK
45
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:
7fc48e59
AG
54
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
ab3ec8a1 62 :internal:
923ff76e
SA
63
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
7fc48e59 71 :internal:
dc85db25 72
52ef3a1a
RT
73IP Blocks
74------------------
75
76.. kernel-doc:: drivers/gpu/drm/amd/include/amd_shared.h
77 :doc: IP Blocks
78
79.. kernel-doc:: drivers/gpu/drm/amd/include/amd_shared.h
80 :identifiers: amd_ip_block_type amd_ip_funcs
81
1c1e53f7
TSD
82AMDGPU XGMI Support
83===================
84
85.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
1c1e53f7 86
f77c7109
AD
87AMDGPU RAS Support
88==================
89
ef177d11
AD
90The AMDGPU RAS interfaces are exposed via sysfs (for informational queries) and
91debugfs (for error injection).
92
f77c7109
AD
93RAS debugfs/sysfs Control and Error Injection Interfaces
94--------------------------------------------------------
74abc221
TSD
95
96.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
97 :doc: AMDGPU RAS debugfs control interface
98
ef177d11
AD
99RAS Reboot Behavior for Unrecoverable Errors
100--------------------------------------------------------
101
102.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
103 :doc: AMDGPU RAS Reboot Behavior for Unrecoverable Errors
104
f77c7109
AD
105RAS Error Count sysfs Interface
106-------------------------------
107
108.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
109 :doc: AMDGPU RAS sysfs Error Count Interface
110
111RAS EEPROM debugfs Interface
112----------------------------
113
114.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
115 :doc: AMDGPU RAS debugfs EEPROM table reset interface
116
117RAS VRAM Bad Pages sysfs Interface
118----------------------------------
119
120.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
121 :doc: AMDGPU RAS sysfs gpu_vram_bad_pages Interface
74abc221 122
ef177d11
AD
123Sample Code
124-----------
125Sample code for testing error injection can be found here:
126https://cgit.freedesktop.org/mesa/drm/tree/tests/amdgpu/ras_tests.c
127
128This is part of the libdrm amdgpu unit tests which cover several areas of the GPU.
129There are four sets of tests:
130
131RAS Basic Test
132
133The test verifies the RAS feature enabled status and makes sure the necessary sysfs and debugfs files
134are present.
135
136RAS Query Test
137
138This test checks the RAS availability and enablement status for each supported IP block as well as
139the error counts.
140
141RAS Inject Test
142
143This test injects errors for each IP.
144
145RAS Disable Test
146
147This test tests disabling of RAS features for each IP block.
148
74abc221 149
dc85db25
AD
150GPU Power/Thermal Controls and Monitoring
151=========================================
152
153This section covers hwmon and power/thermal controls.
154
155HWMON Interfaces
156----------------
157
778879b9 158.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
dc85db25
AD
159 :doc: hwmon
160
161GPU sysfs Power State Interfaces
162--------------------------------
163
164GPU power controls are exposed via sysfs files.
165
166power_dpm_state
167~~~~~~~~~~~~~~~
168
778879b9 169.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
dc85db25
AD
170 :doc: power_dpm_state
171
172power_dpm_force_performance_level
173~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
174
778879b9 175.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
dc85db25
AD
176 :doc: power_dpm_force_performance_level
177
178pp_table
179~~~~~~~~
180
778879b9 181.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
dc85db25
AD
182 :doc: pp_table
183
184pp_od_clk_voltage
185~~~~~~~~~~~~~~~~~
186
778879b9 187.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
dc85db25
AD
188 :doc: pp_od_clk_voltage
189
a667b75c
AD
190pp_dpm_*
191~~~~~~~~
dc85db25 192
778879b9 193.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
a667b75c 194 :doc: pp_dpm_sclk pp_dpm_mclk pp_dpm_socclk pp_dpm_fclk pp_dpm_dcefclk pp_dpm_pcie
dc85db25
AD
195
196pp_power_profile_mode
197~~~~~~~~~~~~~~~~~~~~~
198
778879b9 199.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
dc85db25
AD
200 :doc: pp_power_profile_mode
201
39ec39d7
MCC
202\*_busy_percent
203~~~~~~~~~~~~~~~
b374d82d 204
778879b9 205.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
da9cebe1
AD
206 :doc: gpu_busy_percent
207
778879b9 208.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
da9cebe1 209 :doc: mem_busy_percent
bd607166 210
25c933b1
EQ
211gpu_metrics
212~~~~~~~~~~~~~~~~~~~~~
213
778879b9 214.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
25c933b1
EQ
215 :doc: gpu_metrics
216
bd607166
KR
217GPU Product Information
218=======================
219
220Information about the GPU can be obtained on certain cards
221via sysfs
222
223product_name
224------------
225
226.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
227 :doc: product_name
228
229product_number
230--------------
231
232.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
233 :doc: product_name
234
235serial_number
236-------------
237
238.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
239 :doc: serial_number
1d90c13d 240
18485be9
KR
241unique_id
242---------
243
778879b9 244.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
18485be9
KR
245 :doc: unique_id
246
1d90c13d
KR
247GPU Memory Usage Information
248============================
249
250Various memory accounting can be accessed via sysfs
251
252mem_info_vram_total
253-------------------
254
255.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c
256 :doc: mem_info_vram_total
257
258mem_info_vram_used
259------------------
260
261.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c
262 :doc: mem_info_vram_used
263
264mem_info_vis_vram_total
265-----------------------
266
267.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c
268 :doc: mem_info_vis_vram_total
269
270mem_info_vis_vram_used
271----------------------
272
273.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c
274 :doc: mem_info_vis_vram_used
275
276mem_info_gtt_total
1af8e76e 277------------------
1d90c13d
KR
278
279.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c
280 :doc: mem_info_gtt_total
281
282mem_info_gtt_used
1af8e76e 283-----------------
1d90c13d
KR
284
285.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c
286 :doc: mem_info_gtt_used
1af8e76e
KR
287
288PCIe Accounting Information
289===========================
290
291pcie_bw
292-------
293
778879b9 294.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
1af8e76e
KR
295 :doc: pcie_bw
296
297pcie_replay_count
298-----------------
299
300.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
301 :doc: pcie_replay_count
302
a7673a1c
S
303+GPU SmartShift Information
304============================
305
306GPU SmartShift information via sysfs
1af8e76e 307
a7673a1c
S
308smartshift_apu_power
309--------------------
310
311.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
312 :doc: smartshift_apu_power
313
314smartshift_dgpu_power
315---------------------
316
317.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
318 :doc: smartshift_dgpu_power
30d95a37
S
319
320smartshift_bias
321---------------
322
323.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
324 :doc: smartshift_bias