tinygrad 0.8.0__py3-none-any.whl → 0.9.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- tinygrad/__init__.py +6 -6
- tinygrad/codegen/kernel.py +230 -190
- tinygrad/codegen/linearizer.py +278 -384
- tinygrad/codegen/uops.py +415 -0
- tinygrad/device.py +132 -275
- tinygrad/dtype.py +53 -37
- tinygrad/engine/__init__.py +0 -0
- tinygrad/engine/graph.py +100 -0
- tinygrad/engine/jit.py +195 -0
- tinygrad/engine/realize.py +191 -0
- tinygrad/engine/schedule.py +362 -0
- tinygrad/engine/search.py +196 -0
- tinygrad/{mlops.py → function.py} +28 -14
- tinygrad/helpers.py +72 -43
- tinygrad/lazy.py +141 -240
- tinygrad/multi.py +169 -0
- tinygrad/nn/__init__.py +179 -8
- tinygrad/nn/datasets.py +7 -0
- tinygrad/nn/optim.py +106 -28
- tinygrad/nn/state.py +86 -17
- tinygrad/ops.py +70 -44
- tinygrad/renderer/__init__.py +61 -0
- tinygrad/renderer/assembly.py +276 -0
- tinygrad/renderer/cstyle.py +299 -206
- tinygrad/renderer/llvmir.py +118 -123
- tinygrad/runtime/autogen/amd_gpu.py +1900 -0
- tinygrad/runtime/autogen/comgr.py +865 -0
- tinygrad/runtime/autogen/cuda.py +5923 -0
- tinygrad/runtime/autogen/hip.py +5909 -0
- tinygrad/runtime/autogen/hsa.py +5761 -0
- tinygrad/runtime/autogen/kfd.py +812 -0
- tinygrad/runtime/autogen/nv_gpu.py +33328 -0
- tinygrad/runtime/autogen/opencl.py +1795 -0
- tinygrad/runtime/driver/hip_comgr.py +47 -0
- tinygrad/runtime/driver/hsa.py +143 -0
- tinygrad/runtime/graph/clang.py +38 -0
- tinygrad/runtime/graph/cuda.py +59 -54
- tinygrad/runtime/graph/hcq.py +143 -0
- tinygrad/runtime/graph/hsa.py +171 -0
- tinygrad/runtime/graph/metal.py +37 -41
- tinygrad/runtime/ops_amd.py +564 -0
- tinygrad/runtime/ops_clang.py +16 -14
- tinygrad/runtime/ops_cuda.py +130 -38
- tinygrad/runtime/ops_disk.py +45 -42
- tinygrad/runtime/ops_gpu.py +52 -50
- tinygrad/runtime/ops_hsa.py +278 -0
- tinygrad/runtime/ops_llvm.py +36 -56
- tinygrad/runtime/ops_metal.py +42 -24
- tinygrad/runtime/ops_npy.py +9 -0
- tinygrad/runtime/ops_nv.py +630 -0
- tinygrad/runtime/ops_python.py +204 -0
- tinygrad/shape/shapetracker.py +41 -105
- tinygrad/shape/symbolic.py +98 -95
- tinygrad/shape/view.py +137 -35
- tinygrad/tensor.py +2367 -442
- {tinygrad-0.8.0.dist-info → tinygrad-0.9.0.dist-info}/LICENSE +1 -1
- {tinygrad-0.8.0.dist-info → tinygrad-0.9.0.dist-info}/METADATA +19 -9
- tinygrad-0.9.0.dist-info/RECORD +60 -0
- {tinygrad-0.8.0.dist-info → tinygrad-0.9.0.dist-info}/WHEEL +1 -1
- tinygrad/features/image.py +0 -93
- tinygrad/features/multi.py +0 -103
- tinygrad/features/search.py +0 -160
- tinygrad/graph.py +0 -106
- tinygrad/jit.py +0 -152
- tinygrad/realize.py +0 -50
- tinygrad/runtime/graph/hip.py +0 -24
- tinygrad/runtime/ops_cpu.py +0 -45
- tinygrad/runtime/ops_hip.py +0 -97
- tinygrad/runtime/ops_torch.py +0 -49
- tinygrad-0.8.0.dist-info/RECORD +0 -41
- {tinygrad-0.8.0.dist-info → tinygrad-0.9.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,1900 @@
|
|
1
|
+
# mypy: ignore-errors
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
#
|
4
|
+
# TARGET arch is: ['-I/opt/rocm/include', '-x', 'c++']
|
5
|
+
# WORD_SIZE is: 8
|
6
|
+
# POINTER_SIZE is: 8
|
7
|
+
# LONGDOUBLE_SIZE is: 16
|
8
|
+
#
|
9
|
+
import ctypes
|
10
|
+
|
11
|
+
|
12
|
+
class AsDictMixin:
|
13
|
+
@classmethod
|
14
|
+
def as_dict(cls, self):
|
15
|
+
result = {}
|
16
|
+
if not isinstance(self, AsDictMixin):
|
17
|
+
# not a structure, assume it's already a python object
|
18
|
+
return self
|
19
|
+
if not hasattr(cls, "_fields_"):
|
20
|
+
return result
|
21
|
+
# sys.version_info >= (3, 5)
|
22
|
+
# for (field, *_) in cls._fields_: # noqa
|
23
|
+
for field_tuple in cls._fields_: # noqa
|
24
|
+
field = field_tuple[0]
|
25
|
+
if field.startswith('PADDING_'):
|
26
|
+
continue
|
27
|
+
value = getattr(self, field)
|
28
|
+
type_ = type(value)
|
29
|
+
if hasattr(value, "_length_") and hasattr(value, "_type_"):
|
30
|
+
# array
|
31
|
+
if not hasattr(type_, "as_dict"):
|
32
|
+
value = [v for v in value]
|
33
|
+
else:
|
34
|
+
type_ = type_._type_
|
35
|
+
value = [type_.as_dict(v) for v in value]
|
36
|
+
elif hasattr(value, "contents") and hasattr(value, "_type_"):
|
37
|
+
# pointer
|
38
|
+
try:
|
39
|
+
if not hasattr(type_, "as_dict"):
|
40
|
+
value = value.contents
|
41
|
+
else:
|
42
|
+
type_ = type_._type_
|
43
|
+
value = type_.as_dict(value.contents)
|
44
|
+
except ValueError:
|
45
|
+
# nullptr
|
46
|
+
value = None
|
47
|
+
elif isinstance(value, AsDictMixin):
|
48
|
+
# other structure
|
49
|
+
value = type_.as_dict(value)
|
50
|
+
result[field] = value
|
51
|
+
return result
|
52
|
+
|
53
|
+
|
54
|
+
class Structure(ctypes.Structure, AsDictMixin):
|
55
|
+
|
56
|
+
def __init__(self, *args, **kwds):
|
57
|
+
# We don't want to use positional arguments fill PADDING_* fields
|
58
|
+
|
59
|
+
args = dict(zip(self.__class__._field_names_(), args))
|
60
|
+
args.update(kwds)
|
61
|
+
super(Structure, self).__init__(**args)
|
62
|
+
|
63
|
+
@classmethod
|
64
|
+
def _field_names_(cls):
|
65
|
+
if hasattr(cls, '_fields_'):
|
66
|
+
return (f[0] for f in cls._fields_ if not f[0].startswith('PADDING'))
|
67
|
+
else:
|
68
|
+
return ()
|
69
|
+
|
70
|
+
@classmethod
|
71
|
+
def get_type(cls, field):
|
72
|
+
for f in cls._fields_:
|
73
|
+
if f[0] == field:
|
74
|
+
return f[1]
|
75
|
+
return None
|
76
|
+
|
77
|
+
@classmethod
|
78
|
+
def bind(cls, bound_fields):
|
79
|
+
fields = {}
|
80
|
+
for name, type_ in cls._fields_:
|
81
|
+
if hasattr(type_, "restype"):
|
82
|
+
if name in bound_fields:
|
83
|
+
if bound_fields[name] is None:
|
84
|
+
fields[name] = type_()
|
85
|
+
else:
|
86
|
+
# use a closure to capture the callback from the loop scope
|
87
|
+
fields[name] = (
|
88
|
+
type_((lambda callback: lambda *args: callback(*args))(
|
89
|
+
bound_fields[name]))
|
90
|
+
)
|
91
|
+
del bound_fields[name]
|
92
|
+
else:
|
93
|
+
# default callback implementation (does nothing)
|
94
|
+
try:
|
95
|
+
default_ = type_(0).restype().value
|
96
|
+
except TypeError:
|
97
|
+
default_ = None
|
98
|
+
fields[name] = type_((
|
99
|
+
lambda default_: lambda *args: default_)(default_))
|
100
|
+
else:
|
101
|
+
# not a callback function, use default initialization
|
102
|
+
if name in bound_fields:
|
103
|
+
fields[name] = bound_fields[name]
|
104
|
+
del bound_fields[name]
|
105
|
+
else:
|
106
|
+
fields[name] = type_()
|
107
|
+
if len(bound_fields) != 0:
|
108
|
+
raise ValueError(
|
109
|
+
"Cannot bind the following unknown callback(s) {}.{}".format(
|
110
|
+
cls.__name__, bound_fields.keys()
|
111
|
+
))
|
112
|
+
return cls(**fields)
|
113
|
+
|
114
|
+
|
115
|
+
class Union(ctypes.Union, AsDictMixin):
|
116
|
+
pass
|
117
|
+
|
118
|
+
|
119
|
+
|
120
|
+
|
121
|
+
|
122
|
+
SDMA_OP_COPY = 1 # Variable ctypes.c_uint32
|
123
|
+
SDMA_OP_FENCE = 5 # Variable ctypes.c_uint32
|
124
|
+
SDMA_OP_TRAP = 6 # Variable ctypes.c_uint32
|
125
|
+
SDMA_OP_POLL_REGMEM = 8 # Variable ctypes.c_uint32
|
126
|
+
SDMA_OP_ATOMIC = 10 # Variable ctypes.c_uint32
|
127
|
+
SDMA_OP_CONST_FILL = 11 # Variable ctypes.c_uint32
|
128
|
+
SDMA_OP_TIMESTAMP = 13 # Variable ctypes.c_uint32
|
129
|
+
SDMA_OP_GCR = 17 # Variable ctypes.c_uint32
|
130
|
+
SDMA_SUBOP_COPY_LINEAR = 0 # Variable ctypes.c_uint32
|
131
|
+
SDMA_SUBOP_COPY_LINEAR_RECT = 4 # Variable ctypes.c_uint32
|
132
|
+
SDMA_SUBOP_TIMESTAMP_GET_GLOBAL = 2 # Variable ctypes.c_uint32
|
133
|
+
SDMA_SUBOP_USER_GCR = 1 # Variable ctypes.c_uint32
|
134
|
+
SDMA_ATOMIC_ADD64 = 47 # Variable ctypes.c_uint32
|
135
|
+
class struct_SDMA_PKT_COPY_LINEAR_TAG(Structure):
|
136
|
+
pass
|
137
|
+
|
138
|
+
class union_SDMA_PKT_COPY_LINEAR_TAG_HEADER_UNION(Union):
|
139
|
+
pass
|
140
|
+
|
141
|
+
class struct_SDMA_PKT_COPY_LINEAR_TAG_0_0(Structure):
|
142
|
+
pass
|
143
|
+
|
144
|
+
struct_SDMA_PKT_COPY_LINEAR_TAG_0_0._pack_ = 1 # source:False
|
145
|
+
struct_SDMA_PKT_COPY_LINEAR_TAG_0_0._fields_ = [
|
146
|
+
('op', ctypes.c_uint32, 8),
|
147
|
+
('sub_op', ctypes.c_uint32, 8),
|
148
|
+
('extra_info', ctypes.c_uint32, 16),
|
149
|
+
]
|
150
|
+
|
151
|
+
union_SDMA_PKT_COPY_LINEAR_TAG_HEADER_UNION._pack_ = 1 # source:False
|
152
|
+
union_SDMA_PKT_COPY_LINEAR_TAG_HEADER_UNION._anonymous_ = ('_0',)
|
153
|
+
union_SDMA_PKT_COPY_LINEAR_TAG_HEADER_UNION._fields_ = [
|
154
|
+
('_0', struct_SDMA_PKT_COPY_LINEAR_TAG_0_0),
|
155
|
+
('DW_0_DATA', ctypes.c_uint32),
|
156
|
+
]
|
157
|
+
|
158
|
+
class union_SDMA_PKT_COPY_LINEAR_TAG_COUNT_UNION(Union):
|
159
|
+
pass
|
160
|
+
|
161
|
+
class struct_SDMA_PKT_COPY_LINEAR_TAG_1_0(Structure):
|
162
|
+
pass
|
163
|
+
|
164
|
+
struct_SDMA_PKT_COPY_LINEAR_TAG_1_0._pack_ = 1 # source:False
|
165
|
+
struct_SDMA_PKT_COPY_LINEAR_TAG_1_0._fields_ = [
|
166
|
+
('count', ctypes.c_uint32, 22),
|
167
|
+
('reserved_0', ctypes.c_uint32, 10),
|
168
|
+
]
|
169
|
+
|
170
|
+
union_SDMA_PKT_COPY_LINEAR_TAG_COUNT_UNION._pack_ = 1 # source:False
|
171
|
+
union_SDMA_PKT_COPY_LINEAR_TAG_COUNT_UNION._anonymous_ = ('_0',)
|
172
|
+
union_SDMA_PKT_COPY_LINEAR_TAG_COUNT_UNION._fields_ = [
|
173
|
+
('_0', struct_SDMA_PKT_COPY_LINEAR_TAG_1_0),
|
174
|
+
('DW_1_DATA', ctypes.c_uint32),
|
175
|
+
]
|
176
|
+
|
177
|
+
class union_SDMA_PKT_COPY_LINEAR_TAG_PARAMETER_UNION(Union):
|
178
|
+
pass
|
179
|
+
|
180
|
+
class struct_SDMA_PKT_COPY_LINEAR_TAG_2_0(Structure):
|
181
|
+
pass
|
182
|
+
|
183
|
+
struct_SDMA_PKT_COPY_LINEAR_TAG_2_0._pack_ = 1 # source:False
|
184
|
+
struct_SDMA_PKT_COPY_LINEAR_TAG_2_0._fields_ = [
|
185
|
+
('reserved_0', ctypes.c_uint32, 16),
|
186
|
+
('dst_swap', ctypes.c_uint32, 2),
|
187
|
+
('reserved_1', ctypes.c_uint32, 6),
|
188
|
+
('src_swap', ctypes.c_uint32, 2),
|
189
|
+
('reserved_2', ctypes.c_uint32, 6),
|
190
|
+
]
|
191
|
+
|
192
|
+
union_SDMA_PKT_COPY_LINEAR_TAG_PARAMETER_UNION._pack_ = 1 # source:False
|
193
|
+
union_SDMA_PKT_COPY_LINEAR_TAG_PARAMETER_UNION._anonymous_ = ('_0',)
|
194
|
+
union_SDMA_PKT_COPY_LINEAR_TAG_PARAMETER_UNION._fields_ = [
|
195
|
+
('_0', struct_SDMA_PKT_COPY_LINEAR_TAG_2_0),
|
196
|
+
('DW_2_DATA', ctypes.c_uint32),
|
197
|
+
]
|
198
|
+
|
199
|
+
class union_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_LO_UNION(Union):
|
200
|
+
pass
|
201
|
+
|
202
|
+
class struct_SDMA_PKT_COPY_LINEAR_TAG_3_0(Structure):
|
203
|
+
pass
|
204
|
+
|
205
|
+
struct_SDMA_PKT_COPY_LINEAR_TAG_3_0._pack_ = 1 # source:False
|
206
|
+
struct_SDMA_PKT_COPY_LINEAR_TAG_3_0._fields_ = [
|
207
|
+
('src_addr_31_0', ctypes.c_uint32, 32),
|
208
|
+
]
|
209
|
+
|
210
|
+
union_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_LO_UNION._pack_ = 1 # source:False
|
211
|
+
union_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_LO_UNION._anonymous_ = ('_0',)
|
212
|
+
union_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_LO_UNION._fields_ = [
|
213
|
+
('_0', struct_SDMA_PKT_COPY_LINEAR_TAG_3_0),
|
214
|
+
('DW_3_DATA', ctypes.c_uint32),
|
215
|
+
]
|
216
|
+
|
217
|
+
class union_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_HI_UNION(Union):
|
218
|
+
pass
|
219
|
+
|
220
|
+
class struct_SDMA_PKT_COPY_LINEAR_TAG_4_0(Structure):
|
221
|
+
pass
|
222
|
+
|
223
|
+
struct_SDMA_PKT_COPY_LINEAR_TAG_4_0._pack_ = 1 # source:False
|
224
|
+
struct_SDMA_PKT_COPY_LINEAR_TAG_4_0._fields_ = [
|
225
|
+
('src_addr_63_32', ctypes.c_uint32, 32),
|
226
|
+
]
|
227
|
+
|
228
|
+
union_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_HI_UNION._pack_ = 1 # source:False
|
229
|
+
union_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_HI_UNION._anonymous_ = ('_0',)
|
230
|
+
union_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_HI_UNION._fields_ = [
|
231
|
+
('_0', struct_SDMA_PKT_COPY_LINEAR_TAG_4_0),
|
232
|
+
('DW_4_DATA', ctypes.c_uint32),
|
233
|
+
]
|
234
|
+
|
235
|
+
class union_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_LO_UNION(Union):
|
236
|
+
pass
|
237
|
+
|
238
|
+
class struct_SDMA_PKT_COPY_LINEAR_TAG_5_0(Structure):
|
239
|
+
pass
|
240
|
+
|
241
|
+
struct_SDMA_PKT_COPY_LINEAR_TAG_5_0._pack_ = 1 # source:False
|
242
|
+
struct_SDMA_PKT_COPY_LINEAR_TAG_5_0._fields_ = [
|
243
|
+
('dst_addr_31_0', ctypes.c_uint32, 32),
|
244
|
+
]
|
245
|
+
|
246
|
+
union_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_LO_UNION._pack_ = 1 # source:False
|
247
|
+
union_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_LO_UNION._anonymous_ = ('_0',)
|
248
|
+
union_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_LO_UNION._fields_ = [
|
249
|
+
('_0', struct_SDMA_PKT_COPY_LINEAR_TAG_5_0),
|
250
|
+
('DW_5_DATA', ctypes.c_uint32),
|
251
|
+
]
|
252
|
+
|
253
|
+
class union_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_HI_UNION(Union):
|
254
|
+
pass
|
255
|
+
|
256
|
+
class struct_SDMA_PKT_COPY_LINEAR_TAG_6_0(Structure):
|
257
|
+
pass
|
258
|
+
|
259
|
+
struct_SDMA_PKT_COPY_LINEAR_TAG_6_0._pack_ = 1 # source:False
|
260
|
+
struct_SDMA_PKT_COPY_LINEAR_TAG_6_0._fields_ = [
|
261
|
+
('dst_addr_63_32', ctypes.c_uint32, 32),
|
262
|
+
]
|
263
|
+
|
264
|
+
union_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_HI_UNION._pack_ = 1 # source:False
|
265
|
+
union_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_HI_UNION._anonymous_ = ('_0',)
|
266
|
+
union_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_HI_UNION._fields_ = [
|
267
|
+
('_0', struct_SDMA_PKT_COPY_LINEAR_TAG_6_0),
|
268
|
+
('DW_6_DATA', ctypes.c_uint32),
|
269
|
+
]
|
270
|
+
|
271
|
+
struct_SDMA_PKT_COPY_LINEAR_TAG._pack_ = 1 # source:False
|
272
|
+
struct_SDMA_PKT_COPY_LINEAR_TAG._fields_ = [
|
273
|
+
('HEADER_UNION', union_SDMA_PKT_COPY_LINEAR_TAG_HEADER_UNION),
|
274
|
+
('COUNT_UNION', union_SDMA_PKT_COPY_LINEAR_TAG_COUNT_UNION),
|
275
|
+
('PARAMETER_UNION', union_SDMA_PKT_COPY_LINEAR_TAG_PARAMETER_UNION),
|
276
|
+
('SRC_ADDR_LO_UNION', union_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_LO_UNION),
|
277
|
+
('SRC_ADDR_HI_UNION', union_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_HI_UNION),
|
278
|
+
('DST_ADDR_LO_UNION', union_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_LO_UNION),
|
279
|
+
('DST_ADDR_HI_UNION', union_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_HI_UNION),
|
280
|
+
]
|
281
|
+
|
282
|
+
SDMA_PKT_COPY_LINEAR = struct_SDMA_PKT_COPY_LINEAR_TAG
|
283
|
+
class struct_SDMA_PKT_COPY_LINEAR_RECT_TAG(Structure):
|
284
|
+
pass
|
285
|
+
|
286
|
+
class union_SDMA_PKT_COPY_LINEAR_RECT_TAG_HEADER_UNION(Union):
|
287
|
+
pass
|
288
|
+
|
289
|
+
class struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_0_0(Structure):
|
290
|
+
pass
|
291
|
+
|
292
|
+
struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_0_0._pack_ = 1 # source:False
|
293
|
+
struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_0_0._fields_ = [
|
294
|
+
('op', ctypes.c_uint32, 8),
|
295
|
+
('sub_op', ctypes.c_uint32, 8),
|
296
|
+
('reserved', ctypes.c_uint32, 13),
|
297
|
+
('element', ctypes.c_uint32, 3),
|
298
|
+
]
|
299
|
+
|
300
|
+
union_SDMA_PKT_COPY_LINEAR_RECT_TAG_HEADER_UNION._pack_ = 1 # source:False
|
301
|
+
union_SDMA_PKT_COPY_LINEAR_RECT_TAG_HEADER_UNION._anonymous_ = ('_0',)
|
302
|
+
union_SDMA_PKT_COPY_LINEAR_RECT_TAG_HEADER_UNION._fields_ = [
|
303
|
+
('_0', struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_0_0),
|
304
|
+
('DW_0_DATA', ctypes.c_uint32),
|
305
|
+
]
|
306
|
+
|
307
|
+
class union_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_LO_UNION(Union):
|
308
|
+
pass
|
309
|
+
|
310
|
+
class struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_1_0(Structure):
|
311
|
+
pass
|
312
|
+
|
313
|
+
struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_1_0._pack_ = 1 # source:False
|
314
|
+
struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_1_0._fields_ = [
|
315
|
+
('src_addr_31_0', ctypes.c_uint32, 32),
|
316
|
+
]
|
317
|
+
|
318
|
+
union_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_LO_UNION._pack_ = 1 # source:False
|
319
|
+
union_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_LO_UNION._anonymous_ = ('_0',)
|
320
|
+
union_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_LO_UNION._fields_ = [
|
321
|
+
('_0', struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_1_0),
|
322
|
+
('DW_1_DATA', ctypes.c_uint32),
|
323
|
+
]
|
324
|
+
|
325
|
+
class union_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_HI_UNION(Union):
|
326
|
+
pass
|
327
|
+
|
328
|
+
class struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_2_0(Structure):
|
329
|
+
pass
|
330
|
+
|
331
|
+
struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_2_0._pack_ = 1 # source:False
|
332
|
+
struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_2_0._fields_ = [
|
333
|
+
('src_addr_63_32', ctypes.c_uint32, 32),
|
334
|
+
]
|
335
|
+
|
336
|
+
union_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_HI_UNION._pack_ = 1 # source:False
|
337
|
+
union_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_HI_UNION._anonymous_ = ('_0',)
|
338
|
+
union_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_HI_UNION._fields_ = [
|
339
|
+
('_0', struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_2_0),
|
340
|
+
('DW_2_DATA', ctypes.c_uint32),
|
341
|
+
]
|
342
|
+
|
343
|
+
class union_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_1_UNION(Union):
|
344
|
+
pass
|
345
|
+
|
346
|
+
class struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_3_0(Structure):
|
347
|
+
pass
|
348
|
+
|
349
|
+
struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_3_0._pack_ = 1 # source:False
|
350
|
+
struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_3_0._fields_ = [
|
351
|
+
('src_offset_x', ctypes.c_uint32, 14),
|
352
|
+
('reserved_1', ctypes.c_uint32, 2),
|
353
|
+
('src_offset_y', ctypes.c_uint32, 14),
|
354
|
+
('reserved_2', ctypes.c_uint32, 2),
|
355
|
+
]
|
356
|
+
|
357
|
+
union_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_1_UNION._pack_ = 1 # source:False
|
358
|
+
union_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_1_UNION._anonymous_ = ('_0',)
|
359
|
+
union_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_1_UNION._fields_ = [
|
360
|
+
('_0', struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_3_0),
|
361
|
+
('DW_3_DATA', ctypes.c_uint32),
|
362
|
+
]
|
363
|
+
|
364
|
+
class union_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_2_UNION(Union):
|
365
|
+
pass
|
366
|
+
|
367
|
+
class struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_4_0(Structure):
|
368
|
+
pass
|
369
|
+
|
370
|
+
struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_4_0._pack_ = 1 # source:False
|
371
|
+
struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_4_0._fields_ = [
|
372
|
+
('src_offset_z', ctypes.c_uint32, 11),
|
373
|
+
('reserved_1', ctypes.c_uint32, 2),
|
374
|
+
('src_pitch', ctypes.c_uint32, 19),
|
375
|
+
]
|
376
|
+
|
377
|
+
union_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_2_UNION._pack_ = 1 # source:False
|
378
|
+
union_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_2_UNION._anonymous_ = ('_0',)
|
379
|
+
union_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_2_UNION._fields_ = [
|
380
|
+
('_0', struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_4_0),
|
381
|
+
('DW_4_DATA', ctypes.c_uint32),
|
382
|
+
]
|
383
|
+
|
384
|
+
class union_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_3_UNION(Union):
|
385
|
+
pass
|
386
|
+
|
387
|
+
class struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_5_0(Structure):
|
388
|
+
pass
|
389
|
+
|
390
|
+
struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_5_0._pack_ = 1 # source:False
|
391
|
+
struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_5_0._fields_ = [
|
392
|
+
('src_slice_pitch', ctypes.c_uint32, 28),
|
393
|
+
('reserved_1', ctypes.c_uint32, 4),
|
394
|
+
]
|
395
|
+
|
396
|
+
union_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_3_UNION._pack_ = 1 # source:False
|
397
|
+
union_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_3_UNION._anonymous_ = ('_0',)
|
398
|
+
union_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_3_UNION._fields_ = [
|
399
|
+
('_0', struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_5_0),
|
400
|
+
('DW_5_DATA', ctypes.c_uint32),
|
401
|
+
]
|
402
|
+
|
403
|
+
class union_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_LO_UNION(Union):
|
404
|
+
pass
|
405
|
+
|
406
|
+
class struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_6_0(Structure):
|
407
|
+
pass
|
408
|
+
|
409
|
+
struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_6_0._pack_ = 1 # source:False
|
410
|
+
struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_6_0._fields_ = [
|
411
|
+
('dst_addr_31_0', ctypes.c_uint32, 32),
|
412
|
+
]
|
413
|
+
|
414
|
+
union_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_LO_UNION._pack_ = 1 # source:False
|
415
|
+
union_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_LO_UNION._anonymous_ = ('_0',)
|
416
|
+
union_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_LO_UNION._fields_ = [
|
417
|
+
('_0', struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_6_0),
|
418
|
+
('DW_6_DATA', ctypes.c_uint32),
|
419
|
+
]
|
420
|
+
|
421
|
+
class union_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_HI_UNION(Union):
|
422
|
+
pass
|
423
|
+
|
424
|
+
class struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_7_0(Structure):
|
425
|
+
pass
|
426
|
+
|
427
|
+
struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_7_0._pack_ = 1 # source:False
|
428
|
+
struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_7_0._fields_ = [
|
429
|
+
('dst_addr_63_32', ctypes.c_uint32, 32),
|
430
|
+
]
|
431
|
+
|
432
|
+
union_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_HI_UNION._pack_ = 1 # source:False
|
433
|
+
union_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_HI_UNION._anonymous_ = ('_0',)
|
434
|
+
union_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_HI_UNION._fields_ = [
|
435
|
+
('_0', struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_7_0),
|
436
|
+
('DW_7_DATA', ctypes.c_uint32),
|
437
|
+
]
|
438
|
+
|
439
|
+
class union_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_1_UNION(Union):
|
440
|
+
pass
|
441
|
+
|
442
|
+
class struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_8_0(Structure):
|
443
|
+
pass
|
444
|
+
|
445
|
+
struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_8_0._pack_ = 1 # source:False
|
446
|
+
struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_8_0._fields_ = [
|
447
|
+
('dst_offset_x', ctypes.c_uint32, 14),
|
448
|
+
('reserved_1', ctypes.c_uint32, 2),
|
449
|
+
('dst_offset_y', ctypes.c_uint32, 14),
|
450
|
+
('reserved_2', ctypes.c_uint32, 2),
|
451
|
+
]
|
452
|
+
|
453
|
+
union_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_1_UNION._pack_ = 1 # source:False
|
454
|
+
union_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_1_UNION._anonymous_ = ('_0',)
|
455
|
+
union_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_1_UNION._fields_ = [
|
456
|
+
('_0', struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_8_0),
|
457
|
+
('DW_8_DATA', ctypes.c_uint32),
|
458
|
+
]
|
459
|
+
|
460
|
+
class union_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_2_UNION(Union):
|
461
|
+
pass
|
462
|
+
|
463
|
+
class struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_9_0(Structure):
|
464
|
+
pass
|
465
|
+
|
466
|
+
struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_9_0._pack_ = 1 # source:False
|
467
|
+
struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_9_0._fields_ = [
|
468
|
+
('dst_offset_z', ctypes.c_uint32, 11),
|
469
|
+
('reserved_1', ctypes.c_uint32, 2),
|
470
|
+
('dst_pitch', ctypes.c_uint32, 19),
|
471
|
+
]
|
472
|
+
|
473
|
+
union_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_2_UNION._pack_ = 1 # source:False
|
474
|
+
union_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_2_UNION._anonymous_ = ('_0',)
|
475
|
+
union_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_2_UNION._fields_ = [
|
476
|
+
('_0', struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_9_0),
|
477
|
+
('DW_9_DATA', ctypes.c_uint32),
|
478
|
+
]
|
479
|
+
|
480
|
+
class union_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_3_UNION(Union):
|
481
|
+
pass
|
482
|
+
|
483
|
+
class struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_10_0(Structure):
|
484
|
+
pass
|
485
|
+
|
486
|
+
struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_10_0._pack_ = 1 # source:False
|
487
|
+
struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_10_0._fields_ = [
|
488
|
+
('dst_slice_pitch', ctypes.c_uint32, 28),
|
489
|
+
('reserved_1', ctypes.c_uint32, 4),
|
490
|
+
]
|
491
|
+
|
492
|
+
union_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_3_UNION._pack_ = 1 # source:False
|
493
|
+
union_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_3_UNION._anonymous_ = ('_0',)
|
494
|
+
union_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_3_UNION._fields_ = [
|
495
|
+
('_0', struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_10_0),
|
496
|
+
('DW_10_DATA', ctypes.c_uint32),
|
497
|
+
]
|
498
|
+
|
499
|
+
class union_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_1_UNION(Union):
|
500
|
+
pass
|
501
|
+
|
502
|
+
class struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_11_0(Structure):
|
503
|
+
pass
|
504
|
+
|
505
|
+
struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_11_0._pack_ = 1 # source:False
|
506
|
+
struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_11_0._fields_ = [
|
507
|
+
('rect_x', ctypes.c_uint32, 14),
|
508
|
+
('reserved_1', ctypes.c_uint32, 2),
|
509
|
+
('rect_y', ctypes.c_uint32, 14),
|
510
|
+
('reserved_2', ctypes.c_uint32, 2),
|
511
|
+
]
|
512
|
+
|
513
|
+
union_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_1_UNION._pack_ = 1 # source:False
|
514
|
+
union_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_1_UNION._anonymous_ = ('_0',)
|
515
|
+
union_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_1_UNION._fields_ = [
|
516
|
+
('_0', struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_11_0),
|
517
|
+
('DW_11_DATA', ctypes.c_uint32),
|
518
|
+
]
|
519
|
+
|
520
|
+
class union_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_2_UNION(Union):
|
521
|
+
pass
|
522
|
+
|
523
|
+
class struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_12_0(Structure):
|
524
|
+
pass
|
525
|
+
|
526
|
+
struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_12_0._pack_ = 1 # source:False
|
527
|
+
struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_12_0._fields_ = [
|
528
|
+
('rect_z', ctypes.c_uint32, 11),
|
529
|
+
('reserved_1', ctypes.c_uint32, 5),
|
530
|
+
('dst_swap', ctypes.c_uint32, 2),
|
531
|
+
('reserved_2', ctypes.c_uint32, 6),
|
532
|
+
('src_swap', ctypes.c_uint32, 2),
|
533
|
+
('reserved_3', ctypes.c_uint32, 6),
|
534
|
+
]
|
535
|
+
|
536
|
+
union_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_2_UNION._pack_ = 1 # source:False
|
537
|
+
union_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_2_UNION._anonymous_ = ('_0',)
|
538
|
+
union_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_2_UNION._fields_ = [
|
539
|
+
('_0', struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_12_0),
|
540
|
+
('DW_12_DATA', ctypes.c_uint32),
|
541
|
+
]
|
542
|
+
|
543
|
+
struct_SDMA_PKT_COPY_LINEAR_RECT_TAG._pack_ = 1 # source:False
|
544
|
+
struct_SDMA_PKT_COPY_LINEAR_RECT_TAG._fields_ = [
|
545
|
+
('HEADER_UNION', union_SDMA_PKT_COPY_LINEAR_RECT_TAG_HEADER_UNION),
|
546
|
+
('SRC_ADDR_LO_UNION', union_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_LO_UNION),
|
547
|
+
('SRC_ADDR_HI_UNION', union_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_HI_UNION),
|
548
|
+
('SRC_PARAMETER_1_UNION', union_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_1_UNION),
|
549
|
+
('SRC_PARAMETER_2_UNION', union_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_2_UNION),
|
550
|
+
('SRC_PARAMETER_3_UNION', union_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_3_UNION),
|
551
|
+
('DST_ADDR_LO_UNION', union_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_LO_UNION),
|
552
|
+
('DST_ADDR_HI_UNION', union_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_HI_UNION),
|
553
|
+
('DST_PARAMETER_1_UNION', union_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_1_UNION),
|
554
|
+
('DST_PARAMETER_2_UNION', union_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_2_UNION),
|
555
|
+
('DST_PARAMETER_3_UNION', union_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_3_UNION),
|
556
|
+
('RECT_PARAMETER_1_UNION', union_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_1_UNION),
|
557
|
+
('RECT_PARAMETER_2_UNION', union_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_2_UNION),
|
558
|
+
]
|
559
|
+
|
560
|
+
SDMA_PKT_COPY_LINEAR_RECT = struct_SDMA_PKT_COPY_LINEAR_RECT_TAG
|
561
|
+
class struct_SDMA_PKT_CONSTANT_FILL_TAG(Structure):
|
562
|
+
pass
|
563
|
+
|
564
|
+
class union_SDMA_PKT_CONSTANT_FILL_TAG_HEADER_UNION(Union):
|
565
|
+
pass
|
566
|
+
|
567
|
+
class struct_SDMA_PKT_CONSTANT_FILL_TAG_0_0(Structure):
|
568
|
+
pass
|
569
|
+
|
570
|
+
struct_SDMA_PKT_CONSTANT_FILL_TAG_0_0._pack_ = 1 # source:False
|
571
|
+
struct_SDMA_PKT_CONSTANT_FILL_TAG_0_0._fields_ = [
|
572
|
+
('op', ctypes.c_uint32, 8),
|
573
|
+
('sub_op', ctypes.c_uint32, 8),
|
574
|
+
('sw', ctypes.c_uint32, 2),
|
575
|
+
('reserved_0', ctypes.c_uint32, 12),
|
576
|
+
('fillsize', ctypes.c_uint32, 2),
|
577
|
+
]
|
578
|
+
|
579
|
+
union_SDMA_PKT_CONSTANT_FILL_TAG_HEADER_UNION._pack_ = 1 # source:False
|
580
|
+
union_SDMA_PKT_CONSTANT_FILL_TAG_HEADER_UNION._anonymous_ = ('_0',)
|
581
|
+
union_SDMA_PKT_CONSTANT_FILL_TAG_HEADER_UNION._fields_ = [
|
582
|
+
('_0', struct_SDMA_PKT_CONSTANT_FILL_TAG_0_0),
|
583
|
+
('DW_0_DATA', ctypes.c_uint32),
|
584
|
+
]
|
585
|
+
|
586
|
+
class union_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_LO_UNION(Union):
|
587
|
+
pass
|
588
|
+
|
589
|
+
class struct_SDMA_PKT_CONSTANT_FILL_TAG_1_0(Structure):
|
590
|
+
pass
|
591
|
+
|
592
|
+
struct_SDMA_PKT_CONSTANT_FILL_TAG_1_0._pack_ = 1 # source:False
|
593
|
+
struct_SDMA_PKT_CONSTANT_FILL_TAG_1_0._fields_ = [
|
594
|
+
('dst_addr_31_0', ctypes.c_uint32, 32),
|
595
|
+
]
|
596
|
+
|
597
|
+
union_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_LO_UNION._pack_ = 1 # source:False
|
598
|
+
union_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_LO_UNION._anonymous_ = ('_0',)
|
599
|
+
union_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_LO_UNION._fields_ = [
|
600
|
+
('_0', struct_SDMA_PKT_CONSTANT_FILL_TAG_1_0),
|
601
|
+
('DW_1_DATA', ctypes.c_uint32),
|
602
|
+
]
|
603
|
+
|
604
|
+
class union_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_HI_UNION(Union):
|
605
|
+
pass
|
606
|
+
|
607
|
+
class struct_SDMA_PKT_CONSTANT_FILL_TAG_2_0(Structure):
|
608
|
+
pass
|
609
|
+
|
610
|
+
struct_SDMA_PKT_CONSTANT_FILL_TAG_2_0._pack_ = 1 # source:False
|
611
|
+
struct_SDMA_PKT_CONSTANT_FILL_TAG_2_0._fields_ = [
|
612
|
+
('dst_addr_63_32', ctypes.c_uint32, 32),
|
613
|
+
]
|
614
|
+
|
615
|
+
union_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_HI_UNION._pack_ = 1 # source:False
|
616
|
+
union_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_HI_UNION._anonymous_ = ('_0',)
|
617
|
+
union_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_HI_UNION._fields_ = [
|
618
|
+
('_0', struct_SDMA_PKT_CONSTANT_FILL_TAG_2_0),
|
619
|
+
('DW_2_DATA', ctypes.c_uint32),
|
620
|
+
]
|
621
|
+
|
622
|
+
class union_SDMA_PKT_CONSTANT_FILL_TAG_DATA_UNION(Union):
|
623
|
+
pass
|
624
|
+
|
625
|
+
class struct_SDMA_PKT_CONSTANT_FILL_TAG_3_0(Structure):
|
626
|
+
pass
|
627
|
+
|
628
|
+
struct_SDMA_PKT_CONSTANT_FILL_TAG_3_0._pack_ = 1 # source:False
|
629
|
+
struct_SDMA_PKT_CONSTANT_FILL_TAG_3_0._fields_ = [
|
630
|
+
('src_data_31_0', ctypes.c_uint32, 32),
|
631
|
+
]
|
632
|
+
|
633
|
+
union_SDMA_PKT_CONSTANT_FILL_TAG_DATA_UNION._pack_ = 1 # source:False
|
634
|
+
union_SDMA_PKT_CONSTANT_FILL_TAG_DATA_UNION._anonymous_ = ('_0',)
|
635
|
+
union_SDMA_PKT_CONSTANT_FILL_TAG_DATA_UNION._fields_ = [
|
636
|
+
('_0', struct_SDMA_PKT_CONSTANT_FILL_TAG_3_0),
|
637
|
+
('DW_3_DATA', ctypes.c_uint32),
|
638
|
+
]
|
639
|
+
|
640
|
+
class union_SDMA_PKT_CONSTANT_FILL_TAG_COUNT_UNION(Union):
|
641
|
+
pass
|
642
|
+
|
643
|
+
class struct_SDMA_PKT_CONSTANT_FILL_TAG_4_0(Structure):
|
644
|
+
pass
|
645
|
+
|
646
|
+
struct_SDMA_PKT_CONSTANT_FILL_TAG_4_0._pack_ = 1 # source:False
|
647
|
+
struct_SDMA_PKT_CONSTANT_FILL_TAG_4_0._fields_ = [
|
648
|
+
('count', ctypes.c_uint32, 22),
|
649
|
+
('reserved_0', ctypes.c_uint32, 10),
|
650
|
+
]
|
651
|
+
|
652
|
+
union_SDMA_PKT_CONSTANT_FILL_TAG_COUNT_UNION._pack_ = 1 # source:False
|
653
|
+
union_SDMA_PKT_CONSTANT_FILL_TAG_COUNT_UNION._anonymous_ = ('_0',)
|
654
|
+
union_SDMA_PKT_CONSTANT_FILL_TAG_COUNT_UNION._fields_ = [
|
655
|
+
('_0', struct_SDMA_PKT_CONSTANT_FILL_TAG_4_0),
|
656
|
+
('DW_4_DATA', ctypes.c_uint32),
|
657
|
+
]
|
658
|
+
|
659
|
+
struct_SDMA_PKT_CONSTANT_FILL_TAG._pack_ = 1 # source:False
|
660
|
+
struct_SDMA_PKT_CONSTANT_FILL_TAG._fields_ = [
|
661
|
+
('HEADER_UNION', union_SDMA_PKT_CONSTANT_FILL_TAG_HEADER_UNION),
|
662
|
+
('DST_ADDR_LO_UNION', union_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_LO_UNION),
|
663
|
+
('DST_ADDR_HI_UNION', union_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_HI_UNION),
|
664
|
+
('DATA_UNION', union_SDMA_PKT_CONSTANT_FILL_TAG_DATA_UNION),
|
665
|
+
('COUNT_UNION', union_SDMA_PKT_CONSTANT_FILL_TAG_COUNT_UNION),
|
666
|
+
]
|
667
|
+
|
668
|
+
SDMA_PKT_CONSTANT_FILL = struct_SDMA_PKT_CONSTANT_FILL_TAG
|
669
|
+
class struct_SDMA_PKT_FENCE_TAG(Structure):
|
670
|
+
pass
|
671
|
+
|
672
|
+
class union_SDMA_PKT_FENCE_TAG_HEADER_UNION(Union):
|
673
|
+
pass
|
674
|
+
|
675
|
+
class struct_SDMA_PKT_FENCE_TAG_0_0(Structure):
|
676
|
+
pass
|
677
|
+
|
678
|
+
struct_SDMA_PKT_FENCE_TAG_0_0._pack_ = 1 # source:False
|
679
|
+
struct_SDMA_PKT_FENCE_TAG_0_0._fields_ = [
|
680
|
+
('op', ctypes.c_uint32, 8),
|
681
|
+
('sub_op', ctypes.c_uint32, 8),
|
682
|
+
('mtype', ctypes.c_uint32, 3),
|
683
|
+
('gcc', ctypes.c_uint32, 1),
|
684
|
+
('sys', ctypes.c_uint32, 1),
|
685
|
+
('pad1', ctypes.c_uint32, 1),
|
686
|
+
('snp', ctypes.c_uint32, 1),
|
687
|
+
('gpa', ctypes.c_uint32, 1),
|
688
|
+
('l2_policy', ctypes.c_uint32, 2),
|
689
|
+
('reserved_0', ctypes.c_uint32, 6),
|
690
|
+
]
|
691
|
+
|
692
|
+
union_SDMA_PKT_FENCE_TAG_HEADER_UNION._pack_ = 1 # source:False
|
693
|
+
union_SDMA_PKT_FENCE_TAG_HEADER_UNION._anonymous_ = ('_0',)
|
694
|
+
union_SDMA_PKT_FENCE_TAG_HEADER_UNION._fields_ = [
|
695
|
+
('_0', struct_SDMA_PKT_FENCE_TAG_0_0),
|
696
|
+
('DW_0_DATA', ctypes.c_uint32),
|
697
|
+
]
|
698
|
+
|
699
|
+
class union_SDMA_PKT_FENCE_TAG_ADDR_LO_UNION(Union):
|
700
|
+
pass
|
701
|
+
|
702
|
+
class struct_SDMA_PKT_FENCE_TAG_1_0(Structure):
|
703
|
+
pass
|
704
|
+
|
705
|
+
struct_SDMA_PKT_FENCE_TAG_1_0._pack_ = 1 # source:False
|
706
|
+
struct_SDMA_PKT_FENCE_TAG_1_0._fields_ = [
|
707
|
+
('addr_31_0', ctypes.c_uint32, 32),
|
708
|
+
]
|
709
|
+
|
710
|
+
union_SDMA_PKT_FENCE_TAG_ADDR_LO_UNION._pack_ = 1 # source:False
|
711
|
+
union_SDMA_PKT_FENCE_TAG_ADDR_LO_UNION._anonymous_ = ('_0',)
|
712
|
+
union_SDMA_PKT_FENCE_TAG_ADDR_LO_UNION._fields_ = [
|
713
|
+
('_0', struct_SDMA_PKT_FENCE_TAG_1_0),
|
714
|
+
('DW_1_DATA', ctypes.c_uint32),
|
715
|
+
]
|
716
|
+
|
717
|
+
class union_SDMA_PKT_FENCE_TAG_ADDR_HI_UNION(Union):
|
718
|
+
pass
|
719
|
+
|
720
|
+
class struct_SDMA_PKT_FENCE_TAG_2_0(Structure):
|
721
|
+
pass
|
722
|
+
|
723
|
+
struct_SDMA_PKT_FENCE_TAG_2_0._pack_ = 1 # source:False
|
724
|
+
struct_SDMA_PKT_FENCE_TAG_2_0._fields_ = [
|
725
|
+
('addr_63_32', ctypes.c_uint32, 32),
|
726
|
+
]
|
727
|
+
|
728
|
+
union_SDMA_PKT_FENCE_TAG_ADDR_HI_UNION._pack_ = 1 # source:False
|
729
|
+
union_SDMA_PKT_FENCE_TAG_ADDR_HI_UNION._anonymous_ = ('_0',)
|
730
|
+
union_SDMA_PKT_FENCE_TAG_ADDR_HI_UNION._fields_ = [
|
731
|
+
('_0', struct_SDMA_PKT_FENCE_TAG_2_0),
|
732
|
+
('DW_2_DATA', ctypes.c_uint32),
|
733
|
+
]
|
734
|
+
|
735
|
+
class union_SDMA_PKT_FENCE_TAG_DATA_UNION(Union):
|
736
|
+
pass
|
737
|
+
|
738
|
+
class struct_SDMA_PKT_FENCE_TAG_3_0(Structure):
|
739
|
+
pass
|
740
|
+
|
741
|
+
struct_SDMA_PKT_FENCE_TAG_3_0._pack_ = 1 # source:False
|
742
|
+
struct_SDMA_PKT_FENCE_TAG_3_0._fields_ = [
|
743
|
+
('data', ctypes.c_uint32, 32),
|
744
|
+
]
|
745
|
+
|
746
|
+
union_SDMA_PKT_FENCE_TAG_DATA_UNION._pack_ = 1 # source:False
|
747
|
+
union_SDMA_PKT_FENCE_TAG_DATA_UNION._anonymous_ = ('_0',)
|
748
|
+
union_SDMA_PKT_FENCE_TAG_DATA_UNION._fields_ = [
|
749
|
+
('_0', struct_SDMA_PKT_FENCE_TAG_3_0),
|
750
|
+
('DW_3_DATA', ctypes.c_uint32),
|
751
|
+
]
|
752
|
+
|
753
|
+
struct_SDMA_PKT_FENCE_TAG._pack_ = 1 # source:False
|
754
|
+
struct_SDMA_PKT_FENCE_TAG._fields_ = [
|
755
|
+
('HEADER_UNION', union_SDMA_PKT_FENCE_TAG_HEADER_UNION),
|
756
|
+
('ADDR_LO_UNION', union_SDMA_PKT_FENCE_TAG_ADDR_LO_UNION),
|
757
|
+
('ADDR_HI_UNION', union_SDMA_PKT_FENCE_TAG_ADDR_HI_UNION),
|
758
|
+
('DATA_UNION', union_SDMA_PKT_FENCE_TAG_DATA_UNION),
|
759
|
+
]
|
760
|
+
|
761
|
+
SDMA_PKT_FENCE = struct_SDMA_PKT_FENCE_TAG
|
762
|
+
class struct_SDMA_PKT_POLL_REGMEM_TAG(Structure):
|
763
|
+
pass
|
764
|
+
|
765
|
+
class union_SDMA_PKT_POLL_REGMEM_TAG_HEADER_UNION(Union):
|
766
|
+
pass
|
767
|
+
|
768
|
+
class struct_SDMA_PKT_POLL_REGMEM_TAG_0_0(Structure):
|
769
|
+
pass
|
770
|
+
|
771
|
+
struct_SDMA_PKT_POLL_REGMEM_TAG_0_0._pack_ = 1 # source:False
|
772
|
+
struct_SDMA_PKT_POLL_REGMEM_TAG_0_0._fields_ = [
|
773
|
+
('op', ctypes.c_uint32, 8),
|
774
|
+
('sub_op', ctypes.c_uint32, 8),
|
775
|
+
('reserved_0', ctypes.c_uint32, 10),
|
776
|
+
('hdp_flush', ctypes.c_uint32, 1),
|
777
|
+
('reserved_1', ctypes.c_uint32, 1),
|
778
|
+
('func', ctypes.c_uint32, 3),
|
779
|
+
('mem_poll', ctypes.c_uint32, 1),
|
780
|
+
]
|
781
|
+
|
782
|
+
union_SDMA_PKT_POLL_REGMEM_TAG_HEADER_UNION._pack_ = 1 # source:False
|
783
|
+
union_SDMA_PKT_POLL_REGMEM_TAG_HEADER_UNION._anonymous_ = ('_0',)
|
784
|
+
union_SDMA_PKT_POLL_REGMEM_TAG_HEADER_UNION._fields_ = [
|
785
|
+
('_0', struct_SDMA_PKT_POLL_REGMEM_TAG_0_0),
|
786
|
+
('DW_0_DATA', ctypes.c_uint32),
|
787
|
+
]
|
788
|
+
|
789
|
+
class union_SDMA_PKT_POLL_REGMEM_TAG_ADDR_LO_UNION(Union):
|
790
|
+
pass
|
791
|
+
|
792
|
+
class struct_SDMA_PKT_POLL_REGMEM_TAG_1_0(Structure):
|
793
|
+
pass
|
794
|
+
|
795
|
+
struct_SDMA_PKT_POLL_REGMEM_TAG_1_0._pack_ = 1 # source:False
|
796
|
+
struct_SDMA_PKT_POLL_REGMEM_TAG_1_0._fields_ = [
|
797
|
+
('addr_31_0', ctypes.c_uint32, 32),
|
798
|
+
]
|
799
|
+
|
800
|
+
union_SDMA_PKT_POLL_REGMEM_TAG_ADDR_LO_UNION._pack_ = 1 # source:False
|
801
|
+
union_SDMA_PKT_POLL_REGMEM_TAG_ADDR_LO_UNION._anonymous_ = ('_0',)
|
802
|
+
union_SDMA_PKT_POLL_REGMEM_TAG_ADDR_LO_UNION._fields_ = [
|
803
|
+
('_0', struct_SDMA_PKT_POLL_REGMEM_TAG_1_0),
|
804
|
+
('DW_1_DATA', ctypes.c_uint32),
|
805
|
+
]
|
806
|
+
|
807
|
+
class union_SDMA_PKT_POLL_REGMEM_TAG_ADDR_HI_UNION(Union):
|
808
|
+
pass
|
809
|
+
|
810
|
+
class struct_SDMA_PKT_POLL_REGMEM_TAG_2_0(Structure):
|
811
|
+
pass
|
812
|
+
|
813
|
+
struct_SDMA_PKT_POLL_REGMEM_TAG_2_0._pack_ = 1 # source:False
|
814
|
+
struct_SDMA_PKT_POLL_REGMEM_TAG_2_0._fields_ = [
|
815
|
+
('addr_63_32', ctypes.c_uint32, 32),
|
816
|
+
]
|
817
|
+
|
818
|
+
union_SDMA_PKT_POLL_REGMEM_TAG_ADDR_HI_UNION._pack_ = 1 # source:False
|
819
|
+
union_SDMA_PKT_POLL_REGMEM_TAG_ADDR_HI_UNION._anonymous_ = ('_0',)
|
820
|
+
union_SDMA_PKT_POLL_REGMEM_TAG_ADDR_HI_UNION._fields_ = [
|
821
|
+
('_0', struct_SDMA_PKT_POLL_REGMEM_TAG_2_0),
|
822
|
+
('DW_2_DATA', ctypes.c_uint32),
|
823
|
+
]
|
824
|
+
|
825
|
+
class union_SDMA_PKT_POLL_REGMEM_TAG_VALUE_UNION(Union):
|
826
|
+
pass
|
827
|
+
|
828
|
+
class struct_SDMA_PKT_POLL_REGMEM_TAG_3_0(Structure):
|
829
|
+
pass
|
830
|
+
|
831
|
+
struct_SDMA_PKT_POLL_REGMEM_TAG_3_0._pack_ = 1 # source:False
|
832
|
+
struct_SDMA_PKT_POLL_REGMEM_TAG_3_0._fields_ = [
|
833
|
+
('value', ctypes.c_uint32, 32),
|
834
|
+
]
|
835
|
+
|
836
|
+
union_SDMA_PKT_POLL_REGMEM_TAG_VALUE_UNION._pack_ = 1 # source:False
|
837
|
+
union_SDMA_PKT_POLL_REGMEM_TAG_VALUE_UNION._anonymous_ = ('_0',)
|
838
|
+
union_SDMA_PKT_POLL_REGMEM_TAG_VALUE_UNION._fields_ = [
|
839
|
+
('_0', struct_SDMA_PKT_POLL_REGMEM_TAG_3_0),
|
840
|
+
('DW_3_DATA', ctypes.c_uint32),
|
841
|
+
]
|
842
|
+
|
843
|
+
class union_SDMA_PKT_POLL_REGMEM_TAG_MASK_UNION(Union):
|
844
|
+
pass
|
845
|
+
|
846
|
+
class struct_SDMA_PKT_POLL_REGMEM_TAG_4_0(Structure):
|
847
|
+
pass
|
848
|
+
|
849
|
+
struct_SDMA_PKT_POLL_REGMEM_TAG_4_0._pack_ = 1 # source:False
|
850
|
+
struct_SDMA_PKT_POLL_REGMEM_TAG_4_0._fields_ = [
|
851
|
+
('mask', ctypes.c_uint32, 32),
|
852
|
+
]
|
853
|
+
|
854
|
+
union_SDMA_PKT_POLL_REGMEM_TAG_MASK_UNION._pack_ = 1 # source:False
|
855
|
+
union_SDMA_PKT_POLL_REGMEM_TAG_MASK_UNION._anonymous_ = ('_0',)
|
856
|
+
union_SDMA_PKT_POLL_REGMEM_TAG_MASK_UNION._fields_ = [
|
857
|
+
('_0', struct_SDMA_PKT_POLL_REGMEM_TAG_4_0),
|
858
|
+
('DW_4_DATA', ctypes.c_uint32),
|
859
|
+
]
|
860
|
+
|
861
|
+
class union_SDMA_PKT_POLL_REGMEM_TAG_DW5_UNION(Union):
|
862
|
+
pass
|
863
|
+
|
864
|
+
class struct_SDMA_PKT_POLL_REGMEM_TAG_5_0(Structure):
|
865
|
+
pass
|
866
|
+
|
867
|
+
struct_SDMA_PKT_POLL_REGMEM_TAG_5_0._pack_ = 1 # source:False
|
868
|
+
struct_SDMA_PKT_POLL_REGMEM_TAG_5_0._fields_ = [
|
869
|
+
('interval', ctypes.c_uint32, 16),
|
870
|
+
('retry_count', ctypes.c_uint32, 12),
|
871
|
+
('reserved_0', ctypes.c_uint32, 4),
|
872
|
+
]
|
873
|
+
|
874
|
+
union_SDMA_PKT_POLL_REGMEM_TAG_DW5_UNION._pack_ = 1 # source:False
|
875
|
+
union_SDMA_PKT_POLL_REGMEM_TAG_DW5_UNION._anonymous_ = ('_0',)
|
876
|
+
union_SDMA_PKT_POLL_REGMEM_TAG_DW5_UNION._fields_ = [
|
877
|
+
('_0', struct_SDMA_PKT_POLL_REGMEM_TAG_5_0),
|
878
|
+
('DW_5_DATA', ctypes.c_uint32),
|
879
|
+
]
|
880
|
+
|
881
|
+
struct_SDMA_PKT_POLL_REGMEM_TAG._pack_ = 1 # source:False
|
882
|
+
struct_SDMA_PKT_POLL_REGMEM_TAG._fields_ = [
|
883
|
+
('HEADER_UNION', union_SDMA_PKT_POLL_REGMEM_TAG_HEADER_UNION),
|
884
|
+
('ADDR_LO_UNION', union_SDMA_PKT_POLL_REGMEM_TAG_ADDR_LO_UNION),
|
885
|
+
('ADDR_HI_UNION', union_SDMA_PKT_POLL_REGMEM_TAG_ADDR_HI_UNION),
|
886
|
+
('VALUE_UNION', union_SDMA_PKT_POLL_REGMEM_TAG_VALUE_UNION),
|
887
|
+
('MASK_UNION', union_SDMA_PKT_POLL_REGMEM_TAG_MASK_UNION),
|
888
|
+
('DW5_UNION', union_SDMA_PKT_POLL_REGMEM_TAG_DW5_UNION),
|
889
|
+
]
|
890
|
+
|
891
|
+
SDMA_PKT_POLL_REGMEM = struct_SDMA_PKT_POLL_REGMEM_TAG
|
892
|
+
class struct_SDMA_PKT_ATOMIC_TAG(Structure):
|
893
|
+
pass
|
894
|
+
|
895
|
+
class union_SDMA_PKT_ATOMIC_TAG_HEADER_UNION(Union):
|
896
|
+
pass
|
897
|
+
|
898
|
+
class struct_SDMA_PKT_ATOMIC_TAG_0_0(Structure):
|
899
|
+
pass
|
900
|
+
|
901
|
+
struct_SDMA_PKT_ATOMIC_TAG_0_0._pack_ = 1 # source:False
|
902
|
+
struct_SDMA_PKT_ATOMIC_TAG_0_0._fields_ = [
|
903
|
+
('op', ctypes.c_uint32, 8),
|
904
|
+
('sub_op', ctypes.c_uint32, 8),
|
905
|
+
('l', ctypes.c_uint32, 1),
|
906
|
+
('reserved_0', ctypes.c_uint32, 8),
|
907
|
+
('operation', ctypes.c_uint32, 7),
|
908
|
+
]
|
909
|
+
|
910
|
+
union_SDMA_PKT_ATOMIC_TAG_HEADER_UNION._pack_ = 1 # source:False
|
911
|
+
union_SDMA_PKT_ATOMIC_TAG_HEADER_UNION._anonymous_ = ('_0',)
|
912
|
+
union_SDMA_PKT_ATOMIC_TAG_HEADER_UNION._fields_ = [
|
913
|
+
('_0', struct_SDMA_PKT_ATOMIC_TAG_0_0),
|
914
|
+
('DW_0_DATA', ctypes.c_uint32),
|
915
|
+
]
|
916
|
+
|
917
|
+
class union_SDMA_PKT_ATOMIC_TAG_ADDR_LO_UNION(Union):
|
918
|
+
pass
|
919
|
+
|
920
|
+
class struct_SDMA_PKT_ATOMIC_TAG_1_0(Structure):
|
921
|
+
pass
|
922
|
+
|
923
|
+
struct_SDMA_PKT_ATOMIC_TAG_1_0._pack_ = 1 # source:False
|
924
|
+
struct_SDMA_PKT_ATOMIC_TAG_1_0._fields_ = [
|
925
|
+
('addr_31_0', ctypes.c_uint32, 32),
|
926
|
+
]
|
927
|
+
|
928
|
+
union_SDMA_PKT_ATOMIC_TAG_ADDR_LO_UNION._pack_ = 1 # source:False
|
929
|
+
union_SDMA_PKT_ATOMIC_TAG_ADDR_LO_UNION._anonymous_ = ('_0',)
|
930
|
+
union_SDMA_PKT_ATOMIC_TAG_ADDR_LO_UNION._fields_ = [
|
931
|
+
('_0', struct_SDMA_PKT_ATOMIC_TAG_1_0),
|
932
|
+
('DW_1_DATA', ctypes.c_uint32),
|
933
|
+
]
|
934
|
+
|
935
|
+
class union_SDMA_PKT_ATOMIC_TAG_ADDR_HI_UNION(Union):
|
936
|
+
pass
|
937
|
+
|
938
|
+
class struct_SDMA_PKT_ATOMIC_TAG_2_0(Structure):
|
939
|
+
pass
|
940
|
+
|
941
|
+
struct_SDMA_PKT_ATOMIC_TAG_2_0._pack_ = 1 # source:False
|
942
|
+
struct_SDMA_PKT_ATOMIC_TAG_2_0._fields_ = [
|
943
|
+
('addr_63_32', ctypes.c_uint32, 32),
|
944
|
+
]
|
945
|
+
|
946
|
+
union_SDMA_PKT_ATOMIC_TAG_ADDR_HI_UNION._pack_ = 1 # source:False
|
947
|
+
union_SDMA_PKT_ATOMIC_TAG_ADDR_HI_UNION._anonymous_ = ('_0',)
|
948
|
+
union_SDMA_PKT_ATOMIC_TAG_ADDR_HI_UNION._fields_ = [
|
949
|
+
('_0', struct_SDMA_PKT_ATOMIC_TAG_2_0),
|
950
|
+
('DW_2_DATA', ctypes.c_uint32),
|
951
|
+
]
|
952
|
+
|
953
|
+
class union_SDMA_PKT_ATOMIC_TAG_SRC_DATA_LO_UNION(Union):
|
954
|
+
pass
|
955
|
+
|
956
|
+
class struct_SDMA_PKT_ATOMIC_TAG_3_0(Structure):
|
957
|
+
pass
|
958
|
+
|
959
|
+
struct_SDMA_PKT_ATOMIC_TAG_3_0._pack_ = 1 # source:False
|
960
|
+
struct_SDMA_PKT_ATOMIC_TAG_3_0._fields_ = [
|
961
|
+
('src_data_31_0', ctypes.c_uint32, 32),
|
962
|
+
]
|
963
|
+
|
964
|
+
union_SDMA_PKT_ATOMIC_TAG_SRC_DATA_LO_UNION._pack_ = 1 # source:False
|
965
|
+
union_SDMA_PKT_ATOMIC_TAG_SRC_DATA_LO_UNION._anonymous_ = ('_0',)
|
966
|
+
union_SDMA_PKT_ATOMIC_TAG_SRC_DATA_LO_UNION._fields_ = [
|
967
|
+
('_0', struct_SDMA_PKT_ATOMIC_TAG_3_0),
|
968
|
+
('DW_3_DATA', ctypes.c_uint32),
|
969
|
+
]
|
970
|
+
|
971
|
+
class union_SDMA_PKT_ATOMIC_TAG_SRC_DATA_HI_UNION(Union):
|
972
|
+
pass
|
973
|
+
|
974
|
+
class struct_SDMA_PKT_ATOMIC_TAG_4_0(Structure):
|
975
|
+
pass
|
976
|
+
|
977
|
+
struct_SDMA_PKT_ATOMIC_TAG_4_0._pack_ = 1 # source:False
|
978
|
+
struct_SDMA_PKT_ATOMIC_TAG_4_0._fields_ = [
|
979
|
+
('src_data_63_32', ctypes.c_uint32, 32),
|
980
|
+
]
|
981
|
+
|
982
|
+
union_SDMA_PKT_ATOMIC_TAG_SRC_DATA_HI_UNION._pack_ = 1 # source:False
|
983
|
+
union_SDMA_PKT_ATOMIC_TAG_SRC_DATA_HI_UNION._anonymous_ = ('_0',)
|
984
|
+
union_SDMA_PKT_ATOMIC_TAG_SRC_DATA_HI_UNION._fields_ = [
|
985
|
+
('_0', struct_SDMA_PKT_ATOMIC_TAG_4_0),
|
986
|
+
('DW_4_DATA', ctypes.c_uint32),
|
987
|
+
]
|
988
|
+
|
989
|
+
class union_SDMA_PKT_ATOMIC_TAG_CMP_DATA_LO_UNION(Union):
|
990
|
+
pass
|
991
|
+
|
992
|
+
class struct_SDMA_PKT_ATOMIC_TAG_5_0(Structure):
|
993
|
+
pass
|
994
|
+
|
995
|
+
struct_SDMA_PKT_ATOMIC_TAG_5_0._pack_ = 1 # source:False
|
996
|
+
struct_SDMA_PKT_ATOMIC_TAG_5_0._fields_ = [
|
997
|
+
('cmp_data_31_0', ctypes.c_uint32, 32),
|
998
|
+
]
|
999
|
+
|
1000
|
+
union_SDMA_PKT_ATOMIC_TAG_CMP_DATA_LO_UNION._pack_ = 1 # source:False
|
1001
|
+
union_SDMA_PKT_ATOMIC_TAG_CMP_DATA_LO_UNION._anonymous_ = ('_0',)
|
1002
|
+
union_SDMA_PKT_ATOMIC_TAG_CMP_DATA_LO_UNION._fields_ = [
|
1003
|
+
('_0', struct_SDMA_PKT_ATOMIC_TAG_5_0),
|
1004
|
+
('DW_5_DATA', ctypes.c_uint32),
|
1005
|
+
]
|
1006
|
+
|
1007
|
+
class union_SDMA_PKT_ATOMIC_TAG_CMP_DATA_HI_UNION(Union):
|
1008
|
+
pass
|
1009
|
+
|
1010
|
+
class struct_SDMA_PKT_ATOMIC_TAG_6_0(Structure):
|
1011
|
+
pass
|
1012
|
+
|
1013
|
+
struct_SDMA_PKT_ATOMIC_TAG_6_0._pack_ = 1 # source:False
|
1014
|
+
struct_SDMA_PKT_ATOMIC_TAG_6_0._fields_ = [
|
1015
|
+
('cmp_data_63_32', ctypes.c_uint32, 32),
|
1016
|
+
]
|
1017
|
+
|
1018
|
+
union_SDMA_PKT_ATOMIC_TAG_CMP_DATA_HI_UNION._pack_ = 1 # source:False
|
1019
|
+
union_SDMA_PKT_ATOMIC_TAG_CMP_DATA_HI_UNION._anonymous_ = ('_0',)
|
1020
|
+
union_SDMA_PKT_ATOMIC_TAG_CMP_DATA_HI_UNION._fields_ = [
|
1021
|
+
('_0', struct_SDMA_PKT_ATOMIC_TAG_6_0),
|
1022
|
+
('DW_6_DATA', ctypes.c_uint32),
|
1023
|
+
]
|
1024
|
+
|
1025
|
+
class union_SDMA_PKT_ATOMIC_TAG_LOOP_UNION(Union):
|
1026
|
+
pass
|
1027
|
+
|
1028
|
+
class struct_SDMA_PKT_ATOMIC_TAG_7_0(Structure):
|
1029
|
+
pass
|
1030
|
+
|
1031
|
+
struct_SDMA_PKT_ATOMIC_TAG_7_0._pack_ = 1 # source:False
|
1032
|
+
struct_SDMA_PKT_ATOMIC_TAG_7_0._fields_ = [
|
1033
|
+
('loop_interval', ctypes.c_uint32, 13),
|
1034
|
+
('reserved_0', ctypes.c_uint32, 19),
|
1035
|
+
]
|
1036
|
+
|
1037
|
+
union_SDMA_PKT_ATOMIC_TAG_LOOP_UNION._pack_ = 1 # source:False
|
1038
|
+
union_SDMA_PKT_ATOMIC_TAG_LOOP_UNION._anonymous_ = ('_0',)
|
1039
|
+
union_SDMA_PKT_ATOMIC_TAG_LOOP_UNION._fields_ = [
|
1040
|
+
('_0', struct_SDMA_PKT_ATOMIC_TAG_7_0),
|
1041
|
+
('DW_7_DATA', ctypes.c_uint32),
|
1042
|
+
]
|
1043
|
+
|
1044
|
+
struct_SDMA_PKT_ATOMIC_TAG._pack_ = 1 # source:False
|
1045
|
+
struct_SDMA_PKT_ATOMIC_TAG._fields_ = [
|
1046
|
+
('HEADER_UNION', union_SDMA_PKT_ATOMIC_TAG_HEADER_UNION),
|
1047
|
+
('ADDR_LO_UNION', union_SDMA_PKT_ATOMIC_TAG_ADDR_LO_UNION),
|
1048
|
+
('ADDR_HI_UNION', union_SDMA_PKT_ATOMIC_TAG_ADDR_HI_UNION),
|
1049
|
+
('SRC_DATA_LO_UNION', union_SDMA_PKT_ATOMIC_TAG_SRC_DATA_LO_UNION),
|
1050
|
+
('SRC_DATA_HI_UNION', union_SDMA_PKT_ATOMIC_TAG_SRC_DATA_HI_UNION),
|
1051
|
+
('CMP_DATA_LO_UNION', union_SDMA_PKT_ATOMIC_TAG_CMP_DATA_LO_UNION),
|
1052
|
+
('CMP_DATA_HI_UNION', union_SDMA_PKT_ATOMIC_TAG_CMP_DATA_HI_UNION),
|
1053
|
+
('LOOP_UNION', union_SDMA_PKT_ATOMIC_TAG_LOOP_UNION),
|
1054
|
+
]
|
1055
|
+
|
1056
|
+
SDMA_PKT_ATOMIC = struct_SDMA_PKT_ATOMIC_TAG
|
1057
|
+
class struct_SDMA_PKT_TIMESTAMP_TAG(Structure):
|
1058
|
+
pass
|
1059
|
+
|
1060
|
+
class union_SDMA_PKT_TIMESTAMP_TAG_HEADER_UNION(Union):
|
1061
|
+
pass
|
1062
|
+
|
1063
|
+
class struct_SDMA_PKT_TIMESTAMP_TAG_0_0(Structure):
|
1064
|
+
pass
|
1065
|
+
|
1066
|
+
struct_SDMA_PKT_TIMESTAMP_TAG_0_0._pack_ = 1 # source:False
|
1067
|
+
struct_SDMA_PKT_TIMESTAMP_TAG_0_0._fields_ = [
|
1068
|
+
('op', ctypes.c_uint32, 8),
|
1069
|
+
('sub_op', ctypes.c_uint32, 8),
|
1070
|
+
('reserved_0', ctypes.c_uint32, 16),
|
1071
|
+
]
|
1072
|
+
|
1073
|
+
union_SDMA_PKT_TIMESTAMP_TAG_HEADER_UNION._pack_ = 1 # source:False
|
1074
|
+
union_SDMA_PKT_TIMESTAMP_TAG_HEADER_UNION._anonymous_ = ('_0',)
|
1075
|
+
union_SDMA_PKT_TIMESTAMP_TAG_HEADER_UNION._fields_ = [
|
1076
|
+
('_0', struct_SDMA_PKT_TIMESTAMP_TAG_0_0),
|
1077
|
+
('DW_0_DATA', ctypes.c_uint32),
|
1078
|
+
]
|
1079
|
+
|
1080
|
+
class union_SDMA_PKT_TIMESTAMP_TAG_ADDR_LO_UNION(Union):
|
1081
|
+
pass
|
1082
|
+
|
1083
|
+
class struct_SDMA_PKT_TIMESTAMP_TAG_1_0(Structure):
|
1084
|
+
pass
|
1085
|
+
|
1086
|
+
struct_SDMA_PKT_TIMESTAMP_TAG_1_0._pack_ = 1 # source:False
|
1087
|
+
struct_SDMA_PKT_TIMESTAMP_TAG_1_0._fields_ = [
|
1088
|
+
('addr_31_0', ctypes.c_uint32, 32),
|
1089
|
+
]
|
1090
|
+
|
1091
|
+
union_SDMA_PKT_TIMESTAMP_TAG_ADDR_LO_UNION._pack_ = 1 # source:False
|
1092
|
+
union_SDMA_PKT_TIMESTAMP_TAG_ADDR_LO_UNION._anonymous_ = ('_0',)
|
1093
|
+
union_SDMA_PKT_TIMESTAMP_TAG_ADDR_LO_UNION._fields_ = [
|
1094
|
+
('_0', struct_SDMA_PKT_TIMESTAMP_TAG_1_0),
|
1095
|
+
('DW_1_DATA', ctypes.c_uint32),
|
1096
|
+
]
|
1097
|
+
|
1098
|
+
class union_SDMA_PKT_TIMESTAMP_TAG_ADDR_HI_UNION(Union):
|
1099
|
+
pass
|
1100
|
+
|
1101
|
+
class struct_SDMA_PKT_TIMESTAMP_TAG_2_0(Structure):
|
1102
|
+
pass
|
1103
|
+
|
1104
|
+
struct_SDMA_PKT_TIMESTAMP_TAG_2_0._pack_ = 1 # source:False
|
1105
|
+
struct_SDMA_PKT_TIMESTAMP_TAG_2_0._fields_ = [
|
1106
|
+
('addr_63_32', ctypes.c_uint32, 32),
|
1107
|
+
]
|
1108
|
+
|
1109
|
+
union_SDMA_PKT_TIMESTAMP_TAG_ADDR_HI_UNION._pack_ = 1 # source:False
|
1110
|
+
union_SDMA_PKT_TIMESTAMP_TAG_ADDR_HI_UNION._anonymous_ = ('_0',)
|
1111
|
+
union_SDMA_PKT_TIMESTAMP_TAG_ADDR_HI_UNION._fields_ = [
|
1112
|
+
('_0', struct_SDMA_PKT_TIMESTAMP_TAG_2_0),
|
1113
|
+
('DW_2_DATA', ctypes.c_uint32),
|
1114
|
+
]
|
1115
|
+
|
1116
|
+
struct_SDMA_PKT_TIMESTAMP_TAG._pack_ = 1 # source:False
|
1117
|
+
struct_SDMA_PKT_TIMESTAMP_TAG._fields_ = [
|
1118
|
+
('HEADER_UNION', union_SDMA_PKT_TIMESTAMP_TAG_HEADER_UNION),
|
1119
|
+
('ADDR_LO_UNION', union_SDMA_PKT_TIMESTAMP_TAG_ADDR_LO_UNION),
|
1120
|
+
('ADDR_HI_UNION', union_SDMA_PKT_TIMESTAMP_TAG_ADDR_HI_UNION),
|
1121
|
+
]
|
1122
|
+
|
1123
|
+
SDMA_PKT_TIMESTAMP = struct_SDMA_PKT_TIMESTAMP_TAG
|
1124
|
+
class struct_SDMA_PKT_TRAP_TAG(Structure):
|
1125
|
+
pass
|
1126
|
+
|
1127
|
+
class union_SDMA_PKT_TRAP_TAG_HEADER_UNION(Union):
|
1128
|
+
pass
|
1129
|
+
|
1130
|
+
class struct_SDMA_PKT_TRAP_TAG_0_0(Structure):
|
1131
|
+
pass
|
1132
|
+
|
1133
|
+
struct_SDMA_PKT_TRAP_TAG_0_0._pack_ = 1 # source:False
|
1134
|
+
struct_SDMA_PKT_TRAP_TAG_0_0._fields_ = [
|
1135
|
+
('op', ctypes.c_uint32, 8),
|
1136
|
+
('sub_op', ctypes.c_uint32, 8),
|
1137
|
+
('reserved_0', ctypes.c_uint32, 16),
|
1138
|
+
]
|
1139
|
+
|
1140
|
+
union_SDMA_PKT_TRAP_TAG_HEADER_UNION._pack_ = 1 # source:False
|
1141
|
+
union_SDMA_PKT_TRAP_TAG_HEADER_UNION._anonymous_ = ('_0',)
|
1142
|
+
union_SDMA_PKT_TRAP_TAG_HEADER_UNION._fields_ = [
|
1143
|
+
('_0', struct_SDMA_PKT_TRAP_TAG_0_0),
|
1144
|
+
('DW_0_DATA', ctypes.c_uint32),
|
1145
|
+
]
|
1146
|
+
|
1147
|
+
class union_SDMA_PKT_TRAP_TAG_INT_CONTEXT_UNION(Union):
|
1148
|
+
pass
|
1149
|
+
|
1150
|
+
class struct_SDMA_PKT_TRAP_TAG_1_0(Structure):
|
1151
|
+
pass
|
1152
|
+
|
1153
|
+
struct_SDMA_PKT_TRAP_TAG_1_0._pack_ = 1 # source:False
|
1154
|
+
struct_SDMA_PKT_TRAP_TAG_1_0._fields_ = [
|
1155
|
+
('int_ctx', ctypes.c_uint32, 28),
|
1156
|
+
('reserved_1', ctypes.c_uint32, 4),
|
1157
|
+
]
|
1158
|
+
|
1159
|
+
union_SDMA_PKT_TRAP_TAG_INT_CONTEXT_UNION._pack_ = 1 # source:False
|
1160
|
+
union_SDMA_PKT_TRAP_TAG_INT_CONTEXT_UNION._anonymous_ = ('_0',)
|
1161
|
+
union_SDMA_PKT_TRAP_TAG_INT_CONTEXT_UNION._fields_ = [
|
1162
|
+
('_0', struct_SDMA_PKT_TRAP_TAG_1_0),
|
1163
|
+
('DW_1_DATA', ctypes.c_uint32),
|
1164
|
+
]
|
1165
|
+
|
1166
|
+
struct_SDMA_PKT_TRAP_TAG._pack_ = 1 # source:False
|
1167
|
+
struct_SDMA_PKT_TRAP_TAG._fields_ = [
|
1168
|
+
('HEADER_UNION', union_SDMA_PKT_TRAP_TAG_HEADER_UNION),
|
1169
|
+
('INT_CONTEXT_UNION', union_SDMA_PKT_TRAP_TAG_INT_CONTEXT_UNION),
|
1170
|
+
]
|
1171
|
+
|
1172
|
+
SDMA_PKT_TRAP = struct_SDMA_PKT_TRAP_TAG
|
1173
|
+
class struct_SDMA_PKT_HDP_FLUSH_TAG(Structure):
|
1174
|
+
pass
|
1175
|
+
|
1176
|
+
struct_SDMA_PKT_HDP_FLUSH_TAG._pack_ = 1 # source:False
|
1177
|
+
struct_SDMA_PKT_HDP_FLUSH_TAG._fields_ = [
|
1178
|
+
('DW_0_DATA', ctypes.c_uint32),
|
1179
|
+
('DW_1_DATA', ctypes.c_uint32),
|
1180
|
+
('DW_2_DATA', ctypes.c_uint32),
|
1181
|
+
('DW_3_DATA', ctypes.c_uint32),
|
1182
|
+
('DW_4_DATA', ctypes.c_uint32),
|
1183
|
+
('DW_5_DATA', ctypes.c_uint32),
|
1184
|
+
]
|
1185
|
+
|
1186
|
+
SDMA_PKT_HDP_FLUSH = struct_SDMA_PKT_HDP_FLUSH_TAG
|
1187
|
+
hdp_flush_cmd = struct_SDMA_PKT_HDP_FLUSH_TAG # Variable struct_SDMA_PKT_HDP_FLUSH_TAG
|
1188
|
+
class struct_SDMA_PKT_GCR_TAG(Structure):
|
1189
|
+
pass
|
1190
|
+
|
1191
|
+
class union_SDMA_PKT_GCR_TAG_HEADER_UNION(Union):
|
1192
|
+
pass
|
1193
|
+
|
1194
|
+
class struct_SDMA_PKT_GCR_TAG_0_0(Structure):
|
1195
|
+
pass
|
1196
|
+
|
1197
|
+
struct_SDMA_PKT_GCR_TAG_0_0._pack_ = 1 # source:False
|
1198
|
+
struct_SDMA_PKT_GCR_TAG_0_0._fields_ = [
|
1199
|
+
('op', ctypes.c_uint32, 8),
|
1200
|
+
('sub_op', ctypes.c_uint32, 8),
|
1201
|
+
('_2', ctypes.c_uint32, 16),
|
1202
|
+
]
|
1203
|
+
|
1204
|
+
union_SDMA_PKT_GCR_TAG_HEADER_UNION._pack_ = 1 # source:False
|
1205
|
+
union_SDMA_PKT_GCR_TAG_HEADER_UNION._anonymous_ = ('_0',)
|
1206
|
+
union_SDMA_PKT_GCR_TAG_HEADER_UNION._fields_ = [
|
1207
|
+
('_0', struct_SDMA_PKT_GCR_TAG_0_0),
|
1208
|
+
('DW_0_DATA', ctypes.c_uint32),
|
1209
|
+
]
|
1210
|
+
|
1211
|
+
class union_SDMA_PKT_GCR_TAG_WORD1_UNION(Union):
|
1212
|
+
pass
|
1213
|
+
|
1214
|
+
class struct_SDMA_PKT_GCR_TAG_1_0(Structure):
|
1215
|
+
pass
|
1216
|
+
|
1217
|
+
struct_SDMA_PKT_GCR_TAG_1_0._pack_ = 1 # source:False
|
1218
|
+
struct_SDMA_PKT_GCR_TAG_1_0._fields_ = [
|
1219
|
+
('_0', ctypes.c_uint32, 7),
|
1220
|
+
('BaseVA_LO', ctypes.c_uint32, 25),
|
1221
|
+
]
|
1222
|
+
|
1223
|
+
union_SDMA_PKT_GCR_TAG_WORD1_UNION._pack_ = 1 # source:False
|
1224
|
+
union_SDMA_PKT_GCR_TAG_WORD1_UNION._anonymous_ = ('_0',)
|
1225
|
+
union_SDMA_PKT_GCR_TAG_WORD1_UNION._fields_ = [
|
1226
|
+
('_0', struct_SDMA_PKT_GCR_TAG_1_0),
|
1227
|
+
('DW_1_DATA', ctypes.c_uint32),
|
1228
|
+
]
|
1229
|
+
|
1230
|
+
class union_SDMA_PKT_GCR_TAG_WORD2_UNION(Union):
|
1231
|
+
pass
|
1232
|
+
|
1233
|
+
class struct_SDMA_PKT_GCR_TAG_2_0(Structure):
|
1234
|
+
pass
|
1235
|
+
|
1236
|
+
struct_SDMA_PKT_GCR_TAG_2_0._pack_ = 1 # source:False
|
1237
|
+
struct_SDMA_PKT_GCR_TAG_2_0._fields_ = [
|
1238
|
+
('BaseVA_HI', ctypes.c_uint32, 16),
|
1239
|
+
('GCR_CONTROL_GLI_INV', ctypes.c_uint32, 2),
|
1240
|
+
('GCR_CONTROL_GL1_RANGE', ctypes.c_uint32, 2),
|
1241
|
+
('GCR_CONTROL_GLM_WB', ctypes.c_uint32, 1),
|
1242
|
+
('GCR_CONTROL_GLM_INV', ctypes.c_uint32, 1),
|
1243
|
+
('GCR_CONTROL_GLK_WB', ctypes.c_uint32, 1),
|
1244
|
+
('GCR_CONTROL_GLK_INV', ctypes.c_uint32, 1),
|
1245
|
+
('GCR_CONTROL_GLV_INV', ctypes.c_uint32, 1),
|
1246
|
+
('GCR_CONTROL_GL1_INV', ctypes.c_uint32, 1),
|
1247
|
+
('GCR_CONTROL_GL2_US', ctypes.c_uint32, 1),
|
1248
|
+
('GCR_CONTROL_GL2_RANGE', ctypes.c_uint32, 2),
|
1249
|
+
('GCR_CONTROL_GL2_DISCARD', ctypes.c_uint32, 1),
|
1250
|
+
('GCR_CONTROL_GL2_INV', ctypes.c_uint32, 1),
|
1251
|
+
('GCR_CONTROL_GL2_WB', ctypes.c_uint32, 1),
|
1252
|
+
]
|
1253
|
+
|
1254
|
+
union_SDMA_PKT_GCR_TAG_WORD2_UNION._pack_ = 1 # source:False
|
1255
|
+
union_SDMA_PKT_GCR_TAG_WORD2_UNION._anonymous_ = ('_0',)
|
1256
|
+
union_SDMA_PKT_GCR_TAG_WORD2_UNION._fields_ = [
|
1257
|
+
('_0', struct_SDMA_PKT_GCR_TAG_2_0),
|
1258
|
+
('DW_2_DATA', ctypes.c_uint32),
|
1259
|
+
]
|
1260
|
+
|
1261
|
+
class union_SDMA_PKT_GCR_TAG_WORD3_UNION(Union):
|
1262
|
+
pass
|
1263
|
+
|
1264
|
+
class struct_SDMA_PKT_GCR_TAG_3_0(Structure):
|
1265
|
+
pass
|
1266
|
+
|
1267
|
+
struct_SDMA_PKT_GCR_TAG_3_0._pack_ = 1 # source:False
|
1268
|
+
struct_SDMA_PKT_GCR_TAG_3_0._fields_ = [
|
1269
|
+
('GCR_CONTROL_RANGE_IS_PA', ctypes.c_uint32, 1),
|
1270
|
+
('GCR_CONTROL_SEQ', ctypes.c_uint32, 2),
|
1271
|
+
('_2', ctypes.c_uint32, 4),
|
1272
|
+
('LimitVA_LO', ctypes.c_uint32, 25),
|
1273
|
+
]
|
1274
|
+
|
1275
|
+
union_SDMA_PKT_GCR_TAG_WORD3_UNION._pack_ = 1 # source:False
|
1276
|
+
union_SDMA_PKT_GCR_TAG_WORD3_UNION._anonymous_ = ('_0',)
|
1277
|
+
union_SDMA_PKT_GCR_TAG_WORD3_UNION._fields_ = [
|
1278
|
+
('_0', struct_SDMA_PKT_GCR_TAG_3_0),
|
1279
|
+
('DW_3_DATA', ctypes.c_uint32),
|
1280
|
+
]
|
1281
|
+
|
1282
|
+
class union_SDMA_PKT_GCR_TAG_WORD4_UNION(Union):
|
1283
|
+
pass
|
1284
|
+
|
1285
|
+
class struct_SDMA_PKT_GCR_TAG_4_0(Structure):
|
1286
|
+
pass
|
1287
|
+
|
1288
|
+
struct_SDMA_PKT_GCR_TAG_4_0._pack_ = 1 # source:False
|
1289
|
+
struct_SDMA_PKT_GCR_TAG_4_0._fields_ = [
|
1290
|
+
('LimitVA_HI', ctypes.c_uint32, 16),
|
1291
|
+
('_1', ctypes.c_uint32, 8),
|
1292
|
+
('VMID', ctypes.c_uint32, 4),
|
1293
|
+
('_3', ctypes.c_uint32, 4),
|
1294
|
+
]
|
1295
|
+
|
1296
|
+
union_SDMA_PKT_GCR_TAG_WORD4_UNION._pack_ = 1 # source:False
|
1297
|
+
union_SDMA_PKT_GCR_TAG_WORD4_UNION._anonymous_ = ('_0',)
|
1298
|
+
union_SDMA_PKT_GCR_TAG_WORD4_UNION._fields_ = [
|
1299
|
+
('_0', struct_SDMA_PKT_GCR_TAG_4_0),
|
1300
|
+
('DW_4_DATA', ctypes.c_uint32),
|
1301
|
+
]
|
1302
|
+
|
1303
|
+
struct_SDMA_PKT_GCR_TAG._pack_ = 1 # source:False
|
1304
|
+
struct_SDMA_PKT_GCR_TAG._fields_ = [
|
1305
|
+
('HEADER_UNION', union_SDMA_PKT_GCR_TAG_HEADER_UNION),
|
1306
|
+
('WORD1_UNION', union_SDMA_PKT_GCR_TAG_WORD1_UNION),
|
1307
|
+
('WORD2_UNION', union_SDMA_PKT_GCR_TAG_WORD2_UNION),
|
1308
|
+
('WORD3_UNION', union_SDMA_PKT_GCR_TAG_WORD3_UNION),
|
1309
|
+
('WORD4_UNION', union_SDMA_PKT_GCR_TAG_WORD4_UNION),
|
1310
|
+
]
|
1311
|
+
|
1312
|
+
SDMA_PKT_GCR = struct_SDMA_PKT_GCR_TAG
|
1313
|
+
__all__ = \
|
1314
|
+
['SDMA_ATOMIC_ADD64', 'SDMA_OP_ATOMIC', 'SDMA_OP_CONST_FILL',
|
1315
|
+
'SDMA_OP_COPY', 'SDMA_OP_FENCE', 'SDMA_OP_GCR',
|
1316
|
+
'SDMA_OP_POLL_REGMEM', 'SDMA_OP_TIMESTAMP', 'SDMA_OP_TRAP',
|
1317
|
+
'SDMA_PKT_ATOMIC', 'SDMA_PKT_CONSTANT_FILL',
|
1318
|
+
'SDMA_PKT_COPY_LINEAR', 'SDMA_PKT_COPY_LINEAR_RECT',
|
1319
|
+
'SDMA_PKT_FENCE', 'SDMA_PKT_GCR', 'SDMA_PKT_HDP_FLUSH',
|
1320
|
+
'SDMA_PKT_POLL_REGMEM', 'SDMA_PKT_TIMESTAMP', 'SDMA_PKT_TRAP',
|
1321
|
+
'SDMA_SUBOP_COPY_LINEAR', 'SDMA_SUBOP_COPY_LINEAR_RECT',
|
1322
|
+
'SDMA_SUBOP_TIMESTAMP_GET_GLOBAL', 'SDMA_SUBOP_USER_GCR',
|
1323
|
+
'hdp_flush_cmd', 'struct_SDMA_PKT_ATOMIC_TAG',
|
1324
|
+
'struct_SDMA_PKT_ATOMIC_TAG_0_0',
|
1325
|
+
'struct_SDMA_PKT_ATOMIC_TAG_1_0',
|
1326
|
+
'struct_SDMA_PKT_ATOMIC_TAG_2_0',
|
1327
|
+
'struct_SDMA_PKT_ATOMIC_TAG_3_0',
|
1328
|
+
'struct_SDMA_PKT_ATOMIC_TAG_4_0',
|
1329
|
+
'struct_SDMA_PKT_ATOMIC_TAG_5_0',
|
1330
|
+
'struct_SDMA_PKT_ATOMIC_TAG_6_0',
|
1331
|
+
'struct_SDMA_PKT_ATOMIC_TAG_7_0',
|
1332
|
+
'struct_SDMA_PKT_CONSTANT_FILL_TAG',
|
1333
|
+
'struct_SDMA_PKT_CONSTANT_FILL_TAG_0_0',
|
1334
|
+
'struct_SDMA_PKT_CONSTANT_FILL_TAG_1_0',
|
1335
|
+
'struct_SDMA_PKT_CONSTANT_FILL_TAG_2_0',
|
1336
|
+
'struct_SDMA_PKT_CONSTANT_FILL_TAG_3_0',
|
1337
|
+
'struct_SDMA_PKT_CONSTANT_FILL_TAG_4_0',
|
1338
|
+
'struct_SDMA_PKT_COPY_LINEAR_RECT_TAG',
|
1339
|
+
'struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_0_0',
|
1340
|
+
'struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_10_0',
|
1341
|
+
'struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_11_0',
|
1342
|
+
'struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_12_0',
|
1343
|
+
'struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_1_0',
|
1344
|
+
'struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_2_0',
|
1345
|
+
'struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_3_0',
|
1346
|
+
'struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_4_0',
|
1347
|
+
'struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_5_0',
|
1348
|
+
'struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_6_0',
|
1349
|
+
'struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_7_0',
|
1350
|
+
'struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_8_0',
|
1351
|
+
'struct_SDMA_PKT_COPY_LINEAR_RECT_TAG_9_0',
|
1352
|
+
'struct_SDMA_PKT_COPY_LINEAR_TAG',
|
1353
|
+
'struct_SDMA_PKT_COPY_LINEAR_TAG_0_0',
|
1354
|
+
'struct_SDMA_PKT_COPY_LINEAR_TAG_1_0',
|
1355
|
+
'struct_SDMA_PKT_COPY_LINEAR_TAG_2_0',
|
1356
|
+
'struct_SDMA_PKT_COPY_LINEAR_TAG_3_0',
|
1357
|
+
'struct_SDMA_PKT_COPY_LINEAR_TAG_4_0',
|
1358
|
+
'struct_SDMA_PKT_COPY_LINEAR_TAG_5_0',
|
1359
|
+
'struct_SDMA_PKT_COPY_LINEAR_TAG_6_0',
|
1360
|
+
'struct_SDMA_PKT_FENCE_TAG', 'struct_SDMA_PKT_FENCE_TAG_0_0',
|
1361
|
+
'struct_SDMA_PKT_FENCE_TAG_1_0', 'struct_SDMA_PKT_FENCE_TAG_2_0',
|
1362
|
+
'struct_SDMA_PKT_FENCE_TAG_3_0', 'struct_SDMA_PKT_GCR_TAG',
|
1363
|
+
'struct_SDMA_PKT_GCR_TAG_0_0', 'struct_SDMA_PKT_GCR_TAG_1_0',
|
1364
|
+
'struct_SDMA_PKT_GCR_TAG_2_0', 'struct_SDMA_PKT_GCR_TAG_3_0',
|
1365
|
+
'struct_SDMA_PKT_GCR_TAG_4_0', 'struct_SDMA_PKT_HDP_FLUSH_TAG',
|
1366
|
+
'struct_SDMA_PKT_POLL_REGMEM_TAG',
|
1367
|
+
'struct_SDMA_PKT_POLL_REGMEM_TAG_0_0',
|
1368
|
+
'struct_SDMA_PKT_POLL_REGMEM_TAG_1_0',
|
1369
|
+
'struct_SDMA_PKT_POLL_REGMEM_TAG_2_0',
|
1370
|
+
'struct_SDMA_PKT_POLL_REGMEM_TAG_3_0',
|
1371
|
+
'struct_SDMA_PKT_POLL_REGMEM_TAG_4_0',
|
1372
|
+
'struct_SDMA_PKT_POLL_REGMEM_TAG_5_0',
|
1373
|
+
'struct_SDMA_PKT_TIMESTAMP_TAG',
|
1374
|
+
'struct_SDMA_PKT_TIMESTAMP_TAG_0_0',
|
1375
|
+
'struct_SDMA_PKT_TIMESTAMP_TAG_1_0',
|
1376
|
+
'struct_SDMA_PKT_TIMESTAMP_TAG_2_0', 'struct_SDMA_PKT_TRAP_TAG',
|
1377
|
+
'struct_SDMA_PKT_TRAP_TAG_0_0', 'struct_SDMA_PKT_TRAP_TAG_1_0',
|
1378
|
+
'union_SDMA_PKT_ATOMIC_TAG_ADDR_HI_UNION',
|
1379
|
+
'union_SDMA_PKT_ATOMIC_TAG_ADDR_LO_UNION',
|
1380
|
+
'union_SDMA_PKT_ATOMIC_TAG_CMP_DATA_HI_UNION',
|
1381
|
+
'union_SDMA_PKT_ATOMIC_TAG_CMP_DATA_LO_UNION',
|
1382
|
+
'union_SDMA_PKT_ATOMIC_TAG_HEADER_UNION',
|
1383
|
+
'union_SDMA_PKT_ATOMIC_TAG_LOOP_UNION',
|
1384
|
+
'union_SDMA_PKT_ATOMIC_TAG_SRC_DATA_HI_UNION',
|
1385
|
+
'union_SDMA_PKT_ATOMIC_TAG_SRC_DATA_LO_UNION',
|
1386
|
+
'union_SDMA_PKT_CONSTANT_FILL_TAG_COUNT_UNION',
|
1387
|
+
'union_SDMA_PKT_CONSTANT_FILL_TAG_DATA_UNION',
|
1388
|
+
'union_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_HI_UNION',
|
1389
|
+
'union_SDMA_PKT_CONSTANT_FILL_TAG_DST_ADDR_LO_UNION',
|
1390
|
+
'union_SDMA_PKT_CONSTANT_FILL_TAG_HEADER_UNION',
|
1391
|
+
'union_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_HI_UNION',
|
1392
|
+
'union_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_ADDR_LO_UNION',
|
1393
|
+
'union_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_1_UNION',
|
1394
|
+
'union_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_2_UNION',
|
1395
|
+
'union_SDMA_PKT_COPY_LINEAR_RECT_TAG_DST_PARAMETER_3_UNION',
|
1396
|
+
'union_SDMA_PKT_COPY_LINEAR_RECT_TAG_HEADER_UNION',
|
1397
|
+
'union_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_1_UNION',
|
1398
|
+
'union_SDMA_PKT_COPY_LINEAR_RECT_TAG_RECT_PARAMETER_2_UNION',
|
1399
|
+
'union_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_HI_UNION',
|
1400
|
+
'union_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_ADDR_LO_UNION',
|
1401
|
+
'union_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_1_UNION',
|
1402
|
+
'union_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_2_UNION',
|
1403
|
+
'union_SDMA_PKT_COPY_LINEAR_RECT_TAG_SRC_PARAMETER_3_UNION',
|
1404
|
+
'union_SDMA_PKT_COPY_LINEAR_TAG_COUNT_UNION',
|
1405
|
+
'union_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_HI_UNION',
|
1406
|
+
'union_SDMA_PKT_COPY_LINEAR_TAG_DST_ADDR_LO_UNION',
|
1407
|
+
'union_SDMA_PKT_COPY_LINEAR_TAG_HEADER_UNION',
|
1408
|
+
'union_SDMA_PKT_COPY_LINEAR_TAG_PARAMETER_UNION',
|
1409
|
+
'union_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_HI_UNION',
|
1410
|
+
'union_SDMA_PKT_COPY_LINEAR_TAG_SRC_ADDR_LO_UNION',
|
1411
|
+
'union_SDMA_PKT_FENCE_TAG_ADDR_HI_UNION',
|
1412
|
+
'union_SDMA_PKT_FENCE_TAG_ADDR_LO_UNION',
|
1413
|
+
'union_SDMA_PKT_FENCE_TAG_DATA_UNION',
|
1414
|
+
'union_SDMA_PKT_FENCE_TAG_HEADER_UNION',
|
1415
|
+
'union_SDMA_PKT_GCR_TAG_HEADER_UNION',
|
1416
|
+
'union_SDMA_PKT_GCR_TAG_WORD1_UNION',
|
1417
|
+
'union_SDMA_PKT_GCR_TAG_WORD2_UNION',
|
1418
|
+
'union_SDMA_PKT_GCR_TAG_WORD3_UNION',
|
1419
|
+
'union_SDMA_PKT_GCR_TAG_WORD4_UNION',
|
1420
|
+
'union_SDMA_PKT_POLL_REGMEM_TAG_ADDR_HI_UNION',
|
1421
|
+
'union_SDMA_PKT_POLL_REGMEM_TAG_ADDR_LO_UNION',
|
1422
|
+
'union_SDMA_PKT_POLL_REGMEM_TAG_DW5_UNION',
|
1423
|
+
'union_SDMA_PKT_POLL_REGMEM_TAG_HEADER_UNION',
|
1424
|
+
'union_SDMA_PKT_POLL_REGMEM_TAG_MASK_UNION',
|
1425
|
+
'union_SDMA_PKT_POLL_REGMEM_TAG_VALUE_UNION',
|
1426
|
+
'union_SDMA_PKT_TIMESTAMP_TAG_ADDR_HI_UNION',
|
1427
|
+
'union_SDMA_PKT_TIMESTAMP_TAG_ADDR_LO_UNION',
|
1428
|
+
'union_SDMA_PKT_TIMESTAMP_TAG_HEADER_UNION',
|
1429
|
+
'union_SDMA_PKT_TRAP_TAG_HEADER_UNION',
|
1430
|
+
'union_SDMA_PKT_TRAP_TAG_INT_CONTEXT_UNION']
|
1431
|
+
#/*
|
1432
|
+
# * Copyright 2019 Advanced Micro Devices, Inc.
|
1433
|
+
# *
|
1434
|
+
# * Permission is hereby granted, free of charge, to any person obtaining a
|
1435
|
+
# * copy of this software and associated documentation files (the "Software"),
|
1436
|
+
# * to deal in the Software without restriction, including without limitation
|
1437
|
+
# * the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
1438
|
+
# * and/or sell copies of the Software, and to permit persons to whom the
|
1439
|
+
# * Software is furnished to do so, subject to the following conditions:
|
1440
|
+
# *
|
1441
|
+
# * The above copyright notice and this permission notice shall be included in
|
1442
|
+
# * all copies or substantial portions of the Software.
|
1443
|
+
# *
|
1444
|
+
# * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
1445
|
+
# * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
1446
|
+
# * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
1447
|
+
# * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
1448
|
+
# * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
1449
|
+
# * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
1450
|
+
# * OTHER DEALINGS IN THE SOFTWARE.
|
1451
|
+
# *
|
1452
|
+
# */
|
1453
|
+
|
1454
|
+
#ifndef NVD_H
|
1455
|
+
#define NVD_H
|
1456
|
+
|
1457
|
+
#/**
|
1458
|
+
# * Navi's PM4 definitions
|
1459
|
+
# */
|
1460
|
+
PACKET_TYPE0 = 0
|
1461
|
+
PACKET_TYPE1 = 1
|
1462
|
+
PACKET_TYPE2 = 2
|
1463
|
+
PACKET_TYPE3 = 3
|
1464
|
+
|
1465
|
+
def CP_PACKET_GET_TYPE(h): return (((h) >> 30) & 3)
|
1466
|
+
def CP_PACKET_GET_COUNT(h): return (((h) >> 16) & 0x3FFF)
|
1467
|
+
def CP_PACKET0_GET_REG(h): return ((h) & 0xFFFF)
|
1468
|
+
def CP_PACKET3_GET_OPCODE(h): return (((h) >> 8) & 0xFF)
|
1469
|
+
def PACKET0(reg, n): return ((PACKET_TYPE0 << 30) | \
|
1470
|
+
((reg) & 0xFFFF) | \
|
1471
|
+
((n) & 0x3FFF) << 16)
|
1472
|
+
CP_PACKET2 = 0x80000000
|
1473
|
+
PACKET2_PAD_SHIFT = 0
|
1474
|
+
PACKET2_PAD_MASK = (0x3fffffff << 0)
|
1475
|
+
|
1476
|
+
def PACKET2(v): return (CP_PACKET2 | REG_SET(PACKET2_PAD, (v)))
|
1477
|
+
|
1478
|
+
def PACKET3(op, n): return ((PACKET_TYPE3 << 30) | \
|
1479
|
+
(((op) & 0xFF) << 8) | \
|
1480
|
+
((n) & 0x3FFF) << 16)
|
1481
|
+
|
1482
|
+
def PACKET3_COMPUTE(op, n): return (PACKET3(op, n) | 1 << 1)
|
1483
|
+
|
1484
|
+
#/* Packet 3 types */
|
1485
|
+
PACKET3_NOP = 0x10
|
1486
|
+
PACKET3_SET_BASE = 0x11
|
1487
|
+
def PACKET3_BASE_INDEX(x): return ((x) << 0)
|
1488
|
+
CE_PARTITION_BASE = 3
|
1489
|
+
PACKET3_CLEAR_STATE = 0x12
|
1490
|
+
PACKET3_INDEX_BUFFER_SIZE = 0x13
|
1491
|
+
PACKET3_DISPATCH_DIRECT = 0x15
|
1492
|
+
PACKET3_DISPATCH_INDIRECT = 0x16
|
1493
|
+
PACKET3_INDIRECT_BUFFER_END = 0x17
|
1494
|
+
PACKET3_INDIRECT_BUFFER_CNST_END = 0x19
|
1495
|
+
PACKET3_ATOMIC_GDS = 0x1D
|
1496
|
+
PACKET3_ATOMIC_MEM = 0x1E
|
1497
|
+
PACKET3_OCCLUSION_QUERY = 0x1F
|
1498
|
+
PACKET3_SET_PREDICATION = 0x20
|
1499
|
+
PACKET3_REG_RMW = 0x21
|
1500
|
+
PACKET3_COND_EXEC = 0x22
|
1501
|
+
PACKET3_PRED_EXEC = 0x23
|
1502
|
+
PACKET3_DRAW_INDIRECT = 0x24
|
1503
|
+
PACKET3_DRAW_INDEX_INDIRECT = 0x25
|
1504
|
+
PACKET3_INDEX_BASE = 0x26
|
1505
|
+
PACKET3_DRAW_INDEX_2 = 0x27
|
1506
|
+
PACKET3_CONTEXT_CONTROL = 0x28
|
1507
|
+
PACKET3_INDEX_TYPE = 0x2A
|
1508
|
+
PACKET3_DRAW_INDIRECT_MULTI = 0x2C
|
1509
|
+
PACKET3_DRAW_INDEX_AUTO = 0x2D
|
1510
|
+
PACKET3_NUM_INSTANCES = 0x2F
|
1511
|
+
PACKET3_DRAW_INDEX_MULTI_AUTO = 0x30
|
1512
|
+
PACKET3_INDIRECT_BUFFER_PRIV = 0x32
|
1513
|
+
PACKET3_INDIRECT_BUFFER_CNST = 0x33
|
1514
|
+
PACKET3_COND_INDIRECT_BUFFER_CNST = 0x33
|
1515
|
+
PACKET3_STRMOUT_BUFFER_UPDATE = 0x34
|
1516
|
+
PACKET3_DRAW_INDEX_OFFSET_2 = 0x35
|
1517
|
+
PACKET3_DRAW_PREAMBLE = 0x36
|
1518
|
+
PACKET3_WRITE_DATA = 0x37
|
1519
|
+
def WRITE_DATA_DST_SEL(x): return ((x) << 8)
|
1520
|
+
#/* 0 - register
|
1521
|
+
# * 1 - memory (sync - via GRBM)
|
1522
|
+
# * 2 - gl2
|
1523
|
+
# * 3 - gds
|
1524
|
+
# * 4 - reserved
|
1525
|
+
# * 5 - memory (async - direct)
|
1526
|
+
# */
|
1527
|
+
WR_ONE_ADDR = (1 << 16)
|
1528
|
+
WR_CONFIRM = (1 << 20)
|
1529
|
+
def WRITE_DATA_CACHE_POLICY(x): return ((x) << 25)
|
1530
|
+
#/* 0 - LRU
|
1531
|
+
# * 1 - Stream
|
1532
|
+
# */
|
1533
|
+
def WRITE_DATA_ENGINE_SEL(x): return ((x) << 30)
|
1534
|
+
#/* 0 - me
|
1535
|
+
# * 1 - pfp
|
1536
|
+
# * 2 - ce
|
1537
|
+
# */
|
1538
|
+
PACKET3_DRAW_INDEX_INDIRECT_MULTI = 0x38
|
1539
|
+
PACKET3_MEM_SEMAPHORE = 0x39
|
1540
|
+
PACKET3_SEM_USE_MAILBOX = (0x1 << 16)
|
1541
|
+
PACKET3_SEM_SEL_SIGNAL_TYPE = (0x1 << 20) #/* 0 = increment, 1 = write 1 */
|
1542
|
+
PACKET3_SEM_SEL_SIGNAL = (0x6 << 29)
|
1543
|
+
PACKET3_SEM_SEL_WAIT = (0x7 << 29)
|
1544
|
+
PACKET3_DRAW_INDEX_MULTI_INST = 0x3A
|
1545
|
+
PACKET3_COPY_DW = 0x3B
|
1546
|
+
PACKET3_WAIT_REG_MEM = 0x3C
|
1547
|
+
def WAIT_REG_MEM_FUNCTION(x): return ((x) << 0)
|
1548
|
+
#/* 0 - always
|
1549
|
+
# * 1 - <
|
1550
|
+
# * 2 - <=
|
1551
|
+
# * 3 - ==
|
1552
|
+
# * 4 - !=
|
1553
|
+
# * 5 - >=
|
1554
|
+
# * 6 - >
|
1555
|
+
# */
|
1556
|
+
def WAIT_REG_MEM_MEM_SPACE(x): return ((x) << 4)
|
1557
|
+
#/* 0 - reg
|
1558
|
+
# * 1 - mem
|
1559
|
+
# */
|
1560
|
+
def WAIT_REG_MEM_OPERATION(x): return ((x) << 6)
|
1561
|
+
#/* 0 - wait_reg_mem
|
1562
|
+
# * 1 - wr_wait_wr_reg
|
1563
|
+
# */
|
1564
|
+
def WAIT_REG_MEM_ENGINE(x): return ((x) << 8)
|
1565
|
+
#/* 0 - me
|
1566
|
+
# * 1 - pfp
|
1567
|
+
# */
|
1568
|
+
PACKET3_INDIRECT_BUFFER = 0x3F
|
1569
|
+
INDIRECT_BUFFER_VALID = (1 << 23)
|
1570
|
+
def INDIRECT_BUFFER_CACHE_POLICY(x): return ((x) << 28)
|
1571
|
+
#/* 0 - LRU
|
1572
|
+
# * 1 - Stream
|
1573
|
+
# * 2 - Bypass
|
1574
|
+
# */
|
1575
|
+
def INDIRECT_BUFFER_PRE_ENB(x): return ((x) << 21)
|
1576
|
+
def INDIRECT_BUFFER_PRE_RESUME(x): return ((x) << 30)
|
1577
|
+
PACKET3_COND_INDIRECT_BUFFER = 0x3F
|
1578
|
+
PACKET3_COPY_DATA = 0x40
|
1579
|
+
PACKET3_CP_DMA = 0x41
|
1580
|
+
PACKET3_PFP_SYNC_ME = 0x42
|
1581
|
+
PACKET3_SURFACE_SYNC = 0x43
|
1582
|
+
PACKET3_ME_INITIALIZE = 0x44
|
1583
|
+
PACKET3_COND_WRITE = 0x45
|
1584
|
+
PACKET3_EVENT_WRITE = 0x46
|
1585
|
+
def EVENT_TYPE(x): return ((x) << 0)
|
1586
|
+
def EVENT_INDEX(x): return ((x) << 8)
|
1587
|
+
#/* 0 - any non-TS event
|
1588
|
+
# * 1 - ZPASS_DONE, PIXEL_PIPE_STAT_*
|
1589
|
+
# * 2 - SAMPLE_PIPELINESTAT
|
1590
|
+
# * 3 - SAMPLE_STREAMOUTSTAT*
|
1591
|
+
# * 4 - *S_PARTIAL_FLUSH
|
1592
|
+
# */
|
1593
|
+
PACKET3_EVENT_WRITE_EOP = 0x47
|
1594
|
+
PACKET3_EVENT_WRITE_EOS = 0x48
|
1595
|
+
PACKET3_RELEASE_MEM = 0x49
|
1596
|
+
def PACKET3_RELEASE_MEM_EVENT_TYPE(x): return ((x) << 0)
|
1597
|
+
def PACKET3_RELEASE_MEM_EVENT_INDEX(x): return ((x) << 8)
|
1598
|
+
PACKET3_RELEASE_MEM_GCR_GLM_WB = (1 << 12)
|
1599
|
+
PACKET3_RELEASE_MEM_GCR_GLM_INV = (1 << 13)
|
1600
|
+
PACKET3_RELEASE_MEM_GCR_GLV_INV = (1 << 14)
|
1601
|
+
PACKET3_RELEASE_MEM_GCR_GL1_INV = (1 << 15)
|
1602
|
+
PACKET3_RELEASE_MEM_GCR_GL2_US = (1 << 16)
|
1603
|
+
PACKET3_RELEASE_MEM_GCR_GL2_RANGE = (1 << 17)
|
1604
|
+
PACKET3_RELEASE_MEM_GCR_GL2_DISCARD = (1 << 19)
|
1605
|
+
PACKET3_RELEASE_MEM_GCR_GL2_INV = (1 << 20)
|
1606
|
+
PACKET3_RELEASE_MEM_GCR_GL2_WB = (1 << 21)
|
1607
|
+
PACKET3_RELEASE_MEM_GCR_SEQ = (1 << 22)
|
1608
|
+
def PACKET3_RELEASE_MEM_CACHE_POLICY(x): return ((x) << 25)
|
1609
|
+
#/* 0 - cache_policy__me_release_mem__lru
|
1610
|
+
# * 1 - cache_policy__me_release_mem__stream
|
1611
|
+
# * 2 - cache_policy__me_release_mem__noa
|
1612
|
+
# * 3 - cache_policy__me_release_mem__bypass
|
1613
|
+
# */
|
1614
|
+
PACKET3_RELEASE_MEM_EXECUTE = (1 << 28)
|
1615
|
+
|
1616
|
+
def PACKET3_RELEASE_MEM_DATA_SEL(x): return ((x) << 29)
|
1617
|
+
#/* 0 - discard
|
1618
|
+
# * 1 - send low 32bit data
|
1619
|
+
# * 2 - send 64bit data
|
1620
|
+
# * 3 - send 64bit GPU counter value
|
1621
|
+
# * 4 - send 64bit sys counter value
|
1622
|
+
# */
|
1623
|
+
def PACKET3_RELEASE_MEM_INT_SEL(x): return ((x) << 24)
|
1624
|
+
#/* 0 - none
|
1625
|
+
# * 1 - interrupt only (DATA_SEL = 0)
|
1626
|
+
# * 2 - interrupt when data write is confirmed
|
1627
|
+
# */
|
1628
|
+
def PACKET3_RELEASE_MEM_DST_SEL(x): return ((x) << 16)
|
1629
|
+
#/* 0 - MC
|
1630
|
+
# * 1 - TC/L2
|
1631
|
+
# */
|
1632
|
+
|
1633
|
+
|
1634
|
+
|
1635
|
+
PACKET3_PREAMBLE_CNTL = 0x4A
|
1636
|
+
PACKET3_PREAMBLE_BEGIN_CLEAR_STATE = (2 << 28)
|
1637
|
+
PACKET3_PREAMBLE_END_CLEAR_STATE = (3 << 28)
|
1638
|
+
PACKET3_DMA_DATA = 0x50
|
1639
|
+
#/* 1. header
|
1640
|
+
# * 2. CONTROL
|
1641
|
+
# * 3. SRC_ADDR_LO or DATA [31:0]
|
1642
|
+
# * 4. SRC_ADDR_HI [31:0]
|
1643
|
+
# * 5. DST_ADDR_LO [31:0]
|
1644
|
+
# * 6. DST_ADDR_HI [7:0]
|
1645
|
+
# * 7. COMMAND [31:26] | BYTE_COUNT [25:0]
|
1646
|
+
# */
|
1647
|
+
#/* CONTROL */
|
1648
|
+
def PACKET3_DMA_DATA_ENGINE(x): return ((x) << 0)
|
1649
|
+
#/* 0 - ME
|
1650
|
+
# * 1 - PFP
|
1651
|
+
# */
|
1652
|
+
def PACKET3_DMA_DATA_SRC_CACHE_POLICY(x): return ((x) << 13)
|
1653
|
+
#/* 0 - LRU
|
1654
|
+
# * 1 - Stream
|
1655
|
+
# */
|
1656
|
+
def PACKET3_DMA_DATA_DST_SEL(x): return ((x) << 20)
|
1657
|
+
#/* 0 - DST_ADDR using DAS
|
1658
|
+
# * 1 - GDS
|
1659
|
+
# * 3 - DST_ADDR using L2
|
1660
|
+
# */
|
1661
|
+
def PACKET3_DMA_DATA_DST_CACHE_POLICY(x): return ((x) << 25)
|
1662
|
+
#/* 0 - LRU
|
1663
|
+
# * 1 - Stream
|
1664
|
+
# */
|
1665
|
+
def PACKET3_DMA_DATA_SRC_SEL(x): return ((x) << 29)
|
1666
|
+
#/* 0 - SRC_ADDR using SAS
|
1667
|
+
# * 1 - GDS
|
1668
|
+
# * 2 - DATA
|
1669
|
+
# * 3 - SRC_ADDR using L2
|
1670
|
+
# */
|
1671
|
+
PACKET3_DMA_DATA_CP_SYNC = (1 << 31)
|
1672
|
+
#/* COMMAND */
|
1673
|
+
PACKET3_DMA_DATA_CMD_SAS = (1 << 26)
|
1674
|
+
#/* 0 - memory
|
1675
|
+
# * 1 - register
|
1676
|
+
# */
|
1677
|
+
PACKET3_DMA_DATA_CMD_DAS = (1 << 27)
|
1678
|
+
#/* 0 - memory
|
1679
|
+
# * 1 - register
|
1680
|
+
# */
|
1681
|
+
PACKET3_DMA_DATA_CMD_SAIC = (1 << 28)
|
1682
|
+
PACKET3_DMA_DATA_CMD_DAIC = (1 << 29)
|
1683
|
+
PACKET3_DMA_DATA_CMD_RAW_WAIT = (1 << 30)
|
1684
|
+
PACKET3_CONTEXT_REG_RMW = 0x51
|
1685
|
+
PACKET3_GFX_CNTX_UPDATE = 0x52
|
1686
|
+
PACKET3_BLK_CNTX_UPDATE = 0x53
|
1687
|
+
PACKET3_INCR_UPDT_STATE = 0x55
|
1688
|
+
PACKET3_ACQUIRE_MEM = 0x58
|
1689
|
+
#/* 1. HEADER
|
1690
|
+
# * 2. COHER_CNTL [30:0]
|
1691
|
+
# * 2.1 ENGINE_SEL [31:31]
|
1692
|
+
# * 2. COHER_SIZE [31:0]
|
1693
|
+
# * 3. COHER_SIZE_HI [7:0]
|
1694
|
+
# * 4. COHER_BASE_LO [31:0]
|
1695
|
+
# * 5. COHER_BASE_HI [23:0]
|
1696
|
+
# * 7. POLL_INTERVAL [15:0]
|
1697
|
+
# * 8. GCR_CNTL [18:0]
|
1698
|
+
# */
|
1699
|
+
def PACKET3_ACQUIRE_MEM_GCR_CNTL_GLI_INV(x): return ((x) << 0)
|
1700
|
+
#/*
|
1701
|
+
# * 0:NOP
|
1702
|
+
# * 1:ALL
|
1703
|
+
# * 2:RANGE
|
1704
|
+
# * 3:FIRST_LAST
|
1705
|
+
# */
|
1706
|
+
def PACKET3_ACQUIRE_MEM_GCR_CNTL_GL1_RANGE(x): return ((x) << 2)
|
1707
|
+
#/*
|
1708
|
+
# * 0:ALL
|
1709
|
+
# * 1:reserved
|
1710
|
+
# * 2:RANGE
|
1711
|
+
# * 3:FIRST_LAST
|
1712
|
+
# */
|
1713
|
+
def PACKET3_ACQUIRE_MEM_GCR_CNTL_GLM_WB(x): return ((x) << 4)
|
1714
|
+
def PACKET3_ACQUIRE_MEM_GCR_CNTL_GLM_INV(x): return ((x) << 5)
|
1715
|
+
def PACKET3_ACQUIRE_MEM_GCR_CNTL_GLK_WB(x): return ((x) << 6)
|
1716
|
+
def PACKET3_ACQUIRE_MEM_GCR_CNTL_GLK_INV(x): return ((x) << 7)
|
1717
|
+
def PACKET3_ACQUIRE_MEM_GCR_CNTL_GLV_INV(x): return ((x) << 8)
|
1718
|
+
def PACKET3_ACQUIRE_MEM_GCR_CNTL_GL1_INV(x): return ((x) << 9)
|
1719
|
+
def PACKET3_ACQUIRE_MEM_GCR_CNTL_GL2_US(x): return ((x) << 10)
|
1720
|
+
def PACKET3_ACQUIRE_MEM_GCR_CNTL_GL2_RANGE(x): return ((x) << 11)
|
1721
|
+
#/*
|
1722
|
+
# * 0:ALL
|
1723
|
+
# * 1:VOL
|
1724
|
+
# * 2:RANGE
|
1725
|
+
# * 3:FIRST_LAST
|
1726
|
+
# */
|
1727
|
+
def PACKET3_ACQUIRE_MEM_GCR_CNTL_GL2_DISCARD(x): return ((x) << 13)
|
1728
|
+
def PACKET3_ACQUIRE_MEM_GCR_CNTL_GL2_INV(x): return ((x) << 14)
|
1729
|
+
def PACKET3_ACQUIRE_MEM_GCR_CNTL_GL2_WB(x): return ((x) << 15)
|
1730
|
+
def PACKET3_ACQUIRE_MEM_GCR_CNTL_SEQ(x): return ((x) << 16)
|
1731
|
+
#/*
|
1732
|
+
# * 0: PARALLEL
|
1733
|
+
# * 1: FORWARD
|
1734
|
+
# * 2: REVERSE
|
1735
|
+
# */
|
1736
|
+
PACKET3_ACQUIRE_MEM_GCR_RANGE_IS_PA = (1 << 18)
|
1737
|
+
PACKET3_REWIND = 0x59
|
1738
|
+
PACKET3_INTERRUPT = 0x5A
|
1739
|
+
PACKET3_GEN_PDEPTE = 0x5B
|
1740
|
+
PACKET3_INDIRECT_BUFFER_PASID = 0x5C
|
1741
|
+
PACKET3_PRIME_UTCL2 = 0x5D
|
1742
|
+
PACKET3_LOAD_UCONFIG_REG = 0x5E
|
1743
|
+
PACKET3_LOAD_SH_REG = 0x5F
|
1744
|
+
PACKET3_LOAD_CONFIG_REG = 0x60
|
1745
|
+
PACKET3_LOAD_CONTEXT_REG = 0x61
|
1746
|
+
PACKET3_LOAD_COMPUTE_STATE = 0x62
|
1747
|
+
PACKET3_LOAD_SH_REG_INDEX = 0x63
|
1748
|
+
PACKET3_SET_CONFIG_REG = 0x68
|
1749
|
+
PACKET3_SET_CONFIG_REG_START = 0x00002000
|
1750
|
+
PACKET3_SET_CONFIG_REG_END = 0x00002c00
|
1751
|
+
PACKET3_SET_CONTEXT_REG = 0x69
|
1752
|
+
PACKET3_SET_CONTEXT_REG_START = 0x0000a000
|
1753
|
+
PACKET3_SET_CONTEXT_REG_END = 0x0000a400
|
1754
|
+
PACKET3_SET_CONTEXT_REG_INDEX = 0x6A
|
1755
|
+
PACKET3_SET_VGPR_REG_DI_MULTI = 0x71
|
1756
|
+
PACKET3_SET_SH_REG_DI = 0x72
|
1757
|
+
PACKET3_SET_CONTEXT_REG_INDIRECT = 0x73
|
1758
|
+
PACKET3_SET_SH_REG_DI_MULTI = 0x74
|
1759
|
+
PACKET3_GFX_PIPE_LOCK = 0x75
|
1760
|
+
PACKET3_SET_SH_REG = 0x76
|
1761
|
+
PACKET3_SET_SH_REG_START = 0x00002c00
|
1762
|
+
PACKET3_SET_SH_REG_END = 0x00003000
|
1763
|
+
PACKET3_SET_SH_REG_OFFSET = 0x77
|
1764
|
+
PACKET3_SET_QUEUE_REG = 0x78
|
1765
|
+
PACKET3_SET_UCONFIG_REG = 0x79
|
1766
|
+
PACKET3_SET_UCONFIG_REG_START = 0x0000c000
|
1767
|
+
PACKET3_SET_UCONFIG_REG_END = 0x0000c400
|
1768
|
+
PACKET3_SET_UCONFIG_REG_INDEX = 0x7A
|
1769
|
+
PACKET3_FORWARD_HEADER = 0x7C
|
1770
|
+
PACKET3_SCRATCH_RAM_WRITE = 0x7D
|
1771
|
+
PACKET3_SCRATCH_RAM_READ = 0x7E
|
1772
|
+
PACKET3_LOAD_CONST_RAM = 0x80
|
1773
|
+
PACKET3_WRITE_CONST_RAM = 0x81
|
1774
|
+
PACKET3_DUMP_CONST_RAM = 0x83
|
1775
|
+
PACKET3_INCREMENT_CE_COUNTER = 0x84
|
1776
|
+
PACKET3_INCREMENT_DE_COUNTER = 0x85
|
1777
|
+
PACKET3_WAIT_ON_CE_COUNTER = 0x86
|
1778
|
+
PACKET3_WAIT_ON_DE_COUNTER_DIFF = 0x88
|
1779
|
+
PACKET3_SWITCH_BUFFER = 0x8B
|
1780
|
+
PACKET3_DISPATCH_DRAW_PREAMBLE = 0x8C
|
1781
|
+
PACKET3_DISPATCH_DRAW_PREAMBLE_ACE = 0x8C
|
1782
|
+
PACKET3_DISPATCH_DRAW = 0x8D
|
1783
|
+
PACKET3_DISPATCH_DRAW_ACE = 0x8D
|
1784
|
+
PACKET3_GET_LOD_STATS = 0x8E
|
1785
|
+
PACKET3_DRAW_MULTI_PREAMBLE = 0x8F
|
1786
|
+
PACKET3_FRAME_CONTROL = 0x90
|
1787
|
+
FRAME_TMZ = (1 << 0)
|
1788
|
+
def FRAME_CMD(x): return ((x) << 28)
|
1789
|
+
#/*
|
1790
|
+
# * x=0: tmz_begin
|
1791
|
+
# * x=1: tmz_end
|
1792
|
+
# */
|
1793
|
+
PACKET3_INDEX_ATTRIBUTES_INDIRECT = 0x91
|
1794
|
+
PACKET3_WAIT_REG_MEM64 = 0x93
|
1795
|
+
PACKET3_COND_PREEMPT = 0x94
|
1796
|
+
PACKET3_HDP_FLUSH = 0x95
|
1797
|
+
PACKET3_COPY_DATA_RB = 0x96
|
1798
|
+
PACKET3_INVALIDATE_TLBS = 0x98
|
1799
|
+
def PACKET3_INVALIDATE_TLBS_DST_SEL(x): return ((x) << 0)
|
1800
|
+
def PACKET3_INVALIDATE_TLBS_ALL_HUB(x): return ((x) << 4)
|
1801
|
+
def PACKET3_INVALIDATE_TLBS_PASID(x): return ((x) << 5)
|
1802
|
+
PACKET3_AQL_PACKET = 0x99
|
1803
|
+
PACKET3_DMA_DATA_FILL_MULTI = 0x9A
|
1804
|
+
PACKET3_SET_SH_REG_INDEX = 0x9B
|
1805
|
+
PACKET3_DRAW_INDIRECT_COUNT_MULTI = 0x9C
|
1806
|
+
PACKET3_DRAW_INDEX_INDIRECT_COUNT_MULTI = 0x9D
|
1807
|
+
PACKET3_DUMP_CONST_RAM_OFFSET = 0x9E
|
1808
|
+
PACKET3_LOAD_CONTEXT_REG_INDEX = 0x9F
|
1809
|
+
PACKET3_SET_RESOURCES = 0xA0
|
1810
|
+
#/* 1. header
|
1811
|
+
# * 2. CONTROL
|
1812
|
+
# * 3. QUEUE_MASK_LO [31:0]
|
1813
|
+
# * 4. QUEUE_MASK_HI [31:0]
|
1814
|
+
# * 5. GWS_MASK_LO [31:0]
|
1815
|
+
# * 6. GWS_MASK_HI [31:0]
|
1816
|
+
# * 7. OAC_MASK [15:0]
|
1817
|
+
# * 8. GDS_HEAP_SIZE [16:11] | GDS_HEAP_BASE [5:0]
|
1818
|
+
# */
|
1819
|
+
def PACKET3_SET_RESOURCES_VMID_MASK(x): return ((x) << 0)
|
1820
|
+
def PACKET3_SET_RESOURCES_UNMAP_LATENTY(x): return ((x) << 16)
|
1821
|
+
def PACKET3_SET_RESOURCES_QUEUE_TYPE(x): return ((x) << 29)
|
1822
|
+
PACKET3_MAP_PROCESS = 0xA1
|
1823
|
+
PACKET3_MAP_QUEUES = 0xA2
|
1824
|
+
#/* 1. header
|
1825
|
+
# * 2. CONTROL
|
1826
|
+
# * 3. CONTROL2
|
1827
|
+
# * 4. MQD_ADDR_LO [31:0]
|
1828
|
+
# * 5. MQD_ADDR_HI [31:0]
|
1829
|
+
# * 6. WPTR_ADDR_LO [31:0]
|
1830
|
+
# * 7. WPTR_ADDR_HI [31:0]
|
1831
|
+
# */
|
1832
|
+
#/* CONTROL */
|
1833
|
+
def PACKET3_MAP_QUEUES_QUEUE_SEL(x): return ((x) << 4)
|
1834
|
+
def PACKET3_MAP_QUEUES_VMID(x): return ((x) << 8)
|
1835
|
+
def PACKET3_MAP_QUEUES_QUEUE(x): return ((x) << 13)
|
1836
|
+
def PACKET3_MAP_QUEUES_PIPE(x): return ((x) << 16)
|
1837
|
+
def PACKET3_MAP_QUEUES_ME(x): return ((x) << 18)
|
1838
|
+
def PACKET3_MAP_QUEUES_QUEUE_TYPE(x): return ((x) << 21)
|
1839
|
+
def PACKET3_MAP_QUEUES_ALLOC_FORMAT(x): return ((x) << 24)
|
1840
|
+
def PACKET3_MAP_QUEUES_ENGINE_SEL(x): return ((x) << 26)
|
1841
|
+
def PACKET3_MAP_QUEUES_NUM_QUEUES(x): return ((x) << 29)
|
1842
|
+
#/* CONTROL2 */
|
1843
|
+
def PACKET3_MAP_QUEUES_CHECK_DISABLE(x): return ((x) << 1)
|
1844
|
+
def PACKET3_MAP_QUEUES_DOORBELL_OFFSET(x): return ((x) << 2)
|
1845
|
+
PACKET3_UNMAP_QUEUES = 0xA3
|
1846
|
+
#/* 1. header
|
1847
|
+
# * 2. CONTROL
|
1848
|
+
# * 3. CONTROL2
|
1849
|
+
# * 4. CONTROL3
|
1850
|
+
# * 5. CONTROL4
|
1851
|
+
# * 6. CONTROL5
|
1852
|
+
# */
|
1853
|
+
#/* CONTROL */
|
1854
|
+
def PACKET3_UNMAP_QUEUES_ACTION(x): return ((x) << 0)
|
1855
|
+
#/* 0 - PREEMPT_QUEUES
|
1856
|
+
# * 1 - RESET_QUEUES
|
1857
|
+
# * 2 - DISABLE_PROCESS_QUEUES
|
1858
|
+
# * 3 - PREEMPT_QUEUES_NO_UNMAP
|
1859
|
+
# */
|
1860
|
+
def PACKET3_UNMAP_QUEUES_QUEUE_SEL(x): return ((x) << 4)
|
1861
|
+
def PACKET3_UNMAP_QUEUES_ENGINE_SEL(x): return ((x) << 26)
|
1862
|
+
def PACKET3_UNMAP_QUEUES_NUM_QUEUES(x): return ((x) << 29)
|
1863
|
+
#/* CONTROL2a */
|
1864
|
+
def PACKET3_UNMAP_QUEUES_PASID(x): return ((x) << 0)
|
1865
|
+
#/* CONTROL2b */
|
1866
|
+
def PACKET3_UNMAP_QUEUES_DOORBELL_OFFSET0(x): return ((x) << 2)
|
1867
|
+
#/* CONTROL3a */
|
1868
|
+
def PACKET3_UNMAP_QUEUES_DOORBELL_OFFSET1(x): return ((x) << 2)
|
1869
|
+
#/* CONTROL3b */
|
1870
|
+
def PACKET3_UNMAP_QUEUES_RB_WPTR(x): return ((x) << 0)
|
1871
|
+
#/* CONTROL4 */
|
1872
|
+
def PACKET3_UNMAP_QUEUES_DOORBELL_OFFSET2(x): return ((x) << 2)
|
1873
|
+
#/* CONTROL5 */
|
1874
|
+
def PACKET3_UNMAP_QUEUES_DOORBELL_OFFSET3(x): return ((x) << 2)
|
1875
|
+
PACKET3_QUERY_STATUS = 0xA4
|
1876
|
+
#/* 1. header
|
1877
|
+
# * 2. CONTROL
|
1878
|
+
# * 3. CONTROL2
|
1879
|
+
# * 4. ADDR_LO [31:0]
|
1880
|
+
# * 5. ADDR_HI [31:0]
|
1881
|
+
# * 6. DATA_LO [31:0]
|
1882
|
+
# * 7. DATA_HI [31:0]
|
1883
|
+
# */
|
1884
|
+
#/* CONTROL */
|
1885
|
+
def PACKET3_QUERY_STATUS_CONTEXT_ID(x): return ((x) << 0)
|
1886
|
+
def PACKET3_QUERY_STATUS_INTERRUPT_SEL(x): return ((x) << 28)
|
1887
|
+
def PACKET3_QUERY_STATUS_COMMAND(x): return ((x) << 30)
|
1888
|
+
#/* CONTROL2a */
|
1889
|
+
def PACKET3_QUERY_STATUS_PASID(x): return ((x) << 0)
|
1890
|
+
#/* CONTROL2b */
|
1891
|
+
def PACKET3_QUERY_STATUS_DOORBELL_OFFSET(x): return ((x) << 2)
|
1892
|
+
def PACKET3_QUERY_STATUS_ENG_SEL(x): return ((x) << 25)
|
1893
|
+
PACKET3_RUN_LIST = 0xA5
|
1894
|
+
PACKET3_MAP_PROCESS_VM = 0xA6
|
1895
|
+
#/* GFX11 */
|
1896
|
+
PACKET3_SET_Q_PREEMPTION_MODE = 0xF0
|
1897
|
+
def PACKET3_SET_Q_PREEMPTION_MODE_IB_VMID(x): return ((x) << 0)
|
1898
|
+
PACKET3_SET_Q_PREEMPTION_MODE_INIT_SHADOW_MEM = (1 << 0)
|
1899
|
+
|
1900
|
+
#endif
|