4 /* Autogenerated file, DO NOT EDIT manually!
6 This file was generated by the rules-ng-ng headergen tool in this git repository:
7 http://github.com/freedreno/envytools/
8 git clone https://github.com/freedreno/envytools.git
10 The rules-ng-ng source files this header was generated from are:
11 - /home/robclark/src/freedreno/envytools/rnndb/adreno.xml ( 501 bytes, from 2018-01-31 18:26:32)
12 - /home/robclark/src/freedreno/envytools/rnndb/freedreno_copyright.xml ( 1572 bytes, from 2018-01-08 14:56:24)
13 - /home/robclark/src/freedreno/envytools/rnndb/adreno/a2xx.xml ( 36805 bytes, from 2018-05-20 19:03:35)
14 - /home/robclark/src/freedreno/envytools/rnndb/adreno/adreno_common.xml ( 13634 bytes, from 2018-06-10 17:35:36)
15 - /home/robclark/src/freedreno/envytools/rnndb/adreno/adreno_pm4.xml ( 41584 bytes, from 2018-06-18 14:25:44)
16 - /home/robclark/src/freedreno/envytools/rnndb/adreno/a3xx.xml ( 83840 bytes, from 2018-01-10 16:21:40)
17 - /home/robclark/src/freedreno/envytools/rnndb/adreno/a4xx.xml ( 112086 bytes, from 2018-01-08 14:56:24)
18 - /home/robclark/src/freedreno/envytools/rnndb/adreno/a5xx.xml ( 147158 bytes, from 2018-06-18 14:25:44)
19 - /home/robclark/src/freedreno/envytools/rnndb/adreno/a6xx.xml ( 88437 bytes, from 2018-06-18 14:25:44)
20 - /home/robclark/src/freedreno/envytools/rnndb/adreno/a6xx_gmu.xml ( 10431 bytes, from 2018-06-10 17:37:04)
21 - /home/robclark/src/freedreno/envytools/rnndb/adreno/ocmem.xml ( 1773 bytes, from 2018-01-08 14:56:24)
23 Copyright (C) 2013-2018 by the following authors:
24 - Rob Clark <robdclark@gmail.com> (robclark)
25 - Ilia Mirkin <imirkin@alum.mit.edu> (imirkin)
27 Permission is hereby granted, free of charge, to any person obtaining
28 a copy of this software and associated documentation files (the
29 "Software"), to deal in the Software without restriction, including
30 without limitation the rights to use, copy, modify, merge, publish,
31 distribute, sublicense, and/or sell copies of the Software, and to
32 permit persons to whom the Software is furnished to do so, subject to
33 the following conditions:
35 The above copyright notice and this permission notice (including the
36 next paragraph) shall be included in all copies or substantial
37 portions of the Software.
39 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
40 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
41 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
42 IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
43 LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
44 OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
45 WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
65 CACHE_FLUSH_AND_INV_TS_EVENT
= 20,
67 CACHE_FLUSH_AND_INV_EVENT
= 22,
68 PERFCOUNTER_START
= 23,
69 PERFCOUNTER_STOP
= 24,
76 PC_CCU_INVALIDATE_DEPTH
= 24,
77 PC_CCU_INVALIDATE_COLOR
= 25,
89 DI_PT_POINTLIST_PSIZE
= 1,
99 DI_PT_LINESTRIP_ADJ
= 11,
101 DI_PT_TRISTRIP_ADJ
= 13,
106 DI_SRC_SEL_IMMEDIATE
= 1,
107 DI_SRC_SEL_AUTO_INDEX
= 2,
108 DI_SRC_SEL_RESERVED
= 3,
111 enum pc_di_index_size
{
113 INDEX_SIZE_16_BIT
= 0,
114 INDEX_SIZE_32_BIT
= 1,
115 INDEX_SIZE_8_BIT
= 2,
116 INDEX_SIZE_INVALID
= 0,
119 enum pc_di_vis_cull_mode
{
120 IGNORE_VISIBILITY
= 0,
124 enum adreno_pm4_packet_type
{
126 CP_TYPE1_PKT
= 0x40000000,
127 CP_TYPE2_PKT
= 0x80000000,
128 CP_TYPE3_PKT
= 0xc0000000,
129 CP_TYPE4_PKT
= 0x40000000,
130 CP_TYPE7_PKT
= 0x70000000,
133 enum adreno_pm4_type3_packets
{
136 CP_PREEMPT_ENABLE
= 28,
137 CP_PREEMPT_TOKEN
= 30,
138 CP_INDIRECT_BUFFER
= 63,
139 CP_INDIRECT_BUFFER_PFD
= 55,
140 CP_WAIT_FOR_IDLE
= 38,
141 CP_WAIT_REG_MEM
= 60,
143 CP_WAIT_REG_GTE
= 83,
144 CP_WAIT_UNTIL_READ
= 92,
145 CP_WAIT_IB_PFD_COMPLETE
= 93,
147 CP_SET_BIN_DATA
= 47,
148 CP_SET_BIN_DATA5
= 47,
151 CP_MEM_WRITE_CNTR
= 79,
156 CP_EVENT_WRITE_SHD
= 88,
157 CP_EVENT_WRITE_CFL
= 89,
158 CP_EVENT_WRITE_ZPD
= 91,
162 CP_DRAW_INDX_BIN
= 52,
163 CP_DRAW_INDX_2_BIN
= 53,
166 CP_SET_CONSTANT
= 45,
168 CP_IM_LOAD_IMMEDIATE
= 43,
169 CP_LOAD_CONSTANT_CONTEXT
= 46,
170 CP_INVALIDATE_STATE
= 59,
171 CP_SET_SHADER_BASES
= 74,
172 CP_SET_BIN_MASK
= 80,
173 CP_SET_BIN_SELECT
= 81,
174 CP_CONTEXT_UPDATE
= 94,
177 CP_SET_DRAW_INIT_FLAGS
= 75,
178 CP_SET_PROTECTED_MODE
= 95,
179 CP_BOOTSTRAP_UCODE
= 111,
182 CP_COND_INDIRECT_BUFFER_PFE
= 58,
183 CP_COND_INDIRECT_BUFFER_PFD
= 50,
184 CP_INDIRECT_BUFFER_PFE
= 63,
186 CP_TEST_TWO_MEMS
= 113,
187 CP_REG_WR_NO_CTXT
= 120,
188 CP_RECORD_PFP_TIMESTAMP
= 17,
189 CP_SET_SECURE_MODE
= 102,
191 CP_SET_DRAW_STATE
= 67,
192 CP_DRAW_INDX_OFFSET
= 56,
193 CP_DRAW_INDIRECT
= 40,
194 CP_DRAW_INDX_INDIRECT
= 41,
199 CP_WIDE_REG_WRITE
= 116,
200 CP_SCRATCH_TO_REG
= 77,
201 CP_REG_TO_SCRATCH
= 74,
202 CP_WAIT_MEM_WRITES
= 18,
203 CP_COND_REG_EXEC
= 71,
205 CP_EXEC_CS_INDIRECT
= 65,
207 CP_PERFCOUNTER_ACTION
= 80,
208 CP_SMMU_TABLE_UPDATE
= 83,
210 CP_SET_PSEUDO_REG
= 86,
211 CP_CONTEXT_REG_BUNCH
= 92,
212 CP_YIELD_ENABLE
= 28,
213 CP_SKIP_IB2_ENABLE_GLOBAL
= 29,
214 CP_SKIP_IB2_ENABLE_LOCAL
= 35,
215 CP_SET_SUBDRAW_SIZE
= 53,
216 CP_SET_VISIBILITY_OVERRIDE
= 100,
217 CP_PREEMPT_ENABLE_GLOBAL
= 105,
218 CP_PREEMPT_ENABLE_LOCAL
= 106,
219 CP_CONTEXT_SWITCH_YIELD
= 107,
220 CP_SET_RENDER_MODE
= 108,
221 CP_COMPUTE_CHECKPOINT
= 110,
225 IN_IB_PREFETCH_END
= 23,
226 IN_SUBBLK_PREFETCH
= 31,
227 IN_INSTR_PREFETCH
= 32,
229 IN_CONST_PREFETCH
= 73,
230 IN_INCR_UPDT_STATE
= 85,
231 IN_INCR_UPDT_CONST
= 86,
232 IN_INCR_UPDT_INSTR
= 87,
236 enum adreno_state_block
{
244 SB_COMPUTE_SHADER
= 7,
247 enum adreno_state_type
{
252 enum adreno_state_src
{
254 SS_INVALID_ALL_IC
= 2,
255 SS_INVALID_PART_IC
= 3,
261 enum a4xx_state_block
{
278 enum a4xx_state_type
{
283 enum a4xx_state_src
{
288 enum a4xx_index_size
{
289 INDEX4_SIZE_8_BIT
= 0,
290 INDEX4_SIZE_16_BIT
= 1,
291 INDEX4_SIZE_32_BIT
= 2,
294 enum cp_cond_function
{
304 enum render_mode_cmd
{
319 #define REG_CP_LOAD_STATE_0 0x00000000
320 #define CP_LOAD_STATE_0_DST_OFF__MASK 0x0000ffff
321 #define CP_LOAD_STATE_0_DST_OFF__SHIFT 0
322 static inline uint32_t CP_LOAD_STATE_0_DST_OFF(uint32_t val
)
324 return ((val
) << CP_LOAD_STATE_0_DST_OFF__SHIFT
) & CP_LOAD_STATE_0_DST_OFF__MASK
;
326 #define CP_LOAD_STATE_0_STATE_SRC__MASK 0x00070000
327 #define CP_LOAD_STATE_0_STATE_SRC__SHIFT 16
328 static inline uint32_t CP_LOAD_STATE_0_STATE_SRC(enum adreno_state_src val
)
330 return ((val
) << CP_LOAD_STATE_0_STATE_SRC__SHIFT
) & CP_LOAD_STATE_0_STATE_SRC__MASK
;
332 #define CP_LOAD_STATE_0_STATE_BLOCK__MASK 0x00380000
333 #define CP_LOAD_STATE_0_STATE_BLOCK__SHIFT 19
334 static inline uint32_t CP_LOAD_STATE_0_STATE_BLOCK(enum adreno_state_block val
)
336 return ((val
) << CP_LOAD_STATE_0_STATE_BLOCK__SHIFT
) & CP_LOAD_STATE_0_STATE_BLOCK__MASK
;
338 #define CP_LOAD_STATE_0_NUM_UNIT__MASK 0xffc00000
339 #define CP_LOAD_STATE_0_NUM_UNIT__SHIFT 22
340 static inline uint32_t CP_LOAD_STATE_0_NUM_UNIT(uint32_t val
)
342 return ((val
) << CP_LOAD_STATE_0_NUM_UNIT__SHIFT
) & CP_LOAD_STATE_0_NUM_UNIT__MASK
;
345 #define REG_CP_LOAD_STATE_1 0x00000001
346 #define CP_LOAD_STATE_1_STATE_TYPE__MASK 0x00000003
347 #define CP_LOAD_STATE_1_STATE_TYPE__SHIFT 0
348 static inline uint32_t CP_LOAD_STATE_1_STATE_TYPE(enum adreno_state_type val
)
350 return ((val
) << CP_LOAD_STATE_1_STATE_TYPE__SHIFT
) & CP_LOAD_STATE_1_STATE_TYPE__MASK
;
352 #define CP_LOAD_STATE_1_EXT_SRC_ADDR__MASK 0xfffffffc
353 #define CP_LOAD_STATE_1_EXT_SRC_ADDR__SHIFT 2
354 static inline uint32_t CP_LOAD_STATE_1_EXT_SRC_ADDR(uint32_t val
)
356 assert(!(val
& 0x3));
357 return ((val
>> 2) << CP_LOAD_STATE_1_EXT_SRC_ADDR__SHIFT
) & CP_LOAD_STATE_1_EXT_SRC_ADDR__MASK
;
360 #define REG_CP_LOAD_STATE4_0 0x00000000
361 #define CP_LOAD_STATE4_0_DST_OFF__MASK 0x00003fff
362 #define CP_LOAD_STATE4_0_DST_OFF__SHIFT 0
363 static inline uint32_t CP_LOAD_STATE4_0_DST_OFF(uint32_t val
)
365 return ((val
) << CP_LOAD_STATE4_0_DST_OFF__SHIFT
) & CP_LOAD_STATE4_0_DST_OFF__MASK
;
367 #define CP_LOAD_STATE4_0_STATE_SRC__MASK 0x00030000
368 #define CP_LOAD_STATE4_0_STATE_SRC__SHIFT 16
369 static inline uint32_t CP_LOAD_STATE4_0_STATE_SRC(enum a4xx_state_src val
)
371 return ((val
) << CP_LOAD_STATE4_0_STATE_SRC__SHIFT
) & CP_LOAD_STATE4_0_STATE_SRC__MASK
;
373 #define CP_LOAD_STATE4_0_STATE_BLOCK__MASK 0x003c0000
374 #define CP_LOAD_STATE4_0_STATE_BLOCK__SHIFT 18
375 static inline uint32_t CP_LOAD_STATE4_0_STATE_BLOCK(enum a4xx_state_block val
)
377 return ((val
) << CP_LOAD_STATE4_0_STATE_BLOCK__SHIFT
) & CP_LOAD_STATE4_0_STATE_BLOCK__MASK
;
379 #define CP_LOAD_STATE4_0_NUM_UNIT__MASK 0xffc00000
380 #define CP_LOAD_STATE4_0_NUM_UNIT__SHIFT 22
381 static inline uint32_t CP_LOAD_STATE4_0_NUM_UNIT(uint32_t val
)
383 return ((val
) << CP_LOAD_STATE4_0_NUM_UNIT__SHIFT
) & CP_LOAD_STATE4_0_NUM_UNIT__MASK
;
386 #define REG_CP_LOAD_STATE4_1 0x00000001
387 #define CP_LOAD_STATE4_1_STATE_TYPE__MASK 0x00000003
388 #define CP_LOAD_STATE4_1_STATE_TYPE__SHIFT 0
389 static inline uint32_t CP_LOAD_STATE4_1_STATE_TYPE(enum a4xx_state_type val
)
391 return ((val
) << CP_LOAD_STATE4_1_STATE_TYPE__SHIFT
) & CP_LOAD_STATE4_1_STATE_TYPE__MASK
;
393 #define CP_LOAD_STATE4_1_EXT_SRC_ADDR__MASK 0xfffffffc
394 #define CP_LOAD_STATE4_1_EXT_SRC_ADDR__SHIFT 2
395 static inline uint32_t CP_LOAD_STATE4_1_EXT_SRC_ADDR(uint32_t val
)
397 assert(!(val
& 0x3));
398 return ((val
>> 2) << CP_LOAD_STATE4_1_EXT_SRC_ADDR__SHIFT
) & CP_LOAD_STATE4_1_EXT_SRC_ADDR__MASK
;
401 #define REG_CP_LOAD_STATE4_2 0x00000002
402 #define CP_LOAD_STATE4_2_EXT_SRC_ADDR_HI__MASK 0xffffffff
403 #define CP_LOAD_STATE4_2_EXT_SRC_ADDR_HI__SHIFT 0
404 static inline uint32_t CP_LOAD_STATE4_2_EXT_SRC_ADDR_HI(uint32_t val
)
406 return ((val
) << CP_LOAD_STATE4_2_EXT_SRC_ADDR_HI__SHIFT
) & CP_LOAD_STATE4_2_EXT_SRC_ADDR_HI__MASK
;
409 #define REG_CP_DRAW_INDX_0 0x00000000
410 #define CP_DRAW_INDX_0_VIZ_QUERY__MASK 0xffffffff
411 #define CP_DRAW_INDX_0_VIZ_QUERY__SHIFT 0
412 static inline uint32_t CP_DRAW_INDX_0_VIZ_QUERY(uint32_t val
)
414 return ((val
) << CP_DRAW_INDX_0_VIZ_QUERY__SHIFT
) & CP_DRAW_INDX_0_VIZ_QUERY__MASK
;
417 #define REG_CP_DRAW_INDX_1 0x00000001
418 #define CP_DRAW_INDX_1_PRIM_TYPE__MASK 0x0000003f
419 #define CP_DRAW_INDX_1_PRIM_TYPE__SHIFT 0
420 static inline uint32_t CP_DRAW_INDX_1_PRIM_TYPE(enum pc_di_primtype val
)
422 return ((val
) << CP_DRAW_INDX_1_PRIM_TYPE__SHIFT
) & CP_DRAW_INDX_1_PRIM_TYPE__MASK
;
424 #define CP_DRAW_INDX_1_SOURCE_SELECT__MASK 0x000000c0
425 #define CP_DRAW_INDX_1_SOURCE_SELECT__SHIFT 6
426 static inline uint32_t CP_DRAW_INDX_1_SOURCE_SELECT(enum pc_di_src_sel val
)
428 return ((val
) << CP_DRAW_INDX_1_SOURCE_SELECT__SHIFT
) & CP_DRAW_INDX_1_SOURCE_SELECT__MASK
;
430 #define CP_DRAW_INDX_1_VIS_CULL__MASK 0x00000600
431 #define CP_DRAW_INDX_1_VIS_CULL__SHIFT 9
432 static inline uint32_t CP_DRAW_INDX_1_VIS_CULL(enum pc_di_vis_cull_mode val
)
434 return ((val
) << CP_DRAW_INDX_1_VIS_CULL__SHIFT
) & CP_DRAW_INDX_1_VIS_CULL__MASK
;
436 #define CP_DRAW_INDX_1_INDEX_SIZE__MASK 0x00000800
437 #define CP_DRAW_INDX_1_INDEX_SIZE__SHIFT 11
438 static inline uint32_t CP_DRAW_INDX_1_INDEX_SIZE(enum pc_di_index_size val
)
440 return ((val
) << CP_DRAW_INDX_1_INDEX_SIZE__SHIFT
) & CP_DRAW_INDX_1_INDEX_SIZE__MASK
;
442 #define CP_DRAW_INDX_1_NOT_EOP 0x00001000
443 #define CP_DRAW_INDX_1_SMALL_INDEX 0x00002000
444 #define CP_DRAW_INDX_1_PRE_DRAW_INITIATOR_ENABLE 0x00004000
445 #define CP_DRAW_INDX_1_NUM_INSTANCES__MASK 0xff000000
446 #define CP_DRAW_INDX_1_NUM_INSTANCES__SHIFT 24
447 static inline uint32_t CP_DRAW_INDX_1_NUM_INSTANCES(uint32_t val
)
449 return ((val
) << CP_DRAW_INDX_1_NUM_INSTANCES__SHIFT
) & CP_DRAW_INDX_1_NUM_INSTANCES__MASK
;
452 #define REG_CP_DRAW_INDX_2 0x00000002
453 #define CP_DRAW_INDX_2_NUM_INDICES__MASK 0xffffffff
454 #define CP_DRAW_INDX_2_NUM_INDICES__SHIFT 0
455 static inline uint32_t CP_DRAW_INDX_2_NUM_INDICES(uint32_t val
)
457 return ((val
) << CP_DRAW_INDX_2_NUM_INDICES__SHIFT
) & CP_DRAW_INDX_2_NUM_INDICES__MASK
;
460 #define REG_CP_DRAW_INDX_3 0x00000003
461 #define CP_DRAW_INDX_3_INDX_BASE__MASK 0xffffffff
462 #define CP_DRAW_INDX_3_INDX_BASE__SHIFT 0
463 static inline uint32_t CP_DRAW_INDX_3_INDX_BASE(uint32_t val
)
465 return ((val
) << CP_DRAW_INDX_3_INDX_BASE__SHIFT
) & CP_DRAW_INDX_3_INDX_BASE__MASK
;
468 #define REG_CP_DRAW_INDX_4 0x00000004
469 #define CP_DRAW_INDX_4_INDX_SIZE__MASK 0xffffffff
470 #define CP_DRAW_INDX_4_INDX_SIZE__SHIFT 0
471 static inline uint32_t CP_DRAW_INDX_4_INDX_SIZE(uint32_t val
)
473 return ((val
) << CP_DRAW_INDX_4_INDX_SIZE__SHIFT
) & CP_DRAW_INDX_4_INDX_SIZE__MASK
;
476 #define REG_CP_DRAW_INDX_2_0 0x00000000
477 #define CP_DRAW_INDX_2_0_VIZ_QUERY__MASK 0xffffffff
478 #define CP_DRAW_INDX_2_0_VIZ_QUERY__SHIFT 0
479 static inline uint32_t CP_DRAW_INDX_2_0_VIZ_QUERY(uint32_t val
)
481 return ((val
) << CP_DRAW_INDX_2_0_VIZ_QUERY__SHIFT
) & CP_DRAW_INDX_2_0_VIZ_QUERY__MASK
;
484 #define REG_CP_DRAW_INDX_2_1 0x00000001
485 #define CP_DRAW_INDX_2_1_PRIM_TYPE__MASK 0x0000003f
486 #define CP_DRAW_INDX_2_1_PRIM_TYPE__SHIFT 0
487 static inline uint32_t CP_DRAW_INDX_2_1_PRIM_TYPE(enum pc_di_primtype val
)
489 return ((val
) << CP_DRAW_INDX_2_1_PRIM_TYPE__SHIFT
) & CP_DRAW_INDX_2_1_PRIM_TYPE__MASK
;
491 #define CP_DRAW_INDX_2_1_SOURCE_SELECT__MASK 0x000000c0
492 #define CP_DRAW_INDX_2_1_SOURCE_SELECT__SHIFT 6
493 static inline uint32_t CP_DRAW_INDX_2_1_SOURCE_SELECT(enum pc_di_src_sel val
)
495 return ((val
) << CP_DRAW_INDX_2_1_SOURCE_SELECT__SHIFT
) & CP_DRAW_INDX_2_1_SOURCE_SELECT__MASK
;
497 #define CP_DRAW_INDX_2_1_VIS_CULL__MASK 0x00000600
498 #define CP_DRAW_INDX_2_1_VIS_CULL__SHIFT 9
499 static inline uint32_t CP_DRAW_INDX_2_1_VIS_CULL(enum pc_di_vis_cull_mode val
)
501 return ((val
) << CP_DRAW_INDX_2_1_VIS_CULL__SHIFT
) & CP_DRAW_INDX_2_1_VIS_CULL__MASK
;
503 #define CP_DRAW_INDX_2_1_INDEX_SIZE__MASK 0x00000800
504 #define CP_DRAW_INDX_2_1_INDEX_SIZE__SHIFT 11
505 static inline uint32_t CP_DRAW_INDX_2_1_INDEX_SIZE(enum pc_di_index_size val
)
507 return ((val
) << CP_DRAW_INDX_2_1_INDEX_SIZE__SHIFT
) & CP_DRAW_INDX_2_1_INDEX_SIZE__MASK
;
509 #define CP_DRAW_INDX_2_1_NOT_EOP 0x00001000
510 #define CP_DRAW_INDX_2_1_SMALL_INDEX 0x00002000
511 #define CP_DRAW_INDX_2_1_PRE_DRAW_INITIATOR_ENABLE 0x00004000
512 #define CP_DRAW_INDX_2_1_NUM_INSTANCES__MASK 0xff000000
513 #define CP_DRAW_INDX_2_1_NUM_INSTANCES__SHIFT 24
514 static inline uint32_t CP_DRAW_INDX_2_1_NUM_INSTANCES(uint32_t val
)
516 return ((val
) << CP_DRAW_INDX_2_1_NUM_INSTANCES__SHIFT
) & CP_DRAW_INDX_2_1_NUM_INSTANCES__MASK
;
519 #define REG_CP_DRAW_INDX_2_2 0x00000002
520 #define CP_DRAW_INDX_2_2_NUM_INDICES__MASK 0xffffffff
521 #define CP_DRAW_INDX_2_2_NUM_INDICES__SHIFT 0
522 static inline uint32_t CP_DRAW_INDX_2_2_NUM_INDICES(uint32_t val
)
524 return ((val
) << CP_DRAW_INDX_2_2_NUM_INDICES__SHIFT
) & CP_DRAW_INDX_2_2_NUM_INDICES__MASK
;
527 #define REG_CP_DRAW_INDX_OFFSET_0 0x00000000
528 #define CP_DRAW_INDX_OFFSET_0_PRIM_TYPE__MASK 0x0000003f
529 #define CP_DRAW_INDX_OFFSET_0_PRIM_TYPE__SHIFT 0
530 static inline uint32_t CP_DRAW_INDX_OFFSET_0_PRIM_TYPE(enum pc_di_primtype val
)
532 return ((val
) << CP_DRAW_INDX_OFFSET_0_PRIM_TYPE__SHIFT
) & CP_DRAW_INDX_OFFSET_0_PRIM_TYPE__MASK
;
534 #define CP_DRAW_INDX_OFFSET_0_SOURCE_SELECT__MASK 0x000000c0
535 #define CP_DRAW_INDX_OFFSET_0_SOURCE_SELECT__SHIFT 6
536 static inline uint32_t CP_DRAW_INDX_OFFSET_0_SOURCE_SELECT(enum pc_di_src_sel val
)
538 return ((val
) << CP_DRAW_INDX_OFFSET_0_SOURCE_SELECT__SHIFT
) & CP_DRAW_INDX_OFFSET_0_SOURCE_SELECT__MASK
;
540 #define CP_DRAW_INDX_OFFSET_0_VIS_CULL__MASK 0x00000300
541 #define CP_DRAW_INDX_OFFSET_0_VIS_CULL__SHIFT 8
542 static inline uint32_t CP_DRAW_INDX_OFFSET_0_VIS_CULL(enum pc_di_vis_cull_mode val
)
544 return ((val
) << CP_DRAW_INDX_OFFSET_0_VIS_CULL__SHIFT
) & CP_DRAW_INDX_OFFSET_0_VIS_CULL__MASK
;
546 #define CP_DRAW_INDX_OFFSET_0_INDEX_SIZE__MASK 0x00000c00
547 #define CP_DRAW_INDX_OFFSET_0_INDEX_SIZE__SHIFT 10
548 static inline uint32_t CP_DRAW_INDX_OFFSET_0_INDEX_SIZE(enum a4xx_index_size val
)
550 return ((val
) << CP_DRAW_INDX_OFFSET_0_INDEX_SIZE__SHIFT
) & CP_DRAW_INDX_OFFSET_0_INDEX_SIZE__MASK
;
552 #define CP_DRAW_INDX_OFFSET_0_TESS_MODE__MASK 0x01f00000
553 #define CP_DRAW_INDX_OFFSET_0_TESS_MODE__SHIFT 20
554 static inline uint32_t CP_DRAW_INDX_OFFSET_0_TESS_MODE(uint32_t val
)
556 return ((val
) << CP_DRAW_INDX_OFFSET_0_TESS_MODE__SHIFT
) & CP_DRAW_INDX_OFFSET_0_TESS_MODE__MASK
;
559 #define REG_CP_DRAW_INDX_OFFSET_1 0x00000001
560 #define CP_DRAW_INDX_OFFSET_1_NUM_INSTANCES__MASK 0xffffffff
561 #define CP_DRAW_INDX_OFFSET_1_NUM_INSTANCES__SHIFT 0
562 static inline uint32_t CP_DRAW_INDX_OFFSET_1_NUM_INSTANCES(uint32_t val
)
564 return ((val
) << CP_DRAW_INDX_OFFSET_1_NUM_INSTANCES__SHIFT
) & CP_DRAW_INDX_OFFSET_1_NUM_INSTANCES__MASK
;
567 #define REG_CP_DRAW_INDX_OFFSET_2 0x00000002
568 #define CP_DRAW_INDX_OFFSET_2_NUM_INDICES__MASK 0xffffffff
569 #define CP_DRAW_INDX_OFFSET_2_NUM_INDICES__SHIFT 0
570 static inline uint32_t CP_DRAW_INDX_OFFSET_2_NUM_INDICES(uint32_t val
)
572 return ((val
) << CP_DRAW_INDX_OFFSET_2_NUM_INDICES__SHIFT
) & CP_DRAW_INDX_OFFSET_2_NUM_INDICES__MASK
;
575 #define REG_CP_DRAW_INDX_OFFSET_3 0x00000003
577 #define REG_CP_DRAW_INDX_OFFSET_4 0x00000004
578 #define CP_DRAW_INDX_OFFSET_4_INDX_BASE__MASK 0xffffffff
579 #define CP_DRAW_INDX_OFFSET_4_INDX_BASE__SHIFT 0
580 static inline uint32_t CP_DRAW_INDX_OFFSET_4_INDX_BASE(uint32_t val
)
582 return ((val
) << CP_DRAW_INDX_OFFSET_4_INDX_BASE__SHIFT
) & CP_DRAW_INDX_OFFSET_4_INDX_BASE__MASK
;
585 #define REG_CP_DRAW_INDX_OFFSET_5 0x00000005
586 #define CP_DRAW_INDX_OFFSET_5_INDX_SIZE__MASK 0xffffffff
587 #define CP_DRAW_INDX_OFFSET_5_INDX_SIZE__SHIFT 0
588 static inline uint32_t CP_DRAW_INDX_OFFSET_5_INDX_SIZE(uint32_t val
)
590 return ((val
) << CP_DRAW_INDX_OFFSET_5_INDX_SIZE__SHIFT
) & CP_DRAW_INDX_OFFSET_5_INDX_SIZE__MASK
;
593 #define REG_A4XX_CP_DRAW_INDIRECT_0 0x00000000
594 #define A4XX_CP_DRAW_INDIRECT_0_PRIM_TYPE__MASK 0x0000003f
595 #define A4XX_CP_DRAW_INDIRECT_0_PRIM_TYPE__SHIFT 0
596 static inline uint32_t A4XX_CP_DRAW_INDIRECT_0_PRIM_TYPE(enum pc_di_primtype val
)
598 return ((val
) << A4XX_CP_DRAW_INDIRECT_0_PRIM_TYPE__SHIFT
) & A4XX_CP_DRAW_INDIRECT_0_PRIM_TYPE__MASK
;
600 #define A4XX_CP_DRAW_INDIRECT_0_SOURCE_SELECT__MASK 0x000000c0
601 #define A4XX_CP_DRAW_INDIRECT_0_SOURCE_SELECT__SHIFT 6
602 static inline uint32_t A4XX_CP_DRAW_INDIRECT_0_SOURCE_SELECT(enum pc_di_src_sel val
)
604 return ((val
) << A4XX_CP_DRAW_INDIRECT_0_SOURCE_SELECT__SHIFT
) & A4XX_CP_DRAW_INDIRECT_0_SOURCE_SELECT__MASK
;
606 #define A4XX_CP_DRAW_INDIRECT_0_VIS_CULL__MASK 0x00000300
607 #define A4XX_CP_DRAW_INDIRECT_0_VIS_CULL__SHIFT 8
608 static inline uint32_t A4XX_CP_DRAW_INDIRECT_0_VIS_CULL(enum pc_di_vis_cull_mode val
)
610 return ((val
) << A4XX_CP_DRAW_INDIRECT_0_VIS_CULL__SHIFT
) & A4XX_CP_DRAW_INDIRECT_0_VIS_CULL__MASK
;
612 #define A4XX_CP_DRAW_INDIRECT_0_INDEX_SIZE__MASK 0x00000c00
613 #define A4XX_CP_DRAW_INDIRECT_0_INDEX_SIZE__SHIFT 10
614 static inline uint32_t A4XX_CP_DRAW_INDIRECT_0_INDEX_SIZE(enum a4xx_index_size val
)
616 return ((val
) << A4XX_CP_DRAW_INDIRECT_0_INDEX_SIZE__SHIFT
) & A4XX_CP_DRAW_INDIRECT_0_INDEX_SIZE__MASK
;
618 #define A4XX_CP_DRAW_INDIRECT_0_TESS_MODE__MASK 0x01f00000
619 #define A4XX_CP_DRAW_INDIRECT_0_TESS_MODE__SHIFT 20
620 static inline uint32_t A4XX_CP_DRAW_INDIRECT_0_TESS_MODE(uint32_t val
)
622 return ((val
) << A4XX_CP_DRAW_INDIRECT_0_TESS_MODE__SHIFT
) & A4XX_CP_DRAW_INDIRECT_0_TESS_MODE__MASK
;
625 #define REG_A4XX_CP_DRAW_INDIRECT_1 0x00000001
626 #define A4XX_CP_DRAW_INDIRECT_1_INDIRECT__MASK 0xffffffff
627 #define A4XX_CP_DRAW_INDIRECT_1_INDIRECT__SHIFT 0
628 static inline uint32_t A4XX_CP_DRAW_INDIRECT_1_INDIRECT(uint32_t val
)
630 return ((val
) << A4XX_CP_DRAW_INDIRECT_1_INDIRECT__SHIFT
) & A4XX_CP_DRAW_INDIRECT_1_INDIRECT__MASK
;
634 #define REG_A5XX_CP_DRAW_INDIRECT_2 0x00000002
635 #define A5XX_CP_DRAW_INDIRECT_2_INDIRECT_HI__MASK 0xffffffff
636 #define A5XX_CP_DRAW_INDIRECT_2_INDIRECT_HI__SHIFT 0
637 static inline uint32_t A5XX_CP_DRAW_INDIRECT_2_INDIRECT_HI(uint32_t val
)
639 return ((val
) << A5XX_CP_DRAW_INDIRECT_2_INDIRECT_HI__SHIFT
) & A5XX_CP_DRAW_INDIRECT_2_INDIRECT_HI__MASK
;
642 #define REG_A4XX_CP_DRAW_INDX_INDIRECT_0 0x00000000
643 #define A4XX_CP_DRAW_INDX_INDIRECT_0_PRIM_TYPE__MASK 0x0000003f
644 #define A4XX_CP_DRAW_INDX_INDIRECT_0_PRIM_TYPE__SHIFT 0
645 static inline uint32_t A4XX_CP_DRAW_INDX_INDIRECT_0_PRIM_TYPE(enum pc_di_primtype val
)
647 return ((val
) << A4XX_CP_DRAW_INDX_INDIRECT_0_PRIM_TYPE__SHIFT
) & A4XX_CP_DRAW_INDX_INDIRECT_0_PRIM_TYPE__MASK
;
649 #define A4XX_CP_DRAW_INDX_INDIRECT_0_SOURCE_SELECT__MASK 0x000000c0
650 #define A4XX_CP_DRAW_INDX_INDIRECT_0_SOURCE_SELECT__SHIFT 6
651 static inline uint32_t A4XX_CP_DRAW_INDX_INDIRECT_0_SOURCE_SELECT(enum pc_di_src_sel val
)
653 return ((val
) << A4XX_CP_DRAW_INDX_INDIRECT_0_SOURCE_SELECT__SHIFT
) & A4XX_CP_DRAW_INDX_INDIRECT_0_SOURCE_SELECT__MASK
;
655 #define A4XX_CP_DRAW_INDX_INDIRECT_0_VIS_CULL__MASK 0x00000300
656 #define A4XX_CP_DRAW_INDX_INDIRECT_0_VIS_CULL__SHIFT 8
657 static inline uint32_t A4XX_CP_DRAW_INDX_INDIRECT_0_VIS_CULL(enum pc_di_vis_cull_mode val
)
659 return ((val
) << A4XX_CP_DRAW_INDX_INDIRECT_0_VIS_CULL__SHIFT
) & A4XX_CP_DRAW_INDX_INDIRECT_0_VIS_CULL__MASK
;
661 #define A4XX_CP_DRAW_INDX_INDIRECT_0_INDEX_SIZE__MASK 0x00000c00
662 #define A4XX_CP_DRAW_INDX_INDIRECT_0_INDEX_SIZE__SHIFT 10
663 static inline uint32_t A4XX_CP_DRAW_INDX_INDIRECT_0_INDEX_SIZE(enum a4xx_index_size val
)
665 return ((val
) << A4XX_CP_DRAW_INDX_INDIRECT_0_INDEX_SIZE__SHIFT
) & A4XX_CP_DRAW_INDX_INDIRECT_0_INDEX_SIZE__MASK
;
667 #define A4XX_CP_DRAW_INDX_INDIRECT_0_TESS_MODE__MASK 0x01f00000
668 #define A4XX_CP_DRAW_INDX_INDIRECT_0_TESS_MODE__SHIFT 20
669 static inline uint32_t A4XX_CP_DRAW_INDX_INDIRECT_0_TESS_MODE(uint32_t val
)
671 return ((val
) << A4XX_CP_DRAW_INDX_INDIRECT_0_TESS_MODE__SHIFT
) & A4XX_CP_DRAW_INDX_INDIRECT_0_TESS_MODE__MASK
;
675 #define REG_A4XX_CP_DRAW_INDX_INDIRECT_1 0x00000001
676 #define A4XX_CP_DRAW_INDX_INDIRECT_1_INDX_BASE__MASK 0xffffffff
677 #define A4XX_CP_DRAW_INDX_INDIRECT_1_INDX_BASE__SHIFT 0
678 static inline uint32_t A4XX_CP_DRAW_INDX_INDIRECT_1_INDX_BASE(uint32_t val
)
680 return ((val
) << A4XX_CP_DRAW_INDX_INDIRECT_1_INDX_BASE__SHIFT
) & A4XX_CP_DRAW_INDX_INDIRECT_1_INDX_BASE__MASK
;
683 #define REG_A4XX_CP_DRAW_INDX_INDIRECT_2 0x00000002
684 #define A4XX_CP_DRAW_INDX_INDIRECT_2_INDX_SIZE__MASK 0xffffffff
685 #define A4XX_CP_DRAW_INDX_INDIRECT_2_INDX_SIZE__SHIFT 0
686 static inline uint32_t A4XX_CP_DRAW_INDX_INDIRECT_2_INDX_SIZE(uint32_t val
)
688 return ((val
) << A4XX_CP_DRAW_INDX_INDIRECT_2_INDX_SIZE__SHIFT
) & A4XX_CP_DRAW_INDX_INDIRECT_2_INDX_SIZE__MASK
;
691 #define REG_A4XX_CP_DRAW_INDX_INDIRECT_3 0x00000003
692 #define A4XX_CP_DRAW_INDX_INDIRECT_3_INDIRECT__MASK 0xffffffff
693 #define A4XX_CP_DRAW_INDX_INDIRECT_3_INDIRECT__SHIFT 0
694 static inline uint32_t A4XX_CP_DRAW_INDX_INDIRECT_3_INDIRECT(uint32_t val
)
696 return ((val
) << A4XX_CP_DRAW_INDX_INDIRECT_3_INDIRECT__SHIFT
) & A4XX_CP_DRAW_INDX_INDIRECT_3_INDIRECT__MASK
;
700 #define REG_A5XX_CP_DRAW_INDX_INDIRECT_1 0x00000001
701 #define A5XX_CP_DRAW_INDX_INDIRECT_1_INDX_BASE_LO__MASK 0xffffffff
702 #define A5XX_CP_DRAW_INDX_INDIRECT_1_INDX_BASE_LO__SHIFT 0
703 static inline uint32_t A5XX_CP_DRAW_INDX_INDIRECT_1_INDX_BASE_LO(uint32_t val
)
705 return ((val
) << A5XX_CP_DRAW_INDX_INDIRECT_1_INDX_BASE_LO__SHIFT
) & A5XX_CP_DRAW_INDX_INDIRECT_1_INDX_BASE_LO__MASK
;
708 #define REG_A5XX_CP_DRAW_INDX_INDIRECT_2 0x00000002
709 #define A5XX_CP_DRAW_INDX_INDIRECT_2_INDX_BASE_HI__MASK 0xffffffff
710 #define A5XX_CP_DRAW_INDX_INDIRECT_2_INDX_BASE_HI__SHIFT 0
711 static inline uint32_t A5XX_CP_DRAW_INDX_INDIRECT_2_INDX_BASE_HI(uint32_t val
)
713 return ((val
) << A5XX_CP_DRAW_INDX_INDIRECT_2_INDX_BASE_HI__SHIFT
) & A5XX_CP_DRAW_INDX_INDIRECT_2_INDX_BASE_HI__MASK
;
716 #define REG_A5XX_CP_DRAW_INDX_INDIRECT_3 0x00000003
717 #define A5XX_CP_DRAW_INDX_INDIRECT_3_MAX_INDICES__MASK 0xffffffff
718 #define A5XX_CP_DRAW_INDX_INDIRECT_3_MAX_INDICES__SHIFT 0
719 static inline uint32_t A5XX_CP_DRAW_INDX_INDIRECT_3_MAX_INDICES(uint32_t val
)
721 return ((val
) << A5XX_CP_DRAW_INDX_INDIRECT_3_MAX_INDICES__SHIFT
) & A5XX_CP_DRAW_INDX_INDIRECT_3_MAX_INDICES__MASK
;
724 #define REG_A5XX_CP_DRAW_INDX_INDIRECT_4 0x00000004
725 #define A5XX_CP_DRAW_INDX_INDIRECT_4_INDIRECT_LO__MASK 0xffffffff
726 #define A5XX_CP_DRAW_INDX_INDIRECT_4_INDIRECT_LO__SHIFT 0
727 static inline uint32_t A5XX_CP_DRAW_INDX_INDIRECT_4_INDIRECT_LO(uint32_t val
)
729 return ((val
) << A5XX_CP_DRAW_INDX_INDIRECT_4_INDIRECT_LO__SHIFT
) & A5XX_CP_DRAW_INDX_INDIRECT_4_INDIRECT_LO__MASK
;
732 #define REG_A5XX_CP_DRAW_INDX_INDIRECT_5 0x00000005
733 #define A5XX_CP_DRAW_INDX_INDIRECT_5_INDIRECT_HI__MASK 0xffffffff
734 #define A5XX_CP_DRAW_INDX_INDIRECT_5_INDIRECT_HI__SHIFT 0
735 static inline uint32_t A5XX_CP_DRAW_INDX_INDIRECT_5_INDIRECT_HI(uint32_t val
)
737 return ((val
) << A5XX_CP_DRAW_INDX_INDIRECT_5_INDIRECT_HI__SHIFT
) & A5XX_CP_DRAW_INDX_INDIRECT_5_INDIRECT_HI__MASK
;
740 static inline uint32_t REG_CP_SET_DRAW_STATE_(uint32_t i0
) { return 0x00000000 + 0x3*i0
; }
742 static inline uint32_t REG_CP_SET_DRAW_STATE__0(uint32_t i0
) { return 0x00000000 + 0x3*i0
; }
743 #define CP_SET_DRAW_STATE__0_COUNT__MASK 0x0000ffff
744 #define CP_SET_DRAW_STATE__0_COUNT__SHIFT 0
745 static inline uint32_t CP_SET_DRAW_STATE__0_COUNT(uint32_t val
)
747 return ((val
) << CP_SET_DRAW_STATE__0_COUNT__SHIFT
) & CP_SET_DRAW_STATE__0_COUNT__MASK
;
749 #define CP_SET_DRAW_STATE__0_DIRTY 0x00010000
750 #define CP_SET_DRAW_STATE__0_DISABLE 0x00020000
751 #define CP_SET_DRAW_STATE__0_DISABLE_ALL_GROUPS 0x00040000
752 #define CP_SET_DRAW_STATE__0_LOAD_IMMED 0x00080000
753 #define CP_SET_DRAW_STATE__0_GROUP_ID__MASK 0x1f000000
754 #define CP_SET_DRAW_STATE__0_GROUP_ID__SHIFT 24
755 static inline uint32_t CP_SET_DRAW_STATE__0_GROUP_ID(uint32_t val
)
757 return ((val
) << CP_SET_DRAW_STATE__0_GROUP_ID__SHIFT
) & CP_SET_DRAW_STATE__0_GROUP_ID__MASK
;
760 static inline uint32_t REG_CP_SET_DRAW_STATE__1(uint32_t i0
) { return 0x00000001 + 0x3*i0
; }
761 #define CP_SET_DRAW_STATE__1_ADDR_LO__MASK 0xffffffff
762 #define CP_SET_DRAW_STATE__1_ADDR_LO__SHIFT 0
763 static inline uint32_t CP_SET_DRAW_STATE__1_ADDR_LO(uint32_t val
)
765 return ((val
) << CP_SET_DRAW_STATE__1_ADDR_LO__SHIFT
) & CP_SET_DRAW_STATE__1_ADDR_LO__MASK
;
768 static inline uint32_t REG_CP_SET_DRAW_STATE__2(uint32_t i0
) { return 0x00000002 + 0x3*i0
; }
769 #define CP_SET_DRAW_STATE__2_ADDR_HI__MASK 0xffffffff
770 #define CP_SET_DRAW_STATE__2_ADDR_HI__SHIFT 0
771 static inline uint32_t CP_SET_DRAW_STATE__2_ADDR_HI(uint32_t val
)
773 return ((val
) << CP_SET_DRAW_STATE__2_ADDR_HI__SHIFT
) & CP_SET_DRAW_STATE__2_ADDR_HI__MASK
;
776 #define REG_CP_SET_BIN_0 0x00000000
778 #define REG_CP_SET_BIN_1 0x00000001
779 #define CP_SET_BIN_1_X1__MASK 0x0000ffff
780 #define CP_SET_BIN_1_X1__SHIFT 0
781 static inline uint32_t CP_SET_BIN_1_X1(uint32_t val
)
783 return ((val
) << CP_SET_BIN_1_X1__SHIFT
) & CP_SET_BIN_1_X1__MASK
;
785 #define CP_SET_BIN_1_Y1__MASK 0xffff0000
786 #define CP_SET_BIN_1_Y1__SHIFT 16
787 static inline uint32_t CP_SET_BIN_1_Y1(uint32_t val
)
789 return ((val
) << CP_SET_BIN_1_Y1__SHIFT
) & CP_SET_BIN_1_Y1__MASK
;
792 #define REG_CP_SET_BIN_2 0x00000002
793 #define CP_SET_BIN_2_X2__MASK 0x0000ffff
794 #define CP_SET_BIN_2_X2__SHIFT 0
795 static inline uint32_t CP_SET_BIN_2_X2(uint32_t val
)
797 return ((val
) << CP_SET_BIN_2_X2__SHIFT
) & CP_SET_BIN_2_X2__MASK
;
799 #define CP_SET_BIN_2_Y2__MASK 0xffff0000
800 #define CP_SET_BIN_2_Y2__SHIFT 16
801 static inline uint32_t CP_SET_BIN_2_Y2(uint32_t val
)
803 return ((val
) << CP_SET_BIN_2_Y2__SHIFT
) & CP_SET_BIN_2_Y2__MASK
;
806 #define REG_CP_SET_BIN_DATA_0 0x00000000
807 #define CP_SET_BIN_DATA_0_BIN_DATA_ADDR__MASK 0xffffffff
808 #define CP_SET_BIN_DATA_0_BIN_DATA_ADDR__SHIFT 0
809 static inline uint32_t CP_SET_BIN_DATA_0_BIN_DATA_ADDR(uint32_t val
)
811 return ((val
) << CP_SET_BIN_DATA_0_BIN_DATA_ADDR__SHIFT
) & CP_SET_BIN_DATA_0_BIN_DATA_ADDR__MASK
;
814 #define REG_CP_SET_BIN_DATA_1 0x00000001
815 #define CP_SET_BIN_DATA_1_BIN_SIZE_ADDRESS__MASK 0xffffffff
816 #define CP_SET_BIN_DATA_1_BIN_SIZE_ADDRESS__SHIFT 0
817 static inline uint32_t CP_SET_BIN_DATA_1_BIN_SIZE_ADDRESS(uint32_t val
)
819 return ((val
) << CP_SET_BIN_DATA_1_BIN_SIZE_ADDRESS__SHIFT
) & CP_SET_BIN_DATA_1_BIN_SIZE_ADDRESS__MASK
;
822 #define REG_CP_SET_BIN_DATA5_0 0x00000000
823 #define CP_SET_BIN_DATA5_0_VSC_SIZE__MASK 0x003f0000
824 #define CP_SET_BIN_DATA5_0_VSC_SIZE__SHIFT 16
825 static inline uint32_t CP_SET_BIN_DATA5_0_VSC_SIZE(uint32_t val
)
827 return ((val
) << CP_SET_BIN_DATA5_0_VSC_SIZE__SHIFT
) & CP_SET_BIN_DATA5_0_VSC_SIZE__MASK
;
829 #define CP_SET_BIN_DATA5_0_VSC_N__MASK 0x07c00000
830 #define CP_SET_BIN_DATA5_0_VSC_N__SHIFT 22
831 static inline uint32_t CP_SET_BIN_DATA5_0_VSC_N(uint32_t val
)
833 return ((val
) << CP_SET_BIN_DATA5_0_VSC_N__SHIFT
) & CP_SET_BIN_DATA5_0_VSC_N__MASK
;
836 #define REG_CP_SET_BIN_DATA5_1 0x00000001
837 #define CP_SET_BIN_DATA5_1_BIN_DATA_ADDR_LO__MASK 0xffffffff
838 #define CP_SET_BIN_DATA5_1_BIN_DATA_ADDR_LO__SHIFT 0
839 static inline uint32_t CP_SET_BIN_DATA5_1_BIN_DATA_ADDR_LO(uint32_t val
)
841 return ((val
) << CP_SET_BIN_DATA5_1_BIN_DATA_ADDR_LO__SHIFT
) & CP_SET_BIN_DATA5_1_BIN_DATA_ADDR_LO__MASK
;
844 #define REG_CP_SET_BIN_DATA5_2 0x00000002
845 #define CP_SET_BIN_DATA5_2_BIN_DATA_ADDR_HI__MASK 0xffffffff
846 #define CP_SET_BIN_DATA5_2_BIN_DATA_ADDR_HI__SHIFT 0
847 static inline uint32_t CP_SET_BIN_DATA5_2_BIN_DATA_ADDR_HI(uint32_t val
)
849 return ((val
) << CP_SET_BIN_DATA5_2_BIN_DATA_ADDR_HI__SHIFT
) & CP_SET_BIN_DATA5_2_BIN_DATA_ADDR_HI__MASK
;
852 #define REG_CP_SET_BIN_DATA5_3 0x00000003
853 #define CP_SET_BIN_DATA5_3_BIN_SIZE_ADDRESS_LO__MASK 0xffffffff
854 #define CP_SET_BIN_DATA5_3_BIN_SIZE_ADDRESS_LO__SHIFT 0
855 static inline uint32_t CP_SET_BIN_DATA5_3_BIN_SIZE_ADDRESS_LO(uint32_t val
)
857 return ((val
) << CP_SET_BIN_DATA5_3_BIN_SIZE_ADDRESS_LO__SHIFT
) & CP_SET_BIN_DATA5_3_BIN_SIZE_ADDRESS_LO__MASK
;
860 #define REG_CP_SET_BIN_DATA5_4 0x00000004
861 #define CP_SET_BIN_DATA5_4_BIN_SIZE_ADDRESS_HI__MASK 0xffffffff
862 #define CP_SET_BIN_DATA5_4_BIN_SIZE_ADDRESS_HI__SHIFT 0
863 static inline uint32_t CP_SET_BIN_DATA5_4_BIN_SIZE_ADDRESS_HI(uint32_t val
)
865 return ((val
) << CP_SET_BIN_DATA5_4_BIN_SIZE_ADDRESS_HI__SHIFT
) & CP_SET_BIN_DATA5_4_BIN_SIZE_ADDRESS_HI__MASK
;
868 #define REG_CP_REG_TO_MEM_0 0x00000000
869 #define CP_REG_TO_MEM_0_REG__MASK 0x0000ffff
870 #define CP_REG_TO_MEM_0_REG__SHIFT 0
871 static inline uint32_t CP_REG_TO_MEM_0_REG(uint32_t val
)
873 return ((val
) << CP_REG_TO_MEM_0_REG__SHIFT
) & CP_REG_TO_MEM_0_REG__MASK
;
875 #define CP_REG_TO_MEM_0_CNT__MASK 0x3ff80000
876 #define CP_REG_TO_MEM_0_CNT__SHIFT 19
877 static inline uint32_t CP_REG_TO_MEM_0_CNT(uint32_t val
)
879 return ((val
) << CP_REG_TO_MEM_0_CNT__SHIFT
) & CP_REG_TO_MEM_0_CNT__MASK
;
881 #define CP_REG_TO_MEM_0_64B 0x40000000
882 #define CP_REG_TO_MEM_0_ACCUMULATE 0x80000000
884 #define REG_CP_REG_TO_MEM_1 0x00000001
885 #define CP_REG_TO_MEM_1_DEST__MASK 0xffffffff
886 #define CP_REG_TO_MEM_1_DEST__SHIFT 0
887 static inline uint32_t CP_REG_TO_MEM_1_DEST(uint32_t val
)
889 return ((val
) << CP_REG_TO_MEM_1_DEST__SHIFT
) & CP_REG_TO_MEM_1_DEST__MASK
;
892 #define REG_CP_MEM_TO_MEM_0 0x00000000
893 #define CP_MEM_TO_MEM_0_NEG_A 0x00000001
894 #define CP_MEM_TO_MEM_0_NEG_B 0x00000002
895 #define CP_MEM_TO_MEM_0_NEG_C 0x00000004
896 #define CP_MEM_TO_MEM_0_DOUBLE 0x20000000
898 #define REG_CP_COND_WRITE_0 0x00000000
899 #define CP_COND_WRITE_0_FUNCTION__MASK 0x00000007
900 #define CP_COND_WRITE_0_FUNCTION__SHIFT 0
901 static inline uint32_t CP_COND_WRITE_0_FUNCTION(enum cp_cond_function val
)
903 return ((val
) << CP_COND_WRITE_0_FUNCTION__SHIFT
) & CP_COND_WRITE_0_FUNCTION__MASK
;
905 #define CP_COND_WRITE_0_POLL_MEMORY 0x00000010
906 #define CP_COND_WRITE_0_WRITE_MEMORY 0x00000100
908 #define REG_CP_COND_WRITE_1 0x00000001
909 #define CP_COND_WRITE_1_POLL_ADDR__MASK 0xffffffff
910 #define CP_COND_WRITE_1_POLL_ADDR__SHIFT 0
911 static inline uint32_t CP_COND_WRITE_1_POLL_ADDR(uint32_t val
)
913 return ((val
) << CP_COND_WRITE_1_POLL_ADDR__SHIFT
) & CP_COND_WRITE_1_POLL_ADDR__MASK
;
916 #define REG_CP_COND_WRITE_2 0x00000002
917 #define CP_COND_WRITE_2_REF__MASK 0xffffffff
918 #define CP_COND_WRITE_2_REF__SHIFT 0
919 static inline uint32_t CP_COND_WRITE_2_REF(uint32_t val
)
921 return ((val
) << CP_COND_WRITE_2_REF__SHIFT
) & CP_COND_WRITE_2_REF__MASK
;
924 #define REG_CP_COND_WRITE_3 0x00000003
925 #define CP_COND_WRITE_3_MASK__MASK 0xffffffff
926 #define CP_COND_WRITE_3_MASK__SHIFT 0
927 static inline uint32_t CP_COND_WRITE_3_MASK(uint32_t val
)
929 return ((val
) << CP_COND_WRITE_3_MASK__SHIFT
) & CP_COND_WRITE_3_MASK__MASK
;
932 #define REG_CP_COND_WRITE_4 0x00000004
933 #define CP_COND_WRITE_4_WRITE_ADDR__MASK 0xffffffff
934 #define CP_COND_WRITE_4_WRITE_ADDR__SHIFT 0
935 static inline uint32_t CP_COND_WRITE_4_WRITE_ADDR(uint32_t val
)
937 return ((val
) << CP_COND_WRITE_4_WRITE_ADDR__SHIFT
) & CP_COND_WRITE_4_WRITE_ADDR__MASK
;
940 #define REG_CP_COND_WRITE_5 0x00000005
941 #define CP_COND_WRITE_5_WRITE_DATA__MASK 0xffffffff
942 #define CP_COND_WRITE_5_WRITE_DATA__SHIFT 0
943 static inline uint32_t CP_COND_WRITE_5_WRITE_DATA(uint32_t val
)
945 return ((val
) << CP_COND_WRITE_5_WRITE_DATA__SHIFT
) & CP_COND_WRITE_5_WRITE_DATA__MASK
;
948 #define REG_CP_COND_WRITE5_0 0x00000000
949 #define CP_COND_WRITE5_0_FUNCTION__MASK 0x00000007
950 #define CP_COND_WRITE5_0_FUNCTION__SHIFT 0
951 static inline uint32_t CP_COND_WRITE5_0_FUNCTION(enum cp_cond_function val
)
953 return ((val
) << CP_COND_WRITE5_0_FUNCTION__SHIFT
) & CP_COND_WRITE5_0_FUNCTION__MASK
;
955 #define CP_COND_WRITE5_0_POLL_MEMORY 0x00000010
956 #define CP_COND_WRITE5_0_WRITE_MEMORY 0x00000100
958 #define REG_CP_COND_WRITE5_1 0x00000001
959 #define CP_COND_WRITE5_1_POLL_ADDR_LO__MASK 0xffffffff
960 #define CP_COND_WRITE5_1_POLL_ADDR_LO__SHIFT 0
961 static inline uint32_t CP_COND_WRITE5_1_POLL_ADDR_LO(uint32_t val
)
963 return ((val
) << CP_COND_WRITE5_1_POLL_ADDR_LO__SHIFT
) & CP_COND_WRITE5_1_POLL_ADDR_LO__MASK
;
966 #define REG_CP_COND_WRITE5_2 0x00000002
967 #define CP_COND_WRITE5_2_POLL_ADDR_HI__MASK 0xffffffff
968 #define CP_COND_WRITE5_2_POLL_ADDR_HI__SHIFT 0
969 static inline uint32_t CP_COND_WRITE5_2_POLL_ADDR_HI(uint32_t val
)
971 return ((val
) << CP_COND_WRITE5_2_POLL_ADDR_HI__SHIFT
) & CP_COND_WRITE5_2_POLL_ADDR_HI__MASK
;
974 #define REG_CP_COND_WRITE5_3 0x00000003
975 #define CP_COND_WRITE5_3_REF__MASK 0xffffffff
976 #define CP_COND_WRITE5_3_REF__SHIFT 0
977 static inline uint32_t CP_COND_WRITE5_3_REF(uint32_t val
)
979 return ((val
) << CP_COND_WRITE5_3_REF__SHIFT
) & CP_COND_WRITE5_3_REF__MASK
;
982 #define REG_CP_COND_WRITE5_4 0x00000004
983 #define CP_COND_WRITE5_4_MASK__MASK 0xffffffff
984 #define CP_COND_WRITE5_4_MASK__SHIFT 0
985 static inline uint32_t CP_COND_WRITE5_4_MASK(uint32_t val
)
987 return ((val
) << CP_COND_WRITE5_4_MASK__SHIFT
) & CP_COND_WRITE5_4_MASK__MASK
;
990 #define REG_CP_COND_WRITE5_5 0x00000005
991 #define CP_COND_WRITE5_5_WRITE_ADDR_LO__MASK 0xffffffff
992 #define CP_COND_WRITE5_5_WRITE_ADDR_LO__SHIFT 0
993 static inline uint32_t CP_COND_WRITE5_5_WRITE_ADDR_LO(uint32_t val
)
995 return ((val
) << CP_COND_WRITE5_5_WRITE_ADDR_LO__SHIFT
) & CP_COND_WRITE5_5_WRITE_ADDR_LO__MASK
;
998 #define REG_CP_COND_WRITE5_6 0x00000006
999 #define CP_COND_WRITE5_6_WRITE_ADDR_HI__MASK 0xffffffff
1000 #define CP_COND_WRITE5_6_WRITE_ADDR_HI__SHIFT 0
1001 static inline uint32_t CP_COND_WRITE5_6_WRITE_ADDR_HI(uint32_t val
)
1003 return ((val
) << CP_COND_WRITE5_6_WRITE_ADDR_HI__SHIFT
) & CP_COND_WRITE5_6_WRITE_ADDR_HI__MASK
;
1006 #define REG_CP_COND_WRITE5_7 0x00000007
1007 #define CP_COND_WRITE5_7_WRITE_DATA__MASK 0xffffffff
1008 #define CP_COND_WRITE5_7_WRITE_DATA__SHIFT 0
1009 static inline uint32_t CP_COND_WRITE5_7_WRITE_DATA(uint32_t val
)
1011 return ((val
) << CP_COND_WRITE5_7_WRITE_DATA__SHIFT
) & CP_COND_WRITE5_7_WRITE_DATA__MASK
;
1014 #define REG_CP_DISPATCH_COMPUTE_0 0x00000000
1016 #define REG_CP_DISPATCH_COMPUTE_1 0x00000001
1017 #define CP_DISPATCH_COMPUTE_1_X__MASK 0xffffffff
1018 #define CP_DISPATCH_COMPUTE_1_X__SHIFT 0
1019 static inline uint32_t CP_DISPATCH_COMPUTE_1_X(uint32_t val
)
1021 return ((val
) << CP_DISPATCH_COMPUTE_1_X__SHIFT
) & CP_DISPATCH_COMPUTE_1_X__MASK
;
1024 #define REG_CP_DISPATCH_COMPUTE_2 0x00000002
1025 #define CP_DISPATCH_COMPUTE_2_Y__MASK 0xffffffff
1026 #define CP_DISPATCH_COMPUTE_2_Y__SHIFT 0
1027 static inline uint32_t CP_DISPATCH_COMPUTE_2_Y(uint32_t val
)
1029 return ((val
) << CP_DISPATCH_COMPUTE_2_Y__SHIFT
) & CP_DISPATCH_COMPUTE_2_Y__MASK
;
1032 #define REG_CP_DISPATCH_COMPUTE_3 0x00000003
1033 #define CP_DISPATCH_COMPUTE_3_Z__MASK 0xffffffff
1034 #define CP_DISPATCH_COMPUTE_3_Z__SHIFT 0
1035 static inline uint32_t CP_DISPATCH_COMPUTE_3_Z(uint32_t val
)
1037 return ((val
) << CP_DISPATCH_COMPUTE_3_Z__SHIFT
) & CP_DISPATCH_COMPUTE_3_Z__MASK
;
1040 #define REG_CP_SET_RENDER_MODE_0 0x00000000
1041 #define CP_SET_RENDER_MODE_0_MODE__MASK 0x000001ff
1042 #define CP_SET_RENDER_MODE_0_MODE__SHIFT 0
1043 static inline uint32_t CP_SET_RENDER_MODE_0_MODE(enum render_mode_cmd val
)
1045 return ((val
) << CP_SET_RENDER_MODE_0_MODE__SHIFT
) & CP_SET_RENDER_MODE_0_MODE__MASK
;
1048 #define REG_CP_SET_RENDER_MODE_1 0x00000001
1049 #define CP_SET_RENDER_MODE_1_ADDR_0_LO__MASK 0xffffffff
1050 #define CP_SET_RENDER_MODE_1_ADDR_0_LO__SHIFT 0
1051 static inline uint32_t CP_SET_RENDER_MODE_1_ADDR_0_LO(uint32_t val
)
1053 return ((val
) << CP_SET_RENDER_MODE_1_ADDR_0_LO__SHIFT
) & CP_SET_RENDER_MODE_1_ADDR_0_LO__MASK
;
1056 #define REG_CP_SET_RENDER_MODE_2 0x00000002
1057 #define CP_SET_RENDER_MODE_2_ADDR_0_HI__MASK 0xffffffff
1058 #define CP_SET_RENDER_MODE_2_ADDR_0_HI__SHIFT 0
1059 static inline uint32_t CP_SET_RENDER_MODE_2_ADDR_0_HI(uint32_t val
)
1061 return ((val
) << CP_SET_RENDER_MODE_2_ADDR_0_HI__SHIFT
) & CP_SET_RENDER_MODE_2_ADDR_0_HI__MASK
;
1064 #define REG_CP_SET_RENDER_MODE_3 0x00000003
1065 #define CP_SET_RENDER_MODE_3_VSC_ENABLE 0x00000008
1066 #define CP_SET_RENDER_MODE_3_GMEM_ENABLE 0x00000010
1068 #define REG_CP_SET_RENDER_MODE_4 0x00000004
1070 #define REG_CP_SET_RENDER_MODE_5 0x00000005
1071 #define CP_SET_RENDER_MODE_5_ADDR_1_LEN__MASK 0xffffffff
1072 #define CP_SET_RENDER_MODE_5_ADDR_1_LEN__SHIFT 0
1073 static inline uint32_t CP_SET_RENDER_MODE_5_ADDR_1_LEN(uint32_t val
)
1075 return ((val
) << CP_SET_RENDER_MODE_5_ADDR_1_LEN__SHIFT
) & CP_SET_RENDER_MODE_5_ADDR_1_LEN__MASK
;
1078 #define REG_CP_SET_RENDER_MODE_6 0x00000006
1079 #define CP_SET_RENDER_MODE_6_ADDR_1_LO__MASK 0xffffffff
1080 #define CP_SET_RENDER_MODE_6_ADDR_1_LO__SHIFT 0
1081 static inline uint32_t CP_SET_RENDER_MODE_6_ADDR_1_LO(uint32_t val
)
1083 return ((val
) << CP_SET_RENDER_MODE_6_ADDR_1_LO__SHIFT
) & CP_SET_RENDER_MODE_6_ADDR_1_LO__MASK
;
1086 #define REG_CP_SET_RENDER_MODE_7 0x00000007
1087 #define CP_SET_RENDER_MODE_7_ADDR_1_HI__MASK 0xffffffff
1088 #define CP_SET_RENDER_MODE_7_ADDR_1_HI__SHIFT 0
1089 static inline uint32_t CP_SET_RENDER_MODE_7_ADDR_1_HI(uint32_t val
)
1091 return ((val
) << CP_SET_RENDER_MODE_7_ADDR_1_HI__SHIFT
) & CP_SET_RENDER_MODE_7_ADDR_1_HI__MASK
;
1094 #define REG_CP_COMPUTE_CHECKPOINT_0 0x00000000
1095 #define CP_COMPUTE_CHECKPOINT_0_ADDR_0_LO__MASK 0xffffffff
1096 #define CP_COMPUTE_CHECKPOINT_0_ADDR_0_LO__SHIFT 0
1097 static inline uint32_t CP_COMPUTE_CHECKPOINT_0_ADDR_0_LO(uint32_t val
)
1099 return ((val
) << CP_COMPUTE_CHECKPOINT_0_ADDR_0_LO__SHIFT
) & CP_COMPUTE_CHECKPOINT_0_ADDR_0_LO__MASK
;
1102 #define REG_CP_COMPUTE_CHECKPOINT_1 0x00000001
1103 #define CP_COMPUTE_CHECKPOINT_1_ADDR_0_HI__MASK 0xffffffff
1104 #define CP_COMPUTE_CHECKPOINT_1_ADDR_0_HI__SHIFT 0
1105 static inline uint32_t CP_COMPUTE_CHECKPOINT_1_ADDR_0_HI(uint32_t val
)
1107 return ((val
) << CP_COMPUTE_CHECKPOINT_1_ADDR_0_HI__SHIFT
) & CP_COMPUTE_CHECKPOINT_1_ADDR_0_HI__MASK
;
1110 #define REG_CP_COMPUTE_CHECKPOINT_2 0x00000002
1112 #define REG_CP_COMPUTE_CHECKPOINT_3 0x00000003
1113 #define CP_COMPUTE_CHECKPOINT_3_ADDR_1_LEN__MASK 0xffffffff
1114 #define CP_COMPUTE_CHECKPOINT_3_ADDR_1_LEN__SHIFT 0
1115 static inline uint32_t CP_COMPUTE_CHECKPOINT_3_ADDR_1_LEN(uint32_t val
)
1117 return ((val
) << CP_COMPUTE_CHECKPOINT_3_ADDR_1_LEN__SHIFT
) & CP_COMPUTE_CHECKPOINT_3_ADDR_1_LEN__MASK
;
1120 #define REG_CP_COMPUTE_CHECKPOINT_4 0x00000004
1122 #define REG_CP_COMPUTE_CHECKPOINT_5 0x00000005
1123 #define CP_COMPUTE_CHECKPOINT_5_ADDR_1_LO__MASK 0xffffffff
1124 #define CP_COMPUTE_CHECKPOINT_5_ADDR_1_LO__SHIFT 0
1125 static inline uint32_t CP_COMPUTE_CHECKPOINT_5_ADDR_1_LO(uint32_t val
)
1127 return ((val
) << CP_COMPUTE_CHECKPOINT_5_ADDR_1_LO__SHIFT
) & CP_COMPUTE_CHECKPOINT_5_ADDR_1_LO__MASK
;
1130 #define REG_CP_COMPUTE_CHECKPOINT_6 0x00000006
1131 #define CP_COMPUTE_CHECKPOINT_6_ADDR_1_HI__MASK 0xffffffff
1132 #define CP_COMPUTE_CHECKPOINT_6_ADDR_1_HI__SHIFT 0
1133 static inline uint32_t CP_COMPUTE_CHECKPOINT_6_ADDR_1_HI(uint32_t val
)
1135 return ((val
) << CP_COMPUTE_CHECKPOINT_6_ADDR_1_HI__SHIFT
) & CP_COMPUTE_CHECKPOINT_6_ADDR_1_HI__MASK
;
1138 #define REG_CP_COMPUTE_CHECKPOINT_7 0x00000007
1140 #define REG_CP_PERFCOUNTER_ACTION_0 0x00000000
1142 #define REG_CP_PERFCOUNTER_ACTION_1 0x00000001
1143 #define CP_PERFCOUNTER_ACTION_1_ADDR_0_LO__MASK 0xffffffff
1144 #define CP_PERFCOUNTER_ACTION_1_ADDR_0_LO__SHIFT 0
1145 static inline uint32_t CP_PERFCOUNTER_ACTION_1_ADDR_0_LO(uint32_t val
)
1147 return ((val
) << CP_PERFCOUNTER_ACTION_1_ADDR_0_LO__SHIFT
) & CP_PERFCOUNTER_ACTION_1_ADDR_0_LO__MASK
;
1150 #define REG_CP_PERFCOUNTER_ACTION_2 0x00000002
1151 #define CP_PERFCOUNTER_ACTION_2_ADDR_0_HI__MASK 0xffffffff
1152 #define CP_PERFCOUNTER_ACTION_2_ADDR_0_HI__SHIFT 0
1153 static inline uint32_t CP_PERFCOUNTER_ACTION_2_ADDR_0_HI(uint32_t val
)
1155 return ((val
) << CP_PERFCOUNTER_ACTION_2_ADDR_0_HI__SHIFT
) & CP_PERFCOUNTER_ACTION_2_ADDR_0_HI__MASK
;
1158 #define REG_CP_EVENT_WRITE_0 0x00000000
1159 #define CP_EVENT_WRITE_0_EVENT__MASK 0x000000ff
1160 #define CP_EVENT_WRITE_0_EVENT__SHIFT 0
1161 static inline uint32_t CP_EVENT_WRITE_0_EVENT(enum vgt_event_type val
)
1163 return ((val
) << CP_EVENT_WRITE_0_EVENT__SHIFT
) & CP_EVENT_WRITE_0_EVENT__MASK
;
1165 #define CP_EVENT_WRITE_0_TIMESTAMP 0x40000000
1167 #define REG_CP_EVENT_WRITE_1 0x00000001
1168 #define CP_EVENT_WRITE_1_ADDR_0_LO__MASK 0xffffffff
1169 #define CP_EVENT_WRITE_1_ADDR_0_LO__SHIFT 0
1170 static inline uint32_t CP_EVENT_WRITE_1_ADDR_0_LO(uint32_t val
)
1172 return ((val
) << CP_EVENT_WRITE_1_ADDR_0_LO__SHIFT
) & CP_EVENT_WRITE_1_ADDR_0_LO__MASK
;
1175 #define REG_CP_EVENT_WRITE_2 0x00000002
1176 #define CP_EVENT_WRITE_2_ADDR_0_HI__MASK 0xffffffff
1177 #define CP_EVENT_WRITE_2_ADDR_0_HI__SHIFT 0
1178 static inline uint32_t CP_EVENT_WRITE_2_ADDR_0_HI(uint32_t val
)
1180 return ((val
) << CP_EVENT_WRITE_2_ADDR_0_HI__SHIFT
) & CP_EVENT_WRITE_2_ADDR_0_HI__MASK
;
1183 #define REG_CP_EVENT_WRITE_3 0x00000003
1185 #define REG_CP_BLIT_0 0x00000000
1186 #define CP_BLIT_0_OP__MASK 0x0000000f
1187 #define CP_BLIT_0_OP__SHIFT 0
1188 static inline uint32_t CP_BLIT_0_OP(enum cp_blit_cmd val
)
1190 return ((val
) << CP_BLIT_0_OP__SHIFT
) & CP_BLIT_0_OP__MASK
;
1193 #define REG_CP_BLIT_1 0x00000001
1194 #define CP_BLIT_1_SRC_X1__MASK 0x00003fff
1195 #define CP_BLIT_1_SRC_X1__SHIFT 0
1196 static inline uint32_t CP_BLIT_1_SRC_X1(uint32_t val
)
1198 return ((val
) << CP_BLIT_1_SRC_X1__SHIFT
) & CP_BLIT_1_SRC_X1__MASK
;
1200 #define CP_BLIT_1_SRC_Y1__MASK 0x3fff0000
1201 #define CP_BLIT_1_SRC_Y1__SHIFT 16
1202 static inline uint32_t CP_BLIT_1_SRC_Y1(uint32_t val
)
1204 return ((val
) << CP_BLIT_1_SRC_Y1__SHIFT
) & CP_BLIT_1_SRC_Y1__MASK
;
1207 #define REG_CP_BLIT_2 0x00000002
1208 #define CP_BLIT_2_SRC_X2__MASK 0x00003fff
1209 #define CP_BLIT_2_SRC_X2__SHIFT 0
1210 static inline uint32_t CP_BLIT_2_SRC_X2(uint32_t val
)
1212 return ((val
) << CP_BLIT_2_SRC_X2__SHIFT
) & CP_BLIT_2_SRC_X2__MASK
;
1214 #define CP_BLIT_2_SRC_Y2__MASK 0x3fff0000
1215 #define CP_BLIT_2_SRC_Y2__SHIFT 16
1216 static inline uint32_t CP_BLIT_2_SRC_Y2(uint32_t val
)
1218 return ((val
) << CP_BLIT_2_SRC_Y2__SHIFT
) & CP_BLIT_2_SRC_Y2__MASK
;
1221 #define REG_CP_BLIT_3 0x00000003
1222 #define CP_BLIT_3_DST_X1__MASK 0x00003fff
1223 #define CP_BLIT_3_DST_X1__SHIFT 0
1224 static inline uint32_t CP_BLIT_3_DST_X1(uint32_t val
)
1226 return ((val
) << CP_BLIT_3_DST_X1__SHIFT
) & CP_BLIT_3_DST_X1__MASK
;
1228 #define CP_BLIT_3_DST_Y1__MASK 0x3fff0000
1229 #define CP_BLIT_3_DST_Y1__SHIFT 16
1230 static inline uint32_t CP_BLIT_3_DST_Y1(uint32_t val
)
1232 return ((val
) << CP_BLIT_3_DST_Y1__SHIFT
) & CP_BLIT_3_DST_Y1__MASK
;
1235 #define REG_CP_BLIT_4 0x00000004
1236 #define CP_BLIT_4_DST_X2__MASK 0x00003fff
1237 #define CP_BLIT_4_DST_X2__SHIFT 0
1238 static inline uint32_t CP_BLIT_4_DST_X2(uint32_t val
)
1240 return ((val
) << CP_BLIT_4_DST_X2__SHIFT
) & CP_BLIT_4_DST_X2__MASK
;
1242 #define CP_BLIT_4_DST_Y2__MASK 0x3fff0000
1243 #define CP_BLIT_4_DST_Y2__SHIFT 16
1244 static inline uint32_t CP_BLIT_4_DST_Y2(uint32_t val
)
1246 return ((val
) << CP_BLIT_4_DST_Y2__SHIFT
) & CP_BLIT_4_DST_Y2__MASK
;
1249 #define REG_CP_EXEC_CS_0 0x00000000
1251 #define REG_CP_EXEC_CS_1 0x00000001
1252 #define CP_EXEC_CS_1_NGROUPS_X__MASK 0xffffffff
1253 #define CP_EXEC_CS_1_NGROUPS_X__SHIFT 0
1254 static inline uint32_t CP_EXEC_CS_1_NGROUPS_X(uint32_t val
)
1256 return ((val
) << CP_EXEC_CS_1_NGROUPS_X__SHIFT
) & CP_EXEC_CS_1_NGROUPS_X__MASK
;
1259 #define REG_CP_EXEC_CS_2 0x00000002
1260 #define CP_EXEC_CS_2_NGROUPS_Y__MASK 0xffffffff
1261 #define CP_EXEC_CS_2_NGROUPS_Y__SHIFT 0
1262 static inline uint32_t CP_EXEC_CS_2_NGROUPS_Y(uint32_t val
)
1264 return ((val
) << CP_EXEC_CS_2_NGROUPS_Y__SHIFT
) & CP_EXEC_CS_2_NGROUPS_Y__MASK
;
1267 #define REG_CP_EXEC_CS_3 0x00000003
1268 #define CP_EXEC_CS_3_NGROUPS_Z__MASK 0xffffffff
1269 #define CP_EXEC_CS_3_NGROUPS_Z__SHIFT 0
1270 static inline uint32_t CP_EXEC_CS_3_NGROUPS_Z(uint32_t val
)
1272 return ((val
) << CP_EXEC_CS_3_NGROUPS_Z__SHIFT
) & CP_EXEC_CS_3_NGROUPS_Z__MASK
;
1275 #define REG_A4XX_CP_EXEC_CS_INDIRECT_0 0x00000000
1278 #define REG_A4XX_CP_EXEC_CS_INDIRECT_1 0x00000001
1279 #define A4XX_CP_EXEC_CS_INDIRECT_1_ADDR__MASK 0xffffffff
1280 #define A4XX_CP_EXEC_CS_INDIRECT_1_ADDR__SHIFT 0
1281 static inline uint32_t A4XX_CP_EXEC_CS_INDIRECT_1_ADDR(uint32_t val
)
1283 return ((val
) << A4XX_CP_EXEC_CS_INDIRECT_1_ADDR__SHIFT
) & A4XX_CP_EXEC_CS_INDIRECT_1_ADDR__MASK
;
1286 #define REG_A4XX_CP_EXEC_CS_INDIRECT_2 0x00000002
1287 #define A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEX__MASK 0x00000ffc
1288 #define A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEX__SHIFT 2
1289 static inline uint32_t A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEX(uint32_t val
)
1291 return ((val
) << A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEX__SHIFT
) & A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEX__MASK
;
1293 #define A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEY__MASK 0x003ff000
1294 #define A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEY__SHIFT 12
1295 static inline uint32_t A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEY(uint32_t val
)
1297 return ((val
) << A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEY__SHIFT
) & A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEY__MASK
;
1299 #define A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEZ__MASK 0xffc00000
1300 #define A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEZ__SHIFT 22
1301 static inline uint32_t A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEZ(uint32_t val
)
1303 return ((val
) << A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEZ__SHIFT
) & A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEZ__MASK
;
1307 #define REG_A5XX_CP_EXEC_CS_INDIRECT_1 0x00000001
1308 #define A5XX_CP_EXEC_CS_INDIRECT_1_ADDR_LO__MASK 0xffffffff
1309 #define A5XX_CP_EXEC_CS_INDIRECT_1_ADDR_LO__SHIFT 0
1310 static inline uint32_t A5XX_CP_EXEC_CS_INDIRECT_1_ADDR_LO(uint32_t val
)
1312 return ((val
) << A5XX_CP_EXEC_CS_INDIRECT_1_ADDR_LO__SHIFT
) & A5XX_CP_EXEC_CS_INDIRECT_1_ADDR_LO__MASK
;
1315 #define REG_A5XX_CP_EXEC_CS_INDIRECT_2 0x00000002
1316 #define A5XX_CP_EXEC_CS_INDIRECT_2_ADDR_HI__MASK 0xffffffff
1317 #define A5XX_CP_EXEC_CS_INDIRECT_2_ADDR_HI__SHIFT 0
1318 static inline uint32_t A5XX_CP_EXEC_CS_INDIRECT_2_ADDR_HI(uint32_t val
)
1320 return ((val
) << A5XX_CP_EXEC_CS_INDIRECT_2_ADDR_HI__SHIFT
) & A5XX_CP_EXEC_CS_INDIRECT_2_ADDR_HI__MASK
;
1323 #define REG_A5XX_CP_EXEC_CS_INDIRECT_3 0x00000003
1324 #define A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEX__MASK 0x00000ffc
1325 #define A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEX__SHIFT 2
1326 static inline uint32_t A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEX(uint32_t val
)
1328 return ((val
) << A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEX__SHIFT
) & A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEX__MASK
;
1330 #define A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEY__MASK 0x003ff000
1331 #define A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEY__SHIFT 12
1332 static inline uint32_t A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEY(uint32_t val
)
1334 return ((val
) << A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEY__SHIFT
) & A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEY__MASK
;
1336 #define A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEZ__MASK 0xffc00000
1337 #define A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEZ__SHIFT 22
1338 static inline uint32_t A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEZ(uint32_t val
)
1340 return ((val
) << A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEZ__SHIFT
) & A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEZ__MASK
;
1344 #endif /* ADRENO_PM4_XML */