tinygrad 0.10.2__py3-none-any.whl → 0.11.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 +1 -1
- tinygrad/apps/llm.py +206 -0
- tinygrad/codegen/__init__.py +116 -0
- tinygrad/codegen/devectorizer.py +315 -172
- tinygrad/codegen/expander.py +8 -16
- tinygrad/codegen/gpudims.py +89 -0
- tinygrad/codegen/linearize.py +205 -203
- tinygrad/codegen/lowerer.py +92 -139
- tinygrad/codegen/opt/__init__.py +38 -0
- tinygrad/codegen/opt/heuristic.py +125 -0
- tinygrad/codegen/opt/kernel.py +510 -0
- tinygrad/{engine → codegen/opt}/search.py +51 -35
- tinygrad/codegen/opt/swizzler.py +134 -0
- tinygrad/codegen/opt/tc.py +127 -0
- tinygrad/codegen/quantize.py +67 -0
- tinygrad/device.py +122 -132
- tinygrad/dtype.py +152 -35
- tinygrad/engine/jit.py +81 -54
- tinygrad/engine/memory.py +46 -27
- tinygrad/engine/realize.py +82 -41
- tinygrad/engine/schedule.py +70 -445
- tinygrad/frontend/__init__.py +0 -0
- tinygrad/frontend/onnx.py +1253 -0
- tinygrad/frontend/torch.py +5 -0
- tinygrad/gradient.py +19 -27
- tinygrad/helpers.py +95 -47
- tinygrad/nn/__init__.py +7 -8
- tinygrad/nn/optim.py +72 -41
- tinygrad/nn/state.py +37 -23
- tinygrad/renderer/__init__.py +40 -60
- tinygrad/renderer/cstyle.py +143 -128
- tinygrad/renderer/llvmir.py +113 -62
- tinygrad/renderer/ptx.py +50 -32
- tinygrad/renderer/wgsl.py +27 -23
- tinygrad/runtime/autogen/am/am.py +5861 -0
- tinygrad/runtime/autogen/am/pm4_nv.py +962 -0
- tinygrad/runtime/autogen/am/pm4_soc15.py +931 -0
- tinygrad/runtime/autogen/am/sdma_4_0_0.py +5209 -0
- tinygrad/runtime/autogen/am/sdma_4_4_2.py +5209 -0
- tinygrad/runtime/autogen/am/sdma_5_0_0.py +7103 -0
- tinygrad/runtime/autogen/am/sdma_6_0_0.py +8085 -0
- tinygrad/runtime/autogen/am/smu_v13_0_0.py +3068 -0
- tinygrad/runtime/autogen/am/smu_v14_0_2.py +3605 -0
- tinygrad/runtime/autogen/amd_gpu.py +1433 -67197
- tinygrad/runtime/autogen/comgr.py +35 -9
- tinygrad/runtime/autogen/comgr_3.py +906 -0
- tinygrad/runtime/autogen/cuda.py +2419 -494
- tinygrad/runtime/autogen/hsa.py +57 -16
- tinygrad/runtime/autogen/ib.py +7171 -0
- tinygrad/runtime/autogen/io_uring.py +917 -118
- tinygrad/runtime/autogen/kfd.py +748 -26
- tinygrad/runtime/autogen/libc.py +613 -218
- tinygrad/runtime/autogen/libusb.py +1643 -0
- tinygrad/runtime/autogen/nv/nv.py +8602 -0
- tinygrad/runtime/autogen/nv_gpu.py +7218 -2072
- tinygrad/runtime/autogen/opencl.py +2 -4
- tinygrad/runtime/autogen/sqtt.py +1789 -0
- tinygrad/runtime/autogen/vfio.py +3 -3
- tinygrad/runtime/autogen/webgpu.py +273 -264
- tinygrad/runtime/graph/cuda.py +3 -3
- tinygrad/runtime/graph/hcq.py +68 -29
- tinygrad/runtime/graph/metal.py +29 -13
- tinygrad/runtime/graph/remote.py +114 -0
- tinygrad/runtime/ops_amd.py +537 -320
- tinygrad/runtime/ops_cpu.py +108 -7
- tinygrad/runtime/ops_cuda.py +12 -14
- tinygrad/runtime/ops_disk.py +13 -10
- tinygrad/runtime/ops_dsp.py +47 -40
- tinygrad/runtime/ops_gpu.py +13 -11
- tinygrad/runtime/ops_hip.py +6 -9
- tinygrad/runtime/ops_llvm.py +35 -15
- tinygrad/runtime/ops_metal.py +29 -19
- tinygrad/runtime/ops_npy.py +5 -3
- tinygrad/runtime/ops_null.py +28 -0
- tinygrad/runtime/ops_nv.py +306 -234
- tinygrad/runtime/ops_python.py +62 -52
- tinygrad/runtime/ops_qcom.py +28 -39
- tinygrad/runtime/ops_remote.py +482 -0
- tinygrad/runtime/ops_webgpu.py +28 -28
- tinygrad/runtime/support/am/amdev.py +114 -249
- tinygrad/runtime/support/am/ip.py +211 -172
- tinygrad/runtime/support/amd.py +138 -0
- tinygrad/runtime/support/{compiler_hip.py → compiler_amd.py} +40 -8
- tinygrad/runtime/support/compiler_cuda.py +8 -11
- tinygrad/runtime/support/elf.py +2 -1
- tinygrad/runtime/support/hcq.py +184 -97
- tinygrad/runtime/support/ib.py +172 -0
- tinygrad/runtime/support/llvm.py +3 -4
- tinygrad/runtime/support/memory.py +251 -0
- tinygrad/runtime/support/nv/__init__.py +0 -0
- tinygrad/runtime/support/nv/ip.py +581 -0
- tinygrad/runtime/support/nv/nvdev.py +183 -0
- tinygrad/runtime/support/system.py +170 -0
- tinygrad/runtime/support/usb.py +268 -0
- tinygrad/runtime/support/webgpu.py +18 -0
- tinygrad/schedule/__init__.py +0 -0
- tinygrad/schedule/grouper.py +119 -0
- tinygrad/schedule/kernelize.py +368 -0
- tinygrad/schedule/multi.py +231 -0
- tinygrad/shape/shapetracker.py +40 -46
- tinygrad/shape/view.py +88 -52
- tinygrad/tensor.py +968 -542
- tinygrad/uop/__init__.py +117 -0
- tinygrad/{codegen/transcendental.py → uop/decompositions.py} +125 -38
- tinygrad/uop/mathtraits.py +169 -0
- tinygrad/uop/ops.py +1021 -0
- tinygrad/uop/spec.py +228 -0
- tinygrad/{codegen → uop}/symbolic.py +239 -216
- tinygrad/uop/upat.py +163 -0
- tinygrad/viz/assets/cdnjs.cloudflare.com/ajax/libs/highlight.js/11.10.0/languages/x86asm.min.js +19 -0
- tinygrad/viz/assets/d3js.org/d3.v7.min.js +2 -0
- tinygrad/viz/assets/dagrejs.github.io/project/dagre/latest/dagre.min.js +801 -0
- tinygrad/viz/index.html +203 -403
- tinygrad/viz/js/index.js +718 -0
- tinygrad/viz/js/worker.js +29 -0
- tinygrad/viz/serve.py +224 -102
- {tinygrad-0.10.2.dist-info → tinygrad-0.11.0.dist-info}/METADATA +24 -16
- tinygrad-0.11.0.dist-info/RECORD +141 -0
- {tinygrad-0.10.2.dist-info → tinygrad-0.11.0.dist-info}/WHEEL +1 -1
- tinygrad/codegen/kernel.py +0 -693
- tinygrad/engine/multi.py +0 -161
- tinygrad/ops.py +0 -1003
- tinygrad/runtime/ops_cloud.py +0 -220
- tinygrad/runtime/support/allocator.py +0 -94
- tinygrad/spec.py +0 -155
- tinygrad/viz/assets/d3js.org/d3.v5.min.js +0 -2
- tinygrad/viz/assets/dagrejs.github.io/project/dagre-d3/latest/dagre-d3.min.js +0 -4816
- tinygrad/viz/perfetto.html +0 -178
- tinygrad-0.10.2.dist-info/RECORD +0 -99
- {tinygrad-0.10.2.dist-info → tinygrad-0.11.0.dist-info/licenses}/LICENSE +0 -0
- {tinygrad-0.10.2.dist-info → tinygrad-0.11.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,931 @@
|
|
1
|
+
# mypy: ignore-errors
|
2
|
+
# -*- coding: utf-8 -*-
|
3
|
+
#
|
4
|
+
# TARGET arch is: []
|
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
|
+
F32_MES_PM4_PACKETS_H = True # macro
|
123
|
+
uint32_t = True # macro
|
124
|
+
int32_t = True # macro
|
125
|
+
PM4_MES_HEADER_DEFINED = True # macro
|
126
|
+
PM4_MEC_RELEASE_MEM_DEFINED = True # macro
|
127
|
+
PM4_MEC_WRITE_DATA_DEFINED = True # macro
|
128
|
+
class union_PM4_MES_TYPE_3_HEADER(Union):
|
129
|
+
pass
|
130
|
+
|
131
|
+
class struct_PM4_MES_TYPE_3_HEADER_0(Structure):
|
132
|
+
pass
|
133
|
+
|
134
|
+
struct_PM4_MES_TYPE_3_HEADER_0._pack_ = 1 # source:False
|
135
|
+
struct_PM4_MES_TYPE_3_HEADER_0._fields_ = [
|
136
|
+
('reserved1', ctypes.c_uint32, 8),
|
137
|
+
('opcode', ctypes.c_uint32, 8),
|
138
|
+
('count', ctypes.c_uint32, 14),
|
139
|
+
('type', ctypes.c_uint32, 2),
|
140
|
+
]
|
141
|
+
|
142
|
+
union_PM4_MES_TYPE_3_HEADER._pack_ = 1 # source:False
|
143
|
+
union_PM4_MES_TYPE_3_HEADER._anonymous_ = ('_0',)
|
144
|
+
union_PM4_MES_TYPE_3_HEADER._fields_ = [
|
145
|
+
('_0', struct_PM4_MES_TYPE_3_HEADER_0),
|
146
|
+
('u32All', ctypes.c_uint32),
|
147
|
+
]
|
148
|
+
|
149
|
+
|
150
|
+
# values for enumeration 'c_uint32'
|
151
|
+
c_uint32__enumvalues = {
|
152
|
+
5: 'event_index__mec_release_mem__end_of_pipe',
|
153
|
+
6: 'event_index__mec_release_mem__shader_done',
|
154
|
+
}
|
155
|
+
event_index__mec_release_mem__end_of_pipe = 5
|
156
|
+
event_index__mec_release_mem__shader_done = 6
|
157
|
+
c_uint32 = ctypes.c_uint32 # enum
|
158
|
+
|
159
|
+
# values for enumeration 'c_uint32'
|
160
|
+
c_uint32__enumvalues = {
|
161
|
+
0: 'cache_policy__mec_release_mem__lru',
|
162
|
+
1: 'cache_policy__mec_release_mem__stream',
|
163
|
+
}
|
164
|
+
cache_policy__mec_release_mem__lru = 0
|
165
|
+
cache_policy__mec_release_mem__stream = 1
|
166
|
+
c_uint32 = ctypes.c_uint32 # enum
|
167
|
+
|
168
|
+
# values for enumeration 'c_uint32'
|
169
|
+
c_uint32__enumvalues = {
|
170
|
+
0: 'pq_exe_status__mec_release_mem__default',
|
171
|
+
1: 'pq_exe_status__mec_release_mem__phase_update',
|
172
|
+
}
|
173
|
+
pq_exe_status__mec_release_mem__default = 0
|
174
|
+
pq_exe_status__mec_release_mem__phase_update = 1
|
175
|
+
c_uint32 = ctypes.c_uint32 # enum
|
176
|
+
|
177
|
+
# values for enumeration 'c_uint32'
|
178
|
+
c_uint32__enumvalues = {
|
179
|
+
0: 'dst_sel__mec_release_mem__memory_controller',
|
180
|
+
1: 'dst_sel__mec_release_mem__tc_l2',
|
181
|
+
2: 'dst_sel__mec_release_mem__queue_write_pointer_register',
|
182
|
+
3: 'dst_sel__mec_release_mem__queue_write_pointer_poll_mask_bit',
|
183
|
+
}
|
184
|
+
dst_sel__mec_release_mem__memory_controller = 0
|
185
|
+
dst_sel__mec_release_mem__tc_l2 = 1
|
186
|
+
dst_sel__mec_release_mem__queue_write_pointer_register = 2
|
187
|
+
dst_sel__mec_release_mem__queue_write_pointer_poll_mask_bit = 3
|
188
|
+
c_uint32 = ctypes.c_uint32 # enum
|
189
|
+
|
190
|
+
# values for enumeration 'c_uint32'
|
191
|
+
c_uint32__enumvalues = {
|
192
|
+
0: 'int_sel__mec_release_mem__none',
|
193
|
+
1: 'int_sel__mec_release_mem__send_interrupt_only',
|
194
|
+
2: 'int_sel__mec_release_mem__send_interrupt_after_write_confirm',
|
195
|
+
3: 'int_sel__mec_release_mem__send_data_after_write_confirm',
|
196
|
+
4: 'int_sel__mec_release_mem__unconditionally_send_int_ctxid',
|
197
|
+
5: 'int_sel__mec_release_mem__conditionally_send_int_ctxid_based_on_32_bit_compare',
|
198
|
+
6: 'int_sel__mec_release_mem__conditionally_send_int_ctxid_based_on_64_bit_compare',
|
199
|
+
}
|
200
|
+
int_sel__mec_release_mem__none = 0
|
201
|
+
int_sel__mec_release_mem__send_interrupt_only = 1
|
202
|
+
int_sel__mec_release_mem__send_interrupt_after_write_confirm = 2
|
203
|
+
int_sel__mec_release_mem__send_data_after_write_confirm = 3
|
204
|
+
int_sel__mec_release_mem__unconditionally_send_int_ctxid = 4
|
205
|
+
int_sel__mec_release_mem__conditionally_send_int_ctxid_based_on_32_bit_compare = 5
|
206
|
+
int_sel__mec_release_mem__conditionally_send_int_ctxid_based_on_64_bit_compare = 6
|
207
|
+
c_uint32 = ctypes.c_uint32 # enum
|
208
|
+
|
209
|
+
# values for enumeration 'c_uint32'
|
210
|
+
c_uint32__enumvalues = {
|
211
|
+
0: 'data_sel__mec_release_mem__none',
|
212
|
+
1: 'data_sel__mec_release_mem__send_32_bit_low',
|
213
|
+
2: 'data_sel__mec_release_mem__send_64_bit_data',
|
214
|
+
3: 'data_sel__mec_release_mem__send_gpu_clock_counter',
|
215
|
+
4: 'data_sel__mec_release_mem__send_cp_perfcounter_hi_lo',
|
216
|
+
5: 'data_sel__mec_release_mem__store_gds_data_to_memory',
|
217
|
+
}
|
218
|
+
data_sel__mec_release_mem__none = 0
|
219
|
+
data_sel__mec_release_mem__send_32_bit_low = 1
|
220
|
+
data_sel__mec_release_mem__send_64_bit_data = 2
|
221
|
+
data_sel__mec_release_mem__send_gpu_clock_counter = 3
|
222
|
+
data_sel__mec_release_mem__send_cp_perfcounter_hi_lo = 4
|
223
|
+
data_sel__mec_release_mem__store_gds_data_to_memory = 5
|
224
|
+
c_uint32 = ctypes.c_uint32 # enum
|
225
|
+
class struct_pm4_mec_release_mem(Structure):
|
226
|
+
pass
|
227
|
+
|
228
|
+
class union_pm4_mec_release_mem_0(Union):
|
229
|
+
pass
|
230
|
+
|
231
|
+
union_pm4_mec_release_mem_0._pack_ = 1 # source:False
|
232
|
+
union_pm4_mec_release_mem_0._fields_ = [
|
233
|
+
('header', union_PM4_MES_TYPE_3_HEADER),
|
234
|
+
('ordinal1', ctypes.c_uint32),
|
235
|
+
]
|
236
|
+
|
237
|
+
class union_pm4_mec_release_mem_1(Union):
|
238
|
+
pass
|
239
|
+
|
240
|
+
class struct_pm4_mec_release_mem_1_bitfields2(Structure):
|
241
|
+
pass
|
242
|
+
|
243
|
+
struct_pm4_mec_release_mem_1_bitfields2._pack_ = 1 # source:False
|
244
|
+
struct_pm4_mec_release_mem_1_bitfields2._fields_ = [
|
245
|
+
('event_type', ctypes.c_uint32, 6),
|
246
|
+
('reserved1', ctypes.c_uint32, 2),
|
247
|
+
('event_index', c_uint32, 4),
|
248
|
+
('tcl1_vol_action_ena', ctypes.c_uint32, 1),
|
249
|
+
('tc_vol_action_ena', ctypes.c_uint32, 1),
|
250
|
+
('reserved2', ctypes.c_uint32, 1),
|
251
|
+
('tc_wb_action_ena', ctypes.c_uint32, 1),
|
252
|
+
('tcl1_action_ena', ctypes.c_uint32, 1),
|
253
|
+
('tc_action_ena', ctypes.c_uint32, 1),
|
254
|
+
('reserved3', ctypes.c_uint32, 1),
|
255
|
+
('tc_nc_action_ena', ctypes.c_uint32, 1),
|
256
|
+
('tc_wc_action_ena', ctypes.c_uint32, 1),
|
257
|
+
('tc_md_action_ena', ctypes.c_uint32, 1),
|
258
|
+
('reserved4', ctypes.c_uint32, 3),
|
259
|
+
('cache_policy', c_uint32, 2),
|
260
|
+
('reserved5', ctypes.c_uint32, 2),
|
261
|
+
('pq_exe_status', c_uint32, 1),
|
262
|
+
('reserved6', ctypes.c_uint32, 2),
|
263
|
+
]
|
264
|
+
|
265
|
+
union_pm4_mec_release_mem_1._pack_ = 1 # source:False
|
266
|
+
union_pm4_mec_release_mem_1._fields_ = [
|
267
|
+
('bitfields2', struct_pm4_mec_release_mem_1_bitfields2),
|
268
|
+
('ordinal2', ctypes.c_uint32),
|
269
|
+
]
|
270
|
+
|
271
|
+
class union_pm4_mec_release_mem_2(Union):
|
272
|
+
pass
|
273
|
+
|
274
|
+
class struct_pm4_mec_release_mem_2_bitfields3(Structure):
|
275
|
+
pass
|
276
|
+
|
277
|
+
struct_pm4_mec_release_mem_2_bitfields3._pack_ = 1 # source:False
|
278
|
+
struct_pm4_mec_release_mem_2_bitfields3._fields_ = [
|
279
|
+
('reserved7', ctypes.c_uint32, 16),
|
280
|
+
('dst_sel', c_uint32, 2),
|
281
|
+
('reserved8', ctypes.c_uint32, 6),
|
282
|
+
('int_sel', c_uint32, 3),
|
283
|
+
('reserved9', ctypes.c_uint32, 2),
|
284
|
+
('data_sel', c_uint32, 3),
|
285
|
+
]
|
286
|
+
|
287
|
+
union_pm4_mec_release_mem_2._pack_ = 1 # source:False
|
288
|
+
union_pm4_mec_release_mem_2._fields_ = [
|
289
|
+
('bitfields3', struct_pm4_mec_release_mem_2_bitfields3),
|
290
|
+
('ordinal3', ctypes.c_uint32),
|
291
|
+
]
|
292
|
+
|
293
|
+
class union_pm4_mec_release_mem_3(Union):
|
294
|
+
pass
|
295
|
+
|
296
|
+
class struct_pm4_mec_release_mem_3_bitfields4(Structure):
|
297
|
+
pass
|
298
|
+
|
299
|
+
struct_pm4_mec_release_mem_3_bitfields4._pack_ = 1 # source:False
|
300
|
+
struct_pm4_mec_release_mem_3_bitfields4._fields_ = [
|
301
|
+
('reserved10', ctypes.c_uint32, 2),
|
302
|
+
('address_lo_32b', ctypes.c_uint32, 30),
|
303
|
+
]
|
304
|
+
|
305
|
+
class struct_pm4_mec_release_mem_3_bitfields4b(Structure):
|
306
|
+
pass
|
307
|
+
|
308
|
+
struct_pm4_mec_release_mem_3_bitfields4b._pack_ = 1 # source:False
|
309
|
+
struct_pm4_mec_release_mem_3_bitfields4b._fields_ = [
|
310
|
+
('reserved11', ctypes.c_uint32, 3),
|
311
|
+
('address_lo_64b', ctypes.c_uint32, 29),
|
312
|
+
]
|
313
|
+
|
314
|
+
union_pm4_mec_release_mem_3._pack_ = 1 # source:False
|
315
|
+
union_pm4_mec_release_mem_3._fields_ = [
|
316
|
+
('bitfields4', struct_pm4_mec_release_mem_3_bitfields4),
|
317
|
+
('bitfields4b', struct_pm4_mec_release_mem_3_bitfields4b),
|
318
|
+
('reserved12', ctypes.c_uint32),
|
319
|
+
('ordinal4', ctypes.c_uint32),
|
320
|
+
]
|
321
|
+
|
322
|
+
class union_pm4_mec_release_mem_4(Union):
|
323
|
+
pass
|
324
|
+
|
325
|
+
union_pm4_mec_release_mem_4._pack_ = 1 # source:False
|
326
|
+
union_pm4_mec_release_mem_4._fields_ = [
|
327
|
+
('address_hi', ctypes.c_uint32),
|
328
|
+
('reserved13', ctypes.c_uint32),
|
329
|
+
('ordinal5', ctypes.c_uint32),
|
330
|
+
]
|
331
|
+
|
332
|
+
class union_pm4_mec_release_mem_5(Union):
|
333
|
+
pass
|
334
|
+
|
335
|
+
class struct_pm4_mec_release_mem_5_bitfields6c(Structure):
|
336
|
+
pass
|
337
|
+
|
338
|
+
struct_pm4_mec_release_mem_5_bitfields6c._pack_ = 1 # source:False
|
339
|
+
struct_pm4_mec_release_mem_5_bitfields6c._fields_ = [
|
340
|
+
('dw_offset', ctypes.c_uint32, 16),
|
341
|
+
('num_dwords', ctypes.c_uint32, 16),
|
342
|
+
]
|
343
|
+
|
344
|
+
union_pm4_mec_release_mem_5._pack_ = 1 # source:False
|
345
|
+
union_pm4_mec_release_mem_5._fields_ = [
|
346
|
+
('data_lo', ctypes.c_uint32),
|
347
|
+
('cmp_data_lo', ctypes.c_uint32),
|
348
|
+
('bitfields6c', struct_pm4_mec_release_mem_5_bitfields6c),
|
349
|
+
('reserved14', ctypes.c_uint32),
|
350
|
+
('ordinal6', ctypes.c_uint32),
|
351
|
+
]
|
352
|
+
|
353
|
+
class union_pm4_mec_release_mem_6(Union):
|
354
|
+
pass
|
355
|
+
|
356
|
+
union_pm4_mec_release_mem_6._pack_ = 1 # source:False
|
357
|
+
union_pm4_mec_release_mem_6._fields_ = [
|
358
|
+
('data_hi', ctypes.c_uint32),
|
359
|
+
('cmp_data_hi', ctypes.c_uint32),
|
360
|
+
('reserved15', ctypes.c_uint32),
|
361
|
+
('reserved16', ctypes.c_uint32),
|
362
|
+
('ordinal7', ctypes.c_uint32),
|
363
|
+
]
|
364
|
+
|
365
|
+
struct_pm4_mec_release_mem._pack_ = 1 # source:False
|
366
|
+
struct_pm4_mec_release_mem._anonymous_ = ('_0', '_1', '_2', '_3', '_4', '_5', '_6',)
|
367
|
+
struct_pm4_mec_release_mem._fields_ = [
|
368
|
+
('_0', union_pm4_mec_release_mem_0),
|
369
|
+
('_1', union_pm4_mec_release_mem_1),
|
370
|
+
('_2', union_pm4_mec_release_mem_2),
|
371
|
+
('_3', union_pm4_mec_release_mem_3),
|
372
|
+
('_4', union_pm4_mec_release_mem_4),
|
373
|
+
('_5', union_pm4_mec_release_mem_5),
|
374
|
+
('_6', union_pm4_mec_release_mem_6),
|
375
|
+
('int_ctxid', ctypes.c_uint32),
|
376
|
+
]
|
377
|
+
|
378
|
+
|
379
|
+
# values for enumeration 'WRITE_DATA_dst_sel_enum'
|
380
|
+
WRITE_DATA_dst_sel_enum__enumvalues = {
|
381
|
+
0: 'dst_sel___write_data__mem_mapped_register',
|
382
|
+
2: 'dst_sel___write_data__tc_l2',
|
383
|
+
3: 'dst_sel___write_data__gds',
|
384
|
+
5: 'dst_sel___write_data__memory',
|
385
|
+
6: 'dst_sel___write_data__memory_mapped_adc_persistent_state',
|
386
|
+
}
|
387
|
+
dst_sel___write_data__mem_mapped_register = 0
|
388
|
+
dst_sel___write_data__tc_l2 = 2
|
389
|
+
dst_sel___write_data__gds = 3
|
390
|
+
dst_sel___write_data__memory = 5
|
391
|
+
dst_sel___write_data__memory_mapped_adc_persistent_state = 6
|
392
|
+
WRITE_DATA_dst_sel_enum = ctypes.c_uint32 # enum
|
393
|
+
|
394
|
+
# values for enumeration 'WRITE_DATA_addr_incr_enum'
|
395
|
+
WRITE_DATA_addr_incr_enum__enumvalues = {
|
396
|
+
0: 'addr_incr___write_data__increment_address',
|
397
|
+
1: 'addr_incr___write_data__do_not_increment_address',
|
398
|
+
}
|
399
|
+
addr_incr___write_data__increment_address = 0
|
400
|
+
addr_incr___write_data__do_not_increment_address = 1
|
401
|
+
WRITE_DATA_addr_incr_enum = ctypes.c_uint32 # enum
|
402
|
+
|
403
|
+
# values for enumeration 'WRITE_DATA_wr_confirm_enum'
|
404
|
+
WRITE_DATA_wr_confirm_enum__enumvalues = {
|
405
|
+
0: 'wr_confirm___write_data__do_not_wait_for_write_confirmation',
|
406
|
+
1: 'wr_confirm___write_data__wait_for_write_confirmation',
|
407
|
+
}
|
408
|
+
wr_confirm___write_data__do_not_wait_for_write_confirmation = 0
|
409
|
+
wr_confirm___write_data__wait_for_write_confirmation = 1
|
410
|
+
WRITE_DATA_wr_confirm_enum = ctypes.c_uint32 # enum
|
411
|
+
|
412
|
+
# values for enumeration 'WRITE_DATA_cache_policy_enum'
|
413
|
+
WRITE_DATA_cache_policy_enum__enumvalues = {
|
414
|
+
0: 'cache_policy___write_data__lru',
|
415
|
+
1: 'cache_policy___write_data__stream',
|
416
|
+
}
|
417
|
+
cache_policy___write_data__lru = 0
|
418
|
+
cache_policy___write_data__stream = 1
|
419
|
+
WRITE_DATA_cache_policy_enum = ctypes.c_uint32 # enum
|
420
|
+
class struct_pm4_mec_write_data_mmio(Structure):
|
421
|
+
pass
|
422
|
+
|
423
|
+
class union_pm4_mec_write_data_mmio_0(Union):
|
424
|
+
pass
|
425
|
+
|
426
|
+
union_pm4_mec_write_data_mmio_0._pack_ = 1 # source:False
|
427
|
+
union_pm4_mec_write_data_mmio_0._fields_ = [
|
428
|
+
('header', union_PM4_MES_TYPE_3_HEADER),
|
429
|
+
('ordinal1', ctypes.c_uint32),
|
430
|
+
]
|
431
|
+
|
432
|
+
class union_pm4_mec_write_data_mmio_1(Union):
|
433
|
+
pass
|
434
|
+
|
435
|
+
class struct_pm4_mec_write_data_mmio_1_bitfields2(Structure):
|
436
|
+
pass
|
437
|
+
|
438
|
+
struct_pm4_mec_write_data_mmio_1_bitfields2._pack_ = 1 # source:False
|
439
|
+
struct_pm4_mec_write_data_mmio_1_bitfields2._fields_ = [
|
440
|
+
('reserved1', ctypes.c_uint32, 8),
|
441
|
+
('dst_sel', ctypes.c_uint32, 4),
|
442
|
+
('reserved2', ctypes.c_uint32, 4),
|
443
|
+
('addr_incr', ctypes.c_uint32, 1),
|
444
|
+
('reserved3', ctypes.c_uint32, 2),
|
445
|
+
('resume_vf', ctypes.c_uint32, 1),
|
446
|
+
('wr_confirm', ctypes.c_uint32, 1),
|
447
|
+
('reserved4', ctypes.c_uint32, 4),
|
448
|
+
('cache_policy', ctypes.c_uint32, 2),
|
449
|
+
('reserved5', ctypes.c_uint32, 5),
|
450
|
+
]
|
451
|
+
|
452
|
+
union_pm4_mec_write_data_mmio_1._pack_ = 1 # source:False
|
453
|
+
union_pm4_mec_write_data_mmio_1._fields_ = [
|
454
|
+
('bitfields2', struct_pm4_mec_write_data_mmio_1_bitfields2),
|
455
|
+
('ordinal2', ctypes.c_uint32),
|
456
|
+
]
|
457
|
+
|
458
|
+
class union_pm4_mec_write_data_mmio_2(Union):
|
459
|
+
pass
|
460
|
+
|
461
|
+
class struct_pm4_mec_write_data_mmio_2_bitfields3(Structure):
|
462
|
+
pass
|
463
|
+
|
464
|
+
struct_pm4_mec_write_data_mmio_2_bitfields3._pack_ = 1 # source:False
|
465
|
+
struct_pm4_mec_write_data_mmio_2_bitfields3._fields_ = [
|
466
|
+
('dst_mmreg_addr', ctypes.c_uint32, 18),
|
467
|
+
('reserved6', ctypes.c_uint32, 14),
|
468
|
+
]
|
469
|
+
|
470
|
+
union_pm4_mec_write_data_mmio_2._pack_ = 1 # source:False
|
471
|
+
union_pm4_mec_write_data_mmio_2._fields_ = [
|
472
|
+
('bitfields3', struct_pm4_mec_write_data_mmio_2_bitfields3),
|
473
|
+
('ordinal3', ctypes.c_uint32),
|
474
|
+
]
|
475
|
+
|
476
|
+
struct_pm4_mec_write_data_mmio._pack_ = 1 # source:False
|
477
|
+
struct_pm4_mec_write_data_mmio._anonymous_ = ('_0', '_1', '_2',)
|
478
|
+
struct_pm4_mec_write_data_mmio._fields_ = [
|
479
|
+
('_0', union_pm4_mec_write_data_mmio_0),
|
480
|
+
('_1', union_pm4_mec_write_data_mmio_1),
|
481
|
+
('_2', union_pm4_mec_write_data_mmio_2),
|
482
|
+
('reserved7', ctypes.c_uint32),
|
483
|
+
('data', ctypes.c_uint32),
|
484
|
+
]
|
485
|
+
|
486
|
+
|
487
|
+
# values for enumeration 'c__Ea_CACHE_FLUSH_AND_INV_TS_EVENT'
|
488
|
+
c__Ea_CACHE_FLUSH_AND_INV_TS_EVENT__enumvalues = {
|
489
|
+
20: 'CACHE_FLUSH_AND_INV_TS_EVENT',
|
490
|
+
}
|
491
|
+
CACHE_FLUSH_AND_INV_TS_EVENT = 20
|
492
|
+
c__Ea_CACHE_FLUSH_AND_INV_TS_EVENT = ctypes.c_uint32 # enum
|
493
|
+
SOC15_H = True # macro
|
494
|
+
GFX9_NUM_GFX_RINGS = 1 # macro
|
495
|
+
GFX9_NUM_COMPUTE_RINGS = 8 # macro
|
496
|
+
PACKET_TYPE0 = 0 # macro
|
497
|
+
PACKET_TYPE1 = 1 # macro
|
498
|
+
PACKET_TYPE2 = 2 # macro
|
499
|
+
PACKET_TYPE3 = 3 # macro
|
500
|
+
def CP_PACKET_GET_TYPE(h): # macro
|
501
|
+
return (((h)>>30)&3)
|
502
|
+
def CP_PACKET_GET_COUNT(h): # macro
|
503
|
+
return (((h)>>16)&0x3FFF)
|
504
|
+
def CP_PACKET0_GET_REG(h): # macro
|
505
|
+
return ((h)&0xFFFF)
|
506
|
+
def CP_PACKET3_GET_OPCODE(h): # macro
|
507
|
+
return (((h)>>8)&0xFF)
|
508
|
+
def PACKET0(reg, n): # macro
|
509
|
+
return ((0<<30)|((reg)&0xFFFF)|((n)&0x3FFF)<<16)
|
510
|
+
CP_PACKET2 = 0x80000000 # macro
|
511
|
+
PACKET2_PAD_SHIFT = 0 # macro
|
512
|
+
PACKET2_PAD_MASK = (0x3fffffff<<0) # macro
|
513
|
+
# def PACKET2(v): # macro
|
514
|
+
# return (0x80000000|REG_SET(PACKET2_PAD,(v)))
|
515
|
+
def PACKET3(op, n): # macro
|
516
|
+
return ((3<<30)|(((op)&0xFF)<<8)|((n)&0x3FFF)<<16)
|
517
|
+
def PACKET3_COMPUTE(op, n): # macro
|
518
|
+
return (PACKET3(op,n)|1<<1)
|
519
|
+
PACKETJ_CONDITION_CHECK0 = 0 # macro
|
520
|
+
PACKETJ_CONDITION_CHECK1 = 1 # macro
|
521
|
+
PACKETJ_CONDITION_CHECK2 = 2 # macro
|
522
|
+
PACKETJ_CONDITION_CHECK3 = 3 # macro
|
523
|
+
PACKETJ_CONDITION_CHECK4 = 4 # macro
|
524
|
+
PACKETJ_CONDITION_CHECK5 = 5 # macro
|
525
|
+
PACKETJ_CONDITION_CHECK6 = 6 # macro
|
526
|
+
PACKETJ_CONDITION_CHECK7 = 7 # macro
|
527
|
+
PACKETJ_TYPE0 = 0 # macro
|
528
|
+
PACKETJ_TYPE1 = 1 # macro
|
529
|
+
PACKETJ_TYPE2 = 2 # macro
|
530
|
+
PACKETJ_TYPE3 = 3 # macro
|
531
|
+
PACKETJ_TYPE4 = 4 # macro
|
532
|
+
PACKETJ_TYPE5 = 5 # macro
|
533
|
+
PACKETJ_TYPE6 = 6 # macro
|
534
|
+
PACKETJ_TYPE7 = 7 # macro
|
535
|
+
def PACKETJ(reg, r, cond, type): # macro
|
536
|
+
return ((reg&0x3FFFF)|((r&0x3F)<<18)|((cond&0xF)<<24)|((type&0xF)<<28))
|
537
|
+
CP_PACKETJ_NOP = 0x60000000 # macro
|
538
|
+
def CP_PACKETJ_GET_REG(x): # macro
|
539
|
+
return ((x)&0x3FFFF)
|
540
|
+
def CP_PACKETJ_GET_RES(x): # macro
|
541
|
+
return (((x)>>18)&0x3F)
|
542
|
+
def CP_PACKETJ_GET_COND(x): # macro
|
543
|
+
return (((x)>>24)&0xF)
|
544
|
+
def CP_PACKETJ_GET_TYPE(x): # macro
|
545
|
+
return (((x)>>28)&0xF)
|
546
|
+
PACKET3_NOP = 0x10 # macro
|
547
|
+
PACKET3_SET_BASE = 0x11 # macro
|
548
|
+
def PACKET3_BASE_INDEX(x): # macro
|
549
|
+
return ((x)<<0)
|
550
|
+
CE_PARTITION_BASE = 3 # macro
|
551
|
+
PACKET3_CLEAR_STATE = 0x12 # macro
|
552
|
+
PACKET3_INDEX_BUFFER_SIZE = 0x13 # macro
|
553
|
+
PACKET3_DISPATCH_DIRECT = 0x15 # macro
|
554
|
+
PACKET3_DISPATCH_INDIRECT = 0x16 # macro
|
555
|
+
PACKET3_ATOMIC_GDS = 0x1D # macro
|
556
|
+
PACKET3_ATOMIC_MEM = 0x1E # macro
|
557
|
+
PACKET3_OCCLUSION_QUERY = 0x1F # macro
|
558
|
+
PACKET3_SET_PREDICATION = 0x20 # macro
|
559
|
+
PACKET3_REG_RMW = 0x21 # macro
|
560
|
+
PACKET3_COND_EXEC = 0x22 # macro
|
561
|
+
PACKET3_PRED_EXEC = 0x23 # macro
|
562
|
+
PACKET3_DRAW_INDIRECT = 0x24 # macro
|
563
|
+
PACKET3_DRAW_INDEX_INDIRECT = 0x25 # macro
|
564
|
+
PACKET3_INDEX_BASE = 0x26 # macro
|
565
|
+
PACKET3_DRAW_INDEX_2 = 0x27 # macro
|
566
|
+
PACKET3_CONTEXT_CONTROL = 0x28 # macro
|
567
|
+
PACKET3_INDEX_TYPE = 0x2A # macro
|
568
|
+
PACKET3_DRAW_INDIRECT_MULTI = 0x2C # macro
|
569
|
+
PACKET3_DRAW_INDEX_AUTO = 0x2D # macro
|
570
|
+
PACKET3_NUM_INSTANCES = 0x2F # macro
|
571
|
+
PACKET3_DRAW_INDEX_MULTI_AUTO = 0x30 # macro
|
572
|
+
PACKET3_INDIRECT_BUFFER_CONST = 0x33 # macro
|
573
|
+
PACKET3_STRMOUT_BUFFER_UPDATE = 0x34 # macro
|
574
|
+
PACKET3_DRAW_INDEX_OFFSET_2 = 0x35 # macro
|
575
|
+
PACKET3_DRAW_PREAMBLE = 0x36 # macro
|
576
|
+
PACKET3_WRITE_DATA = 0x37 # macro
|
577
|
+
def WRITE_DATA_DST_SEL(x): # macro
|
578
|
+
return ((x)<<8)
|
579
|
+
WR_ONE_ADDR = (1<<16) # macro
|
580
|
+
WR_CONFIRM = (1<<20) # macro
|
581
|
+
def WRITE_DATA_CACHE_POLICY(x): # macro
|
582
|
+
return ((x)<<25)
|
583
|
+
def WRITE_DATA_ENGINE_SEL(x): # macro
|
584
|
+
return ((x)<<30)
|
585
|
+
PACKET3_DRAW_INDEX_INDIRECT_MULTI = 0x38 # macro
|
586
|
+
PACKET3_MEM_SEMAPHORE = 0x39 # macro
|
587
|
+
PACKET3_SEM_USE_MAILBOX = (0x1<<16) # macro
|
588
|
+
PACKET3_SEM_SEL_SIGNAL_TYPE = (0x1<<20) # macro
|
589
|
+
PACKET3_SEM_SEL_SIGNAL = (0x6<<29) # macro
|
590
|
+
PACKET3_SEM_SEL_WAIT = (0x7<<29) # macro
|
591
|
+
PACKET3_WAIT_REG_MEM = 0x3C # macro
|
592
|
+
def WAIT_REG_MEM_FUNCTION(x): # macro
|
593
|
+
return ((x)<<0)
|
594
|
+
def WAIT_REG_MEM_MEM_SPACE(x): # macro
|
595
|
+
return ((x)<<4)
|
596
|
+
def WAIT_REG_MEM_OPERATION(x): # macro
|
597
|
+
return ((x)<<6)
|
598
|
+
def WAIT_REG_MEM_ENGINE(x): # macro
|
599
|
+
return ((x)<<8)
|
600
|
+
PACKET3_INDIRECT_BUFFER = 0x3F # macro
|
601
|
+
INDIRECT_BUFFER_VALID = (1<<23) # macro
|
602
|
+
def INDIRECT_BUFFER_CACHE_POLICY(x): # macro
|
603
|
+
return ((x)<<28)
|
604
|
+
def INDIRECT_BUFFER_PRE_ENB(x): # macro
|
605
|
+
return ((x)<<21)
|
606
|
+
def INDIRECT_BUFFER_PRE_RESUME(x): # macro
|
607
|
+
return ((x)<<30)
|
608
|
+
PACKET3_COPY_DATA = 0x40 # macro
|
609
|
+
PACKET3_PFP_SYNC_ME = 0x42 # macro
|
610
|
+
PACKET3_COND_WRITE = 0x45 # macro
|
611
|
+
PACKET3_EVENT_WRITE = 0x46 # macro
|
612
|
+
def EVENT_TYPE(x): # macro
|
613
|
+
return ((x)<<0)
|
614
|
+
def EVENT_INDEX(x): # macro
|
615
|
+
return ((x)<<8)
|
616
|
+
PACKET3_RELEASE_MEM = 0x49 # macro
|
617
|
+
EOP_TCL1_VOL_ACTION_EN = (1<<12) # macro
|
618
|
+
EOP_TC_VOL_ACTION_EN = (1<<13) # macro
|
619
|
+
EOP_TC_WB_ACTION_EN = (1<<15) # macro
|
620
|
+
EOP_TCL1_ACTION_EN = (1<<16) # macro
|
621
|
+
EOP_TC_ACTION_EN = (1<<17) # macro
|
622
|
+
EOP_TC_NC_ACTION_EN = (1<<19) # macro
|
623
|
+
EOP_TC_MD_ACTION_EN = (1<<21) # macro
|
624
|
+
EOP_EXEC = (1<<28) # macro
|
625
|
+
def DATA_SEL(x): # macro
|
626
|
+
return ((x)<<29)
|
627
|
+
def INT_SEL(x): # macro
|
628
|
+
return ((x)<<24)
|
629
|
+
def DST_SEL(x): # macro
|
630
|
+
return ((x)<<16)
|
631
|
+
PACKET3_PREAMBLE_CNTL = 0x4A # macro
|
632
|
+
PACKET3_PREAMBLE_BEGIN_CLEAR_STATE = (2<<28) # macro
|
633
|
+
PACKET3_PREAMBLE_END_CLEAR_STATE = (3<<28) # macro
|
634
|
+
PACKET3_DMA_DATA = 0x50 # macro
|
635
|
+
def PACKET3_DMA_DATA_ENGINE(x): # macro
|
636
|
+
return ((x)<<0)
|
637
|
+
def PACKET3_DMA_DATA_SRC_CACHE_POLICY(x): # macro
|
638
|
+
return ((x)<<13)
|
639
|
+
def PACKET3_DMA_DATA_DST_SEL(x): # macro
|
640
|
+
return ((x)<<20)
|
641
|
+
def PACKET3_DMA_DATA_DST_CACHE_POLICY(x): # macro
|
642
|
+
return ((x)<<25)
|
643
|
+
def PACKET3_DMA_DATA_SRC_SEL(x): # macro
|
644
|
+
return ((x)<<29)
|
645
|
+
PACKET3_DMA_DATA_CP_SYNC = (1<<31) # macro
|
646
|
+
PACKET3_DMA_DATA_CMD_SAS = (1<<26) # macro
|
647
|
+
PACKET3_DMA_DATA_CMD_DAS = (1<<27) # macro
|
648
|
+
PACKET3_DMA_DATA_CMD_SAIC = (1<<28) # macro
|
649
|
+
PACKET3_DMA_DATA_CMD_DAIC = (1<<29) # macro
|
650
|
+
PACKET3_DMA_DATA_CMD_RAW_WAIT = (1<<30) # macro
|
651
|
+
PACKET3_ACQUIRE_MEM = 0x58 # macro
|
652
|
+
def PACKET3_ACQUIRE_MEM_CP_COHER_CNTL_TC_NC_ACTION_ENA(x): # macro
|
653
|
+
return ((x)<<3)
|
654
|
+
def PACKET3_ACQUIRE_MEM_CP_COHER_CNTL_TC_WC_ACTION_ENA(x): # macro
|
655
|
+
return ((x)<<4)
|
656
|
+
def PACKET3_ACQUIRE_MEM_CP_COHER_CNTL_TC_INV_METADATA_ACTION_ENA(x): # macro
|
657
|
+
return ((x)<<5)
|
658
|
+
def PACKET3_ACQUIRE_MEM_CP_COHER_CNTL_TCL1_VOL_ACTION_ENA(x): # macro
|
659
|
+
return ((x)<<15)
|
660
|
+
def PACKET3_ACQUIRE_MEM_CP_COHER_CNTL_TC_WB_ACTION_ENA(x): # macro
|
661
|
+
return ((x)<<18)
|
662
|
+
def PACKET3_ACQUIRE_MEM_CP_COHER_CNTL_TCL1_ACTION_ENA(x): # macro
|
663
|
+
return ((x)<<22)
|
664
|
+
def PACKET3_ACQUIRE_MEM_CP_COHER_CNTL_TC_ACTION_ENA(x): # macro
|
665
|
+
return ((x)<<23)
|
666
|
+
def PACKET3_ACQUIRE_MEM_CP_COHER_CNTL_CB_ACTION_ENA(x): # macro
|
667
|
+
return ((x)<<25)
|
668
|
+
def PACKET3_ACQUIRE_MEM_CP_COHER_CNTL_DB_ACTION_ENA(x): # macro
|
669
|
+
return ((x)<<26)
|
670
|
+
def PACKET3_ACQUIRE_MEM_CP_COHER_CNTL_SH_KCACHE_ACTION_ENA(x): # macro
|
671
|
+
return ((x)<<27)
|
672
|
+
def PACKET3_ACQUIRE_MEM_CP_COHER_CNTL_SH_KCACHE_VOL_ACTION_ENA(x): # macro
|
673
|
+
return ((x)<<28)
|
674
|
+
def PACKET3_ACQUIRE_MEM_CP_COHER_CNTL_SH_ICACHE_ACTION_ENA(x): # macro
|
675
|
+
return ((x)<<29)
|
676
|
+
def PACKET3_ACQUIRE_MEM_CP_COHER_CNTL_SH_KCACHE_WB_ACTION_ENA(x): # macro
|
677
|
+
return ((x)<<30)
|
678
|
+
PACKET3_REWIND = 0x59 # macro
|
679
|
+
PACKET3_LOAD_UCONFIG_REG = 0x5E # macro
|
680
|
+
PACKET3_LOAD_SH_REG = 0x5F # macro
|
681
|
+
PACKET3_LOAD_CONFIG_REG = 0x60 # macro
|
682
|
+
PACKET3_LOAD_CONTEXT_REG = 0x61 # macro
|
683
|
+
PACKET3_SET_CONFIG_REG = 0x68 # macro
|
684
|
+
PACKET3_SET_CONFIG_REG_START = 0x00002000 # macro
|
685
|
+
PACKET3_SET_CONFIG_REG_END = 0x00002c00 # macro
|
686
|
+
PACKET3_SET_CONTEXT_REG = 0x69 # macro
|
687
|
+
PACKET3_SET_CONTEXT_REG_START = 0x0000a000 # macro
|
688
|
+
PACKET3_SET_CONTEXT_REG_END = 0x0000a400 # macro
|
689
|
+
PACKET3_SET_CONTEXT_REG_INDIRECT = 0x73 # macro
|
690
|
+
PACKET3_SET_SH_REG = 0x76 # macro
|
691
|
+
PACKET3_SET_SH_REG_START = 0x00002c00 # macro
|
692
|
+
PACKET3_SET_SH_REG_END = 0x00003000 # macro
|
693
|
+
PACKET3_SET_SH_REG_OFFSET = 0x77 # macro
|
694
|
+
PACKET3_SET_QUEUE_REG = 0x78 # macro
|
695
|
+
PACKET3_SET_UCONFIG_REG = 0x79 # macro
|
696
|
+
PACKET3_SET_UCONFIG_REG_START = 0x0000c000 # macro
|
697
|
+
PACKET3_SET_UCONFIG_REG_END = 0x0000c400 # macro
|
698
|
+
PACKET3_SET_UCONFIG_REG_INDEX_TYPE = (2<<28) # macro
|
699
|
+
PACKET3_SCRATCH_RAM_WRITE = 0x7D # macro
|
700
|
+
PACKET3_SCRATCH_RAM_READ = 0x7E # macro
|
701
|
+
PACKET3_LOAD_CONST_RAM = 0x80 # macro
|
702
|
+
PACKET3_WRITE_CONST_RAM = 0x81 # macro
|
703
|
+
PACKET3_DUMP_CONST_RAM = 0x83 # macro
|
704
|
+
PACKET3_INCREMENT_CE_COUNTER = 0x84 # macro
|
705
|
+
PACKET3_INCREMENT_DE_COUNTER = 0x85 # macro
|
706
|
+
PACKET3_WAIT_ON_CE_COUNTER = 0x86 # macro
|
707
|
+
PACKET3_WAIT_ON_DE_COUNTER_DIFF = 0x88 # macro
|
708
|
+
PACKET3_SWITCH_BUFFER = 0x8B # macro
|
709
|
+
PACKET3_FRAME_CONTROL = 0x90 # macro
|
710
|
+
FRAME_TMZ = (1<<0) # macro
|
711
|
+
def FRAME_CMD(x): # macro
|
712
|
+
return ((x)<<28)
|
713
|
+
PACKET3_INVALIDATE_TLBS = 0x98 # macro
|
714
|
+
def PACKET3_INVALIDATE_TLBS_DST_SEL(x): # macro
|
715
|
+
return ((x)<<0)
|
716
|
+
def PACKET3_INVALIDATE_TLBS_ALL_HUB(x): # macro
|
717
|
+
return ((x)<<4)
|
718
|
+
def PACKET3_INVALIDATE_TLBS_PASID(x): # macro
|
719
|
+
return ((x)<<5)
|
720
|
+
def PACKET3_INVALIDATE_TLBS_FLUSH_TYPE(x): # macro
|
721
|
+
return ((x)<<29)
|
722
|
+
PACKET3_SET_RESOURCES = 0xA0 # macro
|
723
|
+
def PACKET3_SET_RESOURCES_VMID_MASK(x): # macro
|
724
|
+
return ((x)<<0)
|
725
|
+
def PACKET3_SET_RESOURCES_UNMAP_LATENTY(x): # macro
|
726
|
+
return ((x)<<16)
|
727
|
+
def PACKET3_SET_RESOURCES_QUEUE_TYPE(x): # macro
|
728
|
+
return ((x)<<29)
|
729
|
+
PACKET3_MAP_QUEUES = 0xA2 # macro
|
730
|
+
def PACKET3_MAP_QUEUES_QUEUE_SEL(x): # macro
|
731
|
+
return ((x)<<4)
|
732
|
+
def PACKET3_MAP_QUEUES_VMID(x): # macro
|
733
|
+
return ((x)<<8)
|
734
|
+
def PACKET3_MAP_QUEUES_QUEUE(x): # macro
|
735
|
+
return ((x)<<13)
|
736
|
+
def PACKET3_MAP_QUEUES_PIPE(x): # macro
|
737
|
+
return ((x)<<16)
|
738
|
+
def PACKET3_MAP_QUEUES_ME(x): # macro
|
739
|
+
return ((x)<<18)
|
740
|
+
def PACKET3_MAP_QUEUES_QUEUE_TYPE(x): # macro
|
741
|
+
return ((x)<<21)
|
742
|
+
def PACKET3_MAP_QUEUES_ALLOC_FORMAT(x): # macro
|
743
|
+
return ((x)<<24)
|
744
|
+
def PACKET3_MAP_QUEUES_ENGINE_SEL(x): # macro
|
745
|
+
return ((x)<<26)
|
746
|
+
def PACKET3_MAP_QUEUES_NUM_QUEUES(x): # macro
|
747
|
+
return ((x)<<29)
|
748
|
+
def PACKET3_MAP_QUEUES_CHECK_DISABLE(x): # macro
|
749
|
+
return ((x)<<1)
|
750
|
+
def PACKET3_MAP_QUEUES_DOORBELL_OFFSET(x): # macro
|
751
|
+
return ((x)<<2)
|
752
|
+
PACKET3_UNMAP_QUEUES = 0xA3 # macro
|
753
|
+
def PACKET3_UNMAP_QUEUES_ACTION(x): # macro
|
754
|
+
return ((x)<<0)
|
755
|
+
def PACKET3_UNMAP_QUEUES_QUEUE_SEL(x): # macro
|
756
|
+
return ((x)<<4)
|
757
|
+
def PACKET3_UNMAP_QUEUES_ENGINE_SEL(x): # macro
|
758
|
+
return ((x)<<26)
|
759
|
+
def PACKET3_UNMAP_QUEUES_NUM_QUEUES(x): # macro
|
760
|
+
return ((x)<<29)
|
761
|
+
def PACKET3_UNMAP_QUEUES_PASID(x): # macro
|
762
|
+
return ((x)<<0)
|
763
|
+
def PACKET3_UNMAP_QUEUES_DOORBELL_OFFSET0(x): # macro
|
764
|
+
return ((x)<<2)
|
765
|
+
def PACKET3_UNMAP_QUEUES_DOORBELL_OFFSET1(x): # macro
|
766
|
+
return ((x)<<2)
|
767
|
+
def PACKET3_UNMAP_QUEUES_RB_WPTR(x): # macro
|
768
|
+
return ((x)<<0)
|
769
|
+
def PACKET3_UNMAP_QUEUES_DOORBELL_OFFSET2(x): # macro
|
770
|
+
return ((x)<<2)
|
771
|
+
def PACKET3_UNMAP_QUEUES_DOORBELL_OFFSET3(x): # macro
|
772
|
+
return ((x)<<2)
|
773
|
+
PACKET3_QUERY_STATUS = 0xA4 # macro
|
774
|
+
def PACKET3_QUERY_STATUS_CONTEXT_ID(x): # macro
|
775
|
+
return ((x)<<0)
|
776
|
+
def PACKET3_QUERY_STATUS_INTERRUPT_SEL(x): # macro
|
777
|
+
return ((x)<<28)
|
778
|
+
def PACKET3_QUERY_STATUS_COMMAND(x): # macro
|
779
|
+
return ((x)<<30)
|
780
|
+
def PACKET3_QUERY_STATUS_PASID(x): # macro
|
781
|
+
return ((x)<<0)
|
782
|
+
def PACKET3_QUERY_STATUS_DOORBELL_OFFSET(x): # macro
|
783
|
+
return ((x)<<2)
|
784
|
+
def PACKET3_QUERY_STATUS_ENG_SEL(x): # macro
|
785
|
+
return ((x)<<25)
|
786
|
+
PACKET3_RUN_CLEANER_SHADER = 0xD2 # macro
|
787
|
+
VCE_CMD_NO_OP = 0x00000000 # macro
|
788
|
+
VCE_CMD_END = 0x00000001 # macro
|
789
|
+
VCE_CMD_IB = 0x00000002 # macro
|
790
|
+
VCE_CMD_FENCE = 0x00000003 # macro
|
791
|
+
VCE_CMD_TRAP = 0x00000004 # macro
|
792
|
+
VCE_CMD_IB_AUTO = 0x00000005 # macro
|
793
|
+
VCE_CMD_SEMAPHORE = 0x00000006 # macro
|
794
|
+
VCE_CMD_IB_VM = 0x00000102 # macro
|
795
|
+
VCE_CMD_WAIT_GE = 0x00000106 # macro
|
796
|
+
VCE_CMD_UPDATE_PTB = 0x00000107 # macro
|
797
|
+
VCE_CMD_FLUSH_TLB = 0x00000108 # macro
|
798
|
+
VCE_CMD_REG_WRITE = 0x00000109 # macro
|
799
|
+
VCE_CMD_REG_WAIT = 0x0000010a # macro
|
800
|
+
HEVC_ENC_CMD_NO_OP = 0x00000000 # macro
|
801
|
+
HEVC_ENC_CMD_END = 0x00000001 # macro
|
802
|
+
HEVC_ENC_CMD_FENCE = 0x00000003 # macro
|
803
|
+
HEVC_ENC_CMD_TRAP = 0x00000004 # macro
|
804
|
+
HEVC_ENC_CMD_IB_VM = 0x00000102 # macro
|
805
|
+
HEVC_ENC_CMD_REG_WRITE = 0x00000109 # macro
|
806
|
+
HEVC_ENC_CMD_REG_WAIT = 0x0000010a # macro
|
807
|
+
__all__ = \
|
808
|
+
['CACHE_FLUSH_AND_INV_TS_EVENT', 'CE_PARTITION_BASE',
|
809
|
+
'CP_PACKET2', 'CP_PACKETJ_NOP', 'EOP_EXEC', 'EOP_TCL1_ACTION_EN',
|
810
|
+
'EOP_TCL1_VOL_ACTION_EN', 'EOP_TC_ACTION_EN',
|
811
|
+
'EOP_TC_MD_ACTION_EN', 'EOP_TC_NC_ACTION_EN',
|
812
|
+
'EOP_TC_VOL_ACTION_EN', 'EOP_TC_WB_ACTION_EN',
|
813
|
+
'F32_MES_PM4_PACKETS_H', 'FRAME_TMZ', 'GFX9_NUM_COMPUTE_RINGS',
|
814
|
+
'GFX9_NUM_GFX_RINGS', 'HEVC_ENC_CMD_END', 'HEVC_ENC_CMD_FENCE',
|
815
|
+
'HEVC_ENC_CMD_IB_VM', 'HEVC_ENC_CMD_NO_OP',
|
816
|
+
'HEVC_ENC_CMD_REG_WAIT', 'HEVC_ENC_CMD_REG_WRITE',
|
817
|
+
'HEVC_ENC_CMD_TRAP', 'INDIRECT_BUFFER_VALID', 'PACKET2_PAD_MASK',
|
818
|
+
'PACKET2_PAD_SHIFT', 'PACKET3_ACQUIRE_MEM', 'PACKET3_ATOMIC_GDS',
|
819
|
+
'PACKET3_ATOMIC_MEM', 'PACKET3_CLEAR_STATE', 'PACKET3_COND_EXEC',
|
820
|
+
'PACKET3_COND_WRITE', 'PACKET3_CONTEXT_CONTROL',
|
821
|
+
'PACKET3_COPY_DATA', 'PACKET3_DISPATCH_DIRECT',
|
822
|
+
'PACKET3_DISPATCH_INDIRECT', 'PACKET3_DMA_DATA',
|
823
|
+
'PACKET3_DMA_DATA_CMD_DAIC', 'PACKET3_DMA_DATA_CMD_DAS',
|
824
|
+
'PACKET3_DMA_DATA_CMD_RAW_WAIT', 'PACKET3_DMA_DATA_CMD_SAIC',
|
825
|
+
'PACKET3_DMA_DATA_CMD_SAS', 'PACKET3_DMA_DATA_CP_SYNC',
|
826
|
+
'PACKET3_DRAW_INDEX_2', 'PACKET3_DRAW_INDEX_AUTO',
|
827
|
+
'PACKET3_DRAW_INDEX_INDIRECT',
|
828
|
+
'PACKET3_DRAW_INDEX_INDIRECT_MULTI',
|
829
|
+
'PACKET3_DRAW_INDEX_MULTI_AUTO', 'PACKET3_DRAW_INDEX_OFFSET_2',
|
830
|
+
'PACKET3_DRAW_INDIRECT', 'PACKET3_DRAW_INDIRECT_MULTI',
|
831
|
+
'PACKET3_DRAW_PREAMBLE', 'PACKET3_DUMP_CONST_RAM',
|
832
|
+
'PACKET3_EVENT_WRITE', 'PACKET3_FRAME_CONTROL',
|
833
|
+
'PACKET3_INCREMENT_CE_COUNTER', 'PACKET3_INCREMENT_DE_COUNTER',
|
834
|
+
'PACKET3_INDEX_BASE', 'PACKET3_INDEX_BUFFER_SIZE',
|
835
|
+
'PACKET3_INDEX_TYPE', 'PACKET3_INDIRECT_BUFFER',
|
836
|
+
'PACKET3_INDIRECT_BUFFER_CONST', 'PACKET3_INVALIDATE_TLBS',
|
837
|
+
'PACKET3_LOAD_CONFIG_REG', 'PACKET3_LOAD_CONST_RAM',
|
838
|
+
'PACKET3_LOAD_CONTEXT_REG', 'PACKET3_LOAD_SH_REG',
|
839
|
+
'PACKET3_LOAD_UCONFIG_REG', 'PACKET3_MAP_QUEUES',
|
840
|
+
'PACKET3_MEM_SEMAPHORE', 'PACKET3_NOP', 'PACKET3_NUM_INSTANCES',
|
841
|
+
'PACKET3_OCCLUSION_QUERY', 'PACKET3_PFP_SYNC_ME',
|
842
|
+
'PACKET3_PREAMBLE_BEGIN_CLEAR_STATE', 'PACKET3_PREAMBLE_CNTL',
|
843
|
+
'PACKET3_PREAMBLE_END_CLEAR_STATE', 'PACKET3_PRED_EXEC',
|
844
|
+
'PACKET3_QUERY_STATUS', 'PACKET3_REG_RMW', 'PACKET3_RELEASE_MEM',
|
845
|
+
'PACKET3_REWIND', 'PACKET3_RUN_CLEANER_SHADER',
|
846
|
+
'PACKET3_SCRATCH_RAM_READ', 'PACKET3_SCRATCH_RAM_WRITE',
|
847
|
+
'PACKET3_SEM_SEL_SIGNAL', 'PACKET3_SEM_SEL_SIGNAL_TYPE',
|
848
|
+
'PACKET3_SEM_SEL_WAIT', 'PACKET3_SEM_USE_MAILBOX',
|
849
|
+
'PACKET3_SET_BASE', 'PACKET3_SET_CONFIG_REG',
|
850
|
+
'PACKET3_SET_CONFIG_REG_END', 'PACKET3_SET_CONFIG_REG_START',
|
851
|
+
'PACKET3_SET_CONTEXT_REG', 'PACKET3_SET_CONTEXT_REG_END',
|
852
|
+
'PACKET3_SET_CONTEXT_REG_INDIRECT',
|
853
|
+
'PACKET3_SET_CONTEXT_REG_START', 'PACKET3_SET_PREDICATION',
|
854
|
+
'PACKET3_SET_QUEUE_REG', 'PACKET3_SET_RESOURCES',
|
855
|
+
'PACKET3_SET_SH_REG', 'PACKET3_SET_SH_REG_END',
|
856
|
+
'PACKET3_SET_SH_REG_OFFSET', 'PACKET3_SET_SH_REG_START',
|
857
|
+
'PACKET3_SET_UCONFIG_REG', 'PACKET3_SET_UCONFIG_REG_END',
|
858
|
+
'PACKET3_SET_UCONFIG_REG_INDEX_TYPE',
|
859
|
+
'PACKET3_SET_UCONFIG_REG_START', 'PACKET3_STRMOUT_BUFFER_UPDATE',
|
860
|
+
'PACKET3_SWITCH_BUFFER', 'PACKET3_UNMAP_QUEUES',
|
861
|
+
'PACKET3_WAIT_ON_CE_COUNTER', 'PACKET3_WAIT_ON_DE_COUNTER_DIFF',
|
862
|
+
'PACKET3_WAIT_REG_MEM', 'PACKET3_WRITE_CONST_RAM',
|
863
|
+
'PACKET3_WRITE_DATA', 'PACKETJ_CONDITION_CHECK0',
|
864
|
+
'PACKETJ_CONDITION_CHECK1', 'PACKETJ_CONDITION_CHECK2',
|
865
|
+
'PACKETJ_CONDITION_CHECK3', 'PACKETJ_CONDITION_CHECK4',
|
866
|
+
'PACKETJ_CONDITION_CHECK5', 'PACKETJ_CONDITION_CHECK6',
|
867
|
+
'PACKETJ_CONDITION_CHECK7', 'PACKETJ_TYPE0', 'PACKETJ_TYPE1',
|
868
|
+
'PACKETJ_TYPE2', 'PACKETJ_TYPE3', 'PACKETJ_TYPE4',
|
869
|
+
'PACKETJ_TYPE5', 'PACKETJ_TYPE6', 'PACKETJ_TYPE7', 'PACKET_TYPE0',
|
870
|
+
'PACKET_TYPE1', 'PACKET_TYPE2', 'PACKET_TYPE3',
|
871
|
+
'PM4_MEC_RELEASE_MEM_DEFINED', 'PM4_MEC_WRITE_DATA_DEFINED',
|
872
|
+
'PM4_MES_HEADER_DEFINED', 'SOC15_H', 'VCE_CMD_END',
|
873
|
+
'VCE_CMD_FENCE', 'VCE_CMD_FLUSH_TLB', 'VCE_CMD_IB',
|
874
|
+
'VCE_CMD_IB_AUTO', 'VCE_CMD_IB_VM', 'VCE_CMD_NO_OP',
|
875
|
+
'VCE_CMD_REG_WAIT', 'VCE_CMD_REG_WRITE', 'VCE_CMD_SEMAPHORE',
|
876
|
+
'VCE_CMD_TRAP', 'VCE_CMD_UPDATE_PTB', 'VCE_CMD_WAIT_GE',
|
877
|
+
'WRITE_DATA_addr_incr_enum', 'WRITE_DATA_cache_policy_enum',
|
878
|
+
'WRITE_DATA_dst_sel_enum', 'WRITE_DATA_wr_confirm_enum',
|
879
|
+
'WR_CONFIRM', 'WR_ONE_ADDR',
|
880
|
+
'addr_incr___write_data__do_not_increment_address',
|
881
|
+
'addr_incr___write_data__increment_address',
|
882
|
+
'c__Ea_CACHE_FLUSH_AND_INV_TS_EVENT', 'c_uint32', 'c_uint32',
|
883
|
+
'c_uint32', 'c_uint32', 'c_uint32', 'c_uint32',
|
884
|
+
'cache_policy___write_data__lru',
|
885
|
+
'cache_policy___write_data__stream',
|
886
|
+
'cache_policy__mec_release_mem__lru',
|
887
|
+
'cache_policy__mec_release_mem__stream',
|
888
|
+
'data_sel__mec_release_mem__none',
|
889
|
+
'data_sel__mec_release_mem__send_32_bit_low',
|
890
|
+
'data_sel__mec_release_mem__send_64_bit_data',
|
891
|
+
'data_sel__mec_release_mem__send_cp_perfcounter_hi_lo',
|
892
|
+
'data_sel__mec_release_mem__send_gpu_clock_counter',
|
893
|
+
'data_sel__mec_release_mem__store_gds_data_to_memory',
|
894
|
+
'dst_sel___write_data__gds',
|
895
|
+
'dst_sel___write_data__mem_mapped_register',
|
896
|
+
'dst_sel___write_data__memory',
|
897
|
+
'dst_sel___write_data__memory_mapped_adc_persistent_state',
|
898
|
+
'dst_sel___write_data__tc_l2',
|
899
|
+
'dst_sel__mec_release_mem__memory_controller',
|
900
|
+
'dst_sel__mec_release_mem__queue_write_pointer_poll_mask_bit',
|
901
|
+
'dst_sel__mec_release_mem__queue_write_pointer_register',
|
902
|
+
'dst_sel__mec_release_mem__tc_l2',
|
903
|
+
'event_index__mec_release_mem__end_of_pipe',
|
904
|
+
'event_index__mec_release_mem__shader_done', 'int32_t',
|
905
|
+
'int_sel__mec_release_mem__conditionally_send_int_ctxid_based_on_32_bit_compare',
|
906
|
+
'int_sel__mec_release_mem__conditionally_send_int_ctxid_based_on_64_bit_compare',
|
907
|
+
'int_sel__mec_release_mem__none',
|
908
|
+
'int_sel__mec_release_mem__send_data_after_write_confirm',
|
909
|
+
'int_sel__mec_release_mem__send_interrupt_after_write_confirm',
|
910
|
+
'int_sel__mec_release_mem__send_interrupt_only',
|
911
|
+
'int_sel__mec_release_mem__unconditionally_send_int_ctxid',
|
912
|
+
'pq_exe_status__mec_release_mem__default',
|
913
|
+
'pq_exe_status__mec_release_mem__phase_update',
|
914
|
+
'struct_PM4_MES_TYPE_3_HEADER_0', 'struct_pm4_mec_release_mem',
|
915
|
+
'struct_pm4_mec_release_mem_1_bitfields2',
|
916
|
+
'struct_pm4_mec_release_mem_2_bitfields3',
|
917
|
+
'struct_pm4_mec_release_mem_3_bitfields4',
|
918
|
+
'struct_pm4_mec_release_mem_3_bitfields4b',
|
919
|
+
'struct_pm4_mec_release_mem_5_bitfields6c',
|
920
|
+
'struct_pm4_mec_write_data_mmio',
|
921
|
+
'struct_pm4_mec_write_data_mmio_1_bitfields2',
|
922
|
+
'struct_pm4_mec_write_data_mmio_2_bitfields3', 'uint32_t',
|
923
|
+
'union_PM4_MES_TYPE_3_HEADER', 'union_pm4_mec_release_mem_0',
|
924
|
+
'union_pm4_mec_release_mem_1', 'union_pm4_mec_release_mem_2',
|
925
|
+
'union_pm4_mec_release_mem_3', 'union_pm4_mec_release_mem_4',
|
926
|
+
'union_pm4_mec_release_mem_5', 'union_pm4_mec_release_mem_6',
|
927
|
+
'union_pm4_mec_write_data_mmio_0',
|
928
|
+
'union_pm4_mec_write_data_mmio_1',
|
929
|
+
'union_pm4_mec_write_data_mmio_2',
|
930
|
+
'wr_confirm___write_data__do_not_wait_for_write_confirmation',
|
931
|
+
'wr_confirm___write_data__wait_for_write_confirmation']
|