1 /*
2 * Copyright (c) 2017, Intel Corporation
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included
12 * in all copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
17 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
18 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
19 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
20 * OTHER DEALINGS IN THE SOFTWARE.
21 */
22 //!
23 //! \file mhw_mi_hwcmd_g11_X.cpp
24 //! \brief Auto-generated definitions for MHW commands and states.
25 //!
26
27 #include "mhw_mi_hwcmd_g11_X.h"
28 #include "mos_utilities.h"
29
MI_BATCH_BUFFER_END_CMD()30 mhw_mi_g11_X::MI_BATCH_BUFFER_END_CMD::MI_BATCH_BUFFER_END_CMD()
31 {
32 DW0.Value = 0;
33 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MIBATCHBUFFEREND;
34 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
35
36 }
37
MI_NOOP_CMD()38 mhw_mi_g11_X::MI_NOOP_CMD::MI_NOOP_CMD()
39 {
40 DW0.Value = 0;
41 DW0.IdentificationNumberRegisterWriteEnable = 0;
42 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MINOOP;
43 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
44
45 }
46
MI_ARB_CHECK_CMD()47 mhw_mi_g11_X::MI_ARB_CHECK_CMD::MI_ARB_CHECK_CMD()
48 {
49 DW0.Value = 0;
50 DW0.MiInstructionOpcode = MI_INSTRUCTION_OPCODE_MIARBCHECK;
51 DW0.MiInstructionType = MI_INSTRUCTION_TYPE_MIINSTRUCTION;
52
53 }
54
MI_LOAD_REGISTER_IMM_CMD()55 mhw_mi_g11_X::MI_LOAD_REGISTER_IMM_CMD::MI_LOAD_REGISTER_IMM_CMD()
56 {
57 DW0.Value = 0;
58 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
59 DW0.AddCsMmioStartOffset = ADD_CS_MMIO_START_OFFSET_UNNAMED0;
60 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MILOADREGISTERIMM;
61 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
62
63 DW1.Value = 0;
64
65 DW2.Value = 0;
66
67 }
68
MI_LOAD_REGISTER_MEM_CMD()69 mhw_mi_g11_X::MI_LOAD_REGISTER_MEM_CMD::MI_LOAD_REGISTER_MEM_CMD()
70 {
71 DW0.Value = 0;
72 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
73 DW0.AddCsMmioStartOffset = ADD_CS_MMIO_START_OFFSET_UNNAMED0;
74 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MILOADREGISTERMEM;
75 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
76
77 DW1.Value = 0;
78
79 DW2_3.Value[0] = DW2_3.Value[1] = 0;
80
81 }
82
MI_LOAD_REGISTER_REG_CMD()83 mhw_mi_g11_X::MI_LOAD_REGISTER_REG_CMD::MI_LOAD_REGISTER_REG_CMD()
84 {
85 DW0.Value = 0;
86 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
87 DW0.AddCsMmioStartOffsetSource = ADD_CS_MMIO_START_OFFSET_SOURCE_UNNAMED0;
88 DW0.AddCsMmioStartOffsetDestination = ADD_CS_MMIO_START_OFFSET_DESTINATION_UNNAMED0;
89 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MILOADREGISTERREG;
90 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
91
92 DW1.Value = 0;
93
94 DW2.Value = 0;
95
96 }
97
MI_STORE_REGISTER_MEM_CMD()98 mhw_mi_g11_X::MI_STORE_REGISTER_MEM_CMD::MI_STORE_REGISTER_MEM_CMD()
99 {
100 DW0.Value = 0;
101 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
102 DW0.AddCsMmioStartOffset = ADD_CS_MMIO_START_OFFSET_UNNAMED0;
103 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MISTOREREGISTERMEM;
104 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
105
106 DW1.Value = 0;
107
108 DW2_3.Value[0] = DW2_3.Value[1] = 0;
109
110 }
111
MI_BATCH_BUFFER_START_CMD()112 mhw_mi_g11_X::MI_BATCH_BUFFER_START_CMD::MI_BATCH_BUFFER_START_CMD()
113 {
114 DW0.Value = 0;
115 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
116 DW0.AddressSpaceIndicator = ADDRESS_SPACE_INDICATOR_GGTT;
117 DW0.SecondLevelBatchBuffer = SECOND_LEVEL_BATCH_BUFFER_FIRSTLEVELBATCH;
118 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MIBATCHBUFFERSTART;
119 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
120
121 DW1_2.Value[0] = DW1_2.Value[1] = 0;
122
123 }
124
MI_SET_PREDICATE_CMD()125 mhw_mi_g11_X::MI_SET_PREDICATE_CMD::MI_SET_PREDICATE_CMD()
126 {
127 DW0.Value = 0;
128 DW0.PredicateEnable = PREDICATE_ENABLE_NOOPNEVER;
129 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MISETPREDICATE;
130 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
131
132 }
133
MI_COPY_MEM_MEM_CMD()134 mhw_mi_g11_X::MI_COPY_MEM_MEM_CMD::MI_COPY_MEM_MEM_CMD()
135 {
136 DW0.Value = 0;
137 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
138 DW0.UseGlobalGttDestination = USE_GLOBAL_GTT_DESTINATION_PERPROCESSGRAPHICSADDRESS;
139 DW0.UseGlobalGttSource = USE_GLOBAL_GTT_SOURCE_PERPROCESSGRAPHICSADDRESS;
140 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MIMEMTOMEM;
141 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
142
143 DW1_2.Value[0] = DW1_2.Value[1] = 0;
144
145 DW3_4.Value[0] = DW3_4.Value[1] = 0;
146
147 }
148
MI_STORE_DATA_IMM_CMD()149 mhw_mi_g11_X::MI_STORE_DATA_IMM_CMD::MI_STORE_DATA_IMM_CMD()
150 {
151 DW0.Value = 0;
152 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
153 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MISTOREDATAIMM;
154 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
155
156 DW1_2.Value[0] = DW1_2.Value[1] = 0;
157
158 DW3.Value = 0;
159
160 DW4.Value = 0;
161
162 }
163
MI_SEMAPHORE_SIGNAL_CMD()164 mhw_mi_g11_X::MI_SEMAPHORE_SIGNAL_CMD::MI_SEMAPHORE_SIGNAL_CMD()
165 {
166 DW0.Value = 0;
167 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
168 DW0.TargetEngineSelect = TARGET_ENGINE_SELECT_RCS;
169 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MISEMAPHORESIGNAL;
170 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
171
172 DW1.Value = 0;
173
174 }
175
MI_SEMAPHORE_WAIT_CMD()176 mhw_mi_g11_X::MI_SEMAPHORE_WAIT_CMD::MI_SEMAPHORE_WAIT_CMD()
177 {
178 DW0.Value = 0;
179 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
180 DW0.CompareOperation = COMPARE_OPERATION_SADGREATERTHANSDD;
181 DW0.WaitMode = WAIT_MODE_SIGNALMODE;
182 DW0.RegisterPollMode = REGISTER_POLL_MODE_REGISTERPOLL;
183 DW0.MemoryType = MEMORY_TYPE_PERPROCESSGRAPHICSADDRESS;
184 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MISEMAPHOREWAIT;
185 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
186
187 DW1.Value = 0;
188
189 DW2_3.Value[0] = DW2_3.Value[1] = 0;
190
191 }
192
MI_CONDITIONAL_BATCH_BUFFER_END_CMD()193 mhw_mi_g11_X::MI_CONDITIONAL_BATCH_BUFFER_END_CMD::MI_CONDITIONAL_BATCH_BUFFER_END_CMD()
194 {
195 DW0.Value = 0;
196 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
197 DW0.CompareMaskMode = COMPARE_MASK_MODE_COMPAREMASKMODEDISABLED;
198 DW0.CompareSemaphore = COMPARE_SEMAPHORE_UNNAMED0;
199 DW0.UseGlobalGtt = USE_GLOBAL_GTT_UNNAMED0;
200 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MICONDITIONALBATCHBUFFEREND;
201 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
202
203 DW1.Value = 0;
204
205 DW2_3.Value[0] = DW2_3.Value[1] = 0;
206
207 }
208
MI_ATOMIC_CMD()209 mhw_mi_g11_X::MI_ATOMIC_CMD::MI_ATOMIC_CMD()
210 {
211 DW0.Value = 0;
212 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
213 DW0.DataSize = DATA_SIZE_DWORD;
214 DW0.MemoryType = MEMORY_TYPE_PERPROCESSGRAPHICSADDRESS;
215 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MIATOMIC;
216 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
217
218 DW1.Value = 0;
219
220 DW2.Value = 0;
221
222 DW3.Value = 0;
223
224 DW4.Value = 0;
225
226 DW5.Value = 0;
227
228 DW6.Value = 0;
229
230 DW7.Value = 0;
231
232 DW8.Value = 0;
233
234 DW9.Value = 0;
235
236 DW10.Value = 0;
237
238 }
239
MI_MATH_CMD()240 mhw_mi_g11_X::MI_MATH_CMD::MI_MATH_CMD()
241 {
242 DW0.Value = 0;
243 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
244 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MIMATH;
245 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
246
247 }
248
MI_FLUSH_DW_CMD()249 mhw_mi_g11_X::MI_FLUSH_DW_CMD::MI_FLUSH_DW_CMD()
250 {
251 DW0.Value = 0;
252 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
253 DW0.PostSyncOperation = POST_SYNC_OPERATION_NOWRITE;
254 DW0.MiCommandOpcode = MI_COMMAND_OPCODE_MIFLUSHDW;
255 DW0.CommandType = COMMAND_TYPE_MICOMMAND;
256
257 DW1_2.Value[0] = DW1_2.Value[1] = 0;
258 DW1_2.DestinationAddressType = DESTINATION_ADDRESS_TYPE_PPGTT;
259
260 DW3_4.Value[0] = DW3_4.Value[1] = 0;
261
262 }
263
PIPE_CONTROL_CMD()264 mhw_mi_g11_X::PIPE_CONTROL_CMD::PIPE_CONTROL_CMD()
265 {
266 DW0.Value = 0;
267 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
268 DW0.Command3DSubOpcode = _3D_COMMAND_SUB_OPCODE_PIPECONTROL;
269 DW0.Command3DOpcode = _3D_COMMAND_OPCODE_PIPECONTROL;
270 DW0.CommandSubtype = COMMAND_SUBTYPE_GFXPIPE3D;
271 DW0.CommandType = COMMAND_TYPE_GFXPIPE;
272
273 DW1.Value = 0;
274 DW1.DepthCacheFlushEnable = DEPTH_CACHE_FLUSH_ENABLE_FLUSHDISABLED;
275 DW1.StallAtPixelScoreboard = STALL_AT_PIXEL_SCOREBOARD_DISABLE;
276 DW1.RenderTargetCacheFlushEnable = RENDER_TARGET_CACHE_FLUSH_ENABLE_DISABLEFLUSH;
277 DW1.DepthStallEnable = DEPTH_STALL_ENABLE_DISABLE;
278 DW1.PostSyncOperation = POST_SYNC_OPERATION_NOWRITE;
279 DW1.GlobalSnapshotCountReset = GLOBAL_SNAPSHOT_COUNT_RESET_DONTRESET;
280 DW1.LriPostSyncOperation = LRI_POST_SYNC_OPERATION_NOLRIOPERATION;
281 DW1.DestinationAddressType = DESTINATION_ADDRESS_TYPE_PPGTT;
282 DW1.TileCacheFlushEnable = TILE_CACHE_FLUSH_ENABLE_UNNAMED0;
283
284 DW2.Value = 0;
285
286 DW3.Value = 0;
287
288 DW4_5.Value[0] = DW4_5.Value[1] = 0;
289
290 }
291
MFX_WAIT_CMD()292 mhw_mi_g11_X::MFX_WAIT_CMD::MFX_WAIT_CMD()
293 {
294 DW0.Value = 0;
295 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
296 DW0.SubOpcode = SUB_OPCODE_MFXWAIT;
297 DW0.CommandSubtype = COMMAND_SUBTYPE_MFXSINGLEDW;
298 DW0.CommandType = COMMAND_TYPE_PARALLELVIDEOPIPE;
299
300 }
301
MEDIA_STATE_FLUSH_CMD()302 mhw_mi_g11_X::MEDIA_STATE_FLUSH_CMD::MEDIA_STATE_FLUSH_CMD()
303 {
304 DW0.Value = 0;
305 DW0.DwordLength = __CODEGEN_OP_LENGTH(dwSize);
306 DW0.Subopcode = SUBOPCODE_MEDIASTATEFLUSHSUBOP;
307 DW0.MediaCommandOpcode = MEDIA_COMMAND_OPCODE_MEDIASTATEFLUSH;
308 DW0.Pipeline = PIPELINE_MEDIA;
309 DW0.CommandType = COMMAND_TYPE_GFXPIPE;
310
311 DW1.Value = 0;
312
313 }
314
315