1b8e80941Smrg#ifndef ADRENO_PM4_XML 2b8e80941Smrg#define ADRENO_PM4_XML 3b8e80941Smrg 4b8e80941Smrg/* Autogenerated file, DO NOT EDIT manually! 5b8e80941Smrg 6b8e80941SmrgThis file was generated by the rules-ng-ng headergen tool in this git repository: 7b8e80941Smrghttp://github.com/freedreno/envytools/ 8b8e80941Smrggit clone https://github.com/freedreno/envytools.git 9b8e80941Smrg 10b8e80941SmrgThe rules-ng-ng source files this header was generated from are: 11b8e80941Smrg- /home/robclark/src/envytools/rnndb/adreno.xml ( 501 bytes, from 2018-07-03 19:37:13) 12b8e80941Smrg- /home/robclark/src/envytools/rnndb/freedreno_copyright.xml ( 1572 bytes, from 2018-07-03 19:37:13) 13b8e80941Smrg- /home/robclark/src/envytools/rnndb/adreno/a2xx.xml ( 79608 bytes, from 2019-01-21 14:36:17) 14b8e80941Smrg- /home/robclark/src/envytools/rnndb/adreno/adreno_common.xml ( 14239 bytes, from 2018-12-05 15:25:53) 15b8e80941Smrg- /home/robclark/src/envytools/rnndb/adreno/adreno_pm4.xml ( 43155 bytes, from 2019-05-03 18:24:29) 16b8e80941Smrg- /home/robclark/src/envytools/rnndb/adreno/a3xx.xml ( 83840 bytes, from 2018-07-03 19:37:13) 17b8e80941Smrg- /home/robclark/src/envytools/rnndb/adreno/a4xx.xml ( 112086 bytes, from 2018-07-03 19:37:13) 18b8e80941Smrg- /home/robclark/src/envytools/rnndb/adreno/a5xx.xml ( 147240 bytes, from 2019-05-03 18:24:29) 19b8e80941Smrg- /home/robclark/src/envytools/rnndb/adreno/a6xx.xml ( 148461 bytes, from 2019-05-03 18:24:37) 20b8e80941Smrg- /home/robclark/src/envytools/rnndb/adreno/a6xx_gmu.xml ( 10431 bytes, from 2018-09-14 13:03:07) 21b8e80941Smrg- /home/robclark/src/envytools/rnndb/adreno/ocmem.xml ( 1773 bytes, from 2018-07-03 19:37:13) 22b8e80941Smrg 23b8e80941SmrgCopyright (C) 2013-2019 by the following authors: 24b8e80941Smrg- Rob Clark <robdclark@gmail.com> (robclark) 25b8e80941Smrg- Ilia Mirkin <imirkin@alum.mit.edu> (imirkin) 26b8e80941Smrg 27b8e80941SmrgPermission is hereby granted, free of charge, to any person obtaining 28b8e80941Smrga copy of this software and associated documentation files (the 29b8e80941Smrg"Software"), to deal in the Software without restriction, including 30b8e80941Smrgwithout limitation the rights to use, copy, modify, merge, publish, 31b8e80941Smrgdistribute, sublicense, and/or sell copies of the Software, and to 32b8e80941Smrgpermit persons to whom the Software is furnished to do so, subject to 33b8e80941Smrgthe following conditions: 34b8e80941Smrg 35b8e80941SmrgThe above copyright notice and this permission notice (including the 36b8e80941Smrgnext paragraph) shall be included in all copies or substantial 37b8e80941Smrgportions of the Software. 38b8e80941Smrg 39b8e80941SmrgTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 40b8e80941SmrgEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 41b8e80941SmrgMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 42b8e80941SmrgIN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE 43b8e80941SmrgLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 44b8e80941SmrgOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 45b8e80941SmrgWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 46b8e80941Smrg*/ 47b8e80941Smrg 48b8e80941Smrg 49b8e80941Smrgenum vgt_event_type { 50b8e80941Smrg VS_DEALLOC = 0, 51b8e80941Smrg PS_DEALLOC = 1, 52b8e80941Smrg VS_DONE_TS = 2, 53b8e80941Smrg PS_DONE_TS = 3, 54b8e80941Smrg CACHE_FLUSH_TS = 4, 55b8e80941Smrg CONTEXT_DONE = 5, 56b8e80941Smrg CACHE_FLUSH = 6, 57b8e80941Smrg HLSQ_FLUSH = 7, 58b8e80941Smrg VIZQUERY_START = 7, 59b8e80941Smrg VIZQUERY_END = 8, 60b8e80941Smrg SC_WAIT_WC = 9, 61b8e80941Smrg RST_PIX_CNT = 13, 62b8e80941Smrg RST_VTX_CNT = 14, 63b8e80941Smrg TILE_FLUSH = 15, 64b8e80941Smrg STAT_EVENT = 16, 65b8e80941Smrg CACHE_FLUSH_AND_INV_TS_EVENT = 20, 66b8e80941Smrg ZPASS_DONE = 21, 67b8e80941Smrg CACHE_FLUSH_AND_INV_EVENT = 22, 68b8e80941Smrg PERFCOUNTER_START = 23, 69b8e80941Smrg PERFCOUNTER_STOP = 24, 70b8e80941Smrg VS_FETCH_DONE = 27, 71b8e80941Smrg FACENESS_FLUSH = 28, 72b8e80941Smrg FLUSH_SO_0 = 17, 73b8e80941Smrg FLUSH_SO_1 = 18, 74b8e80941Smrg FLUSH_SO_2 = 19, 75b8e80941Smrg FLUSH_SO_3 = 20, 76b8e80941Smrg PC_CCU_INVALIDATE_DEPTH = 24, 77b8e80941Smrg PC_CCU_INVALIDATE_COLOR = 25, 78b8e80941Smrg UNK_1C = 28, 79b8e80941Smrg UNK_1D = 29, 80b8e80941Smrg BLIT = 30, 81b8e80941Smrg UNK_25 = 37, 82b8e80941Smrg LRZ_FLUSH = 38, 83b8e80941Smrg UNK_2C = 44, 84b8e80941Smrg UNK_2D = 45, 85b8e80941Smrg}; 86b8e80941Smrg 87b8e80941Smrgenum pc_di_primtype { 88b8e80941Smrg DI_PT_NONE = 0, 89b8e80941Smrg DI_PT_POINTLIST_PSIZE = 1, 90b8e80941Smrg DI_PT_LINELIST = 2, 91b8e80941Smrg DI_PT_LINESTRIP = 3, 92b8e80941Smrg DI_PT_TRILIST = 4, 93b8e80941Smrg DI_PT_TRIFAN = 5, 94b8e80941Smrg DI_PT_TRISTRIP = 6, 95b8e80941Smrg DI_PT_LINELOOP = 7, 96b8e80941Smrg DI_PT_RECTLIST = 8, 97b8e80941Smrg DI_PT_POINTLIST = 9, 98b8e80941Smrg DI_PT_LINE_ADJ = 10, 99b8e80941Smrg DI_PT_LINESTRIP_ADJ = 11, 100b8e80941Smrg DI_PT_TRI_ADJ = 12, 101b8e80941Smrg DI_PT_TRISTRIP_ADJ = 13, 102b8e80941Smrg}; 103b8e80941Smrg 104b8e80941Smrgenum pc_di_src_sel { 105b8e80941Smrg DI_SRC_SEL_DMA = 0, 106b8e80941Smrg DI_SRC_SEL_IMMEDIATE = 1, 107b8e80941Smrg DI_SRC_SEL_AUTO_INDEX = 2, 108b8e80941Smrg DI_SRC_SEL_RESERVED = 3, 109b8e80941Smrg}; 110b8e80941Smrg 111b8e80941Smrgenum pc_di_face_cull_sel { 112b8e80941Smrg DI_FACE_CULL_NONE = 0, 113b8e80941Smrg DI_FACE_CULL_FETCH = 1, 114b8e80941Smrg DI_FACE_BACKFACE_CULL = 2, 115b8e80941Smrg DI_FACE_FRONTFACE_CULL = 3, 116b8e80941Smrg}; 117b8e80941Smrg 118b8e80941Smrgenum pc_di_index_size { 119b8e80941Smrg INDEX_SIZE_IGN = 0, 120b8e80941Smrg INDEX_SIZE_16_BIT = 0, 121b8e80941Smrg INDEX_SIZE_32_BIT = 1, 122b8e80941Smrg INDEX_SIZE_8_BIT = 2, 123b8e80941Smrg INDEX_SIZE_INVALID = 0, 124b8e80941Smrg}; 125b8e80941Smrg 126b8e80941Smrgenum pc_di_vis_cull_mode { 127b8e80941Smrg IGNORE_VISIBILITY = 0, 128b8e80941Smrg USE_VISIBILITY = 1, 129b8e80941Smrg}; 130b8e80941Smrg 131b8e80941Smrgenum adreno_pm4_packet_type { 132b8e80941Smrg CP_TYPE0_PKT = 0, 133b8e80941Smrg CP_TYPE1_PKT = 0x40000000, 134b8e80941Smrg CP_TYPE2_PKT = 0x80000000, 135b8e80941Smrg CP_TYPE3_PKT = 0xc0000000, 136b8e80941Smrg CP_TYPE4_PKT = 0x40000000, 137b8e80941Smrg CP_TYPE7_PKT = 0x70000000, 138b8e80941Smrg}; 139b8e80941Smrg 140b8e80941Smrgenum adreno_pm4_type3_packets { 141b8e80941Smrg CP_ME_INIT = 72, 142b8e80941Smrg CP_NOP = 16, 143b8e80941Smrg CP_PREEMPT_ENABLE = 28, 144b8e80941Smrg CP_PREEMPT_TOKEN = 30, 145b8e80941Smrg CP_INDIRECT_BUFFER = 63, 146b8e80941Smrg CP_INDIRECT_BUFFER_PFD = 55, 147b8e80941Smrg CP_WAIT_FOR_IDLE = 38, 148b8e80941Smrg CP_WAIT_REG_MEM = 60, 149b8e80941Smrg CP_WAIT_REG_EQ = 82, 150b8e80941Smrg CP_WAIT_REG_GTE = 83, 151b8e80941Smrg CP_WAIT_UNTIL_READ = 92, 152b8e80941Smrg CP_WAIT_IB_PFD_COMPLETE = 93, 153b8e80941Smrg CP_REG_RMW = 33, 154b8e80941Smrg CP_SET_BIN_DATA = 47, 155b8e80941Smrg CP_SET_BIN_DATA5 = 47, 156b8e80941Smrg CP_REG_TO_MEM = 62, 157b8e80941Smrg CP_MEM_WRITE = 61, 158b8e80941Smrg CP_MEM_WRITE_CNTR = 79, 159b8e80941Smrg CP_COND_EXEC = 68, 160b8e80941Smrg CP_COND_WRITE = 69, 161b8e80941Smrg CP_COND_WRITE5 = 69, 162b8e80941Smrg CP_EVENT_WRITE = 70, 163b8e80941Smrg CP_EVENT_WRITE_SHD = 88, 164b8e80941Smrg CP_EVENT_WRITE_CFL = 89, 165b8e80941Smrg CP_EVENT_WRITE_ZPD = 91, 166b8e80941Smrg CP_RUN_OPENCL = 49, 167b8e80941Smrg CP_DRAW_INDX = 34, 168b8e80941Smrg CP_DRAW_INDX_2 = 54, 169b8e80941Smrg CP_DRAW_INDX_BIN = 52, 170b8e80941Smrg CP_DRAW_INDX_2_BIN = 53, 171b8e80941Smrg CP_VIZ_QUERY = 35, 172b8e80941Smrg CP_SET_STATE = 37, 173b8e80941Smrg CP_SET_CONSTANT = 45, 174b8e80941Smrg CP_IM_LOAD = 39, 175b8e80941Smrg CP_IM_LOAD_IMMEDIATE = 43, 176b8e80941Smrg CP_LOAD_CONSTANT_CONTEXT = 46, 177b8e80941Smrg CP_INVALIDATE_STATE = 59, 178b8e80941Smrg CP_SET_SHADER_BASES = 74, 179b8e80941Smrg CP_SET_BIN_MASK = 80, 180b8e80941Smrg CP_SET_BIN_SELECT = 81, 181b8e80941Smrg CP_CONTEXT_UPDATE = 94, 182b8e80941Smrg CP_INTERRUPT = 64, 183b8e80941Smrg CP_IM_STORE = 44, 184b8e80941Smrg CP_SET_DRAW_INIT_FLAGS = 75, 185b8e80941Smrg CP_SET_PROTECTED_MODE = 95, 186b8e80941Smrg CP_BOOTSTRAP_UCODE = 111, 187b8e80941Smrg CP_LOAD_STATE = 48, 188b8e80941Smrg CP_LOAD_STATE4 = 48, 189b8e80941Smrg CP_COND_INDIRECT_BUFFER_PFE = 58, 190b8e80941Smrg CP_COND_INDIRECT_BUFFER_PFD = 50, 191b8e80941Smrg CP_INDIRECT_BUFFER_PFE = 63, 192b8e80941Smrg CP_SET_BIN = 76, 193b8e80941Smrg CP_TEST_TWO_MEMS = 113, 194b8e80941Smrg CP_REG_WR_NO_CTXT = 120, 195b8e80941Smrg CP_RECORD_PFP_TIMESTAMP = 17, 196b8e80941Smrg CP_SET_SECURE_MODE = 102, 197b8e80941Smrg CP_WAIT_FOR_ME = 19, 198b8e80941Smrg CP_SET_DRAW_STATE = 67, 199b8e80941Smrg CP_DRAW_INDX_OFFSET = 56, 200b8e80941Smrg CP_DRAW_INDIRECT = 40, 201b8e80941Smrg CP_DRAW_INDX_INDIRECT = 41, 202b8e80941Smrg CP_DRAW_AUTO = 36, 203b8e80941Smrg CP_UNKNOWN_19 = 25, 204b8e80941Smrg CP_UNKNOWN_1A = 26, 205b8e80941Smrg CP_UNKNOWN_4E = 78, 206b8e80941Smrg CP_WIDE_REG_WRITE = 116, 207b8e80941Smrg CP_SCRATCH_TO_REG = 77, 208b8e80941Smrg CP_REG_TO_SCRATCH = 74, 209b8e80941Smrg CP_WAIT_MEM_WRITES = 18, 210b8e80941Smrg CP_COND_REG_EXEC = 71, 211b8e80941Smrg CP_MEM_TO_REG = 66, 212b8e80941Smrg CP_EXEC_CS_INDIRECT = 65, 213b8e80941Smrg CP_EXEC_CS = 51, 214b8e80941Smrg CP_PERFCOUNTER_ACTION = 80, 215b8e80941Smrg CP_SMMU_TABLE_UPDATE = 83, 216b8e80941Smrg CP_SET_MARKER = 101, 217b8e80941Smrg CP_SET_PSEUDO_REG = 86, 218b8e80941Smrg CP_CONTEXT_REG_BUNCH = 92, 219b8e80941Smrg CP_YIELD_ENABLE = 28, 220b8e80941Smrg CP_SKIP_IB2_ENABLE_GLOBAL = 29, 221b8e80941Smrg CP_SKIP_IB2_ENABLE_LOCAL = 35, 222b8e80941Smrg CP_SET_SUBDRAW_SIZE = 53, 223b8e80941Smrg CP_SET_VISIBILITY_OVERRIDE = 100, 224b8e80941Smrg CP_PREEMPT_ENABLE_GLOBAL = 105, 225b8e80941Smrg CP_PREEMPT_ENABLE_LOCAL = 106, 226b8e80941Smrg CP_CONTEXT_SWITCH_YIELD = 107, 227b8e80941Smrg CP_SET_RENDER_MODE = 108, 228b8e80941Smrg CP_COMPUTE_CHECKPOINT = 110, 229b8e80941Smrg CP_MEM_TO_MEM = 115, 230b8e80941Smrg CP_BLIT = 44, 231b8e80941Smrg CP_REG_TEST = 57, 232b8e80941Smrg CP_SET_MODE = 99, 233b8e80941Smrg CP_LOAD_STATE6_GEOM = 50, 234b8e80941Smrg CP_LOAD_STATE6_FRAG = 52, 235b8e80941Smrg CP_LOAD_STATE6 = 54, 236b8e80941Smrg IN_IB_PREFETCH_END = 23, 237b8e80941Smrg IN_SUBBLK_PREFETCH = 31, 238b8e80941Smrg IN_INSTR_PREFETCH = 32, 239b8e80941Smrg IN_INSTR_MATCH = 71, 240b8e80941Smrg IN_CONST_PREFETCH = 73, 241b8e80941Smrg IN_INCR_UPDT_STATE = 85, 242b8e80941Smrg IN_INCR_UPDT_CONST = 86, 243b8e80941Smrg IN_INCR_UPDT_INSTR = 87, 244b8e80941Smrg PKT4 = 4, 245b8e80941Smrg CP_UNK_A6XX_14 = 20, 246b8e80941Smrg CP_UNK_A6XX_55 = 85, 247b8e80941Smrg CP_REG_WRITE = 109, 248b8e80941Smrg}; 249b8e80941Smrg 250b8e80941Smrgenum adreno_state_block { 251b8e80941Smrg SB_VERT_TEX = 0, 252b8e80941Smrg SB_VERT_MIPADDR = 1, 253b8e80941Smrg SB_FRAG_TEX = 2, 254b8e80941Smrg SB_FRAG_MIPADDR = 3, 255b8e80941Smrg SB_VERT_SHADER = 4, 256b8e80941Smrg SB_GEOM_SHADER = 5, 257b8e80941Smrg SB_FRAG_SHADER = 6, 258b8e80941Smrg SB_COMPUTE_SHADER = 7, 259b8e80941Smrg}; 260b8e80941Smrg 261b8e80941Smrgenum adreno_state_type { 262b8e80941Smrg ST_SHADER = 0, 263b8e80941Smrg ST_CONSTANTS = 1, 264b8e80941Smrg}; 265b8e80941Smrg 266b8e80941Smrgenum adreno_state_src { 267b8e80941Smrg SS_DIRECT = 0, 268b8e80941Smrg SS_INVALID_ALL_IC = 2, 269b8e80941Smrg SS_INVALID_PART_IC = 3, 270b8e80941Smrg SS_INDIRECT = 4, 271b8e80941Smrg SS_INDIRECT_TCM = 5, 272b8e80941Smrg SS_INDIRECT_STM = 6, 273b8e80941Smrg}; 274b8e80941Smrg 275b8e80941Smrgenum a4xx_state_block { 276b8e80941Smrg SB4_VS_TEX = 0, 277b8e80941Smrg SB4_HS_TEX = 1, 278b8e80941Smrg SB4_DS_TEX = 2, 279b8e80941Smrg SB4_GS_TEX = 3, 280b8e80941Smrg SB4_FS_TEX = 4, 281b8e80941Smrg SB4_CS_TEX = 5, 282b8e80941Smrg SB4_VS_SHADER = 8, 283b8e80941Smrg SB4_HS_SHADER = 9, 284b8e80941Smrg SB4_DS_SHADER = 10, 285b8e80941Smrg SB4_GS_SHADER = 11, 286b8e80941Smrg SB4_FS_SHADER = 12, 287b8e80941Smrg SB4_CS_SHADER = 13, 288b8e80941Smrg SB4_SSBO = 14, 289b8e80941Smrg SB4_CS_SSBO = 15, 290b8e80941Smrg}; 291b8e80941Smrg 292b8e80941Smrgenum a4xx_state_type { 293b8e80941Smrg ST4_SHADER = 0, 294b8e80941Smrg ST4_CONSTANTS = 1, 295b8e80941Smrg}; 296b8e80941Smrg 297b8e80941Smrgenum a4xx_state_src { 298b8e80941Smrg SS4_DIRECT = 0, 299b8e80941Smrg SS4_INDIRECT = 2, 300b8e80941Smrg}; 301b8e80941Smrg 302b8e80941Smrgenum a6xx_state_block { 303b8e80941Smrg SB6_VS_TEX = 0, 304b8e80941Smrg SB6_HS_TEX = 1, 305b8e80941Smrg SB6_DS_TEX = 2, 306b8e80941Smrg SB6_GS_TEX = 3, 307b8e80941Smrg SB6_FS_TEX = 4, 308b8e80941Smrg SB6_CS_TEX = 5, 309b8e80941Smrg SB6_VS_SHADER = 8, 310b8e80941Smrg SB6_HS_SHADER = 9, 311b8e80941Smrg SB6_DS_SHADER = 10, 312b8e80941Smrg SB6_GS_SHADER = 11, 313b8e80941Smrg SB6_FS_SHADER = 12, 314b8e80941Smrg SB6_CS_SHADER = 13, 315b8e80941Smrg SB6_IBO = 14, 316b8e80941Smrg SB6_CS_IBO = 15, 317b8e80941Smrg}; 318b8e80941Smrg 319b8e80941Smrgenum a6xx_state_type { 320b8e80941Smrg ST6_SHADER = 0, 321b8e80941Smrg ST6_CONSTANTS = 1, 322b8e80941Smrg ST6_IBO = 3, 323b8e80941Smrg}; 324b8e80941Smrg 325b8e80941Smrgenum a6xx_state_src { 326b8e80941Smrg SS6_DIRECT = 0, 327b8e80941Smrg SS6_INDIRECT = 2, 328b8e80941Smrg}; 329b8e80941Smrg 330b8e80941Smrgenum a4xx_index_size { 331b8e80941Smrg INDEX4_SIZE_8_BIT = 0, 332b8e80941Smrg INDEX4_SIZE_16_BIT = 1, 333b8e80941Smrg INDEX4_SIZE_32_BIT = 2, 334b8e80941Smrg}; 335b8e80941Smrg 336b8e80941Smrgenum cp_cond_function { 337b8e80941Smrg WRITE_ALWAYS = 0, 338b8e80941Smrg WRITE_LT = 1, 339b8e80941Smrg WRITE_LE = 2, 340b8e80941Smrg WRITE_EQ = 3, 341b8e80941Smrg WRITE_NE = 4, 342b8e80941Smrg WRITE_GE = 5, 343b8e80941Smrg WRITE_GT = 6, 344b8e80941Smrg}; 345b8e80941Smrg 346b8e80941Smrgenum render_mode_cmd { 347b8e80941Smrg BYPASS = 1, 348b8e80941Smrg BINNING = 2, 349b8e80941Smrg GMEM = 3, 350b8e80941Smrg BLIT2D = 5, 351b8e80941Smrg BLIT2DSCALE = 7, 352b8e80941Smrg END2D = 8, 353b8e80941Smrg}; 354b8e80941Smrg 355b8e80941Smrgenum cp_blit_cmd { 356b8e80941Smrg BLIT_OP_FILL = 0, 357b8e80941Smrg BLIT_OP_COPY = 1, 358b8e80941Smrg BLIT_OP_SCALE = 3, 359b8e80941Smrg}; 360b8e80941Smrg 361b8e80941Smrgenum a6xx_render_mode { 362b8e80941Smrg RM6_BYPASS = 1, 363b8e80941Smrg RM6_BINNING = 2, 364b8e80941Smrg RM6_GMEM = 4, 365b8e80941Smrg RM6_BLIT2D = 5, 366b8e80941Smrg RM6_RESOLVE = 6, 367b8e80941Smrg RM6_BLIT2DSCALE = 12, 368b8e80941Smrg}; 369b8e80941Smrg 370b8e80941Smrgenum pseudo_reg { 371b8e80941Smrg SMMU_INFO = 0, 372b8e80941Smrg NON_SECURE_SAVE_ADDR = 1, 373b8e80941Smrg SECURE_SAVE_ADDR = 2, 374b8e80941Smrg NON_PRIV_SAVE_ADDR = 3, 375b8e80941Smrg COUNTER = 4, 376b8e80941Smrg}; 377b8e80941Smrg 378b8e80941Smrg#define REG_CP_LOAD_STATE_0 0x00000000 379b8e80941Smrg#define CP_LOAD_STATE_0_DST_OFF__MASK 0x0000ffff 380b8e80941Smrg#define CP_LOAD_STATE_0_DST_OFF__SHIFT 0 381b8e80941Smrgstatic inline uint32_t CP_LOAD_STATE_0_DST_OFF(uint32_t val) 382b8e80941Smrg{ 383b8e80941Smrg return ((val) << CP_LOAD_STATE_0_DST_OFF__SHIFT) & CP_LOAD_STATE_0_DST_OFF__MASK; 384b8e80941Smrg} 385b8e80941Smrg#define CP_LOAD_STATE_0_STATE_SRC__MASK 0x00070000 386b8e80941Smrg#define CP_LOAD_STATE_0_STATE_SRC__SHIFT 16 387b8e80941Smrgstatic inline uint32_t CP_LOAD_STATE_0_STATE_SRC(enum adreno_state_src val) 388b8e80941Smrg{ 389b8e80941Smrg return ((val) << CP_LOAD_STATE_0_STATE_SRC__SHIFT) & CP_LOAD_STATE_0_STATE_SRC__MASK; 390b8e80941Smrg} 391b8e80941Smrg#define CP_LOAD_STATE_0_STATE_BLOCK__MASK 0x00380000 392b8e80941Smrg#define CP_LOAD_STATE_0_STATE_BLOCK__SHIFT 19 393b8e80941Smrgstatic inline uint32_t CP_LOAD_STATE_0_STATE_BLOCK(enum adreno_state_block val) 394b8e80941Smrg{ 395b8e80941Smrg return ((val) << CP_LOAD_STATE_0_STATE_BLOCK__SHIFT) & CP_LOAD_STATE_0_STATE_BLOCK__MASK; 396b8e80941Smrg} 397b8e80941Smrg#define CP_LOAD_STATE_0_NUM_UNIT__MASK 0xffc00000 398b8e80941Smrg#define CP_LOAD_STATE_0_NUM_UNIT__SHIFT 22 399b8e80941Smrgstatic inline uint32_t CP_LOAD_STATE_0_NUM_UNIT(uint32_t val) 400b8e80941Smrg{ 401b8e80941Smrg return ((val) << CP_LOAD_STATE_0_NUM_UNIT__SHIFT) & CP_LOAD_STATE_0_NUM_UNIT__MASK; 402b8e80941Smrg} 403b8e80941Smrg 404b8e80941Smrg#define REG_CP_LOAD_STATE_1 0x00000001 405b8e80941Smrg#define CP_LOAD_STATE_1_STATE_TYPE__MASK 0x00000003 406b8e80941Smrg#define CP_LOAD_STATE_1_STATE_TYPE__SHIFT 0 407b8e80941Smrgstatic inline uint32_t CP_LOAD_STATE_1_STATE_TYPE(enum adreno_state_type val) 408b8e80941Smrg{ 409b8e80941Smrg return ((val) << CP_LOAD_STATE_1_STATE_TYPE__SHIFT) & CP_LOAD_STATE_1_STATE_TYPE__MASK; 410b8e80941Smrg} 411b8e80941Smrg#define CP_LOAD_STATE_1_EXT_SRC_ADDR__MASK 0xfffffffc 412b8e80941Smrg#define CP_LOAD_STATE_1_EXT_SRC_ADDR__SHIFT 2 413b8e80941Smrgstatic inline uint32_t CP_LOAD_STATE_1_EXT_SRC_ADDR(uint32_t val) 414b8e80941Smrg{ 415b8e80941Smrg assert(!(val & 0x3)); 416b8e80941Smrg return ((val >> 2) << CP_LOAD_STATE_1_EXT_SRC_ADDR__SHIFT) & CP_LOAD_STATE_1_EXT_SRC_ADDR__MASK; 417b8e80941Smrg} 418b8e80941Smrg 419b8e80941Smrg#define REG_CP_LOAD_STATE4_0 0x00000000 420b8e80941Smrg#define CP_LOAD_STATE4_0_DST_OFF__MASK 0x00003fff 421b8e80941Smrg#define CP_LOAD_STATE4_0_DST_OFF__SHIFT 0 422b8e80941Smrgstatic inline uint32_t CP_LOAD_STATE4_0_DST_OFF(uint32_t val) 423b8e80941Smrg{ 424b8e80941Smrg return ((val) << CP_LOAD_STATE4_0_DST_OFF__SHIFT) & CP_LOAD_STATE4_0_DST_OFF__MASK; 425b8e80941Smrg} 426b8e80941Smrg#define CP_LOAD_STATE4_0_STATE_SRC__MASK 0x00030000 427b8e80941Smrg#define CP_LOAD_STATE4_0_STATE_SRC__SHIFT 16 428b8e80941Smrgstatic inline uint32_t CP_LOAD_STATE4_0_STATE_SRC(enum a4xx_state_src val) 429b8e80941Smrg{ 430b8e80941Smrg return ((val) << CP_LOAD_STATE4_0_STATE_SRC__SHIFT) & CP_LOAD_STATE4_0_STATE_SRC__MASK; 431b8e80941Smrg} 432b8e80941Smrg#define CP_LOAD_STATE4_0_STATE_BLOCK__MASK 0x003c0000 433b8e80941Smrg#define CP_LOAD_STATE4_0_STATE_BLOCK__SHIFT 18 434b8e80941Smrgstatic inline uint32_t CP_LOAD_STATE4_0_STATE_BLOCK(enum a4xx_state_block val) 435b8e80941Smrg{ 436b8e80941Smrg return ((val) << CP_LOAD_STATE4_0_STATE_BLOCK__SHIFT) & CP_LOAD_STATE4_0_STATE_BLOCK__MASK; 437b8e80941Smrg} 438b8e80941Smrg#define CP_LOAD_STATE4_0_NUM_UNIT__MASK 0xffc00000 439b8e80941Smrg#define CP_LOAD_STATE4_0_NUM_UNIT__SHIFT 22 440b8e80941Smrgstatic inline uint32_t CP_LOAD_STATE4_0_NUM_UNIT(uint32_t val) 441b8e80941Smrg{ 442b8e80941Smrg return ((val) << CP_LOAD_STATE4_0_NUM_UNIT__SHIFT) & CP_LOAD_STATE4_0_NUM_UNIT__MASK; 443b8e80941Smrg} 444b8e80941Smrg 445b8e80941Smrg#define REG_CP_LOAD_STATE4_1 0x00000001 446b8e80941Smrg#define CP_LOAD_STATE4_1_STATE_TYPE__MASK 0x00000003 447b8e80941Smrg#define CP_LOAD_STATE4_1_STATE_TYPE__SHIFT 0 448b8e80941Smrgstatic inline uint32_t CP_LOAD_STATE4_1_STATE_TYPE(enum a4xx_state_type val) 449b8e80941Smrg{ 450b8e80941Smrg return ((val) << CP_LOAD_STATE4_1_STATE_TYPE__SHIFT) & CP_LOAD_STATE4_1_STATE_TYPE__MASK; 451b8e80941Smrg} 452b8e80941Smrg#define CP_LOAD_STATE4_1_EXT_SRC_ADDR__MASK 0xfffffffc 453b8e80941Smrg#define CP_LOAD_STATE4_1_EXT_SRC_ADDR__SHIFT 2 454b8e80941Smrgstatic inline uint32_t CP_LOAD_STATE4_1_EXT_SRC_ADDR(uint32_t val) 455b8e80941Smrg{ 456b8e80941Smrg assert(!(val & 0x3)); 457b8e80941Smrg return ((val >> 2) << CP_LOAD_STATE4_1_EXT_SRC_ADDR__SHIFT) & CP_LOAD_STATE4_1_EXT_SRC_ADDR__MASK; 458b8e80941Smrg} 459b8e80941Smrg 460b8e80941Smrg#define REG_CP_LOAD_STATE4_2 0x00000002 461b8e80941Smrg#define CP_LOAD_STATE4_2_EXT_SRC_ADDR_HI__MASK 0xffffffff 462b8e80941Smrg#define CP_LOAD_STATE4_2_EXT_SRC_ADDR_HI__SHIFT 0 463b8e80941Smrgstatic inline uint32_t CP_LOAD_STATE4_2_EXT_SRC_ADDR_HI(uint32_t val) 464b8e80941Smrg{ 465b8e80941Smrg return ((val) << CP_LOAD_STATE4_2_EXT_SRC_ADDR_HI__SHIFT) & CP_LOAD_STATE4_2_EXT_SRC_ADDR_HI__MASK; 466b8e80941Smrg} 467b8e80941Smrg 468b8e80941Smrg#define REG_CP_LOAD_STATE6_0 0x00000000 469b8e80941Smrg#define CP_LOAD_STATE6_0_DST_OFF__MASK 0x00003fff 470b8e80941Smrg#define CP_LOAD_STATE6_0_DST_OFF__SHIFT 0 471b8e80941Smrgstatic inline uint32_t CP_LOAD_STATE6_0_DST_OFF(uint32_t val) 472b8e80941Smrg{ 473b8e80941Smrg return ((val) << CP_LOAD_STATE6_0_DST_OFF__SHIFT) & CP_LOAD_STATE6_0_DST_OFF__MASK; 474b8e80941Smrg} 475b8e80941Smrg#define CP_LOAD_STATE6_0_STATE_TYPE__MASK 0x0000c000 476b8e80941Smrg#define CP_LOAD_STATE6_0_STATE_TYPE__SHIFT 14 477b8e80941Smrgstatic inline uint32_t CP_LOAD_STATE6_0_STATE_TYPE(enum a6xx_state_type val) 478b8e80941Smrg{ 479b8e80941Smrg return ((val) << CP_LOAD_STATE6_0_STATE_TYPE__SHIFT) & CP_LOAD_STATE6_0_STATE_TYPE__MASK; 480b8e80941Smrg} 481b8e80941Smrg#define CP_LOAD_STATE6_0_STATE_SRC__MASK 0x00030000 482b8e80941Smrg#define CP_LOAD_STATE6_0_STATE_SRC__SHIFT 16 483b8e80941Smrgstatic inline uint32_t CP_LOAD_STATE6_0_STATE_SRC(enum a6xx_state_src val) 484b8e80941Smrg{ 485b8e80941Smrg return ((val) << CP_LOAD_STATE6_0_STATE_SRC__SHIFT) & CP_LOAD_STATE6_0_STATE_SRC__MASK; 486b8e80941Smrg} 487b8e80941Smrg#define CP_LOAD_STATE6_0_STATE_BLOCK__MASK 0x003c0000 488b8e80941Smrg#define CP_LOAD_STATE6_0_STATE_BLOCK__SHIFT 18 489b8e80941Smrgstatic inline uint32_t CP_LOAD_STATE6_0_STATE_BLOCK(enum a6xx_state_block val) 490b8e80941Smrg{ 491b8e80941Smrg return ((val) << CP_LOAD_STATE6_0_STATE_BLOCK__SHIFT) & CP_LOAD_STATE6_0_STATE_BLOCK__MASK; 492b8e80941Smrg} 493b8e80941Smrg#define CP_LOAD_STATE6_0_NUM_UNIT__MASK 0xffc00000 494b8e80941Smrg#define CP_LOAD_STATE6_0_NUM_UNIT__SHIFT 22 495b8e80941Smrgstatic inline uint32_t CP_LOAD_STATE6_0_NUM_UNIT(uint32_t val) 496b8e80941Smrg{ 497b8e80941Smrg return ((val) << CP_LOAD_STATE6_0_NUM_UNIT__SHIFT) & CP_LOAD_STATE6_0_NUM_UNIT__MASK; 498b8e80941Smrg} 499b8e80941Smrg 500b8e80941Smrg#define REG_CP_LOAD_STATE6_1 0x00000001 501b8e80941Smrg#define CP_LOAD_STATE6_1_EXT_SRC_ADDR__MASK 0xfffffffc 502b8e80941Smrg#define CP_LOAD_STATE6_1_EXT_SRC_ADDR__SHIFT 2 503b8e80941Smrgstatic inline uint32_t CP_LOAD_STATE6_1_EXT_SRC_ADDR(uint32_t val) 504b8e80941Smrg{ 505b8e80941Smrg assert(!(val & 0x3)); 506b8e80941Smrg return ((val >> 2) << CP_LOAD_STATE6_1_EXT_SRC_ADDR__SHIFT) & CP_LOAD_STATE6_1_EXT_SRC_ADDR__MASK; 507b8e80941Smrg} 508b8e80941Smrg 509b8e80941Smrg#define REG_CP_LOAD_STATE6_2 0x00000002 510b8e80941Smrg#define CP_LOAD_STATE6_2_EXT_SRC_ADDR_HI__MASK 0xffffffff 511b8e80941Smrg#define CP_LOAD_STATE6_2_EXT_SRC_ADDR_HI__SHIFT 0 512b8e80941Smrgstatic inline uint32_t CP_LOAD_STATE6_2_EXT_SRC_ADDR_HI(uint32_t val) 513b8e80941Smrg{ 514b8e80941Smrg return ((val) << CP_LOAD_STATE6_2_EXT_SRC_ADDR_HI__SHIFT) & CP_LOAD_STATE6_2_EXT_SRC_ADDR_HI__MASK; 515b8e80941Smrg} 516b8e80941Smrg 517b8e80941Smrg#define REG_CP_DRAW_INDX_0 0x00000000 518b8e80941Smrg#define CP_DRAW_INDX_0_VIZ_QUERY__MASK 0xffffffff 519b8e80941Smrg#define CP_DRAW_INDX_0_VIZ_QUERY__SHIFT 0 520b8e80941Smrgstatic inline uint32_t CP_DRAW_INDX_0_VIZ_QUERY(uint32_t val) 521b8e80941Smrg{ 522b8e80941Smrg return ((val) << CP_DRAW_INDX_0_VIZ_QUERY__SHIFT) & CP_DRAW_INDX_0_VIZ_QUERY__MASK; 523b8e80941Smrg} 524b8e80941Smrg 525b8e80941Smrg#define REG_CP_DRAW_INDX_1 0x00000001 526b8e80941Smrg#define CP_DRAW_INDX_1_PRIM_TYPE__MASK 0x0000003f 527b8e80941Smrg#define CP_DRAW_INDX_1_PRIM_TYPE__SHIFT 0 528b8e80941Smrgstatic inline uint32_t CP_DRAW_INDX_1_PRIM_TYPE(enum pc_di_primtype val) 529b8e80941Smrg{ 530b8e80941Smrg return ((val) << CP_DRAW_INDX_1_PRIM_TYPE__SHIFT) & CP_DRAW_INDX_1_PRIM_TYPE__MASK; 531b8e80941Smrg} 532b8e80941Smrg#define CP_DRAW_INDX_1_SOURCE_SELECT__MASK 0x000000c0 533b8e80941Smrg#define CP_DRAW_INDX_1_SOURCE_SELECT__SHIFT 6 534b8e80941Smrgstatic inline uint32_t CP_DRAW_INDX_1_SOURCE_SELECT(enum pc_di_src_sel val) 535b8e80941Smrg{ 536b8e80941Smrg return ((val) << CP_DRAW_INDX_1_SOURCE_SELECT__SHIFT) & CP_DRAW_INDX_1_SOURCE_SELECT__MASK; 537b8e80941Smrg} 538b8e80941Smrg#define CP_DRAW_INDX_1_VIS_CULL__MASK 0x00000600 539b8e80941Smrg#define CP_DRAW_INDX_1_VIS_CULL__SHIFT 9 540b8e80941Smrgstatic inline uint32_t CP_DRAW_INDX_1_VIS_CULL(enum pc_di_vis_cull_mode val) 541b8e80941Smrg{ 542b8e80941Smrg return ((val) << CP_DRAW_INDX_1_VIS_CULL__SHIFT) & CP_DRAW_INDX_1_VIS_CULL__MASK; 543b8e80941Smrg} 544b8e80941Smrg#define CP_DRAW_INDX_1_INDEX_SIZE__MASK 0x00000800 545b8e80941Smrg#define CP_DRAW_INDX_1_INDEX_SIZE__SHIFT 11 546b8e80941Smrgstatic inline uint32_t CP_DRAW_INDX_1_INDEX_SIZE(enum pc_di_index_size val) 547b8e80941Smrg{ 548b8e80941Smrg return ((val) << CP_DRAW_INDX_1_INDEX_SIZE__SHIFT) & CP_DRAW_INDX_1_INDEX_SIZE__MASK; 549b8e80941Smrg} 550b8e80941Smrg#define CP_DRAW_INDX_1_NOT_EOP 0x00001000 551b8e80941Smrg#define CP_DRAW_INDX_1_SMALL_INDEX 0x00002000 552b8e80941Smrg#define CP_DRAW_INDX_1_PRE_DRAW_INITIATOR_ENABLE 0x00004000 553b8e80941Smrg#define CP_DRAW_INDX_1_NUM_INSTANCES__MASK 0xff000000 554b8e80941Smrg#define CP_DRAW_INDX_1_NUM_INSTANCES__SHIFT 24 555b8e80941Smrgstatic inline uint32_t CP_DRAW_INDX_1_NUM_INSTANCES(uint32_t val) 556b8e80941Smrg{ 557b8e80941Smrg return ((val) << CP_DRAW_INDX_1_NUM_INSTANCES__SHIFT) & CP_DRAW_INDX_1_NUM_INSTANCES__MASK; 558b8e80941Smrg} 559b8e80941Smrg 560b8e80941Smrg#define REG_CP_DRAW_INDX_2 0x00000002 561b8e80941Smrg#define CP_DRAW_INDX_2_NUM_INDICES__MASK 0xffffffff 562b8e80941Smrg#define CP_DRAW_INDX_2_NUM_INDICES__SHIFT 0 563b8e80941Smrgstatic inline uint32_t CP_DRAW_INDX_2_NUM_INDICES(uint32_t val) 564b8e80941Smrg{ 565b8e80941Smrg return ((val) << CP_DRAW_INDX_2_NUM_INDICES__SHIFT) & CP_DRAW_INDX_2_NUM_INDICES__MASK; 566b8e80941Smrg} 567b8e80941Smrg 568b8e80941Smrg#define REG_CP_DRAW_INDX_3 0x00000003 569b8e80941Smrg#define CP_DRAW_INDX_3_INDX_BASE__MASK 0xffffffff 570b8e80941Smrg#define CP_DRAW_INDX_3_INDX_BASE__SHIFT 0 571b8e80941Smrgstatic inline uint32_t CP_DRAW_INDX_3_INDX_BASE(uint32_t val) 572b8e80941Smrg{ 573b8e80941Smrg return ((val) << CP_DRAW_INDX_3_INDX_BASE__SHIFT) & CP_DRAW_INDX_3_INDX_BASE__MASK; 574b8e80941Smrg} 575b8e80941Smrg 576b8e80941Smrg#define REG_CP_DRAW_INDX_4 0x00000004 577b8e80941Smrg#define CP_DRAW_INDX_4_INDX_SIZE__MASK 0xffffffff 578b8e80941Smrg#define CP_DRAW_INDX_4_INDX_SIZE__SHIFT 0 579b8e80941Smrgstatic inline uint32_t CP_DRAW_INDX_4_INDX_SIZE(uint32_t val) 580b8e80941Smrg{ 581b8e80941Smrg return ((val) << CP_DRAW_INDX_4_INDX_SIZE__SHIFT) & CP_DRAW_INDX_4_INDX_SIZE__MASK; 582b8e80941Smrg} 583b8e80941Smrg 584b8e80941Smrg#define REG_CP_DRAW_INDX_2_0 0x00000000 585b8e80941Smrg#define CP_DRAW_INDX_2_0_VIZ_QUERY__MASK 0xffffffff 586b8e80941Smrg#define CP_DRAW_INDX_2_0_VIZ_QUERY__SHIFT 0 587b8e80941Smrgstatic inline uint32_t CP_DRAW_INDX_2_0_VIZ_QUERY(uint32_t val) 588b8e80941Smrg{ 589b8e80941Smrg return ((val) << CP_DRAW_INDX_2_0_VIZ_QUERY__SHIFT) & CP_DRAW_INDX_2_0_VIZ_QUERY__MASK; 590b8e80941Smrg} 591b8e80941Smrg 592b8e80941Smrg#define REG_CP_DRAW_INDX_2_1 0x00000001 593b8e80941Smrg#define CP_DRAW_INDX_2_1_PRIM_TYPE__MASK 0x0000003f 594b8e80941Smrg#define CP_DRAW_INDX_2_1_PRIM_TYPE__SHIFT 0 595b8e80941Smrgstatic inline uint32_t CP_DRAW_INDX_2_1_PRIM_TYPE(enum pc_di_primtype val) 596b8e80941Smrg{ 597b8e80941Smrg return ((val) << CP_DRAW_INDX_2_1_PRIM_TYPE__SHIFT) & CP_DRAW_INDX_2_1_PRIM_TYPE__MASK; 598b8e80941Smrg} 599b8e80941Smrg#define CP_DRAW_INDX_2_1_SOURCE_SELECT__MASK 0x000000c0 600b8e80941Smrg#define CP_DRAW_INDX_2_1_SOURCE_SELECT__SHIFT 6 601b8e80941Smrgstatic inline uint32_t CP_DRAW_INDX_2_1_SOURCE_SELECT(enum pc_di_src_sel val) 602b8e80941Smrg{ 603b8e80941Smrg return ((val) << CP_DRAW_INDX_2_1_SOURCE_SELECT__SHIFT) & CP_DRAW_INDX_2_1_SOURCE_SELECT__MASK; 604b8e80941Smrg} 605b8e80941Smrg#define CP_DRAW_INDX_2_1_VIS_CULL__MASK 0x00000600 606b8e80941Smrg#define CP_DRAW_INDX_2_1_VIS_CULL__SHIFT 9 607b8e80941Smrgstatic inline uint32_t CP_DRAW_INDX_2_1_VIS_CULL(enum pc_di_vis_cull_mode val) 608b8e80941Smrg{ 609b8e80941Smrg return ((val) << CP_DRAW_INDX_2_1_VIS_CULL__SHIFT) & CP_DRAW_INDX_2_1_VIS_CULL__MASK; 610b8e80941Smrg} 611b8e80941Smrg#define CP_DRAW_INDX_2_1_INDEX_SIZE__MASK 0x00000800 612b8e80941Smrg#define CP_DRAW_INDX_2_1_INDEX_SIZE__SHIFT 11 613b8e80941Smrgstatic inline uint32_t CP_DRAW_INDX_2_1_INDEX_SIZE(enum pc_di_index_size val) 614b8e80941Smrg{ 615b8e80941Smrg return ((val) << CP_DRAW_INDX_2_1_INDEX_SIZE__SHIFT) & CP_DRAW_INDX_2_1_INDEX_SIZE__MASK; 616b8e80941Smrg} 617b8e80941Smrg#define CP_DRAW_INDX_2_1_NOT_EOP 0x00001000 618b8e80941Smrg#define CP_DRAW_INDX_2_1_SMALL_INDEX 0x00002000 619b8e80941Smrg#define CP_DRAW_INDX_2_1_PRE_DRAW_INITIATOR_ENABLE 0x00004000 620b8e80941Smrg#define CP_DRAW_INDX_2_1_NUM_INSTANCES__MASK 0xff000000 621b8e80941Smrg#define CP_DRAW_INDX_2_1_NUM_INSTANCES__SHIFT 24 622b8e80941Smrgstatic inline uint32_t CP_DRAW_INDX_2_1_NUM_INSTANCES(uint32_t val) 623b8e80941Smrg{ 624b8e80941Smrg return ((val) << CP_DRAW_INDX_2_1_NUM_INSTANCES__SHIFT) & CP_DRAW_INDX_2_1_NUM_INSTANCES__MASK; 625b8e80941Smrg} 626b8e80941Smrg 627b8e80941Smrg#define REG_CP_DRAW_INDX_2_2 0x00000002 628b8e80941Smrg#define CP_DRAW_INDX_2_2_NUM_INDICES__MASK 0xffffffff 629b8e80941Smrg#define CP_DRAW_INDX_2_2_NUM_INDICES__SHIFT 0 630b8e80941Smrgstatic inline uint32_t CP_DRAW_INDX_2_2_NUM_INDICES(uint32_t val) 631b8e80941Smrg{ 632b8e80941Smrg return ((val) << CP_DRAW_INDX_2_2_NUM_INDICES__SHIFT) & CP_DRAW_INDX_2_2_NUM_INDICES__MASK; 633b8e80941Smrg} 634b8e80941Smrg 635b8e80941Smrg#define REG_CP_DRAW_INDX_OFFSET_0 0x00000000 636b8e80941Smrg#define CP_DRAW_INDX_OFFSET_0_PRIM_TYPE__MASK 0x0000003f 637b8e80941Smrg#define CP_DRAW_INDX_OFFSET_0_PRIM_TYPE__SHIFT 0 638b8e80941Smrgstatic inline uint32_t CP_DRAW_INDX_OFFSET_0_PRIM_TYPE(enum pc_di_primtype val) 639b8e80941Smrg{ 640b8e80941Smrg return ((val) << CP_DRAW_INDX_OFFSET_0_PRIM_TYPE__SHIFT) & CP_DRAW_INDX_OFFSET_0_PRIM_TYPE__MASK; 641b8e80941Smrg} 642b8e80941Smrg#define CP_DRAW_INDX_OFFSET_0_SOURCE_SELECT__MASK 0x000000c0 643b8e80941Smrg#define CP_DRAW_INDX_OFFSET_0_SOURCE_SELECT__SHIFT 6 644b8e80941Smrgstatic inline uint32_t CP_DRAW_INDX_OFFSET_0_SOURCE_SELECT(enum pc_di_src_sel val) 645b8e80941Smrg{ 646b8e80941Smrg return ((val) << CP_DRAW_INDX_OFFSET_0_SOURCE_SELECT__SHIFT) & CP_DRAW_INDX_OFFSET_0_SOURCE_SELECT__MASK; 647b8e80941Smrg} 648b8e80941Smrg#define CP_DRAW_INDX_OFFSET_0_VIS_CULL__MASK 0x00000300 649b8e80941Smrg#define CP_DRAW_INDX_OFFSET_0_VIS_CULL__SHIFT 8 650b8e80941Smrgstatic inline uint32_t CP_DRAW_INDX_OFFSET_0_VIS_CULL(enum pc_di_vis_cull_mode val) 651b8e80941Smrg{ 652b8e80941Smrg return ((val) << CP_DRAW_INDX_OFFSET_0_VIS_CULL__SHIFT) & CP_DRAW_INDX_OFFSET_0_VIS_CULL__MASK; 653b8e80941Smrg} 654b8e80941Smrg#define CP_DRAW_INDX_OFFSET_0_INDEX_SIZE__MASK 0x00000c00 655b8e80941Smrg#define CP_DRAW_INDX_OFFSET_0_INDEX_SIZE__SHIFT 10 656b8e80941Smrgstatic inline uint32_t CP_DRAW_INDX_OFFSET_0_INDEX_SIZE(enum a4xx_index_size val) 657b8e80941Smrg{ 658b8e80941Smrg return ((val) << CP_DRAW_INDX_OFFSET_0_INDEX_SIZE__SHIFT) & CP_DRAW_INDX_OFFSET_0_INDEX_SIZE__MASK; 659b8e80941Smrg} 660b8e80941Smrg#define CP_DRAW_INDX_OFFSET_0_TESS_MODE__MASK 0x01f00000 661b8e80941Smrg#define CP_DRAW_INDX_OFFSET_0_TESS_MODE__SHIFT 20 662b8e80941Smrgstatic inline uint32_t CP_DRAW_INDX_OFFSET_0_TESS_MODE(uint32_t val) 663b8e80941Smrg{ 664b8e80941Smrg return ((val) << CP_DRAW_INDX_OFFSET_0_TESS_MODE__SHIFT) & CP_DRAW_INDX_OFFSET_0_TESS_MODE__MASK; 665b8e80941Smrg} 666b8e80941Smrg 667b8e80941Smrg#define REG_CP_DRAW_INDX_OFFSET_1 0x00000001 668b8e80941Smrg#define CP_DRAW_INDX_OFFSET_1_NUM_INSTANCES__MASK 0xffffffff 669b8e80941Smrg#define CP_DRAW_INDX_OFFSET_1_NUM_INSTANCES__SHIFT 0 670b8e80941Smrgstatic inline uint32_t CP_DRAW_INDX_OFFSET_1_NUM_INSTANCES(uint32_t val) 671b8e80941Smrg{ 672b8e80941Smrg return ((val) << CP_DRAW_INDX_OFFSET_1_NUM_INSTANCES__SHIFT) & CP_DRAW_INDX_OFFSET_1_NUM_INSTANCES__MASK; 673b8e80941Smrg} 674b8e80941Smrg 675b8e80941Smrg#define REG_CP_DRAW_INDX_OFFSET_2 0x00000002 676b8e80941Smrg#define CP_DRAW_INDX_OFFSET_2_NUM_INDICES__MASK 0xffffffff 677b8e80941Smrg#define CP_DRAW_INDX_OFFSET_2_NUM_INDICES__SHIFT 0 678b8e80941Smrgstatic inline uint32_t CP_DRAW_INDX_OFFSET_2_NUM_INDICES(uint32_t val) 679b8e80941Smrg{ 680b8e80941Smrg return ((val) << CP_DRAW_INDX_OFFSET_2_NUM_INDICES__SHIFT) & CP_DRAW_INDX_OFFSET_2_NUM_INDICES__MASK; 681b8e80941Smrg} 682b8e80941Smrg 683b8e80941Smrg#define REG_CP_DRAW_INDX_OFFSET_3 0x00000003 684b8e80941Smrg 685b8e80941Smrg#define REG_CP_DRAW_INDX_OFFSET_4 0x00000004 686b8e80941Smrg#define CP_DRAW_INDX_OFFSET_4_INDX_BASE__MASK 0xffffffff 687b8e80941Smrg#define CP_DRAW_INDX_OFFSET_4_INDX_BASE__SHIFT 0 688b8e80941Smrgstatic inline uint32_t CP_DRAW_INDX_OFFSET_4_INDX_BASE(uint32_t val) 689b8e80941Smrg{ 690b8e80941Smrg return ((val) << CP_DRAW_INDX_OFFSET_4_INDX_BASE__SHIFT) & CP_DRAW_INDX_OFFSET_4_INDX_BASE__MASK; 691b8e80941Smrg} 692b8e80941Smrg 693b8e80941Smrg#define REG_CP_DRAW_INDX_OFFSET_5 0x00000005 694b8e80941Smrg#define CP_DRAW_INDX_OFFSET_5_INDX_SIZE__MASK 0xffffffff 695b8e80941Smrg#define CP_DRAW_INDX_OFFSET_5_INDX_SIZE__SHIFT 0 696b8e80941Smrgstatic inline uint32_t CP_DRAW_INDX_OFFSET_5_INDX_SIZE(uint32_t val) 697b8e80941Smrg{ 698b8e80941Smrg return ((val) << CP_DRAW_INDX_OFFSET_5_INDX_SIZE__SHIFT) & CP_DRAW_INDX_OFFSET_5_INDX_SIZE__MASK; 699b8e80941Smrg} 700b8e80941Smrg 701b8e80941Smrg#define REG_A4XX_CP_DRAW_INDIRECT_0 0x00000000 702b8e80941Smrg#define A4XX_CP_DRAW_INDIRECT_0_PRIM_TYPE__MASK 0x0000003f 703b8e80941Smrg#define A4XX_CP_DRAW_INDIRECT_0_PRIM_TYPE__SHIFT 0 704b8e80941Smrgstatic inline uint32_t A4XX_CP_DRAW_INDIRECT_0_PRIM_TYPE(enum pc_di_primtype val) 705b8e80941Smrg{ 706b8e80941Smrg return ((val) << A4XX_CP_DRAW_INDIRECT_0_PRIM_TYPE__SHIFT) & A4XX_CP_DRAW_INDIRECT_0_PRIM_TYPE__MASK; 707b8e80941Smrg} 708b8e80941Smrg#define A4XX_CP_DRAW_INDIRECT_0_SOURCE_SELECT__MASK 0x000000c0 709b8e80941Smrg#define A4XX_CP_DRAW_INDIRECT_0_SOURCE_SELECT__SHIFT 6 710b8e80941Smrgstatic inline uint32_t A4XX_CP_DRAW_INDIRECT_0_SOURCE_SELECT(enum pc_di_src_sel val) 711b8e80941Smrg{ 712b8e80941Smrg return ((val) << A4XX_CP_DRAW_INDIRECT_0_SOURCE_SELECT__SHIFT) & A4XX_CP_DRAW_INDIRECT_0_SOURCE_SELECT__MASK; 713b8e80941Smrg} 714b8e80941Smrg#define A4XX_CP_DRAW_INDIRECT_0_VIS_CULL__MASK 0x00000300 715b8e80941Smrg#define A4XX_CP_DRAW_INDIRECT_0_VIS_CULL__SHIFT 8 716b8e80941Smrgstatic inline uint32_t A4XX_CP_DRAW_INDIRECT_0_VIS_CULL(enum pc_di_vis_cull_mode val) 717b8e80941Smrg{ 718b8e80941Smrg return ((val) << A4XX_CP_DRAW_INDIRECT_0_VIS_CULL__SHIFT) & A4XX_CP_DRAW_INDIRECT_0_VIS_CULL__MASK; 719b8e80941Smrg} 720b8e80941Smrg#define A4XX_CP_DRAW_INDIRECT_0_INDEX_SIZE__MASK 0x00000c00 721b8e80941Smrg#define A4XX_CP_DRAW_INDIRECT_0_INDEX_SIZE__SHIFT 10 722b8e80941Smrgstatic inline uint32_t A4XX_CP_DRAW_INDIRECT_0_INDEX_SIZE(enum a4xx_index_size val) 723b8e80941Smrg{ 724b8e80941Smrg return ((val) << A4XX_CP_DRAW_INDIRECT_0_INDEX_SIZE__SHIFT) & A4XX_CP_DRAW_INDIRECT_0_INDEX_SIZE__MASK; 725b8e80941Smrg} 726b8e80941Smrg#define A4XX_CP_DRAW_INDIRECT_0_TESS_MODE__MASK 0x01f00000 727b8e80941Smrg#define A4XX_CP_DRAW_INDIRECT_0_TESS_MODE__SHIFT 20 728b8e80941Smrgstatic inline uint32_t A4XX_CP_DRAW_INDIRECT_0_TESS_MODE(uint32_t val) 729b8e80941Smrg{ 730b8e80941Smrg return ((val) << A4XX_CP_DRAW_INDIRECT_0_TESS_MODE__SHIFT) & A4XX_CP_DRAW_INDIRECT_0_TESS_MODE__MASK; 731b8e80941Smrg} 732b8e80941Smrg 733b8e80941Smrg#define REG_A4XX_CP_DRAW_INDIRECT_1 0x00000001 734b8e80941Smrg#define A4XX_CP_DRAW_INDIRECT_1_INDIRECT__MASK 0xffffffff 735b8e80941Smrg#define A4XX_CP_DRAW_INDIRECT_1_INDIRECT__SHIFT 0 736b8e80941Smrgstatic inline uint32_t A4XX_CP_DRAW_INDIRECT_1_INDIRECT(uint32_t val) 737b8e80941Smrg{ 738b8e80941Smrg return ((val) << A4XX_CP_DRAW_INDIRECT_1_INDIRECT__SHIFT) & A4XX_CP_DRAW_INDIRECT_1_INDIRECT__MASK; 739b8e80941Smrg} 740b8e80941Smrg 741b8e80941Smrg 742b8e80941Smrg#define REG_A5XX_CP_DRAW_INDIRECT_2 0x00000002 743b8e80941Smrg#define A5XX_CP_DRAW_INDIRECT_2_INDIRECT_HI__MASK 0xffffffff 744b8e80941Smrg#define A5XX_CP_DRAW_INDIRECT_2_INDIRECT_HI__SHIFT 0 745b8e80941Smrgstatic inline uint32_t A5XX_CP_DRAW_INDIRECT_2_INDIRECT_HI(uint32_t val) 746b8e80941Smrg{ 747b8e80941Smrg return ((val) << A5XX_CP_DRAW_INDIRECT_2_INDIRECT_HI__SHIFT) & A5XX_CP_DRAW_INDIRECT_2_INDIRECT_HI__MASK; 748b8e80941Smrg} 749b8e80941Smrg 750b8e80941Smrg#define REG_A4XX_CP_DRAW_INDX_INDIRECT_0 0x00000000 751b8e80941Smrg#define A4XX_CP_DRAW_INDX_INDIRECT_0_PRIM_TYPE__MASK 0x0000003f 752b8e80941Smrg#define A4XX_CP_DRAW_INDX_INDIRECT_0_PRIM_TYPE__SHIFT 0 753b8e80941Smrgstatic inline uint32_t A4XX_CP_DRAW_INDX_INDIRECT_0_PRIM_TYPE(enum pc_di_primtype val) 754b8e80941Smrg{ 755b8e80941Smrg return ((val) << A4XX_CP_DRAW_INDX_INDIRECT_0_PRIM_TYPE__SHIFT) & A4XX_CP_DRAW_INDX_INDIRECT_0_PRIM_TYPE__MASK; 756b8e80941Smrg} 757b8e80941Smrg#define A4XX_CP_DRAW_INDX_INDIRECT_0_SOURCE_SELECT__MASK 0x000000c0 758b8e80941Smrg#define A4XX_CP_DRAW_INDX_INDIRECT_0_SOURCE_SELECT__SHIFT 6 759b8e80941Smrgstatic inline uint32_t A4XX_CP_DRAW_INDX_INDIRECT_0_SOURCE_SELECT(enum pc_di_src_sel val) 760b8e80941Smrg{ 761b8e80941Smrg return ((val) << A4XX_CP_DRAW_INDX_INDIRECT_0_SOURCE_SELECT__SHIFT) & A4XX_CP_DRAW_INDX_INDIRECT_0_SOURCE_SELECT__MASK; 762b8e80941Smrg} 763b8e80941Smrg#define A4XX_CP_DRAW_INDX_INDIRECT_0_VIS_CULL__MASK 0x00000300 764b8e80941Smrg#define A4XX_CP_DRAW_INDX_INDIRECT_0_VIS_CULL__SHIFT 8 765b8e80941Smrgstatic inline uint32_t A4XX_CP_DRAW_INDX_INDIRECT_0_VIS_CULL(enum pc_di_vis_cull_mode val) 766b8e80941Smrg{ 767b8e80941Smrg return ((val) << A4XX_CP_DRAW_INDX_INDIRECT_0_VIS_CULL__SHIFT) & A4XX_CP_DRAW_INDX_INDIRECT_0_VIS_CULL__MASK; 768b8e80941Smrg} 769b8e80941Smrg#define A4XX_CP_DRAW_INDX_INDIRECT_0_INDEX_SIZE__MASK 0x00000c00 770b8e80941Smrg#define A4XX_CP_DRAW_INDX_INDIRECT_0_INDEX_SIZE__SHIFT 10 771b8e80941Smrgstatic inline uint32_t A4XX_CP_DRAW_INDX_INDIRECT_0_INDEX_SIZE(enum a4xx_index_size val) 772b8e80941Smrg{ 773b8e80941Smrg return ((val) << A4XX_CP_DRAW_INDX_INDIRECT_0_INDEX_SIZE__SHIFT) & A4XX_CP_DRAW_INDX_INDIRECT_0_INDEX_SIZE__MASK; 774b8e80941Smrg} 775b8e80941Smrg#define A4XX_CP_DRAW_INDX_INDIRECT_0_TESS_MODE__MASK 0x01f00000 776b8e80941Smrg#define A4XX_CP_DRAW_INDX_INDIRECT_0_TESS_MODE__SHIFT 20 777b8e80941Smrgstatic inline uint32_t A4XX_CP_DRAW_INDX_INDIRECT_0_TESS_MODE(uint32_t val) 778b8e80941Smrg{ 779b8e80941Smrg return ((val) << A4XX_CP_DRAW_INDX_INDIRECT_0_TESS_MODE__SHIFT) & A4XX_CP_DRAW_INDX_INDIRECT_0_TESS_MODE__MASK; 780b8e80941Smrg} 781b8e80941Smrg 782b8e80941Smrg 783b8e80941Smrg#define REG_A4XX_CP_DRAW_INDX_INDIRECT_1 0x00000001 784b8e80941Smrg#define A4XX_CP_DRAW_INDX_INDIRECT_1_INDX_BASE__MASK 0xffffffff 785b8e80941Smrg#define A4XX_CP_DRAW_INDX_INDIRECT_1_INDX_BASE__SHIFT 0 786b8e80941Smrgstatic inline uint32_t A4XX_CP_DRAW_INDX_INDIRECT_1_INDX_BASE(uint32_t val) 787b8e80941Smrg{ 788b8e80941Smrg return ((val) << A4XX_CP_DRAW_INDX_INDIRECT_1_INDX_BASE__SHIFT) & A4XX_CP_DRAW_INDX_INDIRECT_1_INDX_BASE__MASK; 789b8e80941Smrg} 790b8e80941Smrg 791b8e80941Smrg#define REG_A4XX_CP_DRAW_INDX_INDIRECT_2 0x00000002 792b8e80941Smrg#define A4XX_CP_DRAW_INDX_INDIRECT_2_INDX_SIZE__MASK 0xffffffff 793b8e80941Smrg#define A4XX_CP_DRAW_INDX_INDIRECT_2_INDX_SIZE__SHIFT 0 794b8e80941Smrgstatic inline uint32_t A4XX_CP_DRAW_INDX_INDIRECT_2_INDX_SIZE(uint32_t val) 795b8e80941Smrg{ 796b8e80941Smrg return ((val) << A4XX_CP_DRAW_INDX_INDIRECT_2_INDX_SIZE__SHIFT) & A4XX_CP_DRAW_INDX_INDIRECT_2_INDX_SIZE__MASK; 797b8e80941Smrg} 798b8e80941Smrg 799b8e80941Smrg#define REG_A4XX_CP_DRAW_INDX_INDIRECT_3 0x00000003 800b8e80941Smrg#define A4XX_CP_DRAW_INDX_INDIRECT_3_INDIRECT__MASK 0xffffffff 801b8e80941Smrg#define A4XX_CP_DRAW_INDX_INDIRECT_3_INDIRECT__SHIFT 0 802b8e80941Smrgstatic inline uint32_t A4XX_CP_DRAW_INDX_INDIRECT_3_INDIRECT(uint32_t val) 803b8e80941Smrg{ 804b8e80941Smrg return ((val) << A4XX_CP_DRAW_INDX_INDIRECT_3_INDIRECT__SHIFT) & A4XX_CP_DRAW_INDX_INDIRECT_3_INDIRECT__MASK; 805b8e80941Smrg} 806b8e80941Smrg 807b8e80941Smrg 808b8e80941Smrg#define REG_A5XX_CP_DRAW_INDX_INDIRECT_1 0x00000001 809b8e80941Smrg#define A5XX_CP_DRAW_INDX_INDIRECT_1_INDX_BASE_LO__MASK 0xffffffff 810b8e80941Smrg#define A5XX_CP_DRAW_INDX_INDIRECT_1_INDX_BASE_LO__SHIFT 0 811b8e80941Smrgstatic inline uint32_t A5XX_CP_DRAW_INDX_INDIRECT_1_INDX_BASE_LO(uint32_t val) 812b8e80941Smrg{ 813b8e80941Smrg return ((val) << A5XX_CP_DRAW_INDX_INDIRECT_1_INDX_BASE_LO__SHIFT) & A5XX_CP_DRAW_INDX_INDIRECT_1_INDX_BASE_LO__MASK; 814b8e80941Smrg} 815b8e80941Smrg 816b8e80941Smrg#define REG_A5XX_CP_DRAW_INDX_INDIRECT_2 0x00000002 817b8e80941Smrg#define A5XX_CP_DRAW_INDX_INDIRECT_2_INDX_BASE_HI__MASK 0xffffffff 818b8e80941Smrg#define A5XX_CP_DRAW_INDX_INDIRECT_2_INDX_BASE_HI__SHIFT 0 819b8e80941Smrgstatic inline uint32_t A5XX_CP_DRAW_INDX_INDIRECT_2_INDX_BASE_HI(uint32_t val) 820b8e80941Smrg{ 821b8e80941Smrg return ((val) << A5XX_CP_DRAW_INDX_INDIRECT_2_INDX_BASE_HI__SHIFT) & A5XX_CP_DRAW_INDX_INDIRECT_2_INDX_BASE_HI__MASK; 822b8e80941Smrg} 823b8e80941Smrg 824b8e80941Smrg#define REG_A5XX_CP_DRAW_INDX_INDIRECT_3 0x00000003 825b8e80941Smrg#define A5XX_CP_DRAW_INDX_INDIRECT_3_MAX_INDICES__MASK 0xffffffff 826b8e80941Smrg#define A5XX_CP_DRAW_INDX_INDIRECT_3_MAX_INDICES__SHIFT 0 827b8e80941Smrgstatic inline uint32_t A5XX_CP_DRAW_INDX_INDIRECT_3_MAX_INDICES(uint32_t val) 828b8e80941Smrg{ 829b8e80941Smrg return ((val) << A5XX_CP_DRAW_INDX_INDIRECT_3_MAX_INDICES__SHIFT) & A5XX_CP_DRAW_INDX_INDIRECT_3_MAX_INDICES__MASK; 830b8e80941Smrg} 831b8e80941Smrg 832b8e80941Smrg#define REG_A5XX_CP_DRAW_INDX_INDIRECT_4 0x00000004 833b8e80941Smrg#define A5XX_CP_DRAW_INDX_INDIRECT_4_INDIRECT_LO__MASK 0xffffffff 834b8e80941Smrg#define A5XX_CP_DRAW_INDX_INDIRECT_4_INDIRECT_LO__SHIFT 0 835b8e80941Smrgstatic inline uint32_t A5XX_CP_DRAW_INDX_INDIRECT_4_INDIRECT_LO(uint32_t val) 836b8e80941Smrg{ 837b8e80941Smrg return ((val) << A5XX_CP_DRAW_INDX_INDIRECT_4_INDIRECT_LO__SHIFT) & A5XX_CP_DRAW_INDX_INDIRECT_4_INDIRECT_LO__MASK; 838b8e80941Smrg} 839b8e80941Smrg 840b8e80941Smrg#define REG_A5XX_CP_DRAW_INDX_INDIRECT_5 0x00000005 841b8e80941Smrg#define A5XX_CP_DRAW_INDX_INDIRECT_5_INDIRECT_HI__MASK 0xffffffff 842b8e80941Smrg#define A5XX_CP_DRAW_INDX_INDIRECT_5_INDIRECT_HI__SHIFT 0 843b8e80941Smrgstatic inline uint32_t A5XX_CP_DRAW_INDX_INDIRECT_5_INDIRECT_HI(uint32_t val) 844b8e80941Smrg{ 845b8e80941Smrg return ((val) << A5XX_CP_DRAW_INDX_INDIRECT_5_INDIRECT_HI__SHIFT) & A5XX_CP_DRAW_INDX_INDIRECT_5_INDIRECT_HI__MASK; 846b8e80941Smrg} 847b8e80941Smrg 848b8e80941Smrgstatic inline uint32_t REG_CP_SET_DRAW_STATE_(uint32_t i0) { return 0x00000000 + 0x3*i0; } 849b8e80941Smrg 850b8e80941Smrgstatic inline uint32_t REG_CP_SET_DRAW_STATE__0(uint32_t i0) { return 0x00000000 + 0x3*i0; } 851b8e80941Smrg#define CP_SET_DRAW_STATE__0_COUNT__MASK 0x0000ffff 852b8e80941Smrg#define CP_SET_DRAW_STATE__0_COUNT__SHIFT 0 853b8e80941Smrgstatic inline uint32_t CP_SET_DRAW_STATE__0_COUNT(uint32_t val) 854b8e80941Smrg{ 855b8e80941Smrg return ((val) << CP_SET_DRAW_STATE__0_COUNT__SHIFT) & CP_SET_DRAW_STATE__0_COUNT__MASK; 856b8e80941Smrg} 857b8e80941Smrg#define CP_SET_DRAW_STATE__0_DIRTY 0x00010000 858b8e80941Smrg#define CP_SET_DRAW_STATE__0_DISABLE 0x00020000 859b8e80941Smrg#define CP_SET_DRAW_STATE__0_DISABLE_ALL_GROUPS 0x00040000 860b8e80941Smrg#define CP_SET_DRAW_STATE__0_LOAD_IMMED 0x00080000 861b8e80941Smrg#define CP_SET_DRAW_STATE__0_ENABLE_MASK__MASK 0x00f00000 862b8e80941Smrg#define CP_SET_DRAW_STATE__0_ENABLE_MASK__SHIFT 20 863b8e80941Smrgstatic inline uint32_t CP_SET_DRAW_STATE__0_ENABLE_MASK(uint32_t val) 864b8e80941Smrg{ 865b8e80941Smrg return ((val) << CP_SET_DRAW_STATE__0_ENABLE_MASK__SHIFT) & CP_SET_DRAW_STATE__0_ENABLE_MASK__MASK; 866b8e80941Smrg} 867b8e80941Smrg#define CP_SET_DRAW_STATE__0_GROUP_ID__MASK 0x1f000000 868b8e80941Smrg#define CP_SET_DRAW_STATE__0_GROUP_ID__SHIFT 24 869b8e80941Smrgstatic inline uint32_t CP_SET_DRAW_STATE__0_GROUP_ID(uint32_t val) 870b8e80941Smrg{ 871b8e80941Smrg return ((val) << CP_SET_DRAW_STATE__0_GROUP_ID__SHIFT) & CP_SET_DRAW_STATE__0_GROUP_ID__MASK; 872b8e80941Smrg} 873b8e80941Smrg 874b8e80941Smrgstatic inline uint32_t REG_CP_SET_DRAW_STATE__1(uint32_t i0) { return 0x00000001 + 0x3*i0; } 875b8e80941Smrg#define CP_SET_DRAW_STATE__1_ADDR_LO__MASK 0xffffffff 876b8e80941Smrg#define CP_SET_DRAW_STATE__1_ADDR_LO__SHIFT 0 877b8e80941Smrgstatic inline uint32_t CP_SET_DRAW_STATE__1_ADDR_LO(uint32_t val) 878b8e80941Smrg{ 879b8e80941Smrg return ((val) << CP_SET_DRAW_STATE__1_ADDR_LO__SHIFT) & CP_SET_DRAW_STATE__1_ADDR_LO__MASK; 880b8e80941Smrg} 881b8e80941Smrg 882b8e80941Smrgstatic inline uint32_t REG_CP_SET_DRAW_STATE__2(uint32_t i0) { return 0x00000002 + 0x3*i0; } 883b8e80941Smrg#define CP_SET_DRAW_STATE__2_ADDR_HI__MASK 0xffffffff 884b8e80941Smrg#define CP_SET_DRAW_STATE__2_ADDR_HI__SHIFT 0 885b8e80941Smrgstatic inline uint32_t CP_SET_DRAW_STATE__2_ADDR_HI(uint32_t val) 886b8e80941Smrg{ 887b8e80941Smrg return ((val) << CP_SET_DRAW_STATE__2_ADDR_HI__SHIFT) & CP_SET_DRAW_STATE__2_ADDR_HI__MASK; 888b8e80941Smrg} 889b8e80941Smrg 890b8e80941Smrg#define REG_CP_SET_BIN_0 0x00000000 891b8e80941Smrg 892b8e80941Smrg#define REG_CP_SET_BIN_1 0x00000001 893b8e80941Smrg#define CP_SET_BIN_1_X1__MASK 0x0000ffff 894b8e80941Smrg#define CP_SET_BIN_1_X1__SHIFT 0 895b8e80941Smrgstatic inline uint32_t CP_SET_BIN_1_X1(uint32_t val) 896b8e80941Smrg{ 897b8e80941Smrg return ((val) << CP_SET_BIN_1_X1__SHIFT) & CP_SET_BIN_1_X1__MASK; 898b8e80941Smrg} 899b8e80941Smrg#define CP_SET_BIN_1_Y1__MASK 0xffff0000 900b8e80941Smrg#define CP_SET_BIN_1_Y1__SHIFT 16 901b8e80941Smrgstatic inline uint32_t CP_SET_BIN_1_Y1(uint32_t val) 902b8e80941Smrg{ 903b8e80941Smrg return ((val) << CP_SET_BIN_1_Y1__SHIFT) & CP_SET_BIN_1_Y1__MASK; 904b8e80941Smrg} 905b8e80941Smrg 906b8e80941Smrg#define REG_CP_SET_BIN_2 0x00000002 907b8e80941Smrg#define CP_SET_BIN_2_X2__MASK 0x0000ffff 908b8e80941Smrg#define CP_SET_BIN_2_X2__SHIFT 0 909b8e80941Smrgstatic inline uint32_t CP_SET_BIN_2_X2(uint32_t val) 910b8e80941Smrg{ 911b8e80941Smrg return ((val) << CP_SET_BIN_2_X2__SHIFT) & CP_SET_BIN_2_X2__MASK; 912b8e80941Smrg} 913b8e80941Smrg#define CP_SET_BIN_2_Y2__MASK 0xffff0000 914b8e80941Smrg#define CP_SET_BIN_2_Y2__SHIFT 16 915b8e80941Smrgstatic inline uint32_t CP_SET_BIN_2_Y2(uint32_t val) 916b8e80941Smrg{ 917b8e80941Smrg return ((val) << CP_SET_BIN_2_Y2__SHIFT) & CP_SET_BIN_2_Y2__MASK; 918b8e80941Smrg} 919b8e80941Smrg 920b8e80941Smrg#define REG_CP_SET_BIN_DATA_0 0x00000000 921b8e80941Smrg#define CP_SET_BIN_DATA_0_BIN_DATA_ADDR__MASK 0xffffffff 922b8e80941Smrg#define CP_SET_BIN_DATA_0_BIN_DATA_ADDR__SHIFT 0 923b8e80941Smrgstatic inline uint32_t CP_SET_BIN_DATA_0_BIN_DATA_ADDR(uint32_t val) 924b8e80941Smrg{ 925b8e80941Smrg return ((val) << CP_SET_BIN_DATA_0_BIN_DATA_ADDR__SHIFT) & CP_SET_BIN_DATA_0_BIN_DATA_ADDR__MASK; 926b8e80941Smrg} 927b8e80941Smrg 928b8e80941Smrg#define REG_CP_SET_BIN_DATA_1 0x00000001 929b8e80941Smrg#define CP_SET_BIN_DATA_1_BIN_SIZE_ADDRESS__MASK 0xffffffff 930b8e80941Smrg#define CP_SET_BIN_DATA_1_BIN_SIZE_ADDRESS__SHIFT 0 931b8e80941Smrgstatic inline uint32_t CP_SET_BIN_DATA_1_BIN_SIZE_ADDRESS(uint32_t val) 932b8e80941Smrg{ 933b8e80941Smrg return ((val) << CP_SET_BIN_DATA_1_BIN_SIZE_ADDRESS__SHIFT) & CP_SET_BIN_DATA_1_BIN_SIZE_ADDRESS__MASK; 934b8e80941Smrg} 935b8e80941Smrg 936b8e80941Smrg#define REG_CP_SET_BIN_DATA5_0 0x00000000 937b8e80941Smrg#define CP_SET_BIN_DATA5_0_VSC_SIZE__MASK 0x003f0000 938b8e80941Smrg#define CP_SET_BIN_DATA5_0_VSC_SIZE__SHIFT 16 939b8e80941Smrgstatic inline uint32_t CP_SET_BIN_DATA5_0_VSC_SIZE(uint32_t val) 940b8e80941Smrg{ 941b8e80941Smrg return ((val) << CP_SET_BIN_DATA5_0_VSC_SIZE__SHIFT) & CP_SET_BIN_DATA5_0_VSC_SIZE__MASK; 942b8e80941Smrg} 943b8e80941Smrg#define CP_SET_BIN_DATA5_0_VSC_N__MASK 0x07c00000 944b8e80941Smrg#define CP_SET_BIN_DATA5_0_VSC_N__SHIFT 22 945b8e80941Smrgstatic inline uint32_t CP_SET_BIN_DATA5_0_VSC_N(uint32_t val) 946b8e80941Smrg{ 947b8e80941Smrg return ((val) << CP_SET_BIN_DATA5_0_VSC_N__SHIFT) & CP_SET_BIN_DATA5_0_VSC_N__MASK; 948b8e80941Smrg} 949b8e80941Smrg 950b8e80941Smrg#define REG_CP_SET_BIN_DATA5_1 0x00000001 951b8e80941Smrg#define CP_SET_BIN_DATA5_1_BIN_DATA_ADDR_LO__MASK 0xffffffff 952b8e80941Smrg#define CP_SET_BIN_DATA5_1_BIN_DATA_ADDR_LO__SHIFT 0 953b8e80941Smrgstatic inline uint32_t CP_SET_BIN_DATA5_1_BIN_DATA_ADDR_LO(uint32_t val) 954b8e80941Smrg{ 955b8e80941Smrg return ((val) << CP_SET_BIN_DATA5_1_BIN_DATA_ADDR_LO__SHIFT) & CP_SET_BIN_DATA5_1_BIN_DATA_ADDR_LO__MASK; 956b8e80941Smrg} 957b8e80941Smrg 958b8e80941Smrg#define REG_CP_SET_BIN_DATA5_2 0x00000002 959b8e80941Smrg#define CP_SET_BIN_DATA5_2_BIN_DATA_ADDR_HI__MASK 0xffffffff 960b8e80941Smrg#define CP_SET_BIN_DATA5_2_BIN_DATA_ADDR_HI__SHIFT 0 961b8e80941Smrgstatic inline uint32_t CP_SET_BIN_DATA5_2_BIN_DATA_ADDR_HI(uint32_t val) 962b8e80941Smrg{ 963b8e80941Smrg return ((val) << CP_SET_BIN_DATA5_2_BIN_DATA_ADDR_HI__SHIFT) & CP_SET_BIN_DATA5_2_BIN_DATA_ADDR_HI__MASK; 964b8e80941Smrg} 965b8e80941Smrg 966b8e80941Smrg#define REG_CP_SET_BIN_DATA5_3 0x00000003 967b8e80941Smrg#define CP_SET_BIN_DATA5_3_BIN_SIZE_ADDRESS_LO__MASK 0xffffffff 968b8e80941Smrg#define CP_SET_BIN_DATA5_3_BIN_SIZE_ADDRESS_LO__SHIFT 0 969b8e80941Smrgstatic inline uint32_t CP_SET_BIN_DATA5_3_BIN_SIZE_ADDRESS_LO(uint32_t val) 970b8e80941Smrg{ 971b8e80941Smrg return ((val) << CP_SET_BIN_DATA5_3_BIN_SIZE_ADDRESS_LO__SHIFT) & CP_SET_BIN_DATA5_3_BIN_SIZE_ADDRESS_LO__MASK; 972b8e80941Smrg} 973b8e80941Smrg 974b8e80941Smrg#define REG_CP_SET_BIN_DATA5_4 0x00000004 975b8e80941Smrg#define CP_SET_BIN_DATA5_4_BIN_SIZE_ADDRESS_HI__MASK 0xffffffff 976b8e80941Smrg#define CP_SET_BIN_DATA5_4_BIN_SIZE_ADDRESS_HI__SHIFT 0 977b8e80941Smrgstatic inline uint32_t CP_SET_BIN_DATA5_4_BIN_SIZE_ADDRESS_HI(uint32_t val) 978b8e80941Smrg{ 979b8e80941Smrg return ((val) << CP_SET_BIN_DATA5_4_BIN_SIZE_ADDRESS_HI__SHIFT) & CP_SET_BIN_DATA5_4_BIN_SIZE_ADDRESS_HI__MASK; 980b8e80941Smrg} 981b8e80941Smrg 982b8e80941Smrg#define REG_CP_SET_BIN_DATA5_5 0x00000005 983b8e80941Smrg#define CP_SET_BIN_DATA5_5_BIN_DATA_ADDR2_LO__MASK 0xffffffff 984b8e80941Smrg#define CP_SET_BIN_DATA5_5_BIN_DATA_ADDR2_LO__SHIFT 0 985b8e80941Smrgstatic inline uint32_t CP_SET_BIN_DATA5_5_BIN_DATA_ADDR2_LO(uint32_t val) 986b8e80941Smrg{ 987b8e80941Smrg return ((val) << CP_SET_BIN_DATA5_5_BIN_DATA_ADDR2_LO__SHIFT) & CP_SET_BIN_DATA5_5_BIN_DATA_ADDR2_LO__MASK; 988b8e80941Smrg} 989b8e80941Smrg 990b8e80941Smrg#define REG_CP_SET_BIN_DATA5_6 0x00000006 991b8e80941Smrg#define CP_SET_BIN_DATA5_6_BIN_DATA_ADDR2_LO__MASK 0xffffffff 992b8e80941Smrg#define CP_SET_BIN_DATA5_6_BIN_DATA_ADDR2_LO__SHIFT 0 993b8e80941Smrgstatic inline uint32_t CP_SET_BIN_DATA5_6_BIN_DATA_ADDR2_LO(uint32_t val) 994b8e80941Smrg{ 995b8e80941Smrg return ((val) << CP_SET_BIN_DATA5_6_BIN_DATA_ADDR2_LO__SHIFT) & CP_SET_BIN_DATA5_6_BIN_DATA_ADDR2_LO__MASK; 996b8e80941Smrg} 997b8e80941Smrg 998b8e80941Smrg#define REG_CP_REG_TO_MEM_0 0x00000000 999b8e80941Smrg#define CP_REG_TO_MEM_0_REG__MASK 0x0000ffff 1000b8e80941Smrg#define CP_REG_TO_MEM_0_REG__SHIFT 0 1001b8e80941Smrgstatic inline uint32_t CP_REG_TO_MEM_0_REG(uint32_t val) 1002b8e80941Smrg{ 1003b8e80941Smrg return ((val) << CP_REG_TO_MEM_0_REG__SHIFT) & CP_REG_TO_MEM_0_REG__MASK; 1004b8e80941Smrg} 1005b8e80941Smrg#define CP_REG_TO_MEM_0_CNT__MASK 0x3ff80000 1006b8e80941Smrg#define CP_REG_TO_MEM_0_CNT__SHIFT 19 1007b8e80941Smrgstatic inline uint32_t CP_REG_TO_MEM_0_CNT(uint32_t val) 1008b8e80941Smrg{ 1009b8e80941Smrg return ((val) << CP_REG_TO_MEM_0_CNT__SHIFT) & CP_REG_TO_MEM_0_CNT__MASK; 1010b8e80941Smrg} 1011b8e80941Smrg#define CP_REG_TO_MEM_0_64B 0x40000000 1012b8e80941Smrg#define CP_REG_TO_MEM_0_ACCUMULATE 0x80000000 1013b8e80941Smrg 1014b8e80941Smrg#define REG_CP_REG_TO_MEM_1 0x00000001 1015b8e80941Smrg#define CP_REG_TO_MEM_1_DEST__MASK 0xffffffff 1016b8e80941Smrg#define CP_REG_TO_MEM_1_DEST__SHIFT 0 1017b8e80941Smrgstatic inline uint32_t CP_REG_TO_MEM_1_DEST(uint32_t val) 1018b8e80941Smrg{ 1019b8e80941Smrg return ((val) << CP_REG_TO_MEM_1_DEST__SHIFT) & CP_REG_TO_MEM_1_DEST__MASK; 1020b8e80941Smrg} 1021b8e80941Smrg 1022b8e80941Smrg#define REG_CP_REG_TO_MEM_2 0x00000002 1023b8e80941Smrg#define CP_REG_TO_MEM_2_DEST_HI__MASK 0xffffffff 1024b8e80941Smrg#define CP_REG_TO_MEM_2_DEST_HI__SHIFT 0 1025b8e80941Smrgstatic inline uint32_t CP_REG_TO_MEM_2_DEST_HI(uint32_t val) 1026b8e80941Smrg{ 1027b8e80941Smrg return ((val) << CP_REG_TO_MEM_2_DEST_HI__SHIFT) & CP_REG_TO_MEM_2_DEST_HI__MASK; 1028b8e80941Smrg} 1029b8e80941Smrg 1030b8e80941Smrg#define REG_CP_MEM_TO_REG_0 0x00000000 1031b8e80941Smrg#define CP_MEM_TO_REG_0_REG__MASK 0x0000ffff 1032b8e80941Smrg#define CP_MEM_TO_REG_0_REG__SHIFT 0 1033b8e80941Smrgstatic inline uint32_t CP_MEM_TO_REG_0_REG(uint32_t val) 1034b8e80941Smrg{ 1035b8e80941Smrg return ((val) << CP_MEM_TO_REG_0_REG__SHIFT) & CP_MEM_TO_REG_0_REG__MASK; 1036b8e80941Smrg} 1037b8e80941Smrg#define CP_MEM_TO_REG_0_CNT__MASK 0x3ff80000 1038b8e80941Smrg#define CP_MEM_TO_REG_0_CNT__SHIFT 19 1039b8e80941Smrgstatic inline uint32_t CP_MEM_TO_REG_0_CNT(uint32_t val) 1040b8e80941Smrg{ 1041b8e80941Smrg return ((val) << CP_MEM_TO_REG_0_CNT__SHIFT) & CP_MEM_TO_REG_0_CNT__MASK; 1042b8e80941Smrg} 1043b8e80941Smrg#define CP_MEM_TO_REG_0_64B 0x40000000 1044b8e80941Smrg#define CP_MEM_TO_REG_0_ACCUMULATE 0x80000000 1045b8e80941Smrg 1046b8e80941Smrg#define REG_CP_MEM_TO_REG_1 0x00000001 1047b8e80941Smrg#define CP_MEM_TO_REG_1_SRC__MASK 0xffffffff 1048b8e80941Smrg#define CP_MEM_TO_REG_1_SRC__SHIFT 0 1049b8e80941Smrgstatic inline uint32_t CP_MEM_TO_REG_1_SRC(uint32_t val) 1050b8e80941Smrg{ 1051b8e80941Smrg return ((val) << CP_MEM_TO_REG_1_SRC__SHIFT) & CP_MEM_TO_REG_1_SRC__MASK; 1052b8e80941Smrg} 1053b8e80941Smrg 1054b8e80941Smrg#define REG_CP_MEM_TO_REG_2 0x00000002 1055b8e80941Smrg#define CP_MEM_TO_REG_2_SRC_HI__MASK 0xffffffff 1056b8e80941Smrg#define CP_MEM_TO_REG_2_SRC_HI__SHIFT 0 1057b8e80941Smrgstatic inline uint32_t CP_MEM_TO_REG_2_SRC_HI(uint32_t val) 1058b8e80941Smrg{ 1059b8e80941Smrg return ((val) << CP_MEM_TO_REG_2_SRC_HI__SHIFT) & CP_MEM_TO_REG_2_SRC_HI__MASK; 1060b8e80941Smrg} 1061b8e80941Smrg 1062b8e80941Smrg#define REG_CP_MEM_TO_MEM_0 0x00000000 1063b8e80941Smrg#define CP_MEM_TO_MEM_0_NEG_A 0x00000001 1064b8e80941Smrg#define CP_MEM_TO_MEM_0_NEG_B 0x00000002 1065b8e80941Smrg#define CP_MEM_TO_MEM_0_NEG_C 0x00000004 1066b8e80941Smrg#define CP_MEM_TO_MEM_0_DOUBLE 0x20000000 1067b8e80941Smrg 1068b8e80941Smrg#define REG_CP_COND_WRITE_0 0x00000000 1069b8e80941Smrg#define CP_COND_WRITE_0_FUNCTION__MASK 0x00000007 1070b8e80941Smrg#define CP_COND_WRITE_0_FUNCTION__SHIFT 0 1071b8e80941Smrgstatic inline uint32_t CP_COND_WRITE_0_FUNCTION(enum cp_cond_function val) 1072b8e80941Smrg{ 1073b8e80941Smrg return ((val) << CP_COND_WRITE_0_FUNCTION__SHIFT) & CP_COND_WRITE_0_FUNCTION__MASK; 1074b8e80941Smrg} 1075b8e80941Smrg#define CP_COND_WRITE_0_POLL_MEMORY 0x00000010 1076b8e80941Smrg#define CP_COND_WRITE_0_WRITE_MEMORY 0x00000100 1077b8e80941Smrg 1078b8e80941Smrg#define REG_CP_COND_WRITE_1 0x00000001 1079b8e80941Smrg#define CP_COND_WRITE_1_POLL_ADDR__MASK 0xffffffff 1080b8e80941Smrg#define CP_COND_WRITE_1_POLL_ADDR__SHIFT 0 1081b8e80941Smrgstatic inline uint32_t CP_COND_WRITE_1_POLL_ADDR(uint32_t val) 1082b8e80941Smrg{ 1083b8e80941Smrg return ((val) << CP_COND_WRITE_1_POLL_ADDR__SHIFT) & CP_COND_WRITE_1_POLL_ADDR__MASK; 1084b8e80941Smrg} 1085b8e80941Smrg 1086b8e80941Smrg#define REG_CP_COND_WRITE_2 0x00000002 1087b8e80941Smrg#define CP_COND_WRITE_2_REF__MASK 0xffffffff 1088b8e80941Smrg#define CP_COND_WRITE_2_REF__SHIFT 0 1089b8e80941Smrgstatic inline uint32_t CP_COND_WRITE_2_REF(uint32_t val) 1090b8e80941Smrg{ 1091b8e80941Smrg return ((val) << CP_COND_WRITE_2_REF__SHIFT) & CP_COND_WRITE_2_REF__MASK; 1092b8e80941Smrg} 1093b8e80941Smrg 1094b8e80941Smrg#define REG_CP_COND_WRITE_3 0x00000003 1095b8e80941Smrg#define CP_COND_WRITE_3_MASK__MASK 0xffffffff 1096b8e80941Smrg#define CP_COND_WRITE_3_MASK__SHIFT 0 1097b8e80941Smrgstatic inline uint32_t CP_COND_WRITE_3_MASK(uint32_t val) 1098b8e80941Smrg{ 1099b8e80941Smrg return ((val) << CP_COND_WRITE_3_MASK__SHIFT) & CP_COND_WRITE_3_MASK__MASK; 1100b8e80941Smrg} 1101b8e80941Smrg 1102b8e80941Smrg#define REG_CP_COND_WRITE_4 0x00000004 1103b8e80941Smrg#define CP_COND_WRITE_4_WRITE_ADDR__MASK 0xffffffff 1104b8e80941Smrg#define CP_COND_WRITE_4_WRITE_ADDR__SHIFT 0 1105b8e80941Smrgstatic inline uint32_t CP_COND_WRITE_4_WRITE_ADDR(uint32_t val) 1106b8e80941Smrg{ 1107b8e80941Smrg return ((val) << CP_COND_WRITE_4_WRITE_ADDR__SHIFT) & CP_COND_WRITE_4_WRITE_ADDR__MASK; 1108b8e80941Smrg} 1109b8e80941Smrg 1110b8e80941Smrg#define REG_CP_COND_WRITE_5 0x00000005 1111b8e80941Smrg#define CP_COND_WRITE_5_WRITE_DATA__MASK 0xffffffff 1112b8e80941Smrg#define CP_COND_WRITE_5_WRITE_DATA__SHIFT 0 1113b8e80941Smrgstatic inline uint32_t CP_COND_WRITE_5_WRITE_DATA(uint32_t val) 1114b8e80941Smrg{ 1115b8e80941Smrg return ((val) << CP_COND_WRITE_5_WRITE_DATA__SHIFT) & CP_COND_WRITE_5_WRITE_DATA__MASK; 1116b8e80941Smrg} 1117b8e80941Smrg 1118b8e80941Smrg#define REG_CP_COND_WRITE5_0 0x00000000 1119b8e80941Smrg#define CP_COND_WRITE5_0_FUNCTION__MASK 0x00000007 1120b8e80941Smrg#define CP_COND_WRITE5_0_FUNCTION__SHIFT 0 1121b8e80941Smrgstatic inline uint32_t CP_COND_WRITE5_0_FUNCTION(enum cp_cond_function val) 1122b8e80941Smrg{ 1123b8e80941Smrg return ((val) << CP_COND_WRITE5_0_FUNCTION__SHIFT) & CP_COND_WRITE5_0_FUNCTION__MASK; 1124b8e80941Smrg} 1125b8e80941Smrg#define CP_COND_WRITE5_0_POLL_MEMORY 0x00000010 1126b8e80941Smrg#define CP_COND_WRITE5_0_WRITE_MEMORY 0x00000100 1127b8e80941Smrg 1128b8e80941Smrg#define REG_CP_COND_WRITE5_1 0x00000001 1129b8e80941Smrg#define CP_COND_WRITE5_1_POLL_ADDR_LO__MASK 0xffffffff 1130b8e80941Smrg#define CP_COND_WRITE5_1_POLL_ADDR_LO__SHIFT 0 1131b8e80941Smrgstatic inline uint32_t CP_COND_WRITE5_1_POLL_ADDR_LO(uint32_t val) 1132b8e80941Smrg{ 1133b8e80941Smrg return ((val) << CP_COND_WRITE5_1_POLL_ADDR_LO__SHIFT) & CP_COND_WRITE5_1_POLL_ADDR_LO__MASK; 1134b8e80941Smrg} 1135b8e80941Smrg 1136b8e80941Smrg#define REG_CP_COND_WRITE5_2 0x00000002 1137b8e80941Smrg#define CP_COND_WRITE5_2_POLL_ADDR_HI__MASK 0xffffffff 1138b8e80941Smrg#define CP_COND_WRITE5_2_POLL_ADDR_HI__SHIFT 0 1139b8e80941Smrgstatic inline uint32_t CP_COND_WRITE5_2_POLL_ADDR_HI(uint32_t val) 1140b8e80941Smrg{ 1141b8e80941Smrg return ((val) << CP_COND_WRITE5_2_POLL_ADDR_HI__SHIFT) & CP_COND_WRITE5_2_POLL_ADDR_HI__MASK; 1142b8e80941Smrg} 1143b8e80941Smrg 1144b8e80941Smrg#define REG_CP_COND_WRITE5_3 0x00000003 1145b8e80941Smrg#define CP_COND_WRITE5_3_REF__MASK 0xffffffff 1146b8e80941Smrg#define CP_COND_WRITE5_3_REF__SHIFT 0 1147b8e80941Smrgstatic inline uint32_t CP_COND_WRITE5_3_REF(uint32_t val) 1148b8e80941Smrg{ 1149b8e80941Smrg return ((val) << CP_COND_WRITE5_3_REF__SHIFT) & CP_COND_WRITE5_3_REF__MASK; 1150b8e80941Smrg} 1151b8e80941Smrg 1152b8e80941Smrg#define REG_CP_COND_WRITE5_4 0x00000004 1153b8e80941Smrg#define CP_COND_WRITE5_4_MASK__MASK 0xffffffff 1154b8e80941Smrg#define CP_COND_WRITE5_4_MASK__SHIFT 0 1155b8e80941Smrgstatic inline uint32_t CP_COND_WRITE5_4_MASK(uint32_t val) 1156b8e80941Smrg{ 1157b8e80941Smrg return ((val) << CP_COND_WRITE5_4_MASK__SHIFT) & CP_COND_WRITE5_4_MASK__MASK; 1158b8e80941Smrg} 1159b8e80941Smrg 1160b8e80941Smrg#define REG_CP_COND_WRITE5_5 0x00000005 1161b8e80941Smrg#define CP_COND_WRITE5_5_WRITE_ADDR_LO__MASK 0xffffffff 1162b8e80941Smrg#define CP_COND_WRITE5_5_WRITE_ADDR_LO__SHIFT 0 1163b8e80941Smrgstatic inline uint32_t CP_COND_WRITE5_5_WRITE_ADDR_LO(uint32_t val) 1164b8e80941Smrg{ 1165b8e80941Smrg return ((val) << CP_COND_WRITE5_5_WRITE_ADDR_LO__SHIFT) & CP_COND_WRITE5_5_WRITE_ADDR_LO__MASK; 1166b8e80941Smrg} 1167b8e80941Smrg 1168b8e80941Smrg#define REG_CP_COND_WRITE5_6 0x00000006 1169b8e80941Smrg#define CP_COND_WRITE5_6_WRITE_ADDR_HI__MASK 0xffffffff 1170b8e80941Smrg#define CP_COND_WRITE5_6_WRITE_ADDR_HI__SHIFT 0 1171b8e80941Smrgstatic inline uint32_t CP_COND_WRITE5_6_WRITE_ADDR_HI(uint32_t val) 1172b8e80941Smrg{ 1173b8e80941Smrg return ((val) << CP_COND_WRITE5_6_WRITE_ADDR_HI__SHIFT) & CP_COND_WRITE5_6_WRITE_ADDR_HI__MASK; 1174b8e80941Smrg} 1175b8e80941Smrg 1176b8e80941Smrg#define REG_CP_COND_WRITE5_7 0x00000007 1177b8e80941Smrg#define CP_COND_WRITE5_7_WRITE_DATA__MASK 0xffffffff 1178b8e80941Smrg#define CP_COND_WRITE5_7_WRITE_DATA__SHIFT 0 1179b8e80941Smrgstatic inline uint32_t CP_COND_WRITE5_7_WRITE_DATA(uint32_t val) 1180b8e80941Smrg{ 1181b8e80941Smrg return ((val) << CP_COND_WRITE5_7_WRITE_DATA__SHIFT) & CP_COND_WRITE5_7_WRITE_DATA__MASK; 1182b8e80941Smrg} 1183b8e80941Smrg 1184b8e80941Smrg#define REG_CP_DISPATCH_COMPUTE_0 0x00000000 1185b8e80941Smrg 1186b8e80941Smrg#define REG_CP_DISPATCH_COMPUTE_1 0x00000001 1187b8e80941Smrg#define CP_DISPATCH_COMPUTE_1_X__MASK 0xffffffff 1188b8e80941Smrg#define CP_DISPATCH_COMPUTE_1_X__SHIFT 0 1189b8e80941Smrgstatic inline uint32_t CP_DISPATCH_COMPUTE_1_X(uint32_t val) 1190b8e80941Smrg{ 1191b8e80941Smrg return ((val) << CP_DISPATCH_COMPUTE_1_X__SHIFT) & CP_DISPATCH_COMPUTE_1_X__MASK; 1192b8e80941Smrg} 1193b8e80941Smrg 1194b8e80941Smrg#define REG_CP_DISPATCH_COMPUTE_2 0x00000002 1195b8e80941Smrg#define CP_DISPATCH_COMPUTE_2_Y__MASK 0xffffffff 1196b8e80941Smrg#define CP_DISPATCH_COMPUTE_2_Y__SHIFT 0 1197b8e80941Smrgstatic inline uint32_t CP_DISPATCH_COMPUTE_2_Y(uint32_t val) 1198b8e80941Smrg{ 1199b8e80941Smrg return ((val) << CP_DISPATCH_COMPUTE_2_Y__SHIFT) & CP_DISPATCH_COMPUTE_2_Y__MASK; 1200b8e80941Smrg} 1201b8e80941Smrg 1202b8e80941Smrg#define REG_CP_DISPATCH_COMPUTE_3 0x00000003 1203b8e80941Smrg#define CP_DISPATCH_COMPUTE_3_Z__MASK 0xffffffff 1204b8e80941Smrg#define CP_DISPATCH_COMPUTE_3_Z__SHIFT 0 1205b8e80941Smrgstatic inline uint32_t CP_DISPATCH_COMPUTE_3_Z(uint32_t val) 1206b8e80941Smrg{ 1207b8e80941Smrg return ((val) << CP_DISPATCH_COMPUTE_3_Z__SHIFT) & CP_DISPATCH_COMPUTE_3_Z__MASK; 1208b8e80941Smrg} 1209b8e80941Smrg 1210b8e80941Smrg#define REG_CP_SET_RENDER_MODE_0 0x00000000 1211b8e80941Smrg#define CP_SET_RENDER_MODE_0_MODE__MASK 0x000001ff 1212b8e80941Smrg#define CP_SET_RENDER_MODE_0_MODE__SHIFT 0 1213b8e80941Smrgstatic inline uint32_t CP_SET_RENDER_MODE_0_MODE(enum render_mode_cmd val) 1214b8e80941Smrg{ 1215b8e80941Smrg return ((val) << CP_SET_RENDER_MODE_0_MODE__SHIFT) & CP_SET_RENDER_MODE_0_MODE__MASK; 1216b8e80941Smrg} 1217b8e80941Smrg 1218b8e80941Smrg#define REG_CP_SET_RENDER_MODE_1 0x00000001 1219b8e80941Smrg#define CP_SET_RENDER_MODE_1_ADDR_0_LO__MASK 0xffffffff 1220b8e80941Smrg#define CP_SET_RENDER_MODE_1_ADDR_0_LO__SHIFT 0 1221b8e80941Smrgstatic inline uint32_t CP_SET_RENDER_MODE_1_ADDR_0_LO(uint32_t val) 1222b8e80941Smrg{ 1223b8e80941Smrg return ((val) << CP_SET_RENDER_MODE_1_ADDR_0_LO__SHIFT) & CP_SET_RENDER_MODE_1_ADDR_0_LO__MASK; 1224b8e80941Smrg} 1225b8e80941Smrg 1226b8e80941Smrg#define REG_CP_SET_RENDER_MODE_2 0x00000002 1227b8e80941Smrg#define CP_SET_RENDER_MODE_2_ADDR_0_HI__MASK 0xffffffff 1228b8e80941Smrg#define CP_SET_RENDER_MODE_2_ADDR_0_HI__SHIFT 0 1229b8e80941Smrgstatic inline uint32_t CP_SET_RENDER_MODE_2_ADDR_0_HI(uint32_t val) 1230b8e80941Smrg{ 1231b8e80941Smrg return ((val) << CP_SET_RENDER_MODE_2_ADDR_0_HI__SHIFT) & CP_SET_RENDER_MODE_2_ADDR_0_HI__MASK; 1232b8e80941Smrg} 1233b8e80941Smrg 1234b8e80941Smrg#define REG_CP_SET_RENDER_MODE_3 0x00000003 1235b8e80941Smrg#define CP_SET_RENDER_MODE_3_VSC_ENABLE 0x00000008 1236b8e80941Smrg#define CP_SET_RENDER_MODE_3_GMEM_ENABLE 0x00000010 1237b8e80941Smrg 1238b8e80941Smrg#define REG_CP_SET_RENDER_MODE_4 0x00000004 1239b8e80941Smrg 1240b8e80941Smrg#define REG_CP_SET_RENDER_MODE_5 0x00000005 1241b8e80941Smrg#define CP_SET_RENDER_MODE_5_ADDR_1_LEN__MASK 0xffffffff 1242b8e80941Smrg#define CP_SET_RENDER_MODE_5_ADDR_1_LEN__SHIFT 0 1243b8e80941Smrgstatic inline uint32_t CP_SET_RENDER_MODE_5_ADDR_1_LEN(uint32_t val) 1244b8e80941Smrg{ 1245b8e80941Smrg return ((val) << CP_SET_RENDER_MODE_5_ADDR_1_LEN__SHIFT) & CP_SET_RENDER_MODE_5_ADDR_1_LEN__MASK; 1246b8e80941Smrg} 1247b8e80941Smrg 1248b8e80941Smrg#define REG_CP_SET_RENDER_MODE_6 0x00000006 1249b8e80941Smrg#define CP_SET_RENDER_MODE_6_ADDR_1_LO__MASK 0xffffffff 1250b8e80941Smrg#define CP_SET_RENDER_MODE_6_ADDR_1_LO__SHIFT 0 1251b8e80941Smrgstatic inline uint32_t CP_SET_RENDER_MODE_6_ADDR_1_LO(uint32_t val) 1252b8e80941Smrg{ 1253b8e80941Smrg return ((val) << CP_SET_RENDER_MODE_6_ADDR_1_LO__SHIFT) & CP_SET_RENDER_MODE_6_ADDR_1_LO__MASK; 1254b8e80941Smrg} 1255b8e80941Smrg 1256b8e80941Smrg#define REG_CP_SET_RENDER_MODE_7 0x00000007 1257b8e80941Smrg#define CP_SET_RENDER_MODE_7_ADDR_1_HI__MASK 0xffffffff 1258b8e80941Smrg#define CP_SET_RENDER_MODE_7_ADDR_1_HI__SHIFT 0 1259b8e80941Smrgstatic inline uint32_t CP_SET_RENDER_MODE_7_ADDR_1_HI(uint32_t val) 1260b8e80941Smrg{ 1261b8e80941Smrg return ((val) << CP_SET_RENDER_MODE_7_ADDR_1_HI__SHIFT) & CP_SET_RENDER_MODE_7_ADDR_1_HI__MASK; 1262b8e80941Smrg} 1263b8e80941Smrg 1264b8e80941Smrg#define REG_CP_COMPUTE_CHECKPOINT_0 0x00000000 1265b8e80941Smrg#define CP_COMPUTE_CHECKPOINT_0_ADDR_0_LO__MASK 0xffffffff 1266b8e80941Smrg#define CP_COMPUTE_CHECKPOINT_0_ADDR_0_LO__SHIFT 0 1267b8e80941Smrgstatic inline uint32_t CP_COMPUTE_CHECKPOINT_0_ADDR_0_LO(uint32_t val) 1268b8e80941Smrg{ 1269b8e80941Smrg return ((val) << CP_COMPUTE_CHECKPOINT_0_ADDR_0_LO__SHIFT) & CP_COMPUTE_CHECKPOINT_0_ADDR_0_LO__MASK; 1270b8e80941Smrg} 1271b8e80941Smrg 1272b8e80941Smrg#define REG_CP_COMPUTE_CHECKPOINT_1 0x00000001 1273b8e80941Smrg#define CP_COMPUTE_CHECKPOINT_1_ADDR_0_HI__MASK 0xffffffff 1274b8e80941Smrg#define CP_COMPUTE_CHECKPOINT_1_ADDR_0_HI__SHIFT 0 1275b8e80941Smrgstatic inline uint32_t CP_COMPUTE_CHECKPOINT_1_ADDR_0_HI(uint32_t val) 1276b8e80941Smrg{ 1277b8e80941Smrg return ((val) << CP_COMPUTE_CHECKPOINT_1_ADDR_0_HI__SHIFT) & CP_COMPUTE_CHECKPOINT_1_ADDR_0_HI__MASK; 1278b8e80941Smrg} 1279b8e80941Smrg 1280b8e80941Smrg#define REG_CP_COMPUTE_CHECKPOINT_2 0x00000002 1281b8e80941Smrg 1282b8e80941Smrg#define REG_CP_COMPUTE_CHECKPOINT_3 0x00000003 1283b8e80941Smrg#define CP_COMPUTE_CHECKPOINT_3_ADDR_1_LEN__MASK 0xffffffff 1284b8e80941Smrg#define CP_COMPUTE_CHECKPOINT_3_ADDR_1_LEN__SHIFT 0 1285b8e80941Smrgstatic inline uint32_t CP_COMPUTE_CHECKPOINT_3_ADDR_1_LEN(uint32_t val) 1286b8e80941Smrg{ 1287b8e80941Smrg return ((val) << CP_COMPUTE_CHECKPOINT_3_ADDR_1_LEN__SHIFT) & CP_COMPUTE_CHECKPOINT_3_ADDR_1_LEN__MASK; 1288b8e80941Smrg} 1289b8e80941Smrg 1290b8e80941Smrg#define REG_CP_COMPUTE_CHECKPOINT_4 0x00000004 1291b8e80941Smrg 1292b8e80941Smrg#define REG_CP_COMPUTE_CHECKPOINT_5 0x00000005 1293b8e80941Smrg#define CP_COMPUTE_CHECKPOINT_5_ADDR_1_LO__MASK 0xffffffff 1294b8e80941Smrg#define CP_COMPUTE_CHECKPOINT_5_ADDR_1_LO__SHIFT 0 1295b8e80941Smrgstatic inline uint32_t CP_COMPUTE_CHECKPOINT_5_ADDR_1_LO(uint32_t val) 1296b8e80941Smrg{ 1297b8e80941Smrg return ((val) << CP_COMPUTE_CHECKPOINT_5_ADDR_1_LO__SHIFT) & CP_COMPUTE_CHECKPOINT_5_ADDR_1_LO__MASK; 1298b8e80941Smrg} 1299b8e80941Smrg 1300b8e80941Smrg#define REG_CP_COMPUTE_CHECKPOINT_6 0x00000006 1301b8e80941Smrg#define CP_COMPUTE_CHECKPOINT_6_ADDR_1_HI__MASK 0xffffffff 1302b8e80941Smrg#define CP_COMPUTE_CHECKPOINT_6_ADDR_1_HI__SHIFT 0 1303b8e80941Smrgstatic inline uint32_t CP_COMPUTE_CHECKPOINT_6_ADDR_1_HI(uint32_t val) 1304b8e80941Smrg{ 1305b8e80941Smrg return ((val) << CP_COMPUTE_CHECKPOINT_6_ADDR_1_HI__SHIFT) & CP_COMPUTE_CHECKPOINT_6_ADDR_1_HI__MASK; 1306b8e80941Smrg} 1307b8e80941Smrg 1308b8e80941Smrg#define REG_CP_COMPUTE_CHECKPOINT_7 0x00000007 1309b8e80941Smrg 1310b8e80941Smrg#define REG_CP_PERFCOUNTER_ACTION_0 0x00000000 1311b8e80941Smrg 1312b8e80941Smrg#define REG_CP_PERFCOUNTER_ACTION_1 0x00000001 1313b8e80941Smrg#define CP_PERFCOUNTER_ACTION_1_ADDR_0_LO__MASK 0xffffffff 1314b8e80941Smrg#define CP_PERFCOUNTER_ACTION_1_ADDR_0_LO__SHIFT 0 1315b8e80941Smrgstatic inline uint32_t CP_PERFCOUNTER_ACTION_1_ADDR_0_LO(uint32_t val) 1316b8e80941Smrg{ 1317b8e80941Smrg return ((val) << CP_PERFCOUNTER_ACTION_1_ADDR_0_LO__SHIFT) & CP_PERFCOUNTER_ACTION_1_ADDR_0_LO__MASK; 1318b8e80941Smrg} 1319b8e80941Smrg 1320b8e80941Smrg#define REG_CP_PERFCOUNTER_ACTION_2 0x00000002 1321b8e80941Smrg#define CP_PERFCOUNTER_ACTION_2_ADDR_0_HI__MASK 0xffffffff 1322b8e80941Smrg#define CP_PERFCOUNTER_ACTION_2_ADDR_0_HI__SHIFT 0 1323b8e80941Smrgstatic inline uint32_t CP_PERFCOUNTER_ACTION_2_ADDR_0_HI(uint32_t val) 1324b8e80941Smrg{ 1325b8e80941Smrg return ((val) << CP_PERFCOUNTER_ACTION_2_ADDR_0_HI__SHIFT) & CP_PERFCOUNTER_ACTION_2_ADDR_0_HI__MASK; 1326b8e80941Smrg} 1327b8e80941Smrg 1328b8e80941Smrg#define REG_CP_EVENT_WRITE_0 0x00000000 1329b8e80941Smrg#define CP_EVENT_WRITE_0_EVENT__MASK 0x000000ff 1330b8e80941Smrg#define CP_EVENT_WRITE_0_EVENT__SHIFT 0 1331b8e80941Smrgstatic inline uint32_t CP_EVENT_WRITE_0_EVENT(enum vgt_event_type val) 1332b8e80941Smrg{ 1333b8e80941Smrg return ((val) << CP_EVENT_WRITE_0_EVENT__SHIFT) & CP_EVENT_WRITE_0_EVENT__MASK; 1334b8e80941Smrg} 1335b8e80941Smrg#define CP_EVENT_WRITE_0_TIMESTAMP 0x40000000 1336b8e80941Smrg 1337b8e80941Smrg#define REG_CP_EVENT_WRITE_1 0x00000001 1338b8e80941Smrg#define CP_EVENT_WRITE_1_ADDR_0_LO__MASK 0xffffffff 1339b8e80941Smrg#define CP_EVENT_WRITE_1_ADDR_0_LO__SHIFT 0 1340b8e80941Smrgstatic inline uint32_t CP_EVENT_WRITE_1_ADDR_0_LO(uint32_t val) 1341b8e80941Smrg{ 1342b8e80941Smrg return ((val) << CP_EVENT_WRITE_1_ADDR_0_LO__SHIFT) & CP_EVENT_WRITE_1_ADDR_0_LO__MASK; 1343b8e80941Smrg} 1344b8e80941Smrg 1345b8e80941Smrg#define REG_CP_EVENT_WRITE_2 0x00000002 1346b8e80941Smrg#define CP_EVENT_WRITE_2_ADDR_0_HI__MASK 0xffffffff 1347b8e80941Smrg#define CP_EVENT_WRITE_2_ADDR_0_HI__SHIFT 0 1348b8e80941Smrgstatic inline uint32_t CP_EVENT_WRITE_2_ADDR_0_HI(uint32_t val) 1349b8e80941Smrg{ 1350b8e80941Smrg return ((val) << CP_EVENT_WRITE_2_ADDR_0_HI__SHIFT) & CP_EVENT_WRITE_2_ADDR_0_HI__MASK; 1351b8e80941Smrg} 1352b8e80941Smrg 1353b8e80941Smrg#define REG_CP_EVENT_WRITE_3 0x00000003 1354b8e80941Smrg 1355b8e80941Smrg#define REG_CP_BLIT_0 0x00000000 1356b8e80941Smrg#define CP_BLIT_0_OP__MASK 0x0000000f 1357b8e80941Smrg#define CP_BLIT_0_OP__SHIFT 0 1358b8e80941Smrgstatic inline uint32_t CP_BLIT_0_OP(enum cp_blit_cmd val) 1359b8e80941Smrg{ 1360b8e80941Smrg return ((val) << CP_BLIT_0_OP__SHIFT) & CP_BLIT_0_OP__MASK; 1361b8e80941Smrg} 1362b8e80941Smrg 1363b8e80941Smrg#define REG_CP_BLIT_1 0x00000001 1364b8e80941Smrg#define CP_BLIT_1_SRC_X1__MASK 0x00003fff 1365b8e80941Smrg#define CP_BLIT_1_SRC_X1__SHIFT 0 1366b8e80941Smrgstatic inline uint32_t CP_BLIT_1_SRC_X1(uint32_t val) 1367b8e80941Smrg{ 1368b8e80941Smrg return ((val) << CP_BLIT_1_SRC_X1__SHIFT) & CP_BLIT_1_SRC_X1__MASK; 1369b8e80941Smrg} 1370b8e80941Smrg#define CP_BLIT_1_SRC_Y1__MASK 0x3fff0000 1371b8e80941Smrg#define CP_BLIT_1_SRC_Y1__SHIFT 16 1372b8e80941Smrgstatic inline uint32_t CP_BLIT_1_SRC_Y1(uint32_t val) 1373b8e80941Smrg{ 1374b8e80941Smrg return ((val) << CP_BLIT_1_SRC_Y1__SHIFT) & CP_BLIT_1_SRC_Y1__MASK; 1375b8e80941Smrg} 1376b8e80941Smrg 1377b8e80941Smrg#define REG_CP_BLIT_2 0x00000002 1378b8e80941Smrg#define CP_BLIT_2_SRC_X2__MASK 0x00003fff 1379b8e80941Smrg#define CP_BLIT_2_SRC_X2__SHIFT 0 1380b8e80941Smrgstatic inline uint32_t CP_BLIT_2_SRC_X2(uint32_t val) 1381b8e80941Smrg{ 1382b8e80941Smrg return ((val) << CP_BLIT_2_SRC_X2__SHIFT) & CP_BLIT_2_SRC_X2__MASK; 1383b8e80941Smrg} 1384b8e80941Smrg#define CP_BLIT_2_SRC_Y2__MASK 0x3fff0000 1385b8e80941Smrg#define CP_BLIT_2_SRC_Y2__SHIFT 16 1386b8e80941Smrgstatic inline uint32_t CP_BLIT_2_SRC_Y2(uint32_t val) 1387b8e80941Smrg{ 1388b8e80941Smrg return ((val) << CP_BLIT_2_SRC_Y2__SHIFT) & CP_BLIT_2_SRC_Y2__MASK; 1389b8e80941Smrg} 1390b8e80941Smrg 1391b8e80941Smrg#define REG_CP_BLIT_3 0x00000003 1392b8e80941Smrg#define CP_BLIT_3_DST_X1__MASK 0x00003fff 1393b8e80941Smrg#define CP_BLIT_3_DST_X1__SHIFT 0 1394b8e80941Smrgstatic inline uint32_t CP_BLIT_3_DST_X1(uint32_t val) 1395b8e80941Smrg{ 1396b8e80941Smrg return ((val) << CP_BLIT_3_DST_X1__SHIFT) & CP_BLIT_3_DST_X1__MASK; 1397b8e80941Smrg} 1398b8e80941Smrg#define CP_BLIT_3_DST_Y1__MASK 0x3fff0000 1399b8e80941Smrg#define CP_BLIT_3_DST_Y1__SHIFT 16 1400b8e80941Smrgstatic inline uint32_t CP_BLIT_3_DST_Y1(uint32_t val) 1401b8e80941Smrg{ 1402b8e80941Smrg return ((val) << CP_BLIT_3_DST_Y1__SHIFT) & CP_BLIT_3_DST_Y1__MASK; 1403b8e80941Smrg} 1404b8e80941Smrg 1405b8e80941Smrg#define REG_CP_BLIT_4 0x00000004 1406b8e80941Smrg#define CP_BLIT_4_DST_X2__MASK 0x00003fff 1407b8e80941Smrg#define CP_BLIT_4_DST_X2__SHIFT 0 1408b8e80941Smrgstatic inline uint32_t CP_BLIT_4_DST_X2(uint32_t val) 1409b8e80941Smrg{ 1410b8e80941Smrg return ((val) << CP_BLIT_4_DST_X2__SHIFT) & CP_BLIT_4_DST_X2__MASK; 1411b8e80941Smrg} 1412b8e80941Smrg#define CP_BLIT_4_DST_Y2__MASK 0x3fff0000 1413b8e80941Smrg#define CP_BLIT_4_DST_Y2__SHIFT 16 1414b8e80941Smrgstatic inline uint32_t CP_BLIT_4_DST_Y2(uint32_t val) 1415b8e80941Smrg{ 1416b8e80941Smrg return ((val) << CP_BLIT_4_DST_Y2__SHIFT) & CP_BLIT_4_DST_Y2__MASK; 1417b8e80941Smrg} 1418b8e80941Smrg 1419b8e80941Smrg#define REG_CP_EXEC_CS_0 0x00000000 1420b8e80941Smrg 1421b8e80941Smrg#define REG_CP_EXEC_CS_1 0x00000001 1422b8e80941Smrg#define CP_EXEC_CS_1_NGROUPS_X__MASK 0xffffffff 1423b8e80941Smrg#define CP_EXEC_CS_1_NGROUPS_X__SHIFT 0 1424b8e80941Smrgstatic inline uint32_t CP_EXEC_CS_1_NGROUPS_X(uint32_t val) 1425b8e80941Smrg{ 1426b8e80941Smrg return ((val) << CP_EXEC_CS_1_NGROUPS_X__SHIFT) & CP_EXEC_CS_1_NGROUPS_X__MASK; 1427b8e80941Smrg} 1428b8e80941Smrg 1429b8e80941Smrg#define REG_CP_EXEC_CS_2 0x00000002 1430b8e80941Smrg#define CP_EXEC_CS_2_NGROUPS_Y__MASK 0xffffffff 1431b8e80941Smrg#define CP_EXEC_CS_2_NGROUPS_Y__SHIFT 0 1432b8e80941Smrgstatic inline uint32_t CP_EXEC_CS_2_NGROUPS_Y(uint32_t val) 1433b8e80941Smrg{ 1434b8e80941Smrg return ((val) << CP_EXEC_CS_2_NGROUPS_Y__SHIFT) & CP_EXEC_CS_2_NGROUPS_Y__MASK; 1435b8e80941Smrg} 1436b8e80941Smrg 1437b8e80941Smrg#define REG_CP_EXEC_CS_3 0x00000003 1438b8e80941Smrg#define CP_EXEC_CS_3_NGROUPS_Z__MASK 0xffffffff 1439b8e80941Smrg#define CP_EXEC_CS_3_NGROUPS_Z__SHIFT 0 1440b8e80941Smrgstatic inline uint32_t CP_EXEC_CS_3_NGROUPS_Z(uint32_t val) 1441b8e80941Smrg{ 1442b8e80941Smrg return ((val) << CP_EXEC_CS_3_NGROUPS_Z__SHIFT) & CP_EXEC_CS_3_NGROUPS_Z__MASK; 1443b8e80941Smrg} 1444b8e80941Smrg 1445b8e80941Smrg#define REG_A4XX_CP_EXEC_CS_INDIRECT_0 0x00000000 1446b8e80941Smrg 1447b8e80941Smrg 1448b8e80941Smrg#define REG_A4XX_CP_EXEC_CS_INDIRECT_1 0x00000001 1449b8e80941Smrg#define A4XX_CP_EXEC_CS_INDIRECT_1_ADDR__MASK 0xffffffff 1450b8e80941Smrg#define A4XX_CP_EXEC_CS_INDIRECT_1_ADDR__SHIFT 0 1451b8e80941Smrgstatic inline uint32_t A4XX_CP_EXEC_CS_INDIRECT_1_ADDR(uint32_t val) 1452b8e80941Smrg{ 1453b8e80941Smrg return ((val) << A4XX_CP_EXEC_CS_INDIRECT_1_ADDR__SHIFT) & A4XX_CP_EXEC_CS_INDIRECT_1_ADDR__MASK; 1454b8e80941Smrg} 1455b8e80941Smrg 1456b8e80941Smrg#define REG_A4XX_CP_EXEC_CS_INDIRECT_2 0x00000002 1457b8e80941Smrg#define A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEX__MASK 0x00000ffc 1458b8e80941Smrg#define A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEX__SHIFT 2 1459b8e80941Smrgstatic inline uint32_t A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEX(uint32_t val) 1460b8e80941Smrg{ 1461b8e80941Smrg return ((val) << A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEX__SHIFT) & A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEX__MASK; 1462b8e80941Smrg} 1463b8e80941Smrg#define A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEY__MASK 0x003ff000 1464b8e80941Smrg#define A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEY__SHIFT 12 1465b8e80941Smrgstatic inline uint32_t A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEY(uint32_t val) 1466b8e80941Smrg{ 1467b8e80941Smrg return ((val) << A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEY__SHIFT) & A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEY__MASK; 1468b8e80941Smrg} 1469b8e80941Smrg#define A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEZ__MASK 0xffc00000 1470b8e80941Smrg#define A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEZ__SHIFT 22 1471b8e80941Smrgstatic inline uint32_t A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEZ(uint32_t val) 1472b8e80941Smrg{ 1473b8e80941Smrg return ((val) << A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEZ__SHIFT) & A4XX_CP_EXEC_CS_INDIRECT_2_LOCALSIZEZ__MASK; 1474b8e80941Smrg} 1475b8e80941Smrg 1476b8e80941Smrg 1477b8e80941Smrg#define REG_A5XX_CP_EXEC_CS_INDIRECT_1 0x00000001 1478b8e80941Smrg#define A5XX_CP_EXEC_CS_INDIRECT_1_ADDR_LO__MASK 0xffffffff 1479b8e80941Smrg#define A5XX_CP_EXEC_CS_INDIRECT_1_ADDR_LO__SHIFT 0 1480b8e80941Smrgstatic inline uint32_t A5XX_CP_EXEC_CS_INDIRECT_1_ADDR_LO(uint32_t val) 1481b8e80941Smrg{ 1482b8e80941Smrg return ((val) << A5XX_CP_EXEC_CS_INDIRECT_1_ADDR_LO__SHIFT) & A5XX_CP_EXEC_CS_INDIRECT_1_ADDR_LO__MASK; 1483b8e80941Smrg} 1484b8e80941Smrg 1485b8e80941Smrg#define REG_A5XX_CP_EXEC_CS_INDIRECT_2 0x00000002 1486b8e80941Smrg#define A5XX_CP_EXEC_CS_INDIRECT_2_ADDR_HI__MASK 0xffffffff 1487b8e80941Smrg#define A5XX_CP_EXEC_CS_INDIRECT_2_ADDR_HI__SHIFT 0 1488b8e80941Smrgstatic inline uint32_t A5XX_CP_EXEC_CS_INDIRECT_2_ADDR_HI(uint32_t val) 1489b8e80941Smrg{ 1490b8e80941Smrg return ((val) << A5XX_CP_EXEC_CS_INDIRECT_2_ADDR_HI__SHIFT) & A5XX_CP_EXEC_CS_INDIRECT_2_ADDR_HI__MASK; 1491b8e80941Smrg} 1492b8e80941Smrg 1493b8e80941Smrg#define REG_A5XX_CP_EXEC_CS_INDIRECT_3 0x00000003 1494b8e80941Smrg#define A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEX__MASK 0x00000ffc 1495b8e80941Smrg#define A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEX__SHIFT 2 1496b8e80941Smrgstatic inline uint32_t A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEX(uint32_t val) 1497b8e80941Smrg{ 1498b8e80941Smrg return ((val) << A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEX__SHIFT) & A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEX__MASK; 1499b8e80941Smrg} 1500b8e80941Smrg#define A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEY__MASK 0x003ff000 1501b8e80941Smrg#define A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEY__SHIFT 12 1502b8e80941Smrgstatic inline uint32_t A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEY(uint32_t val) 1503b8e80941Smrg{ 1504b8e80941Smrg return ((val) << A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEY__SHIFT) & A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEY__MASK; 1505b8e80941Smrg} 1506b8e80941Smrg#define A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEZ__MASK 0xffc00000 1507b8e80941Smrg#define A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEZ__SHIFT 22 1508b8e80941Smrgstatic inline uint32_t A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEZ(uint32_t val) 1509b8e80941Smrg{ 1510b8e80941Smrg return ((val) << A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEZ__SHIFT) & A5XX_CP_EXEC_CS_INDIRECT_3_LOCALSIZEZ__MASK; 1511b8e80941Smrg} 1512b8e80941Smrg 1513b8e80941Smrg#define REG_A2XX_CP_SET_MARKER_0 0x00000000 1514b8e80941Smrg#define A2XX_CP_SET_MARKER_0_MARKER__MASK 0x0000000f 1515b8e80941Smrg#define A2XX_CP_SET_MARKER_0_MARKER__SHIFT 0 1516b8e80941Smrgstatic inline uint32_t A2XX_CP_SET_MARKER_0_MARKER(uint32_t val) 1517b8e80941Smrg{ 1518b8e80941Smrg return ((val) << A2XX_CP_SET_MARKER_0_MARKER__SHIFT) & A2XX_CP_SET_MARKER_0_MARKER__MASK; 1519b8e80941Smrg} 1520b8e80941Smrg#define A2XX_CP_SET_MARKER_0_MODE__MASK 0x0000000f 1521b8e80941Smrg#define A2XX_CP_SET_MARKER_0_MODE__SHIFT 0 1522b8e80941Smrgstatic inline uint32_t A2XX_CP_SET_MARKER_0_MODE(enum a6xx_render_mode val) 1523b8e80941Smrg{ 1524b8e80941Smrg return ((val) << A2XX_CP_SET_MARKER_0_MODE__SHIFT) & A2XX_CP_SET_MARKER_0_MODE__MASK; 1525b8e80941Smrg} 1526b8e80941Smrg#define A2XX_CP_SET_MARKER_0_IFPC 0x00000100 1527b8e80941Smrg 1528b8e80941Smrgstatic inline uint32_t REG_A2XX_CP_SET_PSEUDO_REG_(uint32_t i0) { return 0x00000000 + 0x3*i0; } 1529b8e80941Smrg 1530b8e80941Smrgstatic inline uint32_t REG_A2XX_CP_SET_PSEUDO_REG__0(uint32_t i0) { return 0x00000000 + 0x3*i0; } 1531b8e80941Smrg#define A2XX_CP_SET_PSEUDO_REG__0_PSEUDO_REG__MASK 0x00000007 1532b8e80941Smrg#define A2XX_CP_SET_PSEUDO_REG__0_PSEUDO_REG__SHIFT 0 1533b8e80941Smrgstatic inline uint32_t A2XX_CP_SET_PSEUDO_REG__0_PSEUDO_REG(enum pseudo_reg val) 1534b8e80941Smrg{ 1535b8e80941Smrg return ((val) << A2XX_CP_SET_PSEUDO_REG__0_PSEUDO_REG__SHIFT) & A2XX_CP_SET_PSEUDO_REG__0_PSEUDO_REG__MASK; 1536b8e80941Smrg} 1537b8e80941Smrg 1538b8e80941Smrgstatic inline uint32_t REG_A2XX_CP_SET_PSEUDO_REG__1(uint32_t i0) { return 0x00000001 + 0x3*i0; } 1539b8e80941Smrg#define A2XX_CP_SET_PSEUDO_REG__1_LO__MASK 0xffffffff 1540b8e80941Smrg#define A2XX_CP_SET_PSEUDO_REG__1_LO__SHIFT 0 1541b8e80941Smrgstatic inline uint32_t A2XX_CP_SET_PSEUDO_REG__1_LO(uint32_t val) 1542b8e80941Smrg{ 1543b8e80941Smrg return ((val) << A2XX_CP_SET_PSEUDO_REG__1_LO__SHIFT) & A2XX_CP_SET_PSEUDO_REG__1_LO__MASK; 1544b8e80941Smrg} 1545b8e80941Smrg 1546b8e80941Smrgstatic inline uint32_t REG_A2XX_CP_SET_PSEUDO_REG__2(uint32_t i0) { return 0x00000002 + 0x3*i0; } 1547b8e80941Smrg#define A2XX_CP_SET_PSEUDO_REG__2_HI__MASK 0xffffffff 1548b8e80941Smrg#define A2XX_CP_SET_PSEUDO_REG__2_HI__SHIFT 0 1549b8e80941Smrgstatic inline uint32_t A2XX_CP_SET_PSEUDO_REG__2_HI(uint32_t val) 1550b8e80941Smrg{ 1551b8e80941Smrg return ((val) << A2XX_CP_SET_PSEUDO_REG__2_HI__SHIFT) & A2XX_CP_SET_PSEUDO_REG__2_HI__MASK; 1552b8e80941Smrg} 1553b8e80941Smrg 1554b8e80941Smrg#define REG_A2XX_CP_REG_TEST_0 0x00000000 1555b8e80941Smrg#define A2XX_CP_REG_TEST_0_REG__MASK 0x00000fff 1556b8e80941Smrg#define A2XX_CP_REG_TEST_0_REG__SHIFT 0 1557b8e80941Smrgstatic inline uint32_t A2XX_CP_REG_TEST_0_REG(uint32_t val) 1558b8e80941Smrg{ 1559b8e80941Smrg return ((val) << A2XX_CP_REG_TEST_0_REG__SHIFT) & A2XX_CP_REG_TEST_0_REG__MASK; 1560b8e80941Smrg} 1561b8e80941Smrg#define A2XX_CP_REG_TEST_0_BIT__MASK 0x01f00000 1562b8e80941Smrg#define A2XX_CP_REG_TEST_0_BIT__SHIFT 20 1563b8e80941Smrgstatic inline uint32_t A2XX_CP_REG_TEST_0_BIT(uint32_t val) 1564b8e80941Smrg{ 1565b8e80941Smrg return ((val) << A2XX_CP_REG_TEST_0_BIT__SHIFT) & A2XX_CP_REG_TEST_0_BIT__MASK; 1566b8e80941Smrg} 1567b8e80941Smrg#define A2XX_CP_REG_TEST_0_UNK25 0x02000000 1568b8e80941Smrg 1569b8e80941Smrg 1570b8e80941Smrg#endif /* ADRENO_PM4_XML */ 1571