hc
2024-05-10 23fa18eaa71266feff7ba8d83022d9e1cc83c65a
kernel/Documentation/gpu/amdgpu.rst
....@@ -37,10 +37,10 @@
3737 PRIME Buffer Sharing
3838 --------------------
3939
40
-.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c
40
+.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c
4141 :doc: PRIME Buffer Sharing
4242
43
-.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_prime.c
43
+.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_dma_buf.c
4444 :internal:
4545
4646 MMU Notifier
....@@ -70,6 +70,83 @@
7070 .. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_irq.c
7171 :internal:
7272
73
+IP 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
+
82
+AMDGPU XGMI Support
83
+===================
84
+
85
+.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c
86
+
87
+AMDGPU RAS Support
88
+==================
89
+
90
+The AMDGPU RAS interfaces are exposed via sysfs (for informational queries) and
91
+debugfs (for error injection).
92
+
93
+RAS debugfs/sysfs Control and Error Injection Interfaces
94
+--------------------------------------------------------
95
+
96
+.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c
97
+ :doc: AMDGPU RAS debugfs control interface
98
+
99
+RAS 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
+
105
+RAS 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
+
111
+RAS 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
+
117
+RAS 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
122
+
123
+Sample Code
124
+-----------
125
+Sample code for testing error injection can be found here:
126
+https://cgit.freedesktop.org/mesa/drm/tree/tests/amdgpu/ras_tests.c
127
+
128
+This is part of the libdrm amdgpu unit tests which cover several areas of the GPU.
129
+There are four sets of tests:
130
+
131
+RAS Basic Test
132
+
133
+The test verifies the RAS feature enabled status and makes sure the necessary sysfs and debugfs files
134
+are present.
135
+
136
+RAS Query Test
137
+
138
+This test checks the RAS availability and enablement status for each supported IP block as well as
139
+the error counts.
140
+
141
+RAS Inject Test
142
+
143
+This test injects errors for each IP.
144
+
145
+RAS Disable Test
146
+
147
+This test tests disabling of RAS features for each IP block.
148
+
149
+
73150 GPU Power/Thermal Controls and Monitoring
74151 =========================================
75152
....@@ -78,7 +155,7 @@
78155 HWMON Interfaces
79156 ----------------
80157
81
-.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
158
+.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
82159 :doc: hwmon
83160
84161 GPU sysfs Power State Interfaces
....@@ -89,41 +166,138 @@
89166 power_dpm_state
90167 ~~~~~~~~~~~~~~~
91168
92
-.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
169
+.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
93170 :doc: power_dpm_state
94171
95172 power_dpm_force_performance_level
96173 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
97174
98
-.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
175
+.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
99176 :doc: power_dpm_force_performance_level
100177
101178 pp_table
102179 ~~~~~~~~
103180
104
-.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
181
+.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
105182 :doc: pp_table
106183
107184 pp_od_clk_voltage
108185 ~~~~~~~~~~~~~~~~~
109186
110
-.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
187
+.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
111188 :doc: pp_od_clk_voltage
112189
113
-pp_dpm_sclk pp_dpm_mclk pp_dpm_pcie
114
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
190
+pp_dpm_*
191
+~~~~~~~~
115192
116
-.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
117
- :doc: pp_dpm_sclk pp_dpm_mclk pp_dpm_pcie
193
+.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
194
+ :doc: pp_dpm_sclk pp_dpm_mclk pp_dpm_socclk pp_dpm_fclk pp_dpm_dcefclk pp_dpm_pcie
118195
119196 pp_power_profile_mode
120197 ~~~~~~~~~~~~~~~~~~~~~
121198
122
-.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
199
+.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
123200 :doc: pp_power_profile_mode
124201
125
-busy_percent
126
-~~~~~~~~~~~~
202
+\*_busy_percent
203
+~~~~~~~~~~~~~~~
127204
128
-.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_pm.c
129
- :doc: busy_percent
205
+.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
206
+ :doc: gpu_busy_percent
207
+
208
+.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
209
+ :doc: mem_busy_percent
210
+
211
+gpu_metrics
212
+~~~~~~~~~~~~~~~~~~~~~
213
+
214
+.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
215
+ :doc: gpu_metrics
216
+
217
+GPU Product Information
218
+=======================
219
+
220
+Information about the GPU can be obtained on certain cards
221
+via sysfs
222
+
223
+product_name
224
+------------
225
+
226
+.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
227
+ :doc: product_name
228
+
229
+product_number
230
+--------------
231
+
232
+.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
233
+ :doc: product_name
234
+
235
+serial_number
236
+-------------
237
+
238
+.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
239
+ :doc: serial_number
240
+
241
+unique_id
242
+---------
243
+
244
+.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
245
+ :doc: unique_id
246
+
247
+GPU Memory Usage Information
248
+============================
249
+
250
+Various memory accounting can be accessed via sysfs
251
+
252
+mem_info_vram_total
253
+-------------------
254
+
255
+.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c
256
+ :doc: mem_info_vram_total
257
+
258
+mem_info_vram_used
259
+------------------
260
+
261
+.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c
262
+ :doc: mem_info_vram_used
263
+
264
+mem_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
+
270
+mem_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
+
276
+mem_info_gtt_total
277
+------------------
278
+
279
+.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c
280
+ :doc: mem_info_gtt_total
281
+
282
+mem_info_gtt_used
283
+-----------------
284
+
285
+.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_gtt_mgr.c
286
+ :doc: mem_info_gtt_used
287
+
288
+PCIe Accounting Information
289
+===========================
290
+
291
+pcie_bw
292
+-------
293
+
294
+.. kernel-doc:: drivers/gpu/drm/amd/pm/amdgpu_pm.c
295
+ :doc: pcie_bw
296
+
297
+pcie_replay_count
298
+-----------------
299
+
300
+.. kernel-doc:: drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
301
+ :doc: pcie_replay_count
302
+
303
+