Back to home page

OSCL-LXR

 
 

    


0001 #ifndef ADRENO_COMMON_XML
0002 #define ADRENO_COMMON_XML
0003 
0004 /* Autogenerated file, DO NOT EDIT manually!
0005 
0006 This file was generated by the rules-ng-ng headergen tool in this git repository:
0007 http://github.com/freedreno/envytools/
0008 git clone https://github.com/freedreno/envytools.git
0009 
0010 The rules-ng-ng source files this header was generated from are:
0011 - /home/robclark/tmp/mesa/src/freedreno/registers/adreno.xml                     (    594 bytes, from 2021-01-30 18:25:22)
0012 - /home/robclark/tmp/mesa/src/freedreno/registers/freedreno_copyright.xml        (   1572 bytes, from 2020-12-31 19:26:32)
0013 - /home/robclark/tmp/mesa/src/freedreno/registers/adreno/a2xx.xml                (  90810 bytes, from 2021-06-21 15:24:24)
0014 - /home/robclark/tmp/mesa/src/freedreno/registers/adreno/adreno_common.xml       (  14609 bytes, from 2021-11-24 23:05:10)
0015 - /home/robclark/tmp/mesa/src/freedreno/registers/adreno/adreno_pm4.xml          (  69086 bytes, from 2022-03-03 16:41:33)
0016 - /home/robclark/tmp/mesa/src/freedreno/registers/adreno/a3xx.xml                (  84231 bytes, from 2021-11-24 23:05:10)
0017 - /home/robclark/tmp/mesa/src/freedreno/registers/adreno/a4xx.xml                ( 113358 bytes, from 2022-01-31 23:06:21)
0018 - /home/robclark/tmp/mesa/src/freedreno/registers/adreno/a5xx.xml                ( 149512 bytes, from 2022-01-31 23:06:21)
0019 - /home/robclark/tmp/mesa/src/freedreno/registers/adreno/a6xx.xml                ( 184954 bytes, from 2022-03-03 16:41:33)
0020 - /home/robclark/tmp/mesa/src/freedreno/registers/adreno/a6xx_gmu.xml            (  11331 bytes, from 2021-07-22 15:21:56)
0021 - /home/robclark/tmp/mesa/src/freedreno/registers/adreno/ocmem.xml               (   1773 bytes, from 2021-01-30 18:25:22)
0022 - /home/robclark/tmp/mesa/src/freedreno/registers/adreno/adreno_control_regs.xml (   6038 bytes, from 2021-07-22 15:21:56)
0023 - /home/robclark/tmp/mesa/src/freedreno/registers/adreno/adreno_pipe_regs.xml    (   2924 bytes, from 2021-07-22 15:21:56)
0024 
0025 Copyright (C) 2013-2021 by the following authors:
0026 - Rob Clark <robdclark@gmail.com> (robclark)
0027 - Ilia Mirkin <imirkin@alum.mit.edu> (imirkin)
0028 
0029 Permission is hereby granted, free of charge, to any person obtaining
0030 a copy of this software and associated documentation files (the
0031 "Software"), to deal in the Software without restriction, including
0032 without limitation the rights to use, copy, modify, merge, publish,
0033 distribute, sublicense, and/or sell copies of the Software, and to
0034 permit persons to whom the Software is furnished to do so, subject to
0035 the following conditions:
0036 
0037 The above copyright notice and this permission notice (including the
0038 next paragraph) shall be included in all copies or substantial
0039 portions of the Software.
0040 
0041 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
0042 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
0043 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
0044 IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
0045 LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
0046 OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
0047 WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
0048 */
0049 
0050 
0051 enum chip {
0052     A2XX = 0,
0053     A3XX = 0,
0054     A4XX = 0,
0055     A5XX = 0,
0056     A6XX = 0,
0057 };
0058 
0059 enum adreno_pa_su_sc_draw {
0060     PC_DRAW_POINTS = 0,
0061     PC_DRAW_LINES = 1,
0062     PC_DRAW_TRIANGLES = 2,
0063 };
0064 
0065 enum adreno_compare_func {
0066     FUNC_NEVER = 0,
0067     FUNC_LESS = 1,
0068     FUNC_EQUAL = 2,
0069     FUNC_LEQUAL = 3,
0070     FUNC_GREATER = 4,
0071     FUNC_NOTEQUAL = 5,
0072     FUNC_GEQUAL = 6,
0073     FUNC_ALWAYS = 7,
0074 };
0075 
0076 enum adreno_stencil_op {
0077     STENCIL_KEEP = 0,
0078     STENCIL_ZERO = 1,
0079     STENCIL_REPLACE = 2,
0080     STENCIL_INCR_CLAMP = 3,
0081     STENCIL_DECR_CLAMP = 4,
0082     STENCIL_INVERT = 5,
0083     STENCIL_INCR_WRAP = 6,
0084     STENCIL_DECR_WRAP = 7,
0085 };
0086 
0087 enum adreno_rb_blend_factor {
0088     FACTOR_ZERO = 0,
0089     FACTOR_ONE = 1,
0090     FACTOR_SRC_COLOR = 4,
0091     FACTOR_ONE_MINUS_SRC_COLOR = 5,
0092     FACTOR_SRC_ALPHA = 6,
0093     FACTOR_ONE_MINUS_SRC_ALPHA = 7,
0094     FACTOR_DST_COLOR = 8,
0095     FACTOR_ONE_MINUS_DST_COLOR = 9,
0096     FACTOR_DST_ALPHA = 10,
0097     FACTOR_ONE_MINUS_DST_ALPHA = 11,
0098     FACTOR_CONSTANT_COLOR = 12,
0099     FACTOR_ONE_MINUS_CONSTANT_COLOR = 13,
0100     FACTOR_CONSTANT_ALPHA = 14,
0101     FACTOR_ONE_MINUS_CONSTANT_ALPHA = 15,
0102     FACTOR_SRC_ALPHA_SATURATE = 16,
0103     FACTOR_SRC1_COLOR = 20,
0104     FACTOR_ONE_MINUS_SRC1_COLOR = 21,
0105     FACTOR_SRC1_ALPHA = 22,
0106     FACTOR_ONE_MINUS_SRC1_ALPHA = 23,
0107 };
0108 
0109 enum adreno_rb_surface_endian {
0110     ENDIAN_NONE = 0,
0111     ENDIAN_8IN16 = 1,
0112     ENDIAN_8IN32 = 2,
0113     ENDIAN_16IN32 = 3,
0114     ENDIAN_8IN64 = 4,
0115     ENDIAN_8IN128 = 5,
0116 };
0117 
0118 enum adreno_rb_dither_mode {
0119     DITHER_DISABLE = 0,
0120     DITHER_ALWAYS = 1,
0121     DITHER_IF_ALPHA_OFF = 2,
0122 };
0123 
0124 enum adreno_rb_depth_format {
0125     DEPTHX_16 = 0,
0126     DEPTHX_24_8 = 1,
0127     DEPTHX_32 = 2,
0128 };
0129 
0130 enum adreno_rb_copy_control_mode {
0131     RB_COPY_RESOLVE = 1,
0132     RB_COPY_CLEAR = 2,
0133     RB_COPY_DEPTH_STENCIL = 5,
0134 };
0135 
0136 enum a3xx_rop_code {
0137     ROP_CLEAR = 0,
0138     ROP_NOR = 1,
0139     ROP_AND_INVERTED = 2,
0140     ROP_COPY_INVERTED = 3,
0141     ROP_AND_REVERSE = 4,
0142     ROP_INVERT = 5,
0143     ROP_NAND = 7,
0144     ROP_AND = 8,
0145     ROP_EQUIV = 9,
0146     ROP_NOOP = 10,
0147     ROP_OR_INVERTED = 11,
0148     ROP_OR_REVERSE = 13,
0149     ROP_OR = 14,
0150     ROP_SET = 15,
0151 };
0152 
0153 enum a3xx_render_mode {
0154     RB_RENDERING_PASS = 0,
0155     RB_TILING_PASS = 1,
0156     RB_RESOLVE_PASS = 2,
0157     RB_COMPUTE_PASS = 3,
0158 };
0159 
0160 enum a3xx_msaa_samples {
0161     MSAA_ONE = 0,
0162     MSAA_TWO = 1,
0163     MSAA_FOUR = 2,
0164     MSAA_EIGHT = 3,
0165 };
0166 
0167 enum a3xx_threadmode {
0168     MULTI = 0,
0169     SINGLE = 1,
0170 };
0171 
0172 enum a3xx_instrbuffermode {
0173     CACHE = 0,
0174     BUFFER = 1,
0175 };
0176 
0177 enum a3xx_threadsize {
0178     TWO_QUADS = 0,
0179     FOUR_QUADS = 1,
0180 };
0181 
0182 enum a3xx_color_swap {
0183     WZYX = 0,
0184     WXYZ = 1,
0185     ZYXW = 2,
0186     XYZW = 3,
0187 };
0188 
0189 enum a3xx_rb_blend_opcode {
0190     BLEND_DST_PLUS_SRC = 0,
0191     BLEND_SRC_MINUS_DST = 1,
0192     BLEND_DST_MINUS_SRC = 2,
0193     BLEND_MIN_DST_SRC = 3,
0194     BLEND_MAX_DST_SRC = 4,
0195 };
0196 
0197 enum a4xx_tess_spacing {
0198     EQUAL_SPACING = 0,
0199     ODD_SPACING = 2,
0200     EVEN_SPACING = 3,
0201 };
0202 
0203 enum a5xx_address_mode {
0204     ADDR_32B = 0,
0205     ADDR_64B = 1,
0206 };
0207 
0208 enum a5xx_line_mode {
0209     BRESENHAM = 0,
0210     RECTANGULAR = 1,
0211 };
0212 
0213 #define REG_AXXX_CP_RB_BASE                 0x000001c0
0214 
0215 #define REG_AXXX_CP_RB_CNTL                 0x000001c1
0216 #define AXXX_CP_RB_CNTL_BUFSZ__MASK             0x0000003f
0217 #define AXXX_CP_RB_CNTL_BUFSZ__SHIFT                0
0218 static inline uint32_t AXXX_CP_RB_CNTL_BUFSZ(uint32_t val)
0219 {
0220     return ((val) << AXXX_CP_RB_CNTL_BUFSZ__SHIFT) & AXXX_CP_RB_CNTL_BUFSZ__MASK;
0221 }
0222 #define AXXX_CP_RB_CNTL_BLKSZ__MASK             0x00003f00
0223 #define AXXX_CP_RB_CNTL_BLKSZ__SHIFT                8
0224 static inline uint32_t AXXX_CP_RB_CNTL_BLKSZ(uint32_t val)
0225 {
0226     return ((val) << AXXX_CP_RB_CNTL_BLKSZ__SHIFT) & AXXX_CP_RB_CNTL_BLKSZ__MASK;
0227 }
0228 #define AXXX_CP_RB_CNTL_BUF_SWAP__MASK              0x00030000
0229 #define AXXX_CP_RB_CNTL_BUF_SWAP__SHIFT             16
0230 static inline uint32_t AXXX_CP_RB_CNTL_BUF_SWAP(uint32_t val)
0231 {
0232     return ((val) << AXXX_CP_RB_CNTL_BUF_SWAP__SHIFT) & AXXX_CP_RB_CNTL_BUF_SWAP__MASK;
0233 }
0234 #define AXXX_CP_RB_CNTL_POLL_EN                 0x00100000
0235 #define AXXX_CP_RB_CNTL_NO_UPDATE               0x08000000
0236 #define AXXX_CP_RB_CNTL_RPTR_WR_EN              0x80000000
0237 
0238 #define REG_AXXX_CP_RB_RPTR_ADDR                0x000001c3
0239 #define AXXX_CP_RB_RPTR_ADDR_SWAP__MASK             0x00000003
0240 #define AXXX_CP_RB_RPTR_ADDR_SWAP__SHIFT            0
0241 static inline uint32_t AXXX_CP_RB_RPTR_ADDR_SWAP(uint32_t val)
0242 {
0243     return ((val) << AXXX_CP_RB_RPTR_ADDR_SWAP__SHIFT) & AXXX_CP_RB_RPTR_ADDR_SWAP__MASK;
0244 }
0245 #define AXXX_CP_RB_RPTR_ADDR_ADDR__MASK             0xfffffffc
0246 #define AXXX_CP_RB_RPTR_ADDR_ADDR__SHIFT            2
0247 static inline uint32_t AXXX_CP_RB_RPTR_ADDR_ADDR(uint32_t val)
0248 {
0249     return ((val >> 2) << AXXX_CP_RB_RPTR_ADDR_ADDR__SHIFT) & AXXX_CP_RB_RPTR_ADDR_ADDR__MASK;
0250 }
0251 
0252 #define REG_AXXX_CP_RB_RPTR                 0x000001c4
0253 
0254 #define REG_AXXX_CP_RB_WPTR                 0x000001c5
0255 
0256 #define REG_AXXX_CP_RB_WPTR_DELAY               0x000001c6
0257 
0258 #define REG_AXXX_CP_RB_RPTR_WR                  0x000001c7
0259 
0260 #define REG_AXXX_CP_RB_WPTR_BASE                0x000001c8
0261 
0262 #define REG_AXXX_CP_QUEUE_THRESHOLDS                0x000001d5
0263 #define AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB1_START__MASK        0x0000000f
0264 #define AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB1_START__SHIFT       0
0265 static inline uint32_t AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB1_START(uint32_t val)
0266 {
0267     return ((val) << AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB1_START__SHIFT) & AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB1_START__MASK;
0268 }
0269 #define AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB2_START__MASK        0x00000f00
0270 #define AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB2_START__SHIFT       8
0271 static inline uint32_t AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB2_START(uint32_t val)
0272 {
0273     return ((val) << AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB2_START__SHIFT) & AXXX_CP_QUEUE_THRESHOLDS_CSQ_IB2_START__MASK;
0274 }
0275 #define AXXX_CP_QUEUE_THRESHOLDS_CSQ_ST_START__MASK     0x000f0000
0276 #define AXXX_CP_QUEUE_THRESHOLDS_CSQ_ST_START__SHIFT        16
0277 static inline uint32_t AXXX_CP_QUEUE_THRESHOLDS_CSQ_ST_START(uint32_t val)
0278 {
0279     return ((val) << AXXX_CP_QUEUE_THRESHOLDS_CSQ_ST_START__SHIFT) & AXXX_CP_QUEUE_THRESHOLDS_CSQ_ST_START__MASK;
0280 }
0281 
0282 #define REG_AXXX_CP_MEQ_THRESHOLDS              0x000001d6
0283 #define AXXX_CP_MEQ_THRESHOLDS_MEQ_END__MASK            0x001f0000
0284 #define AXXX_CP_MEQ_THRESHOLDS_MEQ_END__SHIFT           16
0285 static inline uint32_t AXXX_CP_MEQ_THRESHOLDS_MEQ_END(uint32_t val)
0286 {
0287     return ((val) << AXXX_CP_MEQ_THRESHOLDS_MEQ_END__SHIFT) & AXXX_CP_MEQ_THRESHOLDS_MEQ_END__MASK;
0288 }
0289 #define AXXX_CP_MEQ_THRESHOLDS_ROQ_END__MASK            0x1f000000
0290 #define AXXX_CP_MEQ_THRESHOLDS_ROQ_END__SHIFT           24
0291 static inline uint32_t AXXX_CP_MEQ_THRESHOLDS_ROQ_END(uint32_t val)
0292 {
0293     return ((val) << AXXX_CP_MEQ_THRESHOLDS_ROQ_END__SHIFT) & AXXX_CP_MEQ_THRESHOLDS_ROQ_END__MASK;
0294 }
0295 
0296 #define REG_AXXX_CP_CSQ_AVAIL                   0x000001d7
0297 #define AXXX_CP_CSQ_AVAIL_RING__MASK                0x0000007f
0298 #define AXXX_CP_CSQ_AVAIL_RING__SHIFT               0
0299 static inline uint32_t AXXX_CP_CSQ_AVAIL_RING(uint32_t val)
0300 {
0301     return ((val) << AXXX_CP_CSQ_AVAIL_RING__SHIFT) & AXXX_CP_CSQ_AVAIL_RING__MASK;
0302 }
0303 #define AXXX_CP_CSQ_AVAIL_IB1__MASK             0x00007f00
0304 #define AXXX_CP_CSQ_AVAIL_IB1__SHIFT                8
0305 static inline uint32_t AXXX_CP_CSQ_AVAIL_IB1(uint32_t val)
0306 {
0307     return ((val) << AXXX_CP_CSQ_AVAIL_IB1__SHIFT) & AXXX_CP_CSQ_AVAIL_IB1__MASK;
0308 }
0309 #define AXXX_CP_CSQ_AVAIL_IB2__MASK             0x007f0000
0310 #define AXXX_CP_CSQ_AVAIL_IB2__SHIFT                16
0311 static inline uint32_t AXXX_CP_CSQ_AVAIL_IB2(uint32_t val)
0312 {
0313     return ((val) << AXXX_CP_CSQ_AVAIL_IB2__SHIFT) & AXXX_CP_CSQ_AVAIL_IB2__MASK;
0314 }
0315 
0316 #define REG_AXXX_CP_STQ_AVAIL                   0x000001d8
0317 #define AXXX_CP_STQ_AVAIL_ST__MASK              0x0000007f
0318 #define AXXX_CP_STQ_AVAIL_ST__SHIFT             0
0319 static inline uint32_t AXXX_CP_STQ_AVAIL_ST(uint32_t val)
0320 {
0321     return ((val) << AXXX_CP_STQ_AVAIL_ST__SHIFT) & AXXX_CP_STQ_AVAIL_ST__MASK;
0322 }
0323 
0324 #define REG_AXXX_CP_MEQ_AVAIL                   0x000001d9
0325 #define AXXX_CP_MEQ_AVAIL_MEQ__MASK             0x0000001f
0326 #define AXXX_CP_MEQ_AVAIL_MEQ__SHIFT                0
0327 static inline uint32_t AXXX_CP_MEQ_AVAIL_MEQ(uint32_t val)
0328 {
0329     return ((val) << AXXX_CP_MEQ_AVAIL_MEQ__SHIFT) & AXXX_CP_MEQ_AVAIL_MEQ__MASK;
0330 }
0331 
0332 #define REG_AXXX_SCRATCH_UMSK                   0x000001dc
0333 #define AXXX_SCRATCH_UMSK_UMSK__MASK                0x000000ff
0334 #define AXXX_SCRATCH_UMSK_UMSK__SHIFT               0
0335 static inline uint32_t AXXX_SCRATCH_UMSK_UMSK(uint32_t val)
0336 {
0337     return ((val) << AXXX_SCRATCH_UMSK_UMSK__SHIFT) & AXXX_SCRATCH_UMSK_UMSK__MASK;
0338 }
0339 #define AXXX_SCRATCH_UMSK_SWAP__MASK                0x00030000
0340 #define AXXX_SCRATCH_UMSK_SWAP__SHIFT               16
0341 static inline uint32_t AXXX_SCRATCH_UMSK_SWAP(uint32_t val)
0342 {
0343     return ((val) << AXXX_SCRATCH_UMSK_SWAP__SHIFT) & AXXX_SCRATCH_UMSK_SWAP__MASK;
0344 }
0345 
0346 #define REG_AXXX_SCRATCH_ADDR                   0x000001dd
0347 
0348 #define REG_AXXX_CP_ME_RDADDR                   0x000001ea
0349 
0350 #define REG_AXXX_CP_STATE_DEBUG_INDEX               0x000001ec
0351 
0352 #define REG_AXXX_CP_STATE_DEBUG_DATA                0x000001ed
0353 
0354 #define REG_AXXX_CP_INT_CNTL                    0x000001f2
0355 #define AXXX_CP_INT_CNTL_SW_INT_MASK                0x00080000
0356 #define AXXX_CP_INT_CNTL_T0_PACKET_IN_IB_MASK           0x00800000
0357 #define AXXX_CP_INT_CNTL_OPCODE_ERROR_MASK          0x01000000
0358 #define AXXX_CP_INT_CNTL_PROTECTED_MODE_ERROR_MASK      0x02000000
0359 #define AXXX_CP_INT_CNTL_RESERVED_BIT_ERROR_MASK        0x04000000
0360 #define AXXX_CP_INT_CNTL_IB_ERROR_MASK              0x08000000
0361 #define AXXX_CP_INT_CNTL_IB2_INT_MASK               0x20000000
0362 #define AXXX_CP_INT_CNTL_IB1_INT_MASK               0x40000000
0363 #define AXXX_CP_INT_CNTL_RB_INT_MASK                0x80000000
0364 
0365 #define REG_AXXX_CP_INT_STATUS                  0x000001f3
0366 
0367 #define REG_AXXX_CP_INT_ACK                 0x000001f4
0368 
0369 #define REG_AXXX_CP_ME_CNTL                 0x000001f6
0370 #define AXXX_CP_ME_CNTL_BUSY                    0x20000000
0371 #define AXXX_CP_ME_CNTL_HALT                    0x10000000
0372 
0373 #define REG_AXXX_CP_ME_STATUS                   0x000001f7
0374 
0375 #define REG_AXXX_CP_ME_RAM_WADDR                0x000001f8
0376 
0377 #define REG_AXXX_CP_ME_RAM_RADDR                0x000001f9
0378 
0379 #define REG_AXXX_CP_ME_RAM_DATA                 0x000001fa
0380 
0381 #define REG_AXXX_CP_DEBUG                   0x000001fc
0382 #define AXXX_CP_DEBUG_PREDICATE_DISABLE             0x00800000
0383 #define AXXX_CP_DEBUG_PROG_END_PTR_ENABLE           0x01000000
0384 #define AXXX_CP_DEBUG_MIU_128BIT_WRITE_ENABLE           0x02000000
0385 #define AXXX_CP_DEBUG_PREFETCH_PASS_NOPS            0x04000000
0386 #define AXXX_CP_DEBUG_DYNAMIC_CLK_DISABLE           0x08000000
0387 #define AXXX_CP_DEBUG_PREFETCH_MATCH_DISABLE            0x10000000
0388 #define AXXX_CP_DEBUG_SIMPLE_ME_FLOW_CONTROL            0x40000000
0389 #define AXXX_CP_DEBUG_MIU_WRITE_PACK_DISABLE            0x80000000
0390 
0391 #define REG_AXXX_CP_CSQ_RB_STAT                 0x000001fd
0392 #define AXXX_CP_CSQ_RB_STAT_RPTR__MASK              0x0000007f
0393 #define AXXX_CP_CSQ_RB_STAT_RPTR__SHIFT             0
0394 static inline uint32_t AXXX_CP_CSQ_RB_STAT_RPTR(uint32_t val)
0395 {
0396     return ((val) << AXXX_CP_CSQ_RB_STAT_RPTR__SHIFT) & AXXX_CP_CSQ_RB_STAT_RPTR__MASK;
0397 }
0398 #define AXXX_CP_CSQ_RB_STAT_WPTR__MASK              0x007f0000
0399 #define AXXX_CP_CSQ_RB_STAT_WPTR__SHIFT             16
0400 static inline uint32_t AXXX_CP_CSQ_RB_STAT_WPTR(uint32_t val)
0401 {
0402     return ((val) << AXXX_CP_CSQ_RB_STAT_WPTR__SHIFT) & AXXX_CP_CSQ_RB_STAT_WPTR__MASK;
0403 }
0404 
0405 #define REG_AXXX_CP_CSQ_IB1_STAT                0x000001fe
0406 #define AXXX_CP_CSQ_IB1_STAT_RPTR__MASK             0x0000007f
0407 #define AXXX_CP_CSQ_IB1_STAT_RPTR__SHIFT            0
0408 static inline uint32_t AXXX_CP_CSQ_IB1_STAT_RPTR(uint32_t val)
0409 {
0410     return ((val) << AXXX_CP_CSQ_IB1_STAT_RPTR__SHIFT) & AXXX_CP_CSQ_IB1_STAT_RPTR__MASK;
0411 }
0412 #define AXXX_CP_CSQ_IB1_STAT_WPTR__MASK             0x007f0000
0413 #define AXXX_CP_CSQ_IB1_STAT_WPTR__SHIFT            16
0414 static inline uint32_t AXXX_CP_CSQ_IB1_STAT_WPTR(uint32_t val)
0415 {
0416     return ((val) << AXXX_CP_CSQ_IB1_STAT_WPTR__SHIFT) & AXXX_CP_CSQ_IB1_STAT_WPTR__MASK;
0417 }
0418 
0419 #define REG_AXXX_CP_CSQ_IB2_STAT                0x000001ff
0420 #define AXXX_CP_CSQ_IB2_STAT_RPTR__MASK             0x0000007f
0421 #define AXXX_CP_CSQ_IB2_STAT_RPTR__SHIFT            0
0422 static inline uint32_t AXXX_CP_CSQ_IB2_STAT_RPTR(uint32_t val)
0423 {
0424     return ((val) << AXXX_CP_CSQ_IB2_STAT_RPTR__SHIFT) & AXXX_CP_CSQ_IB2_STAT_RPTR__MASK;
0425 }
0426 #define AXXX_CP_CSQ_IB2_STAT_WPTR__MASK             0x007f0000
0427 #define AXXX_CP_CSQ_IB2_STAT_WPTR__SHIFT            16
0428 static inline uint32_t AXXX_CP_CSQ_IB2_STAT_WPTR(uint32_t val)
0429 {
0430     return ((val) << AXXX_CP_CSQ_IB2_STAT_WPTR__SHIFT) & AXXX_CP_CSQ_IB2_STAT_WPTR__MASK;
0431 }
0432 
0433 #define REG_AXXX_CP_NON_PREFETCH_CNTRS              0x00000440
0434 
0435 #define REG_AXXX_CP_STQ_ST_STAT                 0x00000443
0436 
0437 #define REG_AXXX_CP_ST_BASE                 0x0000044d
0438 
0439 #define REG_AXXX_CP_ST_BUFSZ                    0x0000044e
0440 
0441 #define REG_AXXX_CP_MEQ_STAT                    0x0000044f
0442 
0443 #define REG_AXXX_CP_MIU_TAG_STAT                0x00000452
0444 
0445 #define REG_AXXX_CP_BIN_MASK_LO                 0x00000454
0446 
0447 #define REG_AXXX_CP_BIN_MASK_HI                 0x00000455
0448 
0449 #define REG_AXXX_CP_BIN_SELECT_LO               0x00000456
0450 
0451 #define REG_AXXX_CP_BIN_SELECT_HI               0x00000457
0452 
0453 #define REG_AXXX_CP_IB1_BASE                    0x00000458
0454 
0455 #define REG_AXXX_CP_IB1_BUFSZ                   0x00000459
0456 
0457 #define REG_AXXX_CP_IB2_BASE                    0x0000045a
0458 
0459 #define REG_AXXX_CP_IB2_BUFSZ                   0x0000045b
0460 
0461 #define REG_AXXX_CP_STAT                    0x0000047f
0462 #define AXXX_CP_STAT_CP_BUSY__MASK              0x80000000
0463 #define AXXX_CP_STAT_CP_BUSY__SHIFT             31
0464 static inline uint32_t AXXX_CP_STAT_CP_BUSY(uint32_t val)
0465 {
0466     return ((val) << AXXX_CP_STAT_CP_BUSY__SHIFT) & AXXX_CP_STAT_CP_BUSY__MASK;
0467 }
0468 #define AXXX_CP_STAT_VS_EVENT_FIFO_BUSY__MASK           0x40000000
0469 #define AXXX_CP_STAT_VS_EVENT_FIFO_BUSY__SHIFT          30
0470 static inline uint32_t AXXX_CP_STAT_VS_EVENT_FIFO_BUSY(uint32_t val)
0471 {
0472     return ((val) << AXXX_CP_STAT_VS_EVENT_FIFO_BUSY__SHIFT) & AXXX_CP_STAT_VS_EVENT_FIFO_BUSY__MASK;
0473 }
0474 #define AXXX_CP_STAT_PS_EVENT_FIFO_BUSY__MASK           0x20000000
0475 #define AXXX_CP_STAT_PS_EVENT_FIFO_BUSY__SHIFT          29
0476 static inline uint32_t AXXX_CP_STAT_PS_EVENT_FIFO_BUSY(uint32_t val)
0477 {
0478     return ((val) << AXXX_CP_STAT_PS_EVENT_FIFO_BUSY__SHIFT) & AXXX_CP_STAT_PS_EVENT_FIFO_BUSY__MASK;
0479 }
0480 #define AXXX_CP_STAT_CF_EVENT_FIFO_BUSY__MASK           0x10000000
0481 #define AXXX_CP_STAT_CF_EVENT_FIFO_BUSY__SHIFT          28
0482 static inline uint32_t AXXX_CP_STAT_CF_EVENT_FIFO_BUSY(uint32_t val)
0483 {
0484     return ((val) << AXXX_CP_STAT_CF_EVENT_FIFO_BUSY__SHIFT) & AXXX_CP_STAT_CF_EVENT_FIFO_BUSY__MASK;
0485 }
0486 #define AXXX_CP_STAT_RB_EVENT_FIFO_BUSY__MASK           0x08000000
0487 #define AXXX_CP_STAT_RB_EVENT_FIFO_BUSY__SHIFT          27
0488 static inline uint32_t AXXX_CP_STAT_RB_EVENT_FIFO_BUSY(uint32_t val)
0489 {
0490     return ((val) << AXXX_CP_STAT_RB_EVENT_FIFO_BUSY__SHIFT) & AXXX_CP_STAT_RB_EVENT_FIFO_BUSY__MASK;
0491 }
0492 #define AXXX_CP_STAT_ME_BUSY__MASK              0x04000000
0493 #define AXXX_CP_STAT_ME_BUSY__SHIFT             26
0494 static inline uint32_t AXXX_CP_STAT_ME_BUSY(uint32_t val)
0495 {
0496     return ((val) << AXXX_CP_STAT_ME_BUSY__SHIFT) & AXXX_CP_STAT_ME_BUSY__MASK;
0497 }
0498 #define AXXX_CP_STAT_MIU_WR_C_BUSY__MASK            0x02000000
0499 #define AXXX_CP_STAT_MIU_WR_C_BUSY__SHIFT           25
0500 static inline uint32_t AXXX_CP_STAT_MIU_WR_C_BUSY(uint32_t val)
0501 {
0502     return ((val) << AXXX_CP_STAT_MIU_WR_C_BUSY__SHIFT) & AXXX_CP_STAT_MIU_WR_C_BUSY__MASK;
0503 }
0504 #define AXXX_CP_STAT_CP_3D_BUSY__MASK               0x00800000
0505 #define AXXX_CP_STAT_CP_3D_BUSY__SHIFT              23
0506 static inline uint32_t AXXX_CP_STAT_CP_3D_BUSY(uint32_t val)
0507 {
0508     return ((val) << AXXX_CP_STAT_CP_3D_BUSY__SHIFT) & AXXX_CP_STAT_CP_3D_BUSY__MASK;
0509 }
0510 #define AXXX_CP_STAT_CP_NRT_BUSY__MASK              0x00400000
0511 #define AXXX_CP_STAT_CP_NRT_BUSY__SHIFT             22
0512 static inline uint32_t AXXX_CP_STAT_CP_NRT_BUSY(uint32_t val)
0513 {
0514     return ((val) << AXXX_CP_STAT_CP_NRT_BUSY__SHIFT) & AXXX_CP_STAT_CP_NRT_BUSY__MASK;
0515 }
0516 #define AXXX_CP_STAT_RBIU_SCRATCH_BUSY__MASK            0x00200000
0517 #define AXXX_CP_STAT_RBIU_SCRATCH_BUSY__SHIFT           21
0518 static inline uint32_t AXXX_CP_STAT_RBIU_SCRATCH_BUSY(uint32_t val)
0519 {
0520     return ((val) << AXXX_CP_STAT_RBIU_SCRATCH_BUSY__SHIFT) & AXXX_CP_STAT_RBIU_SCRATCH_BUSY__MASK;
0521 }
0522 #define AXXX_CP_STAT_RCIU_ME_BUSY__MASK             0x00100000
0523 #define AXXX_CP_STAT_RCIU_ME_BUSY__SHIFT            20
0524 static inline uint32_t AXXX_CP_STAT_RCIU_ME_BUSY(uint32_t val)
0525 {
0526     return ((val) << AXXX_CP_STAT_RCIU_ME_BUSY__SHIFT) & AXXX_CP_STAT_RCIU_ME_BUSY__MASK;
0527 }
0528 #define AXXX_CP_STAT_RCIU_PFP_BUSY__MASK            0x00080000
0529 #define AXXX_CP_STAT_RCIU_PFP_BUSY__SHIFT           19
0530 static inline uint32_t AXXX_CP_STAT_RCIU_PFP_BUSY(uint32_t val)
0531 {
0532     return ((val) << AXXX_CP_STAT_RCIU_PFP_BUSY__SHIFT) & AXXX_CP_STAT_RCIU_PFP_BUSY__MASK;
0533 }
0534 #define AXXX_CP_STAT_MEQ_RING_BUSY__MASK            0x00040000
0535 #define AXXX_CP_STAT_MEQ_RING_BUSY__SHIFT           18
0536 static inline uint32_t AXXX_CP_STAT_MEQ_RING_BUSY(uint32_t val)
0537 {
0538     return ((val) << AXXX_CP_STAT_MEQ_RING_BUSY__SHIFT) & AXXX_CP_STAT_MEQ_RING_BUSY__MASK;
0539 }
0540 #define AXXX_CP_STAT_PFP_BUSY__MASK             0x00020000
0541 #define AXXX_CP_STAT_PFP_BUSY__SHIFT                17
0542 static inline uint32_t AXXX_CP_STAT_PFP_BUSY(uint32_t val)
0543 {
0544     return ((val) << AXXX_CP_STAT_PFP_BUSY__SHIFT) & AXXX_CP_STAT_PFP_BUSY__MASK;
0545 }
0546 #define AXXX_CP_STAT_ST_QUEUE_BUSY__MASK            0x00010000
0547 #define AXXX_CP_STAT_ST_QUEUE_BUSY__SHIFT           16
0548 static inline uint32_t AXXX_CP_STAT_ST_QUEUE_BUSY(uint32_t val)
0549 {
0550     return ((val) << AXXX_CP_STAT_ST_QUEUE_BUSY__SHIFT) & AXXX_CP_STAT_ST_QUEUE_BUSY__MASK;
0551 }
0552 #define AXXX_CP_STAT_INDIRECT2_QUEUE_BUSY__MASK         0x00002000
0553 #define AXXX_CP_STAT_INDIRECT2_QUEUE_BUSY__SHIFT        13
0554 static inline uint32_t AXXX_CP_STAT_INDIRECT2_QUEUE_BUSY(uint32_t val)
0555 {
0556     return ((val) << AXXX_CP_STAT_INDIRECT2_QUEUE_BUSY__SHIFT) & AXXX_CP_STAT_INDIRECT2_QUEUE_BUSY__MASK;
0557 }
0558 #define AXXX_CP_STAT_INDIRECTS_QUEUE_BUSY__MASK         0x00001000
0559 #define AXXX_CP_STAT_INDIRECTS_QUEUE_BUSY__SHIFT        12
0560 static inline uint32_t AXXX_CP_STAT_INDIRECTS_QUEUE_BUSY(uint32_t val)
0561 {
0562     return ((val) << AXXX_CP_STAT_INDIRECTS_QUEUE_BUSY__SHIFT) & AXXX_CP_STAT_INDIRECTS_QUEUE_BUSY__MASK;
0563 }
0564 #define AXXX_CP_STAT_RING_QUEUE_BUSY__MASK          0x00000800
0565 #define AXXX_CP_STAT_RING_QUEUE_BUSY__SHIFT         11
0566 static inline uint32_t AXXX_CP_STAT_RING_QUEUE_BUSY(uint32_t val)
0567 {
0568     return ((val) << AXXX_CP_STAT_RING_QUEUE_BUSY__SHIFT) & AXXX_CP_STAT_RING_QUEUE_BUSY__MASK;
0569 }
0570 #define AXXX_CP_STAT_CSF_BUSY__MASK             0x00000400
0571 #define AXXX_CP_STAT_CSF_BUSY__SHIFT                10
0572 static inline uint32_t AXXX_CP_STAT_CSF_BUSY(uint32_t val)
0573 {
0574     return ((val) << AXXX_CP_STAT_CSF_BUSY__SHIFT) & AXXX_CP_STAT_CSF_BUSY__MASK;
0575 }
0576 #define AXXX_CP_STAT_CSF_ST_BUSY__MASK              0x00000200
0577 #define AXXX_CP_STAT_CSF_ST_BUSY__SHIFT             9
0578 static inline uint32_t AXXX_CP_STAT_CSF_ST_BUSY(uint32_t val)
0579 {
0580     return ((val) << AXXX_CP_STAT_CSF_ST_BUSY__SHIFT) & AXXX_CP_STAT_CSF_ST_BUSY__MASK;
0581 }
0582 #define AXXX_CP_STAT_EVENT_BUSY__MASK               0x00000100
0583 #define AXXX_CP_STAT_EVENT_BUSY__SHIFT              8
0584 static inline uint32_t AXXX_CP_STAT_EVENT_BUSY(uint32_t val)
0585 {
0586     return ((val) << AXXX_CP_STAT_EVENT_BUSY__SHIFT) & AXXX_CP_STAT_EVENT_BUSY__MASK;
0587 }
0588 #define AXXX_CP_STAT_CSF_INDIRECT2_BUSY__MASK           0x00000080
0589 #define AXXX_CP_STAT_CSF_INDIRECT2_BUSY__SHIFT          7
0590 static inline uint32_t AXXX_CP_STAT_CSF_INDIRECT2_BUSY(uint32_t val)
0591 {
0592     return ((val) << AXXX_CP_STAT_CSF_INDIRECT2_BUSY__SHIFT) & AXXX_CP_STAT_CSF_INDIRECT2_BUSY__MASK;
0593 }
0594 #define AXXX_CP_STAT_CSF_INDIRECTS_BUSY__MASK           0x00000040
0595 #define AXXX_CP_STAT_CSF_INDIRECTS_BUSY__SHIFT          6
0596 static inline uint32_t AXXX_CP_STAT_CSF_INDIRECTS_BUSY(uint32_t val)
0597 {
0598     return ((val) << AXXX_CP_STAT_CSF_INDIRECTS_BUSY__SHIFT) & AXXX_CP_STAT_CSF_INDIRECTS_BUSY__MASK;
0599 }
0600 #define AXXX_CP_STAT_CSF_RING_BUSY__MASK            0x00000020
0601 #define AXXX_CP_STAT_CSF_RING_BUSY__SHIFT           5
0602 static inline uint32_t AXXX_CP_STAT_CSF_RING_BUSY(uint32_t val)
0603 {
0604     return ((val) << AXXX_CP_STAT_CSF_RING_BUSY__SHIFT) & AXXX_CP_STAT_CSF_RING_BUSY__MASK;
0605 }
0606 #define AXXX_CP_STAT_RCIU_BUSY__MASK                0x00000010
0607 #define AXXX_CP_STAT_RCIU_BUSY__SHIFT               4
0608 static inline uint32_t AXXX_CP_STAT_RCIU_BUSY(uint32_t val)
0609 {
0610     return ((val) << AXXX_CP_STAT_RCIU_BUSY__SHIFT) & AXXX_CP_STAT_RCIU_BUSY__MASK;
0611 }
0612 #define AXXX_CP_STAT_RBIU_BUSY__MASK                0x00000008
0613 #define AXXX_CP_STAT_RBIU_BUSY__SHIFT               3
0614 static inline uint32_t AXXX_CP_STAT_RBIU_BUSY(uint32_t val)
0615 {
0616     return ((val) << AXXX_CP_STAT_RBIU_BUSY__SHIFT) & AXXX_CP_STAT_RBIU_BUSY__MASK;
0617 }
0618 #define AXXX_CP_STAT_MIU_RD_RETURN_BUSY__MASK           0x00000004
0619 #define AXXX_CP_STAT_MIU_RD_RETURN_BUSY__SHIFT          2
0620 static inline uint32_t AXXX_CP_STAT_MIU_RD_RETURN_BUSY(uint32_t val)
0621 {
0622     return ((val) << AXXX_CP_STAT_MIU_RD_RETURN_BUSY__SHIFT) & AXXX_CP_STAT_MIU_RD_RETURN_BUSY__MASK;
0623 }
0624 #define AXXX_CP_STAT_MIU_RD_REQ_BUSY__MASK          0x00000002
0625 #define AXXX_CP_STAT_MIU_RD_REQ_BUSY__SHIFT         1
0626 static inline uint32_t AXXX_CP_STAT_MIU_RD_REQ_BUSY(uint32_t val)
0627 {
0628     return ((val) << AXXX_CP_STAT_MIU_RD_REQ_BUSY__SHIFT) & AXXX_CP_STAT_MIU_RD_REQ_BUSY__MASK;
0629 }
0630 #define AXXX_CP_STAT_MIU_WR_BUSY                0x00000001
0631 
0632 #define REG_AXXX_CP_SCRATCH_REG0                0x00000578
0633 
0634 #define REG_AXXX_CP_SCRATCH_REG1                0x00000579
0635 
0636 #define REG_AXXX_CP_SCRATCH_REG2                0x0000057a
0637 
0638 #define REG_AXXX_CP_SCRATCH_REG3                0x0000057b
0639 
0640 #define REG_AXXX_CP_SCRATCH_REG4                0x0000057c
0641 
0642 #define REG_AXXX_CP_SCRATCH_REG5                0x0000057d
0643 
0644 #define REG_AXXX_CP_SCRATCH_REG6                0x0000057e
0645 
0646 #define REG_AXXX_CP_SCRATCH_REG7                0x0000057f
0647 
0648 #define REG_AXXX_CP_ME_VS_EVENT_SRC             0x00000600
0649 
0650 #define REG_AXXX_CP_ME_VS_EVENT_ADDR                0x00000601
0651 
0652 #define REG_AXXX_CP_ME_VS_EVENT_DATA                0x00000602
0653 
0654 #define REG_AXXX_CP_ME_VS_EVENT_ADDR_SWM            0x00000603
0655 
0656 #define REG_AXXX_CP_ME_VS_EVENT_DATA_SWM            0x00000604
0657 
0658 #define REG_AXXX_CP_ME_PS_EVENT_SRC             0x00000605
0659 
0660 #define REG_AXXX_CP_ME_PS_EVENT_ADDR                0x00000606
0661 
0662 #define REG_AXXX_CP_ME_PS_EVENT_DATA                0x00000607
0663 
0664 #define REG_AXXX_CP_ME_PS_EVENT_ADDR_SWM            0x00000608
0665 
0666 #define REG_AXXX_CP_ME_PS_EVENT_DATA_SWM            0x00000609
0667 
0668 #define REG_AXXX_CP_ME_CF_EVENT_SRC             0x0000060a
0669 
0670 #define REG_AXXX_CP_ME_CF_EVENT_ADDR                0x0000060b
0671 
0672 #define REG_AXXX_CP_ME_CF_EVENT_DATA                0x0000060c
0673 
0674 #define REG_AXXX_CP_ME_NRT_ADDR                 0x0000060d
0675 
0676 #define REG_AXXX_CP_ME_NRT_DATA                 0x0000060e
0677 
0678 #define REG_AXXX_CP_ME_VS_FETCH_DONE_SRC            0x00000612
0679 
0680 #define REG_AXXX_CP_ME_VS_FETCH_DONE_ADDR           0x00000613
0681 
0682 #define REG_AXXX_CP_ME_VS_FETCH_DONE_DATA           0x00000614
0683 
0684 
0685 #endif /* ADRENO_COMMON_XML */