xref: /aosp_15_r20/external/intel-media-driver/media_driver/agnostic/gen11/hw/mhw_mi_hwcmd_g11_X.cpp (revision ba62d9d3abf0e404f2022b4cd7a85e107f48596f)
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