Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mesa
Path: blob/21.2-virgl/src/amd/registers/pkt3.json
7233 views
1
{
2
"enums": {
3
"COMMAND__SAIC": {
4
"entries": [
5
{"name": "INCREMENT", "value": 0},
6
{"name": "NO_INCREMENT", "value": 1}
7
]
8
},
9
"COMMAND__SAS": {
10
"entries": [
11
{"name": "MEMORY", "value": 0},
12
{"name": "REGISTER", "value": 1}
13
]
14
},
15
"COMMAND__SRC_SWAP": {
16
"entries": [
17
{"name": "NONE", "value": 0},
18
{"name": "8_IN_16", "value": 1},
19
{"name": "8_IN_32", "value": 2},
20
{"name": "8_IN_64", "value": 3}
21
]
22
},
23
"CONTROL__DST_SEL": {
24
"entries": [
25
{"name": "MEM_MAPPED_REGISTER", "value": 0},
26
{"comment": "sync across GRBM", "name": "MEM_GRBM", "value": 1},
27
{"name": "TC_L2", "value": 2},
28
{"name": "GDS", "value": 3},
29
{"name": "RESERVED", "value": 4}
30
]
31
},
32
"CONTROL__DST_SEL_cik": {
33
"entries": [
34
{"name": "MEM_MAPPED_REGISTER", "value": 0},
35
{"comment": "sync across GRBM", "name": "MEM_GRBM", "value": 1},
36
{"name": "TC_L2", "value": 2},
37
{"name": "GDS", "value": 3},
38
{"name": "RESERVED", "value": 4},
39
{"name": "MEM", "value": 5}
40
]
41
},
42
"CONTROL__ENGINE_SEL": {
43
"entries": [
44
{"name": "ME", "value": 0},
45
{"name": "PFP", "value": 1},
46
{"name": "CE", "value": 2},
47
{"name": "DE", "value": 3}
48
]
49
},
50
"CP_DMA_WORD1__DST_SEL": {
51
"entries": [
52
{"name": "DST_ADDR", "value": 0},
53
{"comment": "program DAS to 1 as well", "name": "GDS", "value": 1}
54
]
55
},
56
"CP_DMA_WORD1__DST_SEL_cik": {
57
"entries": [
58
{"name": "DST_ADDR", "value": 0},
59
{"comment": "program DAS to 1 as well", "name": "GDS", "value": 1},
60
{"name": "DST_ADDR_TC_L2", "value": 3}
61
]
62
},
63
"CP_DMA_WORD1__DST_SEL_gfx9": {
64
"entries": [
65
{"name": "DST_ADDR", "value": 0},
66
{"comment": "program DAS to 1 as well", "name": "GDS", "value": 1},
67
{"name": "NOWHERE", "value": 2},
68
{"name": "DST_ADDR_TC_L2", "value": 3}
69
]
70
},
71
"CP_DMA_WORD1__ENGINE": {
72
"entries": [
73
{"name": "ME", "value": 0},
74
{"name": "PFP", "value": 1}
75
]
76
},
77
"CP_DMA_WORD1__SRC_SEL": {
78
"entries": [
79
{"name": "SRC_ADDR", "value": 0},
80
{"comment": "program SAS to 1 as well", "name": "GDS", "value": 1},
81
{"name": "DATA", "value": 2}
82
]
83
},
84
"CP_DMA_WORD1__SRC_SEL_cik": {
85
"entries": [
86
{"name": "SRC_ADDR", "value": 0},
87
{"comment": "program SAS to 1 as well", "name": "GDS", "value": 1},
88
{"name": "DATA", "value": 2},
89
{"name": "SRC_ADDR_TC_L2", "value": 3}
90
]
91
},
92
"GCR_GL1_RANGE": {
93
"entries": [
94
{"name": "GL1_ALL", "value": 0},
95
{"name": "GL1_RANGE", "value": 2},
96
{"name": "GL1_FIRST_LAST", "value": 3}
97
]
98
},
99
"GCR_GL2_RANGE": {
100
"entries": [
101
{"name": "GL2_ALL", "value": 0},
102
{"name": "GL2_VOL", "value": 1},
103
{"name": "GL2_RANGE", "value": 2},
104
{"name": "GL2_FIRST_LAST", "value": 3}
105
]
106
},
107
"GCR_GLI_INV": {
108
"entries": [
109
{"name": "GLI_NOP", "value": 0},
110
{"name": "GLI_ALL", "value": 1},
111
{"name": "GLI_RANGE", "value": 2},
112
{"name": "GLI_FIRST_LAST", "value": 3}
113
]
114
},
115
"GCR_SEQ": {
116
"entries": [
117
{"name": "SEQ_PARALLEL", "value": 0},
118
{"name": "SEQ_FORWARD", "value": 1},
119
{"name": "SEQ_REVERSE", "value": 2}
120
]
121
}
122
},
123
"register_mappings": [
124
{
125
"comment": "This is at offset 0x415 instead of 0x414 due to a conflict with SQ_WAVE_GPR_ALLOC",
126
"chips": ["gfx6", "gfx7", "gfx8", "gfx81"],
127
"map": {"at": 1045, "to": "pkt3"},
128
"name": "COMMAND",
129
"type_ref": "COMMAND"
130
},
131
{
132
"chips": ["gfx9", "gfx10", "gfx103"],
133
"map": {"at": 1045, "to": "pkt3"},
134
"name": "COMMAND",
135
"type_ref": "COMMAND_gfx9"
136
},
137
{
138
"chips": ["gfx6"],
139
"map": {"at": 880, "to": "pkt3"},
140
"name": "CONTROL",
141
"type_ref": "CONTROL"
142
},
143
{
144
"chips": ["gfx7", "gfx8", "gfx81", "gfx9", "gfx10", "gfx103"],
145
"map": {"at": 880, "to": "pkt3"},
146
"name": "CONTROL",
147
"type_ref": "CONTROL_cik"
148
},
149
{
150
"chips": ["gfx6", "gfx7", "gfx8", "gfx81", "gfx9", "gfx10", "gfx103"],
151
"map": {"at": 1040, "to": "pkt3"},
152
"name": "CP_DMA_WORD0",
153
"type_ref": "CP_DMA_WORD0"
154
},
155
{
156
"chips": ["gfx6"],
157
"map": {"at": 1041, "to": "pkt3"},
158
"name": "CP_DMA_WORD1",
159
"type_ref": "CP_DMA_WORD1"
160
},
161
{
162
"chips": ["gfx7", "gfx8", "gfx81"],
163
"map": {"at": 1041, "to": "pkt3"},
164
"name": "CP_DMA_WORD1",
165
"type_ref": "CP_DMA_WORD1_cik"
166
},
167
{
168
"chips": ["gfx9", "gfx10", "gfx103"],
169
"map": {"at": 1041, "to": "pkt3"},
170
"name": "CP_DMA_WORD1",
171
"type_ref": "CP_DMA_WORD1_gfx9"
172
},
173
{
174
"chips": ["gfx6", "gfx7", "gfx8", "gfx81", "gfx9", "gfx10", "gfx103"],
175
"map": {"at": 1042, "to": "pkt3"},
176
"name": "CP_DMA_WORD2",
177
"type_ref": "CP_DMA_WORD2"
178
},
179
{
180
"chips": ["gfx6", "gfx7", "gfx8", "gfx81", "gfx9", "gfx10", "gfx103"],
181
"map": {"at": 1043, "to": "pkt3"},
182
"name": "CP_DMA_WORD3",
183
"type_ref": "CP_DMA_WORD3"
184
},
185
{
186
"chips": ["gfx6"],
187
"map": {"at": 1280, "to": "pkt3"},
188
"name": "DMA_DATA_WORD0",
189
"type_ref": "DMA_DATA_WORD0"
190
},
191
{
192
"chips": ["gfx7", "gfx8", "gfx81"],
193
"map": {"at": 1280, "to": "pkt3"},
194
"name": "DMA_DATA_WORD0",
195
"type_ref": "DMA_DATA_WORD0_cik"
196
},
197
{
198
"chips": ["gfx9", "gfx10", "gfx103"],
199
"map": {"at": 1280, "to": "pkt3"},
200
"name": "DMA_DATA_WORD0",
201
"type_ref": "DMA_DATA_WORD0_gfx9"
202
},
203
{
204
"chips": ["gfx6", "gfx7", "gfx8", "gfx81", "gfx9", "gfx10", "gfx103"],
205
"map": {"at": 882, "to": "pkt3"},
206
"name": "DST_ADDR_HI"
207
},
208
{
209
"chips": ["gfx6", "gfx7", "gfx8", "gfx81", "gfx9", "gfx10", "gfx103"],
210
"map": {"at": 1284, "to": "pkt3"},
211
"name": "DST_ADDR_HI"
212
},
213
{
214
"chips": ["gfx6", "gfx7", "gfx8", "gfx81", "gfx9", "gfx10", "gfx103"],
215
"map": {"at": 881, "to": "pkt3"},
216
"name": "DST_ADDR_LO"
217
},
218
{
219
"chips": ["gfx6", "gfx7", "gfx8", "gfx81", "gfx9", "gfx10", "gfx103"],
220
"map": {"at": 1283, "to": "pkt3"},
221
"name": "DST_ADDR_LO"
222
},
223
{
224
"chips": ["gfx10", "gfx103"],
225
"map": {"at": 1414, "to": "pkt3"},
226
"name": "GCR_CNTL",
227
"type_ref": "GCR_CNTL"
228
},
229
{
230
"chips": ["gfx6", "gfx7", "gfx8", "gfx81", "gfx9", "gfx10", "gfx103"],
231
"map": {"at": 1009, "to": "pkt3"},
232
"name": "IB_BASE_HI"
233
},
234
{
235
"chips": ["gfx6", "gfx7", "gfx8", "gfx81", "gfx9", "gfx10", "gfx103"],
236
"map": {"at": 1008, "to": "pkt3"},
237
"name": "IB_BASE_LO"
238
},
239
{
240
"chips": ["gfx6", "gfx7", "gfx8", "gfx81", "gfx9", "gfx10", "gfx103"],
241
"map": {"at": 1010, "to": "pkt3"},
242
"name": "IB_CONTROL",
243
"type_ref": "IB_CONTROL"
244
},
245
{
246
"chips": ["gfx10", "gfx103"],
247
"map": {"at": 1168, "to": "pkt3"},
248
"name": "RELEASE_MEM_OP",
249
"type_ref": "RELEASE_MEM_OP"
250
},
251
{
252
"chips": ["gfx6", "gfx7", "gfx8", "gfx81", "gfx9", "gfx10", "gfx103"],
253
"map": {"at": 1282, "to": "pkt3"},
254
"name": "SRC_ADDR_HI"
255
},
256
{
257
"chips": ["gfx6", "gfx7", "gfx8", "gfx81", "gfx9", "gfx10", "gfx103"],
258
"map": {"at": 1281, "to": "pkt3"},
259
"name": "SRC_ADDR_LO"
260
}
261
],
262
"register_types": {
263
"COMMAND": {
264
"fields": [
265
{"bits": [0, 20], "name": "BYTE_COUNT"},
266
{"bits": [21, 21], "name": "DISABLE_WR_CONFIRM"},
267
{"bits": [22, 23], "enum_ref": "COMMAND__SRC_SWAP", "name": "SRC_SWAP"},
268
{"bits": [24, 25], "enum_ref": "COMMAND__SRC_SWAP", "name": "DST_SWAP"},
269
{"bits": [26, 26], "enum_ref": "COMMAND__SAS", "name": "SAS"},
270
{"bits": [27, 27], "enum_ref": "COMMAND__SAS", "name": "DAS"},
271
{"bits": [28, 28], "enum_ref": "COMMAND__SAIC", "name": "SAIC"},
272
{"bits": [29, 29], "enum_ref": "COMMAND__SAIC", "name": "DAIC"},
273
{"bits": [30, 30], "name": "RAW_WAIT"}
274
]
275
},
276
"COMMAND_gfx9": {
277
"fields": [
278
{"bits": [0, 25], "name": "BYTE_COUNT"},
279
{"bits": [26, 26], "enum_ref": "COMMAND__SAS", "name": "SAS"},
280
{"bits": [27, 27], "enum_ref": "COMMAND__SAS", "name": "DAS"},
281
{"bits": [28, 28], "enum_ref": "COMMAND__SAIC", "name": "SAIC"},
282
{"bits": [29, 29], "enum_ref": "COMMAND__SAIC", "name": "DAIC"},
283
{"bits": [30, 30], "name": "RAW_WAIT"},
284
{"bits": [31, 31], "name": "DISABLE_WR_CONFIRM"}
285
]
286
},
287
"CONTROL": {
288
"fields": [
289
{"bits": [8, 11], "enum_ref": "CONTROL__DST_SEL", "name": "DST_SEL"},
290
{"bits": [16, 16], "name": "WR_ONE_ADDR"},
291
{"bits": [20, 20], "name": "WR_CONFIRM"},
292
{"bits": [30, 31], "enum_ref": "CONTROL__ENGINE_SEL", "name": "ENGINE_SEL"}
293
]
294
},
295
"CONTROL_cik": {
296
"fields": [
297
{"bits": [8, 11], "enum_ref": "CONTROL__DST_SEL_cik", "name": "DST_SEL"},
298
{"bits": [16, 16], "name": "WR_ONE_ADDR"},
299
{"bits": [20, 20], "name": "WR_CONFIRM"},
300
{"bits": [30, 31], "enum_ref": "CONTROL__ENGINE_SEL", "name": "ENGINE_SEL"}
301
]
302
},
303
"CP_DMA_WORD0": {
304
"fields": [
305
{"bits": [0, 31], "name": "SRC_ADDR_LO"}
306
]
307
},
308
"CP_DMA_WORD1": {
309
"fields": [
310
{"bits": [0, 15], "name": "SRC_ADDR_HI"},
311
{"bits": [20, 21], "enum_ref": "CP_DMA_WORD1__DST_SEL", "name": "DST_SEL"},
312
{"bits": [27, 27], "enum_ref": "CP_DMA_WORD1__ENGINE", "name": "ENGINE"},
313
{"bits": [29, 30], "enum_ref": "CP_DMA_WORD1__SRC_SEL", "name": "SRC_SEL"},
314
{"bits": [31, 31], "name": "CP_SYNC"}
315
]
316
},
317
"CP_DMA_WORD1_cik": {
318
"fields": [
319
{"bits": [0, 15], "name": "SRC_ADDR_HI"},
320
{"bits": [20, 21], "enum_ref": "CP_DMA_WORD1__DST_SEL_cik", "name": "DST_SEL"},
321
{"bits": [27, 27], "enum_ref": "CP_DMA_WORD1__ENGINE", "name": "ENGINE"},
322
{"bits": [29, 30], "enum_ref": "CP_DMA_WORD1__SRC_SEL_cik", "name": "SRC_SEL"},
323
{"bits": [31, 31], "name": "CP_SYNC"}
324
]
325
},
326
"CP_DMA_WORD1_gfx9": {
327
"fields": [
328
{"bits": [0, 15], "name": "SRC_ADDR_HI"},
329
{"bits": [20, 21], "enum_ref": "CP_DMA_WORD1__DST_SEL_gfx9", "name": "DST_SEL"},
330
{"bits": [27, 27], "enum_ref": "CP_DMA_WORD1__ENGINE", "name": "ENGINE"},
331
{"bits": [29, 30], "enum_ref": "CP_DMA_WORD1__SRC_SEL_cik", "name": "SRC_SEL"},
332
{"bits": [31, 31], "name": "CP_SYNC"}
333
]
334
},
335
"CP_DMA_WORD2": {
336
"fields": [
337
{"bits": [0, 31], "name": "DST_ADDR_LO"}
338
]
339
},
340
"CP_DMA_WORD3": {
341
"fields": [
342
{"bits": [0, 15], "name": "DST_ADDR_HI"}
343
]
344
},
345
"DMA_DATA_WORD0": {
346
"fields": [
347
{"bits": [0, 0], "enum_ref": "CP_DMA_WORD1__ENGINE", "name": "ENGINE"},
348
{"bits": [20, 21], "enum_ref": "CP_DMA_WORD1__DST_SEL", "name": "DST_SEL"},
349
{"bits": [29, 30], "enum_ref": "CP_DMA_WORD1__SRC_SEL", "name": "SRC_SEL"},
350
{"bits": [31, 31], "name": "CP_SYNC"}
351
]
352
},
353
"DMA_DATA_WORD0_cik": {
354
"fields": [
355
{"bits": [0, 0], "enum_ref": "CP_DMA_WORD1__ENGINE", "name": "ENGINE"},
356
{"bits": [13, 14], "name": "SRC_CACHE_POLICY"},
357
{"bits": [20, 21], "enum_ref": "CP_DMA_WORD1__DST_SEL_cik", "name": "DST_SEL"},
358
{"bits": [25, 26], "name": "DST_CACHE_POLICY"},
359
{"bits": [29, 30], "enum_ref": "CP_DMA_WORD1__SRC_SEL_cik", "name": "SRC_SEL"},
360
{"bits": [31, 31], "name": "CP_SYNC"}
361
]
362
},
363
"DMA_DATA_WORD0_gfx9": {
364
"fields": [
365
{"bits": [0, 0], "enum_ref": "CP_DMA_WORD1__ENGINE", "name": "ENGINE"},
366
{"bits": [13, 14], "name": "SRC_CACHE_POLICY"},
367
{"bits": [20, 21], "enum_ref": "CP_DMA_WORD1__DST_SEL_gfx9", "name": "DST_SEL"},
368
{"bits": [25, 26], "name": "DST_CACHE_POLICY"},
369
{"bits": [29, 30], "enum_ref": "CP_DMA_WORD1__SRC_SEL_cik", "name": "SRC_SEL"},
370
{"bits": [31, 31], "name": "CP_SYNC"}
371
]
372
},
373
"GCR_CNTL": {
374
"fields": [
375
{"bits": [0, 1], "enum_ref": "GCR_GLI_INV", "name": "GLI_INV"},
376
{"bits": [2, 3], "enum_ref": "GCR_GL1_RANGE", "name": "GL1_RANGE"},
377
{"bits": [4, 4], "name": "GLM_WB"},
378
{"bits": [5, 5], "name": "GLM_INV"},
379
{"bits": [6, 6], "name": "GLK_WB"},
380
{"bits": [7, 7], "name": "GLK_INV"},
381
{"bits": [8, 8], "name": "GLV_INV"},
382
{"bits": [9, 9], "name": "GL1_INV"},
383
{"bits": [10, 10], "name": "GL2_US"},
384
{"bits": [11, 12], "enum_ref": "GCR_GL2_RANGE", "name": "GL2_RANGE"},
385
{"bits": [13, 13], "name": "GL2_DISCARD"},
386
{"bits": [14, 14], "name": "GL2_INV"},
387
{"bits": [15, 15], "name": "GL2_WB"},
388
{"bits": [16, 17], "enum_ref": "GCR_SEQ", "name": "SEQ"},
389
{"bits": [18, 18], "name": "RANGE_IS_PA"}
390
]
391
},
392
"IB_CONTROL": {
393
"fields": [
394
{"bits": [0, 19], "name": "IB_SIZE"},
395
{"bits": [20, 20], "name": "CHAIN"},
396
{"bits": [23, 23], "name": "VALID"}
397
]
398
},
399
"RELEASE_MEM_OP": {
400
"fields": [
401
{"bits": [0, 5], "name": "EVENT_TYPE"},
402
{"bits": [8, 11], "name": "EVENT_INDEX"},
403
{"bits": [12, 12], "name": "GLM_WB"},
404
{"bits": [13, 13], "name": "GLM_INV"},
405
{"bits": [14, 14], "name": "GLV_INV"},
406
{"bits": [15, 15], "name": "GL1_INV"},
407
{"bits": [16, 16], "name": "GL2_US"},
408
{"bits": [17, 18], "enum_ref": "GCR_GL2_RANGE", "name": "GL2_RANGE"},
409
{"bits": [19, 19], "name": "GL2_DISCARD"},
410
{"bits": [20, 20], "name": "GL2_INV"},
411
{"bits": [21, 21], "name": "GL2_WB"},
412
{"bits": [22, 23], "enum_ref": "GCR_SEQ", "name": "SEQ"}
413
]
414
}
415
}
416
}
417
418