1*a26ae754SRob Clark #ifndef A5XX_XML 2*a26ae754SRob Clark #define A5XX_XML 3*a26ae754SRob Clark 4*a26ae754SRob Clark /* Autogenerated file, DO NOT EDIT manually! 5*a26ae754SRob Clark 6*a26ae754SRob Clark This file was generated by the rules-ng-ng headergen tool in this git repository: 7*a26ae754SRob Clark http://github.com/freedreno/envytools/ 8*a26ae754SRob Clark git clone https://github.com/freedreno/envytools.git 9*a26ae754SRob Clark 10*a26ae754SRob Clark The rules-ng-ng source files this header was generated from are: 11*a26ae754SRob Clark - /home/robclark/src/freedreno/envytools/rnndb/adreno.xml ( 431 bytes, from 2016-04-26 17:56:44) 12*a26ae754SRob Clark - /home/robclark/src/freedreno/envytools/rnndb/freedreno_copyright.xml ( 1572 bytes, from 2016-02-10 17:07:21) 13*a26ae754SRob Clark - /home/robclark/src/freedreno/envytools/rnndb/adreno/a2xx.xml ( 32907 bytes, from 2016-11-26 23:01:08) 14*a26ae754SRob Clark - /home/robclark/src/freedreno/envytools/rnndb/adreno/adreno_common.xml ( 12025 bytes, from 2016-11-26 23:01:08) 15*a26ae754SRob Clark - /home/robclark/src/freedreno/envytools/rnndb/adreno/adreno_pm4.xml ( 22544 bytes, from 2016-11-26 23:01:08) 16*a26ae754SRob Clark - /home/robclark/src/freedreno/envytools/rnndb/adreno/a3xx.xml ( 83840 bytes, from 2016-11-26 23:01:08) 17*a26ae754SRob Clark - /home/robclark/src/freedreno/envytools/rnndb/adreno/a4xx.xml ( 110765 bytes, from 2016-11-26 23:01:48) 18*a26ae754SRob Clark - /home/robclark/src/freedreno/envytools/rnndb/adreno/a5xx.xml ( 90321 bytes, from 2016-11-28 16:50:05) 19*a26ae754SRob Clark - /home/robclark/src/freedreno/envytools/rnndb/adreno/ocmem.xml ( 1773 bytes, from 2015-09-24 17:30:00) 20*a26ae754SRob Clark 21*a26ae754SRob Clark Copyright (C) 2013-2016 by the following authors: 22*a26ae754SRob Clark - Rob Clark <robdclark@gmail.com> (robclark) 23*a26ae754SRob Clark - Ilia Mirkin <imirkin@alum.mit.edu> (imirkin) 24*a26ae754SRob Clark 25*a26ae754SRob Clark Permission is hereby granted, free of charge, to any person obtaining 26*a26ae754SRob Clark a copy of this software and associated documentation files (the 27*a26ae754SRob Clark "Software"), to deal in the Software without restriction, including 28*a26ae754SRob Clark without limitation the rights to use, copy, modify, merge, publish, 29*a26ae754SRob Clark distribute, sublicense, and/or sell copies of the Software, and to 30*a26ae754SRob Clark permit persons to whom the Software is furnished to do so, subject to 31*a26ae754SRob Clark the following conditions: 32*a26ae754SRob Clark 33*a26ae754SRob Clark The above copyright notice and this permission notice (including the 34*a26ae754SRob Clark next paragraph) shall be included in all copies or substantial 35*a26ae754SRob Clark portions of the Software. 36*a26ae754SRob Clark 37*a26ae754SRob Clark THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 38*a26ae754SRob Clark EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 39*a26ae754SRob Clark MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 40*a26ae754SRob Clark IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE 41*a26ae754SRob Clark LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 42*a26ae754SRob Clark OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 43*a26ae754SRob Clark WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 44*a26ae754SRob Clark */ 45*a26ae754SRob Clark 46*a26ae754SRob Clark 47*a26ae754SRob Clark enum a5xx_color_fmt { 48*a26ae754SRob Clark RB5_R8_UNORM = 3, 49*a26ae754SRob Clark RB5_R4G4B4A4_UNORM = 8, 50*a26ae754SRob Clark RB5_R5G5B5A1_UNORM = 10, 51*a26ae754SRob Clark RB5_R5G6B5_UNORM = 14, 52*a26ae754SRob Clark RB5_R16_FLOAT = 23, 53*a26ae754SRob Clark RB5_R8G8B8A8_UNORM = 48, 54*a26ae754SRob Clark RB5_R8G8B8_UNORM = 49, 55*a26ae754SRob Clark RB5_R8G8B8A8_UINT = 51, 56*a26ae754SRob Clark RB5_R10G10B10A2_UINT = 58, 57*a26ae754SRob Clark RB5_R16G16_FLOAT = 69, 58*a26ae754SRob Clark RB5_R32_FLOAT = 74, 59*a26ae754SRob Clark RB5_R16G16B16A16_FLOAT = 98, 60*a26ae754SRob Clark RB5_R32G32_FLOAT = 103, 61*a26ae754SRob Clark RB5_R32G32B32A32_FLOAT = 130, 62*a26ae754SRob Clark }; 63*a26ae754SRob Clark 64*a26ae754SRob Clark enum a5xx_tile_mode { 65*a26ae754SRob Clark TILE5_LINEAR = 0, 66*a26ae754SRob Clark TILE5_2 = 2, 67*a26ae754SRob Clark TILE5_3 = 3, 68*a26ae754SRob Clark }; 69*a26ae754SRob Clark 70*a26ae754SRob Clark enum a5xx_vtx_fmt { 71*a26ae754SRob Clark VFMT5_8_UNORM = 3, 72*a26ae754SRob Clark VFMT5_8_SNORM = 4, 73*a26ae754SRob Clark VFMT5_8_UINT = 5, 74*a26ae754SRob Clark VFMT5_8_SINT = 6, 75*a26ae754SRob Clark VFMT5_8_8_UNORM = 15, 76*a26ae754SRob Clark VFMT5_8_8_SNORM = 16, 77*a26ae754SRob Clark VFMT5_8_8_UINT = 17, 78*a26ae754SRob Clark VFMT5_8_8_SINT = 18, 79*a26ae754SRob Clark VFMT5_16_UNORM = 21, 80*a26ae754SRob Clark VFMT5_16_SNORM = 22, 81*a26ae754SRob Clark VFMT5_16_FLOAT = 23, 82*a26ae754SRob Clark VFMT5_16_UINT = 24, 83*a26ae754SRob Clark VFMT5_16_SINT = 25, 84*a26ae754SRob Clark VFMT5_8_8_8_UNORM = 33, 85*a26ae754SRob Clark VFMT5_8_8_8_SNORM = 34, 86*a26ae754SRob Clark VFMT5_8_8_8_UINT = 35, 87*a26ae754SRob Clark VFMT5_8_8_8_SINT = 36, 88*a26ae754SRob Clark VFMT5_8_8_8_8_UNORM = 48, 89*a26ae754SRob Clark VFMT5_8_8_8_8_SNORM = 50, 90*a26ae754SRob Clark VFMT5_8_8_8_8_UINT = 51, 91*a26ae754SRob Clark VFMT5_8_8_8_8_SINT = 52, 92*a26ae754SRob Clark VFMT5_16_16_UNORM = 67, 93*a26ae754SRob Clark VFMT5_16_16_SNORM = 68, 94*a26ae754SRob Clark VFMT5_16_16_FLOAT = 69, 95*a26ae754SRob Clark VFMT5_16_16_UINT = 70, 96*a26ae754SRob Clark VFMT5_16_16_SINT = 71, 97*a26ae754SRob Clark VFMT5_32_UNORM = 72, 98*a26ae754SRob Clark VFMT5_32_SNORM = 73, 99*a26ae754SRob Clark VFMT5_32_FLOAT = 74, 100*a26ae754SRob Clark VFMT5_32_UINT = 75, 101*a26ae754SRob Clark VFMT5_32_SINT = 76, 102*a26ae754SRob Clark VFMT5_32_FIXED = 77, 103*a26ae754SRob Clark VFMT5_16_16_16_UNORM = 88, 104*a26ae754SRob Clark VFMT5_16_16_16_SNORM = 89, 105*a26ae754SRob Clark VFMT5_16_16_16_FLOAT = 90, 106*a26ae754SRob Clark VFMT5_16_16_16_UINT = 91, 107*a26ae754SRob Clark VFMT5_16_16_16_SINT = 92, 108*a26ae754SRob Clark VFMT5_16_16_16_16_UNORM = 96, 109*a26ae754SRob Clark VFMT5_16_16_16_16_SNORM = 97, 110*a26ae754SRob Clark VFMT5_16_16_16_16_FLOAT = 98, 111*a26ae754SRob Clark VFMT5_16_16_16_16_UINT = 99, 112*a26ae754SRob Clark VFMT5_16_16_16_16_SINT = 100, 113*a26ae754SRob Clark VFMT5_32_32_UNORM = 101, 114*a26ae754SRob Clark VFMT5_32_32_SNORM = 102, 115*a26ae754SRob Clark VFMT5_32_32_FLOAT = 103, 116*a26ae754SRob Clark VFMT5_32_32_UINT = 104, 117*a26ae754SRob Clark VFMT5_32_32_SINT = 105, 118*a26ae754SRob Clark VFMT5_32_32_FIXED = 106, 119*a26ae754SRob Clark VFMT5_32_32_32_UNORM = 112, 120*a26ae754SRob Clark VFMT5_32_32_32_SNORM = 113, 121*a26ae754SRob Clark VFMT5_32_32_32_UINT = 114, 122*a26ae754SRob Clark VFMT5_32_32_32_SINT = 115, 123*a26ae754SRob Clark VFMT5_32_32_32_FLOAT = 116, 124*a26ae754SRob Clark VFMT5_32_32_32_FIXED = 117, 125*a26ae754SRob Clark VFMT5_32_32_32_32_UNORM = 128, 126*a26ae754SRob Clark VFMT5_32_32_32_32_SNORM = 129, 127*a26ae754SRob Clark VFMT5_32_32_32_32_FLOAT = 130, 128*a26ae754SRob Clark VFMT5_32_32_32_32_UINT = 131, 129*a26ae754SRob Clark VFMT5_32_32_32_32_SINT = 132, 130*a26ae754SRob Clark VFMT5_32_32_32_32_FIXED = 133, 131*a26ae754SRob Clark }; 132*a26ae754SRob Clark 133*a26ae754SRob Clark enum a5xx_tex_fmt { 134*a26ae754SRob Clark TFMT5_A8_UNORM = 2, 135*a26ae754SRob Clark TFMT5_8_UNORM = 3, 136*a26ae754SRob Clark TFMT5_4_4_4_4_UNORM = 8, 137*a26ae754SRob Clark TFMT5_5_5_5_1_UNORM = 10, 138*a26ae754SRob Clark TFMT5_5_6_5_UNORM = 14, 139*a26ae754SRob Clark TFMT5_8_8_UNORM = 15, 140*a26ae754SRob Clark TFMT5_8_8_SNORM = 16, 141*a26ae754SRob Clark TFMT5_L8_A8_UNORM = 19, 142*a26ae754SRob Clark TFMT5_16_FLOAT = 23, 143*a26ae754SRob Clark TFMT5_8_8_8_8_UNORM = 48, 144*a26ae754SRob Clark TFMT5_8_8_8_UNORM = 49, 145*a26ae754SRob Clark TFMT5_8_8_8_SNORM = 50, 146*a26ae754SRob Clark TFMT5_9_9_9_E5_FLOAT = 53, 147*a26ae754SRob Clark TFMT5_10_10_10_2_UNORM = 54, 148*a26ae754SRob Clark TFMT5_11_11_10_FLOAT = 66, 149*a26ae754SRob Clark TFMT5_16_16_FLOAT = 69, 150*a26ae754SRob Clark TFMT5_32_FLOAT = 74, 151*a26ae754SRob Clark TFMT5_16_16_16_16_FLOAT = 98, 152*a26ae754SRob Clark TFMT5_32_32_FLOAT = 103, 153*a26ae754SRob Clark TFMT5_32_32_32_32_FLOAT = 130, 154*a26ae754SRob Clark TFMT5_X8Z24_UNORM = 160, 155*a26ae754SRob Clark }; 156*a26ae754SRob Clark 157*a26ae754SRob Clark enum a5xx_tex_fetchsize { 158*a26ae754SRob Clark TFETCH5_1_BYTE = 0, 159*a26ae754SRob Clark TFETCH5_2_BYTE = 1, 160*a26ae754SRob Clark TFETCH5_4_BYTE = 2, 161*a26ae754SRob Clark TFETCH5_8_BYTE = 3, 162*a26ae754SRob Clark TFETCH5_16_BYTE = 4, 163*a26ae754SRob Clark }; 164*a26ae754SRob Clark 165*a26ae754SRob Clark enum a5xx_depth_format { 166*a26ae754SRob Clark DEPTH5_NONE = 0, 167*a26ae754SRob Clark DEPTH5_16 = 1, 168*a26ae754SRob Clark DEPTH5_24_8 = 2, 169*a26ae754SRob Clark DEPTH5_32 = 4, 170*a26ae754SRob Clark }; 171*a26ae754SRob Clark 172*a26ae754SRob Clark enum a5xx_blit_buf { 173*a26ae754SRob Clark BLIT_MRT0 = 0, 174*a26ae754SRob Clark BLIT_MRT1 = 1, 175*a26ae754SRob Clark BLIT_MRT2 = 2, 176*a26ae754SRob Clark BLIT_MRT3 = 3, 177*a26ae754SRob Clark BLIT_MRT4 = 4, 178*a26ae754SRob Clark BLIT_MRT5 = 5, 179*a26ae754SRob Clark BLIT_MRT6 = 6, 180*a26ae754SRob Clark BLIT_MRT7 = 7, 181*a26ae754SRob Clark BLIT_ZS = 8, 182*a26ae754SRob Clark BLIT_Z32 = 9, 183*a26ae754SRob Clark }; 184*a26ae754SRob Clark 185*a26ae754SRob Clark enum a5xx_tex_filter { 186*a26ae754SRob Clark A5XX_TEX_NEAREST = 0, 187*a26ae754SRob Clark A5XX_TEX_LINEAR = 1, 188*a26ae754SRob Clark A5XX_TEX_ANISO = 2, 189*a26ae754SRob Clark }; 190*a26ae754SRob Clark 191*a26ae754SRob Clark enum a5xx_tex_clamp { 192*a26ae754SRob Clark A5XX_TEX_REPEAT = 0, 193*a26ae754SRob Clark A5XX_TEX_CLAMP_TO_EDGE = 1, 194*a26ae754SRob Clark A5XX_TEX_MIRROR_REPEAT = 2, 195*a26ae754SRob Clark A5XX_TEX_CLAMP_TO_BORDER = 3, 196*a26ae754SRob Clark A5XX_TEX_MIRROR_CLAMP = 4, 197*a26ae754SRob Clark }; 198*a26ae754SRob Clark 199*a26ae754SRob Clark enum a5xx_tex_aniso { 200*a26ae754SRob Clark A5XX_TEX_ANISO_1 = 0, 201*a26ae754SRob Clark A5XX_TEX_ANISO_2 = 1, 202*a26ae754SRob Clark A5XX_TEX_ANISO_4 = 2, 203*a26ae754SRob Clark A5XX_TEX_ANISO_8 = 3, 204*a26ae754SRob Clark A5XX_TEX_ANISO_16 = 4, 205*a26ae754SRob Clark }; 206*a26ae754SRob Clark 207*a26ae754SRob Clark enum a5xx_tex_swiz { 208*a26ae754SRob Clark A5XX_TEX_X = 0, 209*a26ae754SRob Clark A5XX_TEX_Y = 1, 210*a26ae754SRob Clark A5XX_TEX_Z = 2, 211*a26ae754SRob Clark A5XX_TEX_W = 3, 212*a26ae754SRob Clark A5XX_TEX_ZERO = 4, 213*a26ae754SRob Clark A5XX_TEX_ONE = 5, 214*a26ae754SRob Clark }; 215*a26ae754SRob Clark 216*a26ae754SRob Clark enum a5xx_tex_type { 217*a26ae754SRob Clark A5XX_TEX_1D = 0, 218*a26ae754SRob Clark A5XX_TEX_2D = 1, 219*a26ae754SRob Clark A5XX_TEX_CUBE = 2, 220*a26ae754SRob Clark A5XX_TEX_3D = 3, 221*a26ae754SRob Clark }; 222*a26ae754SRob Clark 223*a26ae754SRob Clark #define A5XX_INT0_RBBM_GPU_IDLE 0x00000001 224*a26ae754SRob Clark #define A5XX_INT0_RBBM_AHB_ERROR 0x00000002 225*a26ae754SRob Clark #define A5XX_INT0_RBBM_TRANSFER_TIMEOUT 0x00000004 226*a26ae754SRob Clark #define A5XX_INT0_RBBM_ME_MS_TIMEOUT 0x00000008 227*a26ae754SRob Clark #define A5XX_INT0_RBBM_PFP_MS_TIMEOUT 0x00000010 228*a26ae754SRob Clark #define A5XX_INT0_RBBM_ETS_MS_TIMEOUT 0x00000020 229*a26ae754SRob Clark #define A5XX_INT0_RBBM_ATB_ASYNC_OVERFLOW 0x00000040 230*a26ae754SRob Clark #define A5XX_INT0_RBBM_GPC_ERROR 0x00000080 231*a26ae754SRob Clark #define A5XX_INT0_CP_SW 0x00000100 232*a26ae754SRob Clark #define A5XX_INT0_CP_HW_ERROR 0x00000200 233*a26ae754SRob Clark #define A5XX_INT0_CP_CCU_FLUSH_DEPTH_TS 0x00000400 234*a26ae754SRob Clark #define A5XX_INT0_CP_CCU_FLUSH_COLOR_TS 0x00000800 235*a26ae754SRob Clark #define A5XX_INT0_CP_CCU_RESOLVE_TS 0x00001000 236*a26ae754SRob Clark #define A5XX_INT0_CP_IB2 0x00002000 237*a26ae754SRob Clark #define A5XX_INT0_CP_IB1 0x00004000 238*a26ae754SRob Clark #define A5XX_INT0_CP_RB 0x00008000 239*a26ae754SRob Clark #define A5XX_INT0_CP_UNUSED_1 0x00010000 240*a26ae754SRob Clark #define A5XX_INT0_CP_RB_DONE_TS 0x00020000 241*a26ae754SRob Clark #define A5XX_INT0_CP_WT_DONE_TS 0x00040000 242*a26ae754SRob Clark #define A5XX_INT0_UNKNOWN_1 0x00080000 243*a26ae754SRob Clark #define A5XX_INT0_CP_CACHE_FLUSH_TS 0x00100000 244*a26ae754SRob Clark #define A5XX_INT0_UNUSED_2 0x00200000 245*a26ae754SRob Clark #define A5XX_INT0_RBBM_ATB_BUS_OVERFLOW 0x00400000 246*a26ae754SRob Clark #define A5XX_INT0_MISC_HANG_DETECT 0x00800000 247*a26ae754SRob Clark #define A5XX_INT0_UCHE_OOB_ACCESS 0x01000000 248*a26ae754SRob Clark #define A5XX_INT0_UCHE_TRAP_INTR 0x02000000 249*a26ae754SRob Clark #define A5XX_INT0_DEBBUS_INTR_0 0x04000000 250*a26ae754SRob Clark #define A5XX_INT0_DEBBUS_INTR_1 0x08000000 251*a26ae754SRob Clark #define A5XX_INT0_GPMU_VOLTAGE_DROOP 0x10000000 252*a26ae754SRob Clark #define A5XX_INT0_GPMU_FIRMWARE 0x20000000 253*a26ae754SRob Clark #define A5XX_INT0_ISDB_CPU_IRQ 0x40000000 254*a26ae754SRob Clark #define A5XX_INT0_ISDB_UNDER_DEBUG 0x80000000 255*a26ae754SRob Clark #define A5XX_CP_INT_CP_OPCODE_ERROR 0x00000001 256*a26ae754SRob Clark #define A5XX_CP_INT_CP_RESERVED_BIT_ERROR 0x00000002 257*a26ae754SRob Clark #define A5XX_CP_INT_CP_HW_FAULT_ERROR 0x00000004 258*a26ae754SRob Clark #define A5XX_CP_INT_CP_DMA_ERROR 0x00000008 259*a26ae754SRob Clark #define A5XX_CP_INT_CP_REGISTER_PROTECTION_ERROR 0x00000010 260*a26ae754SRob Clark #define A5XX_CP_INT_CP_AHB_ERROR 0x00000020 261*a26ae754SRob Clark #define REG_A5XX_CP_RB_BASE 0x00000800 262*a26ae754SRob Clark 263*a26ae754SRob Clark #define REG_A5XX_CP_RB_BASE_HI 0x00000801 264*a26ae754SRob Clark 265*a26ae754SRob Clark #define REG_A5XX_CP_RB_CNTL 0x00000802 266*a26ae754SRob Clark 267*a26ae754SRob Clark #define REG_A5XX_CP_RB_RPTR_ADDR 0x00000804 268*a26ae754SRob Clark 269*a26ae754SRob Clark #define REG_A5XX_CP_RB_RPTR_ADDR_HI 0x00000805 270*a26ae754SRob Clark 271*a26ae754SRob Clark #define REG_A5XX_CP_RB_RPTR 0x00000806 272*a26ae754SRob Clark 273*a26ae754SRob Clark #define REG_A5XX_CP_RB_WPTR 0x00000807 274*a26ae754SRob Clark 275*a26ae754SRob Clark #define REG_A5XX_CP_PFP_STAT_ADDR 0x00000808 276*a26ae754SRob Clark 277*a26ae754SRob Clark #define REG_A5XX_CP_PFP_STAT_DATA 0x00000809 278*a26ae754SRob Clark 279*a26ae754SRob Clark #define REG_A5XX_CP_DRAW_STATE_ADDR 0x0000080b 280*a26ae754SRob Clark 281*a26ae754SRob Clark #define REG_A5XX_CP_DRAW_STATE_DATA 0x0000080c 282*a26ae754SRob Clark 283*a26ae754SRob Clark #define REG_A5XX_CP_CRASH_SCRIPT_BASE_LO 0x00000817 284*a26ae754SRob Clark 285*a26ae754SRob Clark #define REG_A5XX_CP_CRASH_SCRIPT_BASE_HI 0x00000818 286*a26ae754SRob Clark 287*a26ae754SRob Clark #define REG_A5XX_CP_CRASH_DUMP_CNTL 0x00000819 288*a26ae754SRob Clark 289*a26ae754SRob Clark #define REG_A5XX_CP_ME_STAT_ADDR 0x0000081a 290*a26ae754SRob Clark 291*a26ae754SRob Clark #define REG_A5XX_CP_ROQ_THRESHOLDS_1 0x0000081f 292*a26ae754SRob Clark 293*a26ae754SRob Clark #define REG_A5XX_CP_ROQ_THRESHOLDS_2 0x00000820 294*a26ae754SRob Clark 295*a26ae754SRob Clark #define REG_A5XX_CP_ROQ_DBG_ADDR 0x00000821 296*a26ae754SRob Clark 297*a26ae754SRob Clark #define REG_A5XX_CP_ROQ_DBG_DATA 0x00000822 298*a26ae754SRob Clark 299*a26ae754SRob Clark #define REG_A5XX_CP_MEQ_DBG_ADDR 0x00000823 300*a26ae754SRob Clark 301*a26ae754SRob Clark #define REG_A5XX_CP_MEQ_DBG_DATA 0x00000824 302*a26ae754SRob Clark 303*a26ae754SRob Clark #define REG_A5XX_CP_MEQ_THRESHOLDS 0x00000825 304*a26ae754SRob Clark 305*a26ae754SRob Clark #define REG_A5XX_CP_MERCIU_SIZE 0x00000826 306*a26ae754SRob Clark 307*a26ae754SRob Clark #define REG_A5XX_CP_MERCIU_DBG_ADDR 0x00000827 308*a26ae754SRob Clark 309*a26ae754SRob Clark #define REG_A5XX_CP_MERCIU_DBG_DATA_1 0x00000828 310*a26ae754SRob Clark 311*a26ae754SRob Clark #define REG_A5XX_CP_MERCIU_DBG_DATA_2 0x00000829 312*a26ae754SRob Clark 313*a26ae754SRob Clark #define REG_A5XX_CP_PFP_UCODE_DBG_ADDR 0x0000082a 314*a26ae754SRob Clark 315*a26ae754SRob Clark #define REG_A5XX_CP_PFP_UCODE_DBG_DATA 0x0000082b 316*a26ae754SRob Clark 317*a26ae754SRob Clark #define REG_A5XX_CP_ME_UCODE_DBG_ADDR 0x0000082f 318*a26ae754SRob Clark 319*a26ae754SRob Clark #define REG_A5XX_CP_ME_UCODE_DBG_DATA 0x00000830 320*a26ae754SRob Clark 321*a26ae754SRob Clark #define REG_A5XX_CP_CNTL 0x00000831 322*a26ae754SRob Clark 323*a26ae754SRob Clark #define REG_A5XX_CP_PFP_ME_CNTL 0x00000832 324*a26ae754SRob Clark 325*a26ae754SRob Clark #define REG_A5XX_CP_CHICKEN_DBG 0x00000833 326*a26ae754SRob Clark 327*a26ae754SRob Clark #define REG_A5XX_CP_PFP_INSTR_BASE_LO 0x00000835 328*a26ae754SRob Clark 329*a26ae754SRob Clark #define REG_A5XX_CP_PFP_INSTR_BASE_HI 0x00000836 330*a26ae754SRob Clark 331*a26ae754SRob Clark #define REG_A5XX_CP_ME_INSTR_BASE_LO 0x00000838 332*a26ae754SRob Clark 333*a26ae754SRob Clark #define REG_A5XX_CP_ME_INSTR_BASE_HI 0x00000839 334*a26ae754SRob Clark 335*a26ae754SRob Clark #define REG_A5XX_CP_CONTEXT_SWITCH_CNTL 0x0000083b 336*a26ae754SRob Clark 337*a26ae754SRob Clark #define REG_A5XX_CP_CONTEXT_SWITCH_RESTORE_ADDR_LO 0x0000083c 338*a26ae754SRob Clark 339*a26ae754SRob Clark #define REG_A5XX_CP_CONTEXT_SWITCH_RESTORE_ADDR_HI 0x0000083d 340*a26ae754SRob Clark 341*a26ae754SRob Clark #define REG_A5XX_CP_CONTEXT_SWITCH_SAVE_ADDR_LO 0x0000083e 342*a26ae754SRob Clark 343*a26ae754SRob Clark #define REG_A5XX_CP_CONTEXT_SWITCH_SAVE_ADDR_HI 0x0000083f 344*a26ae754SRob Clark 345*a26ae754SRob Clark #define REG_A5XX_CP_CONTEXT_SWITCH_SMMU_INFO_LO 0x00000840 346*a26ae754SRob Clark 347*a26ae754SRob Clark #define REG_A5XX_CP_CONTEXT_SWITCH_SMMU_INFO_HI 0x00000841 348*a26ae754SRob Clark 349*a26ae754SRob Clark #define REG_A5XX_CP_ADDR_MODE_CNTL 0x00000860 350*a26ae754SRob Clark 351*a26ae754SRob Clark #define REG_A5XX_CP_ME_STAT_DATA 0x00000b14 352*a26ae754SRob Clark 353*a26ae754SRob Clark #define REG_A5XX_CP_WFI_PEND_CTR 0x00000b15 354*a26ae754SRob Clark 355*a26ae754SRob Clark #define REG_A5XX_CP_INTERRUPT_STATUS 0x00000b18 356*a26ae754SRob Clark 357*a26ae754SRob Clark #define REG_A5XX_CP_HW_FAULT 0x00000b1a 358*a26ae754SRob Clark 359*a26ae754SRob Clark #define REG_A5XX_CP_PROTECT_STATUS 0x00000b1c 360*a26ae754SRob Clark 361*a26ae754SRob Clark #define REG_A5XX_CP_IB1_BASE 0x00000b1f 362*a26ae754SRob Clark 363*a26ae754SRob Clark #define REG_A5XX_CP_IB1_BASE_HI 0x00000b20 364*a26ae754SRob Clark 365*a26ae754SRob Clark #define REG_A5XX_CP_IB1_BUFSZ 0x00000b21 366*a26ae754SRob Clark 367*a26ae754SRob Clark #define REG_A5XX_CP_IB2_BASE 0x00000b22 368*a26ae754SRob Clark 369*a26ae754SRob Clark #define REG_A5XX_CP_IB2_BASE_HI 0x00000b23 370*a26ae754SRob Clark 371*a26ae754SRob Clark #define REG_A5XX_CP_IB2_BUFSZ 0x00000b24 372*a26ae754SRob Clark 373*a26ae754SRob Clark static inline uint32_t REG_A5XX_CP_SCRATCH(uint32_t i0) { return 0x00000b78 + 0x1*i0; } 374*a26ae754SRob Clark 375*a26ae754SRob Clark static inline uint32_t REG_A5XX_CP_SCRATCH_REG(uint32_t i0) { return 0x00000b78 + 0x1*i0; } 376*a26ae754SRob Clark 377*a26ae754SRob Clark static inline uint32_t REG_A5XX_CP_PROTECT(uint32_t i0) { return 0x00000880 + 0x1*i0; } 378*a26ae754SRob Clark 379*a26ae754SRob Clark static inline uint32_t REG_A5XX_CP_PROTECT_REG(uint32_t i0) { return 0x00000880 + 0x1*i0; } 380*a26ae754SRob Clark #define A5XX_CP_PROTECT_REG_BASE_ADDR__MASK 0x0001ffff 381*a26ae754SRob Clark #define A5XX_CP_PROTECT_REG_BASE_ADDR__SHIFT 0 382*a26ae754SRob Clark static inline uint32_t A5XX_CP_PROTECT_REG_BASE_ADDR(uint32_t val) 383*a26ae754SRob Clark { 384*a26ae754SRob Clark return ((val) << A5XX_CP_PROTECT_REG_BASE_ADDR__SHIFT) & A5XX_CP_PROTECT_REG_BASE_ADDR__MASK; 385*a26ae754SRob Clark } 386*a26ae754SRob Clark #define A5XX_CP_PROTECT_REG_MASK_LEN__MASK 0x1f000000 387*a26ae754SRob Clark #define A5XX_CP_PROTECT_REG_MASK_LEN__SHIFT 24 388*a26ae754SRob Clark static inline uint32_t A5XX_CP_PROTECT_REG_MASK_LEN(uint32_t val) 389*a26ae754SRob Clark { 390*a26ae754SRob Clark return ((val) << A5XX_CP_PROTECT_REG_MASK_LEN__SHIFT) & A5XX_CP_PROTECT_REG_MASK_LEN__MASK; 391*a26ae754SRob Clark } 392*a26ae754SRob Clark #define A5XX_CP_PROTECT_REG_TRAP_WRITE 0x20000000 393*a26ae754SRob Clark #define A5XX_CP_PROTECT_REG_TRAP_READ 0x40000000 394*a26ae754SRob Clark 395*a26ae754SRob Clark #define REG_A5XX_CP_PROTECT_CNTL 0x000008a0 396*a26ae754SRob Clark 397*a26ae754SRob Clark #define REG_A5XX_CP_AHB_FAULT 0x00000b1b 398*a26ae754SRob Clark 399*a26ae754SRob Clark #define REG_A5XX_CP_PERFCTR_CP_SEL_0 0x00000bb0 400*a26ae754SRob Clark 401*a26ae754SRob Clark #define REG_A5XX_CP_PERFCTR_CP_SEL_1 0x00000bb1 402*a26ae754SRob Clark 403*a26ae754SRob Clark #define REG_A5XX_CP_PERFCTR_CP_SEL_2 0x00000bb2 404*a26ae754SRob Clark 405*a26ae754SRob Clark #define REG_A5XX_CP_PERFCTR_CP_SEL_3 0x00000bb3 406*a26ae754SRob Clark 407*a26ae754SRob Clark #define REG_A5XX_CP_PERFCTR_CP_SEL_4 0x00000bb4 408*a26ae754SRob Clark 409*a26ae754SRob Clark #define REG_A5XX_CP_PERFCTR_CP_SEL_5 0x00000bb5 410*a26ae754SRob Clark 411*a26ae754SRob Clark #define REG_A5XX_CP_PERFCTR_CP_SEL_6 0x00000bb6 412*a26ae754SRob Clark 413*a26ae754SRob Clark #define REG_A5XX_CP_PERFCTR_CP_SEL_7 0x00000bb7 414*a26ae754SRob Clark 415*a26ae754SRob Clark #define REG_A5XX_VSC_ADDR_MODE_CNTL 0x00000bc1 416*a26ae754SRob Clark 417*a26ae754SRob Clark #define REG_A5XX_CP_POWERCTR_CP_SEL_0 0x00000bba 418*a26ae754SRob Clark 419*a26ae754SRob Clark #define REG_A5XX_CP_POWERCTR_CP_SEL_1 0x00000bbb 420*a26ae754SRob Clark 421*a26ae754SRob Clark #define REG_A5XX_CP_POWERCTR_CP_SEL_2 0x00000bbc 422*a26ae754SRob Clark 423*a26ae754SRob Clark #define REG_A5XX_CP_POWERCTR_CP_SEL_3 0x00000bbd 424*a26ae754SRob Clark 425*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_SEL_A 0x00000004 426*a26ae754SRob Clark 427*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_SEL_B 0x00000005 428*a26ae754SRob Clark 429*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_SEL_C 0x00000006 430*a26ae754SRob Clark 431*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_SEL_D 0x00000007 432*a26ae754SRob Clark 433*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_CNTLT 0x00000008 434*a26ae754SRob Clark 435*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_CNTLM 0x00000009 436*a26ae754SRob Clark 437*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DEBBUS_CTLTM_ENABLE_SHIFT 0x00000018 438*a26ae754SRob Clark 439*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_OPL 0x0000000a 440*a26ae754SRob Clark 441*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_OPE 0x0000000b 442*a26ae754SRob Clark 443*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_IVTL_0 0x0000000c 444*a26ae754SRob Clark 445*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_IVTL_1 0x0000000d 446*a26ae754SRob Clark 447*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_IVTL_2 0x0000000e 448*a26ae754SRob Clark 449*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_IVTL_3 0x0000000f 450*a26ae754SRob Clark 451*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_MASKL_0 0x00000010 452*a26ae754SRob Clark 453*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_MASKL_1 0x00000011 454*a26ae754SRob Clark 455*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_MASKL_2 0x00000012 456*a26ae754SRob Clark 457*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_MASKL_3 0x00000013 458*a26ae754SRob Clark 459*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_BYTEL_0 0x00000014 460*a26ae754SRob Clark 461*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_BYTEL_1 0x00000015 462*a26ae754SRob Clark 463*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_IVTE_0 0x00000016 464*a26ae754SRob Clark 465*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_IVTE_1 0x00000017 466*a26ae754SRob Clark 467*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_IVTE_2 0x00000018 468*a26ae754SRob Clark 469*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_IVTE_3 0x00000019 470*a26ae754SRob Clark 471*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_MASKE_0 0x0000001a 472*a26ae754SRob Clark 473*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_MASKE_1 0x0000001b 474*a26ae754SRob Clark 475*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_MASKE_2 0x0000001c 476*a26ae754SRob Clark 477*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_MASKE_3 0x0000001d 478*a26ae754SRob Clark 479*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_NIBBLEE 0x0000001e 480*a26ae754SRob Clark 481*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_PTRC0 0x0000001f 482*a26ae754SRob Clark 483*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_PTRC1 0x00000020 484*a26ae754SRob Clark 485*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_LOADREG 0x00000021 486*a26ae754SRob Clark 487*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_IDX 0x00000022 488*a26ae754SRob Clark 489*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_CLRC 0x00000023 490*a26ae754SRob Clark 491*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_LOADIVT 0x00000024 492*a26ae754SRob Clark 493*a26ae754SRob Clark #define REG_A5XX_RBBM_INTERFACE_HANG_INT_CNTL 0x0000002f 494*a26ae754SRob Clark 495*a26ae754SRob Clark #define REG_A5XX_RBBM_INT_CLEAR_CMD 0x00000037 496*a26ae754SRob Clark 497*a26ae754SRob Clark #define REG_A5XX_RBBM_INT_0_MASK 0x00000038 498*a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_RBBM_GPU_IDLE 0x00000001 499*a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_RBBM_AHB_ERROR 0x00000002 500*a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_RBBM_TRANSFER_TIMEOUT 0x00000004 501*a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_RBBM_ME_MS_TIMEOUT 0x00000008 502*a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_RBBM_PFP_MS_TIMEOUT 0x00000010 503*a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_RBBM_ETS_MS_TIMEOUT 0x00000020 504*a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_RBBM_ATB_ASYNC_OVERFLOW 0x00000040 505*a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_RBBM_GPC_ERROR 0x00000080 506*a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_CP_SW 0x00000100 507*a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_CP_HW_ERROR 0x00000200 508*a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_CP_CCU_FLUSH_DEPTH_TS 0x00000400 509*a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_CP_CCU_FLUSH_COLOR_TS 0x00000800 510*a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_CP_CCU_RESOLVE_TS 0x00001000 511*a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_CP_IB2 0x00002000 512*a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_CP_IB1 0x00004000 513*a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_CP_RB 0x00008000 514*a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_CP_RB_DONE_TS 0x00020000 515*a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_CP_WT_DONE_TS 0x00040000 516*a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_CP_CACHE_FLUSH_TS 0x00100000 517*a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_RBBM_ATB_BUS_OVERFLOW 0x00400000 518*a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_MISC_HANG_DETECT 0x00800000 519*a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_UCHE_OOB_ACCESS 0x01000000 520*a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_UCHE_TRAP_INTR 0x02000000 521*a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_DEBBUS_INTR_0 0x04000000 522*a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_DEBBUS_INTR_1 0x08000000 523*a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_GPMU_VOLTAGE_DROOP 0x10000000 524*a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_GPMU_FIRMWARE 0x20000000 525*a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_ISDB_CPU_IRQ 0x40000000 526*a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_ISDB_UNDER_DEBUG 0x80000000 527*a26ae754SRob Clark 528*a26ae754SRob Clark #define REG_A5XX_RBBM_AHB_DBG_CNTL 0x0000003f 529*a26ae754SRob Clark 530*a26ae754SRob Clark #define REG_A5XX_RBBM_EXT_VBIF_DBG_CNTL 0x00000041 531*a26ae754SRob Clark 532*a26ae754SRob Clark #define REG_A5XX_RBBM_SW_RESET_CMD 0x00000043 533*a26ae754SRob Clark 534*a26ae754SRob Clark #define REG_A5XX_RBBM_BLOCK_SW_RESET_CMD 0x00000045 535*a26ae754SRob Clark 536*a26ae754SRob Clark #define REG_A5XX_RBBM_BLOCK_SW_RESET_CMD2 0x00000046 537*a26ae754SRob Clark 538*a26ae754SRob Clark #define REG_A5XX_RBBM_DBG_LO_HI_GPIO 0x00000048 539*a26ae754SRob Clark 540*a26ae754SRob Clark #define REG_A5XX_RBBM_EXT_TRACE_BUS_CNTL 0x00000049 541*a26ae754SRob Clark 542*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL_TP0 0x0000004a 543*a26ae754SRob Clark 544*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL_TP1 0x0000004b 545*a26ae754SRob Clark 546*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL_TP2 0x0000004c 547*a26ae754SRob Clark 548*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL_TP3 0x0000004d 549*a26ae754SRob Clark 550*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL2_TP0 0x0000004e 551*a26ae754SRob Clark 552*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL2_TP1 0x0000004f 553*a26ae754SRob Clark 554*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL2_TP2 0x00000050 555*a26ae754SRob Clark 556*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL2_TP3 0x00000051 557*a26ae754SRob Clark 558*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL3_TP0 0x00000052 559*a26ae754SRob Clark 560*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL3_TP1 0x00000053 561*a26ae754SRob Clark 562*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL3_TP2 0x00000054 563*a26ae754SRob Clark 564*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL3_TP3 0x00000055 565*a26ae754SRob Clark 566*a26ae754SRob Clark #define REG_A5XX_RBBM_READ_AHB_THROUGH_DBG 0x00000059 567*a26ae754SRob Clark 568*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL_UCHE 0x0000005a 569*a26ae754SRob Clark 570*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL2_UCHE 0x0000005b 571*a26ae754SRob Clark 572*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL3_UCHE 0x0000005c 573*a26ae754SRob Clark 574*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL4_UCHE 0x0000005d 575*a26ae754SRob Clark 576*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST_UCHE 0x0000005e 577*a26ae754SRob Clark 578*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY_UCHE 0x0000005f 579*a26ae754SRob Clark 580*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_MODE_GPC 0x00000060 581*a26ae754SRob Clark 582*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY_GPC 0x00000061 583*a26ae754SRob Clark 584*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST_GPC 0x00000062 585*a26ae754SRob Clark 586*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL_TSE_RAS_RBBM 0x00000063 587*a26ae754SRob Clark 588*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST_TSE_RAS_RBBM 0x00000064 589*a26ae754SRob Clark 590*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY_TSE_RAS_RBBM 0x00000065 591*a26ae754SRob Clark 592*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY_HLSQ 0x00000066 593*a26ae754SRob Clark 594*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL 0x00000067 595*a26ae754SRob Clark 596*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL_SP0 0x00000068 597*a26ae754SRob Clark 598*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL_SP1 0x00000069 599*a26ae754SRob Clark 600*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL_SP2 0x0000006a 601*a26ae754SRob Clark 602*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL_SP3 0x0000006b 603*a26ae754SRob Clark 604*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL2_SP0 0x0000006c 605*a26ae754SRob Clark 606*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL2_SP1 0x0000006d 607*a26ae754SRob Clark 608*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL2_SP2 0x0000006e 609*a26ae754SRob Clark 610*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL2_SP3 0x0000006f 611*a26ae754SRob Clark 612*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST_SP0 0x00000070 613*a26ae754SRob Clark 614*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST_SP1 0x00000071 615*a26ae754SRob Clark 616*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST_SP2 0x00000072 617*a26ae754SRob Clark 618*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST_SP3 0x00000073 619*a26ae754SRob Clark 620*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY_SP0 0x00000074 621*a26ae754SRob Clark 622*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY_SP1 0x00000075 623*a26ae754SRob Clark 624*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY_SP2 0x00000076 625*a26ae754SRob Clark 626*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY_SP3 0x00000077 627*a26ae754SRob Clark 628*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL_RB0 0x00000078 629*a26ae754SRob Clark 630*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL_RB1 0x00000079 631*a26ae754SRob Clark 632*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL_RB2 0x0000007a 633*a26ae754SRob Clark 634*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL_RB3 0x0000007b 635*a26ae754SRob Clark 636*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL2_RB0 0x0000007c 637*a26ae754SRob Clark 638*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL2_RB1 0x0000007d 639*a26ae754SRob Clark 640*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL2_RB2 0x0000007e 641*a26ae754SRob Clark 642*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL2_RB3 0x0000007f 643*a26ae754SRob Clark 644*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST_RAC 0x00000080 645*a26ae754SRob Clark 646*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY_RAC 0x00000081 647*a26ae754SRob Clark 648*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL_CCU0 0x00000082 649*a26ae754SRob Clark 650*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL_CCU1 0x00000083 651*a26ae754SRob Clark 652*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL_CCU2 0x00000084 653*a26ae754SRob Clark 654*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL_CCU3 0x00000085 655*a26ae754SRob Clark 656*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST_RB_CCU0 0x00000086 657*a26ae754SRob Clark 658*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST_RB_CCU1 0x00000087 659*a26ae754SRob Clark 660*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST_RB_CCU2 0x00000088 661*a26ae754SRob Clark 662*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST_RB_CCU3 0x00000089 663*a26ae754SRob Clark 664*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL_RAC 0x0000008a 665*a26ae754SRob Clark 666*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL2_RAC 0x0000008b 667*a26ae754SRob Clark 668*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY_RB_CCU_L1_0 0x0000008c 669*a26ae754SRob Clark 670*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY_RB_CCU_L1_1 0x0000008d 671*a26ae754SRob Clark 672*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY_RB_CCU_L1_2 0x0000008e 673*a26ae754SRob Clark 674*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY_RB_CCU_L1_3 0x0000008f 675*a26ae754SRob Clark 676*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST_VFD 0x00000090 677*a26ae754SRob Clark 678*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_MODE_VFD 0x00000091 679*a26ae754SRob Clark 680*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY_VFD 0x00000092 681*a26ae754SRob Clark 682*a26ae754SRob Clark #define REG_A5XX_RBBM_AHB_CNTL0 0x00000093 683*a26ae754SRob Clark 684*a26ae754SRob Clark #define REG_A5XX_RBBM_AHB_CNTL1 0x00000094 685*a26ae754SRob Clark 686*a26ae754SRob Clark #define REG_A5XX_RBBM_AHB_CNTL2 0x00000095 687*a26ae754SRob Clark 688*a26ae754SRob Clark #define REG_A5XX_RBBM_AHB_CMD 0x00000096 689*a26ae754SRob Clark 690*a26ae754SRob Clark #define REG_A5XX_RBBM_INTERFACE_HANG_MASK_CNTL11 0x0000009c 691*a26ae754SRob Clark 692*a26ae754SRob Clark #define REG_A5XX_RBBM_INTERFACE_HANG_MASK_CNTL12 0x0000009d 693*a26ae754SRob Clark 694*a26ae754SRob Clark #define REG_A5XX_RBBM_INTERFACE_HANG_MASK_CNTL13 0x0000009e 695*a26ae754SRob Clark 696*a26ae754SRob Clark #define REG_A5XX_RBBM_INTERFACE_HANG_MASK_CNTL14 0x0000009f 697*a26ae754SRob Clark 698*a26ae754SRob Clark #define REG_A5XX_RBBM_INTERFACE_HANG_MASK_CNTL15 0x000000a0 699*a26ae754SRob Clark 700*a26ae754SRob Clark #define REG_A5XX_RBBM_INTERFACE_HANG_MASK_CNTL16 0x000000a1 701*a26ae754SRob Clark 702*a26ae754SRob Clark #define REG_A5XX_RBBM_INTERFACE_HANG_MASK_CNTL17 0x000000a2 703*a26ae754SRob Clark 704*a26ae754SRob Clark #define REG_A5XX_RBBM_INTERFACE_HANG_MASK_CNTL18 0x000000a3 705*a26ae754SRob Clark 706*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY_TP0 0x000000a4 707*a26ae754SRob Clark 708*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY_TP1 0x000000a5 709*a26ae754SRob Clark 710*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY_TP2 0x000000a6 711*a26ae754SRob Clark 712*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY_TP3 0x000000a7 713*a26ae754SRob Clark 714*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY2_TP0 0x000000a8 715*a26ae754SRob Clark 716*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY2_TP1 0x000000a9 717*a26ae754SRob Clark 718*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY2_TP2 0x000000aa 719*a26ae754SRob Clark 720*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY2_TP3 0x000000ab 721*a26ae754SRob Clark 722*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY3_TP0 0x000000ac 723*a26ae754SRob Clark 724*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY3_TP1 0x000000ad 725*a26ae754SRob Clark 726*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY3_TP2 0x000000ae 727*a26ae754SRob Clark 728*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY3_TP3 0x000000af 729*a26ae754SRob Clark 730*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST_TP0 0x000000b0 731*a26ae754SRob Clark 732*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST_TP1 0x000000b1 733*a26ae754SRob Clark 734*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST_TP2 0x000000b2 735*a26ae754SRob Clark 736*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST_TP3 0x000000b3 737*a26ae754SRob Clark 738*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST2_TP0 0x000000b4 739*a26ae754SRob Clark 740*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST2_TP1 0x000000b5 741*a26ae754SRob Clark 742*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST2_TP2 0x000000b6 743*a26ae754SRob Clark 744*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST2_TP3 0x000000b7 745*a26ae754SRob Clark 746*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST3_TP0 0x000000b8 747*a26ae754SRob Clark 748*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST3_TP1 0x000000b9 749*a26ae754SRob Clark 750*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST3_TP2 0x000000ba 751*a26ae754SRob Clark 752*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST3_TP3 0x000000bb 753*a26ae754SRob Clark 754*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL_GPMU 0x000000c8 755*a26ae754SRob Clark 756*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY_GPMU 0x000000c9 757*a26ae754SRob Clark 758*a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST_GPMU 0x000000ca 759*a26ae754SRob Clark 760*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CP_0_LO 0x000003a0 761*a26ae754SRob Clark 762*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CP_0_HI 0x000003a1 763*a26ae754SRob Clark 764*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CP_1_LO 0x000003a2 765*a26ae754SRob Clark 766*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CP_1_HI 0x000003a3 767*a26ae754SRob Clark 768*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CP_2_LO 0x000003a4 769*a26ae754SRob Clark 770*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CP_2_HI 0x000003a5 771*a26ae754SRob Clark 772*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CP_3_LO 0x000003a6 773*a26ae754SRob Clark 774*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CP_3_HI 0x000003a7 775*a26ae754SRob Clark 776*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CP_4_LO 0x000003a8 777*a26ae754SRob Clark 778*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CP_4_HI 0x000003a9 779*a26ae754SRob Clark 780*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CP_5_LO 0x000003aa 781*a26ae754SRob Clark 782*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CP_5_HI 0x000003ab 783*a26ae754SRob Clark 784*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CP_6_LO 0x000003ac 785*a26ae754SRob Clark 786*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CP_6_HI 0x000003ad 787*a26ae754SRob Clark 788*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CP_7_LO 0x000003ae 789*a26ae754SRob Clark 790*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CP_7_HI 0x000003af 791*a26ae754SRob Clark 792*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RBBM_0_LO 0x000003b0 793*a26ae754SRob Clark 794*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RBBM_0_HI 0x000003b1 795*a26ae754SRob Clark 796*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RBBM_1_LO 0x000003b2 797*a26ae754SRob Clark 798*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RBBM_1_HI 0x000003b3 799*a26ae754SRob Clark 800*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RBBM_2_LO 0x000003b4 801*a26ae754SRob Clark 802*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RBBM_2_HI 0x000003b5 803*a26ae754SRob Clark 804*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RBBM_3_LO 0x000003b6 805*a26ae754SRob Clark 806*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RBBM_3_HI 0x000003b7 807*a26ae754SRob Clark 808*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_PC_0_LO 0x000003b8 809*a26ae754SRob Clark 810*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_PC_0_HI 0x000003b9 811*a26ae754SRob Clark 812*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_PC_1_LO 0x000003ba 813*a26ae754SRob Clark 814*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_PC_1_HI 0x000003bb 815*a26ae754SRob Clark 816*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_PC_2_LO 0x000003bc 817*a26ae754SRob Clark 818*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_PC_2_HI 0x000003bd 819*a26ae754SRob Clark 820*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_PC_3_LO 0x000003be 821*a26ae754SRob Clark 822*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_PC_3_HI 0x000003bf 823*a26ae754SRob Clark 824*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_PC_4_LO 0x000003c0 825*a26ae754SRob Clark 826*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_PC_4_HI 0x000003c1 827*a26ae754SRob Clark 828*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_PC_5_LO 0x000003c2 829*a26ae754SRob Clark 830*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_PC_5_HI 0x000003c3 831*a26ae754SRob Clark 832*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_PC_6_LO 0x000003c4 833*a26ae754SRob Clark 834*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_PC_6_HI 0x000003c5 835*a26ae754SRob Clark 836*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_PC_7_LO 0x000003c6 837*a26ae754SRob Clark 838*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_PC_7_HI 0x000003c7 839*a26ae754SRob Clark 840*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VFD_0_LO 0x000003c8 841*a26ae754SRob Clark 842*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VFD_0_HI 0x000003c9 843*a26ae754SRob Clark 844*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VFD_1_LO 0x000003ca 845*a26ae754SRob Clark 846*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VFD_1_HI 0x000003cb 847*a26ae754SRob Clark 848*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VFD_2_LO 0x000003cc 849*a26ae754SRob Clark 850*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VFD_2_HI 0x000003cd 851*a26ae754SRob Clark 852*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VFD_3_LO 0x000003ce 853*a26ae754SRob Clark 854*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VFD_3_HI 0x000003cf 855*a26ae754SRob Clark 856*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VFD_4_LO 0x000003d0 857*a26ae754SRob Clark 858*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VFD_4_HI 0x000003d1 859*a26ae754SRob Clark 860*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VFD_5_LO 0x000003d2 861*a26ae754SRob Clark 862*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VFD_5_HI 0x000003d3 863*a26ae754SRob Clark 864*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VFD_6_LO 0x000003d4 865*a26ae754SRob Clark 866*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VFD_6_HI 0x000003d5 867*a26ae754SRob Clark 868*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VFD_7_LO 0x000003d6 869*a26ae754SRob Clark 870*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VFD_7_HI 0x000003d7 871*a26ae754SRob Clark 872*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_HLSQ_0_LO 0x000003d8 873*a26ae754SRob Clark 874*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_HLSQ_0_HI 0x000003d9 875*a26ae754SRob Clark 876*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_HLSQ_1_LO 0x000003da 877*a26ae754SRob Clark 878*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_HLSQ_1_HI 0x000003db 879*a26ae754SRob Clark 880*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_HLSQ_2_LO 0x000003dc 881*a26ae754SRob Clark 882*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_HLSQ_2_HI 0x000003dd 883*a26ae754SRob Clark 884*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_HLSQ_3_LO 0x000003de 885*a26ae754SRob Clark 886*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_HLSQ_3_HI 0x000003df 887*a26ae754SRob Clark 888*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_HLSQ_4_LO 0x000003e0 889*a26ae754SRob Clark 890*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_HLSQ_4_HI 0x000003e1 891*a26ae754SRob Clark 892*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_HLSQ_5_LO 0x000003e2 893*a26ae754SRob Clark 894*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_HLSQ_5_HI 0x000003e3 895*a26ae754SRob Clark 896*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_HLSQ_6_LO 0x000003e4 897*a26ae754SRob Clark 898*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_HLSQ_6_HI 0x000003e5 899*a26ae754SRob Clark 900*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_HLSQ_7_LO 0x000003e6 901*a26ae754SRob Clark 902*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_HLSQ_7_HI 0x000003e7 903*a26ae754SRob Clark 904*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VPC_0_LO 0x000003e8 905*a26ae754SRob Clark 906*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VPC_0_HI 0x000003e9 907*a26ae754SRob Clark 908*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VPC_1_LO 0x000003ea 909*a26ae754SRob Clark 910*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VPC_1_HI 0x000003eb 911*a26ae754SRob Clark 912*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VPC_2_LO 0x000003ec 913*a26ae754SRob Clark 914*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VPC_2_HI 0x000003ed 915*a26ae754SRob Clark 916*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VPC_3_LO 0x000003ee 917*a26ae754SRob Clark 918*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VPC_3_HI 0x000003ef 919*a26ae754SRob Clark 920*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CCU_0_LO 0x000003f0 921*a26ae754SRob Clark 922*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CCU_0_HI 0x000003f1 923*a26ae754SRob Clark 924*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CCU_1_LO 0x000003f2 925*a26ae754SRob Clark 926*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CCU_1_HI 0x000003f3 927*a26ae754SRob Clark 928*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CCU_2_LO 0x000003f4 929*a26ae754SRob Clark 930*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CCU_2_HI 0x000003f5 931*a26ae754SRob Clark 932*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CCU_3_LO 0x000003f6 933*a26ae754SRob Clark 934*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CCU_3_HI 0x000003f7 935*a26ae754SRob Clark 936*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TSE_0_LO 0x000003f8 937*a26ae754SRob Clark 938*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TSE_0_HI 0x000003f9 939*a26ae754SRob Clark 940*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TSE_1_LO 0x000003fa 941*a26ae754SRob Clark 942*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TSE_1_HI 0x000003fb 943*a26ae754SRob Clark 944*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TSE_2_LO 0x000003fc 945*a26ae754SRob Clark 946*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TSE_2_HI 0x000003fd 947*a26ae754SRob Clark 948*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TSE_3_LO 0x000003fe 949*a26ae754SRob Clark 950*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TSE_3_HI 0x000003ff 951*a26ae754SRob Clark 952*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RAS_0_LO 0x00000400 953*a26ae754SRob Clark 954*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RAS_0_HI 0x00000401 955*a26ae754SRob Clark 956*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RAS_1_LO 0x00000402 957*a26ae754SRob Clark 958*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RAS_1_HI 0x00000403 959*a26ae754SRob Clark 960*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RAS_2_LO 0x00000404 961*a26ae754SRob Clark 962*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RAS_2_HI 0x00000405 963*a26ae754SRob Clark 964*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RAS_3_LO 0x00000406 965*a26ae754SRob Clark 966*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RAS_3_HI 0x00000407 967*a26ae754SRob Clark 968*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_UCHE_0_LO 0x00000408 969*a26ae754SRob Clark 970*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_UCHE_0_HI 0x00000409 971*a26ae754SRob Clark 972*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_UCHE_1_LO 0x0000040a 973*a26ae754SRob Clark 974*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_UCHE_1_HI 0x0000040b 975*a26ae754SRob Clark 976*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_UCHE_2_LO 0x0000040c 977*a26ae754SRob Clark 978*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_UCHE_2_HI 0x0000040d 979*a26ae754SRob Clark 980*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_UCHE_3_LO 0x0000040e 981*a26ae754SRob Clark 982*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_UCHE_3_HI 0x0000040f 983*a26ae754SRob Clark 984*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_UCHE_4_LO 0x00000410 985*a26ae754SRob Clark 986*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_UCHE_4_HI 0x00000411 987*a26ae754SRob Clark 988*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_UCHE_5_LO 0x00000412 989*a26ae754SRob Clark 990*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_UCHE_5_HI 0x00000413 991*a26ae754SRob Clark 992*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_UCHE_6_LO 0x00000414 993*a26ae754SRob Clark 994*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_UCHE_6_HI 0x00000415 995*a26ae754SRob Clark 996*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_UCHE_7_LO 0x00000416 997*a26ae754SRob Clark 998*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_UCHE_7_HI 0x00000417 999*a26ae754SRob Clark 1000*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TP_0_LO 0x00000418 1001*a26ae754SRob Clark 1002*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TP_0_HI 0x00000419 1003*a26ae754SRob Clark 1004*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TP_1_LO 0x0000041a 1005*a26ae754SRob Clark 1006*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TP_1_HI 0x0000041b 1007*a26ae754SRob Clark 1008*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TP_2_LO 0x0000041c 1009*a26ae754SRob Clark 1010*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TP_2_HI 0x0000041d 1011*a26ae754SRob Clark 1012*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TP_3_LO 0x0000041e 1013*a26ae754SRob Clark 1014*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TP_3_HI 0x0000041f 1015*a26ae754SRob Clark 1016*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TP_4_LO 0x00000420 1017*a26ae754SRob Clark 1018*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TP_4_HI 0x00000421 1019*a26ae754SRob Clark 1020*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TP_5_LO 0x00000422 1021*a26ae754SRob Clark 1022*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TP_5_HI 0x00000423 1023*a26ae754SRob Clark 1024*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TP_6_LO 0x00000424 1025*a26ae754SRob Clark 1026*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TP_6_HI 0x00000425 1027*a26ae754SRob Clark 1028*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TP_7_LO 0x00000426 1029*a26ae754SRob Clark 1030*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TP_7_HI 0x00000427 1031*a26ae754SRob Clark 1032*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_0_LO 0x00000428 1033*a26ae754SRob Clark 1034*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_0_HI 0x00000429 1035*a26ae754SRob Clark 1036*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_1_LO 0x0000042a 1037*a26ae754SRob Clark 1038*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_1_HI 0x0000042b 1039*a26ae754SRob Clark 1040*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_2_LO 0x0000042c 1041*a26ae754SRob Clark 1042*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_2_HI 0x0000042d 1043*a26ae754SRob Clark 1044*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_3_LO 0x0000042e 1045*a26ae754SRob Clark 1046*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_3_HI 0x0000042f 1047*a26ae754SRob Clark 1048*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_4_LO 0x00000430 1049*a26ae754SRob Clark 1050*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_4_HI 0x00000431 1051*a26ae754SRob Clark 1052*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_5_LO 0x00000432 1053*a26ae754SRob Clark 1054*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_5_HI 0x00000433 1055*a26ae754SRob Clark 1056*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_6_LO 0x00000434 1057*a26ae754SRob Clark 1058*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_6_HI 0x00000435 1059*a26ae754SRob Clark 1060*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_7_LO 0x00000436 1061*a26ae754SRob Clark 1062*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_7_HI 0x00000437 1063*a26ae754SRob Clark 1064*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_8_LO 0x00000438 1065*a26ae754SRob Clark 1066*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_8_HI 0x00000439 1067*a26ae754SRob Clark 1068*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_9_LO 0x0000043a 1069*a26ae754SRob Clark 1070*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_9_HI 0x0000043b 1071*a26ae754SRob Clark 1072*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_10_LO 0x0000043c 1073*a26ae754SRob Clark 1074*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_10_HI 0x0000043d 1075*a26ae754SRob Clark 1076*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_11_LO 0x0000043e 1077*a26ae754SRob Clark 1078*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_11_HI 0x0000043f 1079*a26ae754SRob Clark 1080*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RB_0_LO 0x00000440 1081*a26ae754SRob Clark 1082*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RB_0_HI 0x00000441 1083*a26ae754SRob Clark 1084*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RB_1_LO 0x00000442 1085*a26ae754SRob Clark 1086*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RB_1_HI 0x00000443 1087*a26ae754SRob Clark 1088*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RB_2_LO 0x00000444 1089*a26ae754SRob Clark 1090*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RB_2_HI 0x00000445 1091*a26ae754SRob Clark 1092*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RB_3_LO 0x00000446 1093*a26ae754SRob Clark 1094*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RB_3_HI 0x00000447 1095*a26ae754SRob Clark 1096*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RB_4_LO 0x00000448 1097*a26ae754SRob Clark 1098*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RB_4_HI 0x00000449 1099*a26ae754SRob Clark 1100*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RB_5_LO 0x0000044a 1101*a26ae754SRob Clark 1102*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RB_5_HI 0x0000044b 1103*a26ae754SRob Clark 1104*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RB_6_LO 0x0000044c 1105*a26ae754SRob Clark 1106*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RB_6_HI 0x0000044d 1107*a26ae754SRob Clark 1108*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RB_7_LO 0x0000044e 1109*a26ae754SRob Clark 1110*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RB_7_HI 0x0000044f 1111*a26ae754SRob Clark 1112*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VSC_0_LO 0x00000450 1113*a26ae754SRob Clark 1114*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VSC_0_HI 0x00000451 1115*a26ae754SRob Clark 1116*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VSC_1_LO 0x00000452 1117*a26ae754SRob Clark 1118*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VSC_1_HI 0x00000453 1119*a26ae754SRob Clark 1120*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_LRZ_0_LO 0x00000454 1121*a26ae754SRob Clark 1122*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_LRZ_0_HI 0x00000455 1123*a26ae754SRob Clark 1124*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_LRZ_1_LO 0x00000456 1125*a26ae754SRob Clark 1126*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_LRZ_1_HI 0x00000457 1127*a26ae754SRob Clark 1128*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_LRZ_2_LO 0x00000458 1129*a26ae754SRob Clark 1130*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_LRZ_2_HI 0x00000459 1131*a26ae754SRob Clark 1132*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_LRZ_3_LO 0x0000045a 1133*a26ae754SRob Clark 1134*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_LRZ_3_HI 0x0000045b 1135*a26ae754SRob Clark 1136*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CMP_0_LO 0x0000045c 1137*a26ae754SRob Clark 1138*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CMP_0_HI 0x0000045d 1139*a26ae754SRob Clark 1140*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CMP_1_LO 0x0000045e 1141*a26ae754SRob Clark 1142*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CMP_1_HI 0x0000045f 1143*a26ae754SRob Clark 1144*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CMP_2_LO 0x00000460 1145*a26ae754SRob Clark 1146*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CMP_2_HI 0x00000461 1147*a26ae754SRob Clark 1148*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CMP_3_LO 0x00000462 1149*a26ae754SRob Clark 1150*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CMP_3_HI 0x00000463 1151*a26ae754SRob Clark 1152*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RBBM_SEL_0 0x0000046b 1153*a26ae754SRob Clark 1154*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RBBM_SEL_1 0x0000046c 1155*a26ae754SRob Clark 1156*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RBBM_SEL_2 0x0000046d 1157*a26ae754SRob Clark 1158*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RBBM_SEL_3 0x0000046e 1159*a26ae754SRob Clark 1160*a26ae754SRob Clark #define REG_A5XX_RBBM_ALWAYSON_COUNTER_LO 0x000004d2 1161*a26ae754SRob Clark 1162*a26ae754SRob Clark #define REG_A5XX_RBBM_ALWAYSON_COUNTER_HI 0x000004d3 1163*a26ae754SRob Clark 1164*a26ae754SRob Clark #define REG_A5XX_RBBM_STATUS 0x000004f5 1165*a26ae754SRob Clark #define A5XX_RBBM_STATUS_GPU_BUSY_IGN_AHB 0x80000000 1166*a26ae754SRob Clark #define A5XX_RBBM_STATUS_GPU_BUSY_IGN_AHB_CP 0x40000000 1167*a26ae754SRob Clark #define A5XX_RBBM_STATUS_HLSQ_BUSY 0x20000000 1168*a26ae754SRob Clark #define A5XX_RBBM_STATUS_VSC_BUSY 0x10000000 1169*a26ae754SRob Clark #define A5XX_RBBM_STATUS_TPL1_BUSY 0x08000000 1170*a26ae754SRob Clark #define A5XX_RBBM_STATUS_SP_BUSY 0x04000000 1171*a26ae754SRob Clark #define A5XX_RBBM_STATUS_UCHE_BUSY 0x02000000 1172*a26ae754SRob Clark #define A5XX_RBBM_STATUS_VPC_BUSY 0x01000000 1173*a26ae754SRob Clark #define A5XX_RBBM_STATUS_VFDP_BUSY 0x00800000 1174*a26ae754SRob Clark #define A5XX_RBBM_STATUS_VFD_BUSY 0x00400000 1175*a26ae754SRob Clark #define A5XX_RBBM_STATUS_TESS_BUSY 0x00200000 1176*a26ae754SRob Clark #define A5XX_RBBM_STATUS_PC_VSD_BUSY 0x00100000 1177*a26ae754SRob Clark #define A5XX_RBBM_STATUS_PC_DCALL_BUSY 0x00080000 1178*a26ae754SRob Clark #define A5XX_RBBM_STATUS_GPMU_SLAVE_BUSY 0x00040000 1179*a26ae754SRob Clark #define A5XX_RBBM_STATUS_DCOM_BUSY 0x00020000 1180*a26ae754SRob Clark #define A5XX_RBBM_STATUS_COM_BUSY 0x00010000 1181*a26ae754SRob Clark #define A5XX_RBBM_STATUS_LRZ_BUZY 0x00008000 1182*a26ae754SRob Clark #define A5XX_RBBM_STATUS_A2D_DSP_BUSY 0x00004000 1183*a26ae754SRob Clark #define A5XX_RBBM_STATUS_CCUFCHE_BUSY 0x00002000 1184*a26ae754SRob Clark #define A5XX_RBBM_STATUS_RB_BUSY 0x00001000 1185*a26ae754SRob Clark #define A5XX_RBBM_STATUS_RAS_BUSY 0x00000800 1186*a26ae754SRob Clark #define A5XX_RBBM_STATUS_TSE_BUSY 0x00000400 1187*a26ae754SRob Clark #define A5XX_RBBM_STATUS_VBIF_BUSY 0x00000200 1188*a26ae754SRob Clark #define A5XX_RBBM_STATUS_GPU_BUSY_IGN_AHB_HYST 0x00000100 1189*a26ae754SRob Clark #define A5XX_RBBM_STATUS_CP_BUSY_IGN_HYST 0x00000080 1190*a26ae754SRob Clark #define A5XX_RBBM_STATUS_CP_BUSY 0x00000040 1191*a26ae754SRob Clark #define A5XX_RBBM_STATUS_GPMU_MASTER_BUSY 0x00000020 1192*a26ae754SRob Clark #define A5XX_RBBM_STATUS_CP_CRASH_BUSY 0x00000010 1193*a26ae754SRob Clark #define A5XX_RBBM_STATUS_CP_ETS_BUSY 0x00000008 1194*a26ae754SRob Clark #define A5XX_RBBM_STATUS_CP_PFP_BUSY 0x00000004 1195*a26ae754SRob Clark #define A5XX_RBBM_STATUS_CP_ME_BUSY 0x00000002 1196*a26ae754SRob Clark #define A5XX_RBBM_STATUS_HI_BUSY 0x00000001 1197*a26ae754SRob Clark 1198*a26ae754SRob Clark #define REG_A5XX_RBBM_STATUS3 0x00000530 1199*a26ae754SRob Clark 1200*a26ae754SRob Clark #define REG_A5XX_RBBM_INT_0_STATUS 0x000004e1 1201*a26ae754SRob Clark 1202*a26ae754SRob Clark #define REG_A5XX_RBBM_AHB_ME_SPLIT_STATUS 0x000004f0 1203*a26ae754SRob Clark 1204*a26ae754SRob Clark #define REG_A5XX_RBBM_AHB_PFP_SPLIT_STATUS 0x000004f1 1205*a26ae754SRob Clark 1206*a26ae754SRob Clark #define REG_A5XX_RBBM_AHB_ETS_SPLIT_STATUS 0x000004f3 1207*a26ae754SRob Clark 1208*a26ae754SRob Clark #define REG_A5XX_RBBM_AHB_ERROR_STATUS 0x000004f4 1209*a26ae754SRob Clark 1210*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CNTL 0x00000464 1211*a26ae754SRob Clark 1212*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_LOAD_CMD0 0x00000465 1213*a26ae754SRob Clark 1214*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_LOAD_CMD1 0x00000466 1215*a26ae754SRob Clark 1216*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_LOAD_CMD2 0x00000467 1217*a26ae754SRob Clark 1218*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_LOAD_CMD3 0x00000468 1219*a26ae754SRob Clark 1220*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_LOAD_VALUE_LO 0x00000469 1221*a26ae754SRob Clark 1222*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_LOAD_VALUE_HI 0x0000046a 1223*a26ae754SRob Clark 1224*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RBBM_SEL_0 0x0000046b 1225*a26ae754SRob Clark 1226*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RBBM_SEL_1 0x0000046c 1227*a26ae754SRob Clark 1228*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RBBM_SEL_2 0x0000046d 1229*a26ae754SRob Clark 1230*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RBBM_SEL_3 0x0000046e 1231*a26ae754SRob Clark 1232*a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_GPU_BUSY_MASKED 0x0000046f 1233*a26ae754SRob Clark 1234*a26ae754SRob Clark #define REG_A5XX_RBBM_AHB_ERROR 0x000004ed 1235*a26ae754SRob Clark 1236*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_EVENT_LOGIC 0x00000504 1237*a26ae754SRob Clark 1238*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_OVER 0x00000505 1239*a26ae754SRob Clark 1240*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_COUNT0 0x00000506 1241*a26ae754SRob Clark 1242*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_COUNT1 0x00000507 1243*a26ae754SRob Clark 1244*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_COUNT2 0x00000508 1245*a26ae754SRob Clark 1246*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_COUNT3 0x00000509 1247*a26ae754SRob Clark 1248*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_COUNT4 0x0000050a 1249*a26ae754SRob Clark 1250*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_COUNT5 0x0000050b 1251*a26ae754SRob Clark 1252*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_TRACE_ADDR 0x0000050c 1253*a26ae754SRob Clark 1254*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_TRACE_BUF0 0x0000050d 1255*a26ae754SRob Clark 1256*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_TRACE_BUF1 0x0000050e 1257*a26ae754SRob Clark 1258*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_TRACE_BUF2 0x0000050f 1259*a26ae754SRob Clark 1260*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_TRACE_BUF3 0x00000510 1261*a26ae754SRob Clark 1262*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_TRACE_BUF4 0x00000511 1263*a26ae754SRob Clark 1264*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_MISR0 0x00000512 1265*a26ae754SRob Clark 1266*a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_MISR1 0x00000513 1267*a26ae754SRob Clark 1268*a26ae754SRob Clark #define REG_A5XX_RBBM_ISDB_CNT 0x00000533 1269*a26ae754SRob Clark 1270*a26ae754SRob Clark #define REG_A5XX_RBBM_SECVID_TRUST_CONFIG 0x0000f000 1271*a26ae754SRob Clark 1272*a26ae754SRob Clark #define REG_A5XX_RBBM_SECVID_TRUST_CNTL 0x0000f400 1273*a26ae754SRob Clark 1274*a26ae754SRob Clark #define REG_A5XX_RBBM_SECVID_TSB_TRUSTED_BASE_LO 0x0000f800 1275*a26ae754SRob Clark 1276*a26ae754SRob Clark #define REG_A5XX_RBBM_SECVID_TSB_TRUSTED_BASE_HI 0x0000f801 1277*a26ae754SRob Clark 1278*a26ae754SRob Clark #define REG_A5XX_RBBM_SECVID_TSB_TRUSTED_SIZE 0x0000f802 1279*a26ae754SRob Clark 1280*a26ae754SRob Clark #define REG_A5XX_RBBM_SECVID_TSB_CNTL 0x0000f803 1281*a26ae754SRob Clark 1282*a26ae754SRob Clark #define REG_A5XX_RBBM_SECVID_TSB_COMP_STATUS_LO 0x0000f804 1283*a26ae754SRob Clark 1284*a26ae754SRob Clark #define REG_A5XX_RBBM_SECVID_TSB_COMP_STATUS_HI 0x0000f805 1285*a26ae754SRob Clark 1286*a26ae754SRob Clark #define REG_A5XX_RBBM_SECVID_TSB_UCHE_STATUS_LO 0x0000f806 1287*a26ae754SRob Clark 1288*a26ae754SRob Clark #define REG_A5XX_RBBM_SECVID_TSB_UCHE_STATUS_HI 0x0000f807 1289*a26ae754SRob Clark 1290*a26ae754SRob Clark #define REG_A5XX_RBBM_SECVID_TSB_ADDR_MODE_CNTL 0x0000f810 1291*a26ae754SRob Clark 1292*a26ae754SRob Clark #define REG_A5XX_VSC_PIPE_DATA_LENGTH_0 0x00000c00 1293*a26ae754SRob Clark 1294*a26ae754SRob Clark #define REG_A5XX_VSC_PERFCTR_VSC_SEL_0 0x00000c60 1295*a26ae754SRob Clark 1296*a26ae754SRob Clark #define REG_A5XX_VSC_PERFCTR_VSC_SEL_1 0x00000c61 1297*a26ae754SRob Clark 1298*a26ae754SRob Clark #define REG_A5XX_VSC_BIN_SIZE 0x00000cdd 1299*a26ae754SRob Clark #define A5XX_VSC_BIN_SIZE_WINDOW_OFFSET_DISABLE 0x80000000 1300*a26ae754SRob Clark #define A5XX_VSC_BIN_SIZE_X__MASK 0x00007fff 1301*a26ae754SRob Clark #define A5XX_VSC_BIN_SIZE_X__SHIFT 0 1302*a26ae754SRob Clark static inline uint32_t A5XX_VSC_BIN_SIZE_X(uint32_t val) 1303*a26ae754SRob Clark { 1304*a26ae754SRob Clark return ((val) << A5XX_VSC_BIN_SIZE_X__SHIFT) & A5XX_VSC_BIN_SIZE_X__MASK; 1305*a26ae754SRob Clark } 1306*a26ae754SRob Clark #define A5XX_VSC_BIN_SIZE_Y__MASK 0x7fff0000 1307*a26ae754SRob Clark #define A5XX_VSC_BIN_SIZE_Y__SHIFT 16 1308*a26ae754SRob Clark static inline uint32_t A5XX_VSC_BIN_SIZE_Y(uint32_t val) 1309*a26ae754SRob Clark { 1310*a26ae754SRob Clark return ((val) << A5XX_VSC_BIN_SIZE_Y__SHIFT) & A5XX_VSC_BIN_SIZE_Y__MASK; 1311*a26ae754SRob Clark } 1312*a26ae754SRob Clark 1313*a26ae754SRob Clark #define REG_A5XX_GRAS_ADDR_MODE_CNTL 0x00000c81 1314*a26ae754SRob Clark 1315*a26ae754SRob Clark #define REG_A5XX_GRAS_PERFCTR_TSE_SEL_0 0x00000c90 1316*a26ae754SRob Clark 1317*a26ae754SRob Clark #define REG_A5XX_GRAS_PERFCTR_TSE_SEL_1 0x00000c91 1318*a26ae754SRob Clark 1319*a26ae754SRob Clark #define REG_A5XX_GRAS_PERFCTR_TSE_SEL_2 0x00000c92 1320*a26ae754SRob Clark 1321*a26ae754SRob Clark #define REG_A5XX_GRAS_PERFCTR_TSE_SEL_3 0x00000c93 1322*a26ae754SRob Clark 1323*a26ae754SRob Clark #define REG_A5XX_GRAS_PERFCTR_RAS_SEL_0 0x00000c94 1324*a26ae754SRob Clark 1325*a26ae754SRob Clark #define REG_A5XX_GRAS_PERFCTR_RAS_SEL_1 0x00000c95 1326*a26ae754SRob Clark 1327*a26ae754SRob Clark #define REG_A5XX_GRAS_PERFCTR_RAS_SEL_2 0x00000c96 1328*a26ae754SRob Clark 1329*a26ae754SRob Clark #define REG_A5XX_GRAS_PERFCTR_RAS_SEL_3 0x00000c97 1330*a26ae754SRob Clark 1331*a26ae754SRob Clark #define REG_A5XX_GRAS_PERFCTR_LRZ_SEL_0 0x00000c98 1332*a26ae754SRob Clark 1333*a26ae754SRob Clark #define REG_A5XX_GRAS_PERFCTR_LRZ_SEL_1 0x00000c99 1334*a26ae754SRob Clark 1335*a26ae754SRob Clark #define REG_A5XX_GRAS_PERFCTR_LRZ_SEL_2 0x00000c9a 1336*a26ae754SRob Clark 1337*a26ae754SRob Clark #define REG_A5XX_GRAS_PERFCTR_LRZ_SEL_3 0x00000c9b 1338*a26ae754SRob Clark 1339*a26ae754SRob Clark #define REG_A5XX_RB_DBG_ECO_CNTL 0x00000cc4 1340*a26ae754SRob Clark 1341*a26ae754SRob Clark #define REG_A5XX_RB_ADDR_MODE_CNTL 0x00000cc5 1342*a26ae754SRob Clark 1343*a26ae754SRob Clark #define REG_A5XX_RB_MODE_CNTL 0x00000cc6 1344*a26ae754SRob Clark 1345*a26ae754SRob Clark #define REG_A5XX_RB_CCU_CNTL 0x00000cc7 1346*a26ae754SRob Clark 1347*a26ae754SRob Clark #define REG_A5XX_RB_PERFCTR_RB_SEL_0 0x00000cd0 1348*a26ae754SRob Clark 1349*a26ae754SRob Clark #define REG_A5XX_RB_PERFCTR_RB_SEL_1 0x00000cd1 1350*a26ae754SRob Clark 1351*a26ae754SRob Clark #define REG_A5XX_RB_PERFCTR_RB_SEL_2 0x00000cd2 1352*a26ae754SRob Clark 1353*a26ae754SRob Clark #define REG_A5XX_RB_PERFCTR_RB_SEL_3 0x00000cd3 1354*a26ae754SRob Clark 1355*a26ae754SRob Clark #define REG_A5XX_RB_PERFCTR_RB_SEL_4 0x00000cd4 1356*a26ae754SRob Clark 1357*a26ae754SRob Clark #define REG_A5XX_RB_PERFCTR_RB_SEL_5 0x00000cd5 1358*a26ae754SRob Clark 1359*a26ae754SRob Clark #define REG_A5XX_RB_PERFCTR_RB_SEL_6 0x00000cd6 1360*a26ae754SRob Clark 1361*a26ae754SRob Clark #define REG_A5XX_RB_PERFCTR_RB_SEL_7 0x00000cd7 1362*a26ae754SRob Clark 1363*a26ae754SRob Clark #define REG_A5XX_RB_PERFCTR_CCU_SEL_0 0x00000cd8 1364*a26ae754SRob Clark 1365*a26ae754SRob Clark #define REG_A5XX_RB_PERFCTR_CCU_SEL_1 0x00000cd9 1366*a26ae754SRob Clark 1367*a26ae754SRob Clark #define REG_A5XX_RB_PERFCTR_CCU_SEL_2 0x00000cda 1368*a26ae754SRob Clark 1369*a26ae754SRob Clark #define REG_A5XX_RB_PERFCTR_CCU_SEL_3 0x00000cdb 1370*a26ae754SRob Clark 1371*a26ae754SRob Clark #define REG_A5XX_RB_POWERCTR_RB_SEL_0 0x00000ce0 1372*a26ae754SRob Clark 1373*a26ae754SRob Clark #define REG_A5XX_RB_POWERCTR_RB_SEL_1 0x00000ce1 1374*a26ae754SRob Clark 1375*a26ae754SRob Clark #define REG_A5XX_RB_POWERCTR_RB_SEL_2 0x00000ce2 1376*a26ae754SRob Clark 1377*a26ae754SRob Clark #define REG_A5XX_RB_POWERCTR_RB_SEL_3 0x00000ce3 1378*a26ae754SRob Clark 1379*a26ae754SRob Clark #define REG_A5XX_RB_POWERCTR_CCU_SEL_0 0x00000ce4 1380*a26ae754SRob Clark 1381*a26ae754SRob Clark #define REG_A5XX_RB_POWERCTR_CCU_SEL_1 0x00000ce5 1382*a26ae754SRob Clark 1383*a26ae754SRob Clark #define REG_A5XX_RB_PERFCTR_CMP_SEL_0 0x00000cec 1384*a26ae754SRob Clark 1385*a26ae754SRob Clark #define REG_A5XX_RB_PERFCTR_CMP_SEL_1 0x00000ced 1386*a26ae754SRob Clark 1387*a26ae754SRob Clark #define REG_A5XX_RB_PERFCTR_CMP_SEL_2 0x00000cee 1388*a26ae754SRob Clark 1389*a26ae754SRob Clark #define REG_A5XX_RB_PERFCTR_CMP_SEL_3 0x00000cef 1390*a26ae754SRob Clark 1391*a26ae754SRob Clark #define REG_A5XX_PC_DBG_ECO_CNTL 0x00000d00 1392*a26ae754SRob Clark #define A5XX_PC_DBG_ECO_CNTL_TWOPASSUSEWFI 0x00000100 1393*a26ae754SRob Clark 1394*a26ae754SRob Clark #define REG_A5XX_PC_ADDR_MODE_CNTL 0x00000d01 1395*a26ae754SRob Clark 1396*a26ae754SRob Clark #define REG_A5XX_PC_MODE_CNTL 0x00000d02 1397*a26ae754SRob Clark 1398*a26ae754SRob Clark #define REG_A5XX_UNKNOWN_0D08 0x00000d08 1399*a26ae754SRob Clark 1400*a26ae754SRob Clark #define REG_A5XX_UNKNOWN_0D09 0x00000d09 1401*a26ae754SRob Clark 1402*a26ae754SRob Clark #define REG_A5XX_PC_PERFCTR_PC_SEL_0 0x00000d10 1403*a26ae754SRob Clark 1404*a26ae754SRob Clark #define REG_A5XX_PC_PERFCTR_PC_SEL_1 0x00000d11 1405*a26ae754SRob Clark 1406*a26ae754SRob Clark #define REG_A5XX_PC_PERFCTR_PC_SEL_2 0x00000d12 1407*a26ae754SRob Clark 1408*a26ae754SRob Clark #define REG_A5XX_PC_PERFCTR_PC_SEL_3 0x00000d13 1409*a26ae754SRob Clark 1410*a26ae754SRob Clark #define REG_A5XX_PC_PERFCTR_PC_SEL_4 0x00000d14 1411*a26ae754SRob Clark 1412*a26ae754SRob Clark #define REG_A5XX_PC_PERFCTR_PC_SEL_5 0x00000d15 1413*a26ae754SRob Clark 1414*a26ae754SRob Clark #define REG_A5XX_PC_PERFCTR_PC_SEL_6 0x00000d16 1415*a26ae754SRob Clark 1416*a26ae754SRob Clark #define REG_A5XX_PC_PERFCTR_PC_SEL_7 0x00000d17 1417*a26ae754SRob Clark 1418*a26ae754SRob Clark #define REG_A5XX_HLSQ_TIMEOUT_THRESHOLD_0 0x00000e00 1419*a26ae754SRob Clark 1420*a26ae754SRob Clark #define REG_A5XX_HLSQ_TIMEOUT_THRESHOLD_1 0x00000e01 1421*a26ae754SRob Clark 1422*a26ae754SRob Clark #define REG_A5XX_HLSQ_ADDR_MODE_CNTL 0x00000e05 1423*a26ae754SRob Clark 1424*a26ae754SRob Clark #define REG_A5XX_HLSQ_MODE_CNTL 0x00000e06 1425*a26ae754SRob Clark 1426*a26ae754SRob Clark #define REG_A5XX_HLSQ_PERFCTR_HLSQ_SEL_0 0x00000e10 1427*a26ae754SRob Clark 1428*a26ae754SRob Clark #define REG_A5XX_HLSQ_PERFCTR_HLSQ_SEL_1 0x00000e11 1429*a26ae754SRob Clark 1430*a26ae754SRob Clark #define REG_A5XX_HLSQ_PERFCTR_HLSQ_SEL_2 0x00000e12 1431*a26ae754SRob Clark 1432*a26ae754SRob Clark #define REG_A5XX_HLSQ_PERFCTR_HLSQ_SEL_3 0x00000e13 1433*a26ae754SRob Clark 1434*a26ae754SRob Clark #define REG_A5XX_HLSQ_PERFCTR_HLSQ_SEL_4 0x00000e14 1435*a26ae754SRob Clark 1436*a26ae754SRob Clark #define REG_A5XX_HLSQ_PERFCTR_HLSQ_SEL_5 0x00000e15 1437*a26ae754SRob Clark 1438*a26ae754SRob Clark #define REG_A5XX_HLSQ_PERFCTR_HLSQ_SEL_6 0x00000e16 1439*a26ae754SRob Clark 1440*a26ae754SRob Clark #define REG_A5XX_HLSQ_PERFCTR_HLSQ_SEL_7 0x00000e17 1441*a26ae754SRob Clark 1442*a26ae754SRob Clark #define REG_A5XX_HLSQ_SPTP_RDSEL 0x00000f08 1443*a26ae754SRob Clark 1444*a26ae754SRob Clark #define REG_A5XX_HLSQ_DBG_READ_SEL 0x0000bc00 1445*a26ae754SRob Clark 1446*a26ae754SRob Clark #define REG_A5XX_HLSQ_DBG_AHB_READ_APERTURE 0x0000a000 1447*a26ae754SRob Clark 1448*a26ae754SRob Clark #define REG_A5XX_VFD_ADDR_MODE_CNTL 0x00000e41 1449*a26ae754SRob Clark 1450*a26ae754SRob Clark #define REG_A5XX_VFD_MODE_CNTL 0x00000e42 1451*a26ae754SRob Clark 1452*a26ae754SRob Clark #define REG_A5XX_VFD_PERFCTR_VFD_SEL_0 0x00000e50 1453*a26ae754SRob Clark 1454*a26ae754SRob Clark #define REG_A5XX_VFD_PERFCTR_VFD_SEL_1 0x00000e51 1455*a26ae754SRob Clark 1456*a26ae754SRob Clark #define REG_A5XX_VFD_PERFCTR_VFD_SEL_2 0x00000e52 1457*a26ae754SRob Clark 1458*a26ae754SRob Clark #define REG_A5XX_VFD_PERFCTR_VFD_SEL_3 0x00000e53 1459*a26ae754SRob Clark 1460*a26ae754SRob Clark #define REG_A5XX_VFD_PERFCTR_VFD_SEL_4 0x00000e54 1461*a26ae754SRob Clark 1462*a26ae754SRob Clark #define REG_A5XX_VFD_PERFCTR_VFD_SEL_5 0x00000e55 1463*a26ae754SRob Clark 1464*a26ae754SRob Clark #define REG_A5XX_VFD_PERFCTR_VFD_SEL_6 0x00000e56 1465*a26ae754SRob Clark 1466*a26ae754SRob Clark #define REG_A5XX_VFD_PERFCTR_VFD_SEL_7 0x00000e57 1467*a26ae754SRob Clark 1468*a26ae754SRob Clark #define REG_A5XX_VPC_DBG_ECO_CNTL 0x00000e60 1469*a26ae754SRob Clark 1470*a26ae754SRob Clark #define REG_A5XX_VPC_ADDR_MODE_CNTL 0x00000e61 1471*a26ae754SRob Clark 1472*a26ae754SRob Clark #define REG_A5XX_VPC_MODE_CNTL 0x00000e62 1473*a26ae754SRob Clark 1474*a26ae754SRob Clark #define REG_A5XX_VPC_PERFCTR_VPC_SEL_0 0x00000e64 1475*a26ae754SRob Clark 1476*a26ae754SRob Clark #define REG_A5XX_VPC_PERFCTR_VPC_SEL_1 0x00000e65 1477*a26ae754SRob Clark 1478*a26ae754SRob Clark #define REG_A5XX_VPC_PERFCTR_VPC_SEL_2 0x00000e66 1479*a26ae754SRob Clark 1480*a26ae754SRob Clark #define REG_A5XX_VPC_PERFCTR_VPC_SEL_3 0x00000e67 1481*a26ae754SRob Clark 1482*a26ae754SRob Clark #define REG_A5XX_UCHE_ADDR_MODE_CNTL 0x00000e80 1483*a26ae754SRob Clark 1484*a26ae754SRob Clark #define REG_A5XX_UCHE_SVM_CNTL 0x00000e82 1485*a26ae754SRob Clark 1486*a26ae754SRob Clark #define REG_A5XX_UCHE_WRITE_THRU_BASE_LO 0x00000e87 1487*a26ae754SRob Clark 1488*a26ae754SRob Clark #define REG_A5XX_UCHE_WRITE_THRU_BASE_HI 0x00000e88 1489*a26ae754SRob Clark 1490*a26ae754SRob Clark #define REG_A5XX_UCHE_TRAP_BASE_LO 0x00000e89 1491*a26ae754SRob Clark 1492*a26ae754SRob Clark #define REG_A5XX_UCHE_TRAP_BASE_HI 0x00000e8a 1493*a26ae754SRob Clark 1494*a26ae754SRob Clark #define REG_A5XX_UCHE_GMEM_RANGE_MIN_LO 0x00000e8b 1495*a26ae754SRob Clark 1496*a26ae754SRob Clark #define REG_A5XX_UCHE_GMEM_RANGE_MIN_HI 0x00000e8c 1497*a26ae754SRob Clark 1498*a26ae754SRob Clark #define REG_A5XX_UCHE_GMEM_RANGE_MAX_LO 0x00000e8d 1499*a26ae754SRob Clark 1500*a26ae754SRob Clark #define REG_A5XX_UCHE_GMEM_RANGE_MAX_HI 0x00000e8e 1501*a26ae754SRob Clark 1502*a26ae754SRob Clark #define REG_A5XX_UCHE_DBG_ECO_CNTL_2 0x00000e8f 1503*a26ae754SRob Clark 1504*a26ae754SRob Clark #define REG_A5XX_UCHE_DBG_ECO_CNTL 0x00000e90 1505*a26ae754SRob Clark 1506*a26ae754SRob Clark #define REG_A5XX_UCHE_CACHE_INVALIDATE_MIN_LO 0x00000e91 1507*a26ae754SRob Clark 1508*a26ae754SRob Clark #define REG_A5XX_UCHE_CACHE_INVALIDATE_MIN_HI 0x00000e92 1509*a26ae754SRob Clark 1510*a26ae754SRob Clark #define REG_A5XX_UCHE_CACHE_INVALIDATE_MAX_LO 0x00000e93 1511*a26ae754SRob Clark 1512*a26ae754SRob Clark #define REG_A5XX_UCHE_CACHE_INVALIDATE_MAX_HI 0x00000e94 1513*a26ae754SRob Clark 1514*a26ae754SRob Clark #define REG_A5XX_UCHE_CACHE_INVALIDATE 0x00000e95 1515*a26ae754SRob Clark 1516*a26ae754SRob Clark #define REG_A5XX_UCHE_CACHE_WAYS 0x00000e96 1517*a26ae754SRob Clark 1518*a26ae754SRob Clark #define REG_A5XX_UCHE_PERFCTR_UCHE_SEL_0 0x00000ea0 1519*a26ae754SRob Clark 1520*a26ae754SRob Clark #define REG_A5XX_UCHE_PERFCTR_UCHE_SEL_1 0x00000ea1 1521*a26ae754SRob Clark 1522*a26ae754SRob Clark #define REG_A5XX_UCHE_PERFCTR_UCHE_SEL_2 0x00000ea2 1523*a26ae754SRob Clark 1524*a26ae754SRob Clark #define REG_A5XX_UCHE_PERFCTR_UCHE_SEL_3 0x00000ea3 1525*a26ae754SRob Clark 1526*a26ae754SRob Clark #define REG_A5XX_UCHE_PERFCTR_UCHE_SEL_4 0x00000ea4 1527*a26ae754SRob Clark 1528*a26ae754SRob Clark #define REG_A5XX_UCHE_PERFCTR_UCHE_SEL_5 0x00000ea5 1529*a26ae754SRob Clark 1530*a26ae754SRob Clark #define REG_A5XX_UCHE_PERFCTR_UCHE_SEL_6 0x00000ea6 1531*a26ae754SRob Clark 1532*a26ae754SRob Clark #define REG_A5XX_UCHE_PERFCTR_UCHE_SEL_7 0x00000ea7 1533*a26ae754SRob Clark 1534*a26ae754SRob Clark #define REG_A5XX_UCHE_POWERCTR_UCHE_SEL_0 0x00000ea8 1535*a26ae754SRob Clark 1536*a26ae754SRob Clark #define REG_A5XX_UCHE_POWERCTR_UCHE_SEL_1 0x00000ea9 1537*a26ae754SRob Clark 1538*a26ae754SRob Clark #define REG_A5XX_UCHE_POWERCTR_UCHE_SEL_2 0x00000eaa 1539*a26ae754SRob Clark 1540*a26ae754SRob Clark #define REG_A5XX_UCHE_POWERCTR_UCHE_SEL_3 0x00000eab 1541*a26ae754SRob Clark 1542*a26ae754SRob Clark #define REG_A5XX_UCHE_TRAP_LOG_LO 0x00000eb1 1543*a26ae754SRob Clark 1544*a26ae754SRob Clark #define REG_A5XX_UCHE_TRAP_LOG_HI 0x00000eb2 1545*a26ae754SRob Clark 1546*a26ae754SRob Clark #define REG_A5XX_SP_DBG_ECO_CNTL 0x00000ec0 1547*a26ae754SRob Clark 1548*a26ae754SRob Clark #define REG_A5XX_SP_ADDR_MODE_CNTL 0x00000ec1 1549*a26ae754SRob Clark 1550*a26ae754SRob Clark #define REG_A5XX_SP_MODE_CNTL 0x00000ec2 1551*a26ae754SRob Clark 1552*a26ae754SRob Clark #define REG_A5XX_SP_PERFCTR_SP_SEL_0 0x00000ed0 1553*a26ae754SRob Clark 1554*a26ae754SRob Clark #define REG_A5XX_SP_PERFCTR_SP_SEL_1 0x00000ed1 1555*a26ae754SRob Clark 1556*a26ae754SRob Clark #define REG_A5XX_SP_PERFCTR_SP_SEL_2 0x00000ed2 1557*a26ae754SRob Clark 1558*a26ae754SRob Clark #define REG_A5XX_SP_PERFCTR_SP_SEL_3 0x00000ed3 1559*a26ae754SRob Clark 1560*a26ae754SRob Clark #define REG_A5XX_SP_PERFCTR_SP_SEL_4 0x00000ed4 1561*a26ae754SRob Clark 1562*a26ae754SRob Clark #define REG_A5XX_SP_PERFCTR_SP_SEL_5 0x00000ed5 1563*a26ae754SRob Clark 1564*a26ae754SRob Clark #define REG_A5XX_SP_PERFCTR_SP_SEL_6 0x00000ed6 1565*a26ae754SRob Clark 1566*a26ae754SRob Clark #define REG_A5XX_SP_PERFCTR_SP_SEL_7 0x00000ed7 1567*a26ae754SRob Clark 1568*a26ae754SRob Clark #define REG_A5XX_SP_PERFCTR_SP_SEL_8 0x00000ed8 1569*a26ae754SRob Clark 1570*a26ae754SRob Clark #define REG_A5XX_SP_PERFCTR_SP_SEL_9 0x00000ed9 1571*a26ae754SRob Clark 1572*a26ae754SRob Clark #define REG_A5XX_SP_PERFCTR_SP_SEL_10 0x00000eda 1573*a26ae754SRob Clark 1574*a26ae754SRob Clark #define REG_A5XX_SP_PERFCTR_SP_SEL_11 0x00000edb 1575*a26ae754SRob Clark 1576*a26ae754SRob Clark #define REG_A5XX_SP_POWERCTR_SP_SEL_0 0x00000edc 1577*a26ae754SRob Clark 1578*a26ae754SRob Clark #define REG_A5XX_SP_POWERCTR_SP_SEL_1 0x00000edd 1579*a26ae754SRob Clark 1580*a26ae754SRob Clark #define REG_A5XX_SP_POWERCTR_SP_SEL_2 0x00000ede 1581*a26ae754SRob Clark 1582*a26ae754SRob Clark #define REG_A5XX_SP_POWERCTR_SP_SEL_3 0x00000edf 1583*a26ae754SRob Clark 1584*a26ae754SRob Clark #define REG_A5XX_TPL1_ADDR_MODE_CNTL 0x00000f01 1585*a26ae754SRob Clark 1586*a26ae754SRob Clark #define REG_A5XX_TPL1_MODE_CNTL 0x00000f02 1587*a26ae754SRob Clark 1588*a26ae754SRob Clark #define REG_A5XX_TPL1_PERFCTR_TP_SEL_0 0x00000f10 1589*a26ae754SRob Clark 1590*a26ae754SRob Clark #define REG_A5XX_TPL1_PERFCTR_TP_SEL_1 0x00000f11 1591*a26ae754SRob Clark 1592*a26ae754SRob Clark #define REG_A5XX_TPL1_PERFCTR_TP_SEL_2 0x00000f12 1593*a26ae754SRob Clark 1594*a26ae754SRob Clark #define REG_A5XX_TPL1_PERFCTR_TP_SEL_3 0x00000f13 1595*a26ae754SRob Clark 1596*a26ae754SRob Clark #define REG_A5XX_TPL1_PERFCTR_TP_SEL_4 0x00000f14 1597*a26ae754SRob Clark 1598*a26ae754SRob Clark #define REG_A5XX_TPL1_PERFCTR_TP_SEL_5 0x00000f15 1599*a26ae754SRob Clark 1600*a26ae754SRob Clark #define REG_A5XX_TPL1_PERFCTR_TP_SEL_6 0x00000f16 1601*a26ae754SRob Clark 1602*a26ae754SRob Clark #define REG_A5XX_TPL1_PERFCTR_TP_SEL_7 0x00000f17 1603*a26ae754SRob Clark 1604*a26ae754SRob Clark #define REG_A5XX_TPL1_POWERCTR_TP_SEL_0 0x00000f18 1605*a26ae754SRob Clark 1606*a26ae754SRob Clark #define REG_A5XX_TPL1_POWERCTR_TP_SEL_1 0x00000f19 1607*a26ae754SRob Clark 1608*a26ae754SRob Clark #define REG_A5XX_TPL1_POWERCTR_TP_SEL_2 0x00000f1a 1609*a26ae754SRob Clark 1610*a26ae754SRob Clark #define REG_A5XX_TPL1_POWERCTR_TP_SEL_3 0x00000f1b 1611*a26ae754SRob Clark 1612*a26ae754SRob Clark #define REG_A5XX_VBIF_VERSION 0x00003000 1613*a26ae754SRob Clark 1614*a26ae754SRob Clark #define REG_A5XX_VBIF_CLKON 0x00003001 1615*a26ae754SRob Clark 1616*a26ae754SRob Clark #define REG_A5XX_VBIF_ABIT_SORT 0x00003028 1617*a26ae754SRob Clark 1618*a26ae754SRob Clark #define REG_A5XX_VBIF_ABIT_SORT_CONF 0x00003029 1619*a26ae754SRob Clark 1620*a26ae754SRob Clark #define REG_A5XX_VBIF_ROUND_ROBIN_QOS_ARB 0x00003049 1621*a26ae754SRob Clark 1622*a26ae754SRob Clark #define REG_A5XX_VBIF_GATE_OFF_WRREQ_EN 0x0000302a 1623*a26ae754SRob Clark 1624*a26ae754SRob Clark #define REG_A5XX_VBIF_IN_RD_LIM_CONF0 0x0000302c 1625*a26ae754SRob Clark 1626*a26ae754SRob Clark #define REG_A5XX_VBIF_IN_RD_LIM_CONF1 0x0000302d 1627*a26ae754SRob Clark 1628*a26ae754SRob Clark #define REG_A5XX_VBIF_XIN_HALT_CTRL0 0x00003080 1629*a26ae754SRob Clark 1630*a26ae754SRob Clark #define REG_A5XX_VBIF_XIN_HALT_CTRL1 0x00003081 1631*a26ae754SRob Clark 1632*a26ae754SRob Clark #define REG_A5XX_VBIF_TEST_BUS_OUT_CTRL 0x00003084 1633*a26ae754SRob Clark 1634*a26ae754SRob Clark #define REG_A5XX_VBIF_TEST_BUS1_CTRL0 0x00003085 1635*a26ae754SRob Clark 1636*a26ae754SRob Clark #define REG_A5XX_VBIF_TEST_BUS1_CTRL1 0x00003086 1637*a26ae754SRob Clark 1638*a26ae754SRob Clark #define REG_A5XX_VBIF_TEST_BUS2_CTRL0 0x00003087 1639*a26ae754SRob Clark 1640*a26ae754SRob Clark #define REG_A5XX_VBIF_TEST_BUS2_CTRL1 0x00003088 1641*a26ae754SRob Clark 1642*a26ae754SRob Clark #define REG_A5XX_VBIF_TEST_BUS_OUT 0x0000308c 1643*a26ae754SRob Clark 1644*a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_CNT_SEL0 0x000030d0 1645*a26ae754SRob Clark 1646*a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_CNT_SEL1 0x000030d1 1647*a26ae754SRob Clark 1648*a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_CNT_SEL2 0x000030d2 1649*a26ae754SRob Clark 1650*a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_CNT_SEL3 0x000030d3 1651*a26ae754SRob Clark 1652*a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_CNT_LOW0 0x000030d8 1653*a26ae754SRob Clark 1654*a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_CNT_LOW1 0x000030d9 1655*a26ae754SRob Clark 1656*a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_CNT_LOW2 0x000030da 1657*a26ae754SRob Clark 1658*a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_CNT_LOW3 0x000030db 1659*a26ae754SRob Clark 1660*a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_CNT_HIGH0 0x000030e0 1661*a26ae754SRob Clark 1662*a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_CNT_HIGH1 0x000030e1 1663*a26ae754SRob Clark 1664*a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_CNT_HIGH2 0x000030e2 1665*a26ae754SRob Clark 1666*a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_CNT_HIGH3 0x000030e3 1667*a26ae754SRob Clark 1668*a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_PWR_CNT_EN0 0x00003100 1669*a26ae754SRob Clark 1670*a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_PWR_CNT_EN1 0x00003101 1671*a26ae754SRob Clark 1672*a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_PWR_CNT_EN2 0x00003102 1673*a26ae754SRob Clark 1674*a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_PWR_CNT_LOW0 0x00003110 1675*a26ae754SRob Clark 1676*a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_PWR_CNT_LOW1 0x00003111 1677*a26ae754SRob Clark 1678*a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_PWR_CNT_LOW2 0x00003112 1679*a26ae754SRob Clark 1680*a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_PWR_CNT_HIGH0 0x00003118 1681*a26ae754SRob Clark 1682*a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_PWR_CNT_HIGH1 0x00003119 1683*a26ae754SRob Clark 1684*a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_PWR_CNT_HIGH2 0x0000311a 1685*a26ae754SRob Clark 1686*a26ae754SRob Clark #define REG_A5XX_GPMU_INST_RAM_BASE 0x00008800 1687*a26ae754SRob Clark 1688*a26ae754SRob Clark #define REG_A5XX_GPMU_DATA_RAM_BASE 0x00009800 1689*a26ae754SRob Clark 1690*a26ae754SRob Clark #define REG_A5XX_GPMU_SP_POWER_CNTL 0x0000a881 1691*a26ae754SRob Clark 1692*a26ae754SRob Clark #define REG_A5XX_GPMU_RBCCU_CLOCK_CNTL 0x0000a886 1693*a26ae754SRob Clark 1694*a26ae754SRob Clark #define REG_A5XX_GPMU_RBCCU_POWER_CNTL 0x0000a887 1695*a26ae754SRob Clark 1696*a26ae754SRob Clark #define REG_A5XX_GPMU_SP_PWR_CLK_STATUS 0x0000a88b 1697*a26ae754SRob Clark #define A5XX_GPMU_SP_PWR_CLK_STATUS_PWR_ON 0x00100000 1698*a26ae754SRob Clark 1699*a26ae754SRob Clark #define REG_A5XX_GPMU_RBCCU_PWR_CLK_STATUS 0x0000a88d 1700*a26ae754SRob Clark #define A5XX_GPMU_RBCCU_PWR_CLK_STATUS_PWR_ON 0x00100000 1701*a26ae754SRob Clark 1702*a26ae754SRob Clark #define REG_A5XX_GPMU_PWR_COL_STAGGER_DELAY 0x0000a891 1703*a26ae754SRob Clark 1704*a26ae754SRob Clark #define REG_A5XX_GPMU_PWR_COL_INTER_FRAME_CTRL 0x0000a892 1705*a26ae754SRob Clark 1706*a26ae754SRob Clark #define REG_A5XX_GPMU_PWR_COL_INTER_FRAME_HYST 0x0000a893 1707*a26ae754SRob Clark 1708*a26ae754SRob Clark #define REG_A5XX_GPMU_PWR_COL_BINNING_CTRL 0x0000a894 1709*a26ae754SRob Clark 1710*a26ae754SRob Clark #define REG_A5XX_GPMU_CLOCK_THROTTLE_CTRL 0x0000a8a3 1711*a26ae754SRob Clark 1712*a26ae754SRob Clark #define REG_A5XX_GPMU_WFI_CONFIG 0x0000a8c1 1713*a26ae754SRob Clark 1714*a26ae754SRob Clark #define REG_A5XX_GPMU_RBBM_INTR_INFO 0x0000a8d6 1715*a26ae754SRob Clark 1716*a26ae754SRob Clark #define REG_A5XX_GPMU_CM3_SYSRESET 0x0000a8d8 1717*a26ae754SRob Clark 1718*a26ae754SRob Clark #define REG_A5XX_GPMU_GENERAL_0 0x0000a8e0 1719*a26ae754SRob Clark 1720*a26ae754SRob Clark #define REG_A5XX_GPMU_GENERAL_1 0x0000a8e1 1721*a26ae754SRob Clark 1722*a26ae754SRob Clark #define REG_A5XX_SP_POWER_COUNTER_0_LO 0x0000a840 1723*a26ae754SRob Clark 1724*a26ae754SRob Clark #define REG_A5XX_SP_POWER_COUNTER_0_HI 0x0000a841 1725*a26ae754SRob Clark 1726*a26ae754SRob Clark #define REG_A5XX_SP_POWER_COUNTER_1_LO 0x0000a842 1727*a26ae754SRob Clark 1728*a26ae754SRob Clark #define REG_A5XX_SP_POWER_COUNTER_1_HI 0x0000a843 1729*a26ae754SRob Clark 1730*a26ae754SRob Clark #define REG_A5XX_SP_POWER_COUNTER_2_LO 0x0000a844 1731*a26ae754SRob Clark 1732*a26ae754SRob Clark #define REG_A5XX_SP_POWER_COUNTER_2_HI 0x0000a845 1733*a26ae754SRob Clark 1734*a26ae754SRob Clark #define REG_A5XX_SP_POWER_COUNTER_3_LO 0x0000a846 1735*a26ae754SRob Clark 1736*a26ae754SRob Clark #define REG_A5XX_SP_POWER_COUNTER_3_HI 0x0000a847 1737*a26ae754SRob Clark 1738*a26ae754SRob Clark #define REG_A5XX_TP_POWER_COUNTER_0_LO 0x0000a848 1739*a26ae754SRob Clark 1740*a26ae754SRob Clark #define REG_A5XX_TP_POWER_COUNTER_0_HI 0x0000a849 1741*a26ae754SRob Clark 1742*a26ae754SRob Clark #define REG_A5XX_TP_POWER_COUNTER_1_LO 0x0000a84a 1743*a26ae754SRob Clark 1744*a26ae754SRob Clark #define REG_A5XX_TP_POWER_COUNTER_1_HI 0x0000a84b 1745*a26ae754SRob Clark 1746*a26ae754SRob Clark #define REG_A5XX_TP_POWER_COUNTER_2_LO 0x0000a84c 1747*a26ae754SRob Clark 1748*a26ae754SRob Clark #define REG_A5XX_TP_POWER_COUNTER_2_HI 0x0000a84d 1749*a26ae754SRob Clark 1750*a26ae754SRob Clark #define REG_A5XX_TP_POWER_COUNTER_3_LO 0x0000a84e 1751*a26ae754SRob Clark 1752*a26ae754SRob Clark #define REG_A5XX_TP_POWER_COUNTER_3_HI 0x0000a84f 1753*a26ae754SRob Clark 1754*a26ae754SRob Clark #define REG_A5XX_RB_POWER_COUNTER_0_LO 0x0000a850 1755*a26ae754SRob Clark 1756*a26ae754SRob Clark #define REG_A5XX_RB_POWER_COUNTER_0_HI 0x0000a851 1757*a26ae754SRob Clark 1758*a26ae754SRob Clark #define REG_A5XX_RB_POWER_COUNTER_1_LO 0x0000a852 1759*a26ae754SRob Clark 1760*a26ae754SRob Clark #define REG_A5XX_RB_POWER_COUNTER_1_HI 0x0000a853 1761*a26ae754SRob Clark 1762*a26ae754SRob Clark #define REG_A5XX_RB_POWER_COUNTER_2_LO 0x0000a854 1763*a26ae754SRob Clark 1764*a26ae754SRob Clark #define REG_A5XX_RB_POWER_COUNTER_2_HI 0x0000a855 1765*a26ae754SRob Clark 1766*a26ae754SRob Clark #define REG_A5XX_RB_POWER_COUNTER_3_LO 0x0000a856 1767*a26ae754SRob Clark 1768*a26ae754SRob Clark #define REG_A5XX_RB_POWER_COUNTER_3_HI 0x0000a857 1769*a26ae754SRob Clark 1770*a26ae754SRob Clark #define REG_A5XX_CCU_POWER_COUNTER_0_LO 0x0000a858 1771*a26ae754SRob Clark 1772*a26ae754SRob Clark #define REG_A5XX_CCU_POWER_COUNTER_0_HI 0x0000a859 1773*a26ae754SRob Clark 1774*a26ae754SRob Clark #define REG_A5XX_CCU_POWER_COUNTER_1_LO 0x0000a85a 1775*a26ae754SRob Clark 1776*a26ae754SRob Clark #define REG_A5XX_CCU_POWER_COUNTER_1_HI 0x0000a85b 1777*a26ae754SRob Clark 1778*a26ae754SRob Clark #define REG_A5XX_UCHE_POWER_COUNTER_0_LO 0x0000a85c 1779*a26ae754SRob Clark 1780*a26ae754SRob Clark #define REG_A5XX_UCHE_POWER_COUNTER_0_HI 0x0000a85d 1781*a26ae754SRob Clark 1782*a26ae754SRob Clark #define REG_A5XX_UCHE_POWER_COUNTER_1_LO 0x0000a85e 1783*a26ae754SRob Clark 1784*a26ae754SRob Clark #define REG_A5XX_UCHE_POWER_COUNTER_1_HI 0x0000a85f 1785*a26ae754SRob Clark 1786*a26ae754SRob Clark #define REG_A5XX_UCHE_POWER_COUNTER_2_LO 0x0000a860 1787*a26ae754SRob Clark 1788*a26ae754SRob Clark #define REG_A5XX_UCHE_POWER_COUNTER_2_HI 0x0000a861 1789*a26ae754SRob Clark 1790*a26ae754SRob Clark #define REG_A5XX_UCHE_POWER_COUNTER_3_LO 0x0000a862 1791*a26ae754SRob Clark 1792*a26ae754SRob Clark #define REG_A5XX_UCHE_POWER_COUNTER_3_HI 0x0000a863 1793*a26ae754SRob Clark 1794*a26ae754SRob Clark #define REG_A5XX_CP_POWER_COUNTER_0_LO 0x0000a864 1795*a26ae754SRob Clark 1796*a26ae754SRob Clark #define REG_A5XX_CP_POWER_COUNTER_0_HI 0x0000a865 1797*a26ae754SRob Clark 1798*a26ae754SRob Clark #define REG_A5XX_CP_POWER_COUNTER_1_LO 0x0000a866 1799*a26ae754SRob Clark 1800*a26ae754SRob Clark #define REG_A5XX_CP_POWER_COUNTER_1_HI 0x0000a867 1801*a26ae754SRob Clark 1802*a26ae754SRob Clark #define REG_A5XX_CP_POWER_COUNTER_2_LO 0x0000a868 1803*a26ae754SRob Clark 1804*a26ae754SRob Clark #define REG_A5XX_CP_POWER_COUNTER_2_HI 0x0000a869 1805*a26ae754SRob Clark 1806*a26ae754SRob Clark #define REG_A5XX_CP_POWER_COUNTER_3_LO 0x0000a86a 1807*a26ae754SRob Clark 1808*a26ae754SRob Clark #define REG_A5XX_CP_POWER_COUNTER_3_HI 0x0000a86b 1809*a26ae754SRob Clark 1810*a26ae754SRob Clark #define REG_A5XX_GPMU_POWER_COUNTER_0_LO 0x0000a86c 1811*a26ae754SRob Clark 1812*a26ae754SRob Clark #define REG_A5XX_GPMU_POWER_COUNTER_0_HI 0x0000a86d 1813*a26ae754SRob Clark 1814*a26ae754SRob Clark #define REG_A5XX_GPMU_POWER_COUNTER_1_LO 0x0000a86e 1815*a26ae754SRob Clark 1816*a26ae754SRob Clark #define REG_A5XX_GPMU_POWER_COUNTER_1_HI 0x0000a86f 1817*a26ae754SRob Clark 1818*a26ae754SRob Clark #define REG_A5XX_GPMU_POWER_COUNTER_2_LO 0x0000a870 1819*a26ae754SRob Clark 1820*a26ae754SRob Clark #define REG_A5XX_GPMU_POWER_COUNTER_2_HI 0x0000a871 1821*a26ae754SRob Clark 1822*a26ae754SRob Clark #define REG_A5XX_GPMU_POWER_COUNTER_3_LO 0x0000a872 1823*a26ae754SRob Clark 1824*a26ae754SRob Clark #define REG_A5XX_GPMU_POWER_COUNTER_3_HI 0x0000a873 1825*a26ae754SRob Clark 1826*a26ae754SRob Clark #define REG_A5XX_GPMU_POWER_COUNTER_4_LO 0x0000a874 1827*a26ae754SRob Clark 1828*a26ae754SRob Clark #define REG_A5XX_GPMU_POWER_COUNTER_4_HI 0x0000a875 1829*a26ae754SRob Clark 1830*a26ae754SRob Clark #define REG_A5XX_GPMU_POWER_COUNTER_5_LO 0x0000a876 1831*a26ae754SRob Clark 1832*a26ae754SRob Clark #define REG_A5XX_GPMU_POWER_COUNTER_5_HI 0x0000a877 1833*a26ae754SRob Clark 1834*a26ae754SRob Clark #define REG_A5XX_GPMU_POWER_COUNTER_ENABLE 0x0000a878 1835*a26ae754SRob Clark 1836*a26ae754SRob Clark #define REG_A5XX_GPMU_ALWAYS_ON_COUNTER_LO 0x0000a879 1837*a26ae754SRob Clark 1838*a26ae754SRob Clark #define REG_A5XX_GPMU_ALWAYS_ON_COUNTER_HI 0x0000a87a 1839*a26ae754SRob Clark 1840*a26ae754SRob Clark #define REG_A5XX_GPMU_ALWAYS_ON_COUNTER_RESET 0x0000a87b 1841*a26ae754SRob Clark 1842*a26ae754SRob Clark #define REG_A5XX_GPMU_POWER_COUNTER_SELECT_0 0x0000a87c 1843*a26ae754SRob Clark 1844*a26ae754SRob Clark #define REG_A5XX_GPMU_POWER_COUNTER_SELECT_1 0x0000a87d 1845*a26ae754SRob Clark 1846*a26ae754SRob Clark #define REG_A5XX_GPMU_CLOCK_THROTTLE_CTRL 0x0000a8a3 1847*a26ae754SRob Clark 1848*a26ae754SRob Clark #define REG_A5XX_GPMU_THROTTLE_UNMASK_FORCE_CTRL 0x0000a8a8 1849*a26ae754SRob Clark 1850*a26ae754SRob Clark #define REG_A5XX_GPMU_TEMP_SENSOR_ID 0x0000ac00 1851*a26ae754SRob Clark 1852*a26ae754SRob Clark #define REG_A5XX_GPMU_TEMP_SENSOR_CONFIG 0x0000ac01 1853*a26ae754SRob Clark 1854*a26ae754SRob Clark #define REG_A5XX_GPMU_TEMP_VAL 0x0000ac02 1855*a26ae754SRob Clark 1856*a26ae754SRob Clark #define REG_A5XX_GPMU_DELTA_TEMP_THRESHOLD 0x0000ac03 1857*a26ae754SRob Clark 1858*a26ae754SRob Clark #define REG_A5XX_GPMU_TEMP_THRESHOLD_INTR_STATUS 0x0000ac05 1859*a26ae754SRob Clark 1860*a26ae754SRob Clark #define REG_A5XX_GPMU_TEMP_THRESHOLD_INTR_EN_MASK 0x0000ac06 1861*a26ae754SRob Clark 1862*a26ae754SRob Clark #define REG_A5XX_GPMU_LEAKAGE_TEMP_COEFF_0_1 0x0000ac40 1863*a26ae754SRob Clark 1864*a26ae754SRob Clark #define REG_A5XX_GPMU_LEAKAGE_TEMP_COEFF_2_3 0x0000ac41 1865*a26ae754SRob Clark 1866*a26ae754SRob Clark #define REG_A5XX_GPMU_LEAKAGE_VTG_COEFF_0_1 0x0000ac42 1867*a26ae754SRob Clark 1868*a26ae754SRob Clark #define REG_A5XX_GPMU_LEAKAGE_VTG_COEFF_2_3 0x0000ac43 1869*a26ae754SRob Clark 1870*a26ae754SRob Clark #define REG_A5XX_GPMU_BASE_LEAKAGE 0x0000ac46 1871*a26ae754SRob Clark 1872*a26ae754SRob Clark #define REG_A5XX_GPMU_GPMU_VOLTAGE 0x0000ac60 1873*a26ae754SRob Clark 1874*a26ae754SRob Clark #define REG_A5XX_GPMU_GPMU_VOLTAGE_INTR_STATUS 0x0000ac61 1875*a26ae754SRob Clark 1876*a26ae754SRob Clark #define REG_A5XX_GPMU_GPMU_VOLTAGE_INTR_EN_MASK 0x0000ac62 1877*a26ae754SRob Clark 1878*a26ae754SRob Clark #define REG_A5XX_GPMU_GPMU_PWR_THRESHOLD 0x0000ac80 1879*a26ae754SRob Clark 1880*a26ae754SRob Clark #define REG_A5XX_GPMU_GPMU_LLM_GLM_SLEEP_CTRL 0x0000acc4 1881*a26ae754SRob Clark 1882*a26ae754SRob Clark #define REG_A5XX_GPMU_GPMU_LLM_GLM_SLEEP_STATUS 0x0000acc5 1883*a26ae754SRob Clark 1884*a26ae754SRob Clark #define REG_A5XX_GDPM_CONFIG1 0x0000b80c 1885*a26ae754SRob Clark 1886*a26ae754SRob Clark #define REG_A5XX_GDPM_CONFIG2 0x0000b80d 1887*a26ae754SRob Clark 1888*a26ae754SRob Clark #define REG_A5XX_GDPM_INT_EN 0x0000b80f 1889*a26ae754SRob Clark 1890*a26ae754SRob Clark #define REG_A5XX_GDPM_INT_MASK 0x0000b811 1891*a26ae754SRob Clark 1892*a26ae754SRob Clark #define REG_A5XX_GPMU_BEC_ENABLE 0x0000b9a0 1893*a26ae754SRob Clark 1894*a26ae754SRob Clark #define REG_A5XX_GPU_CS_SENSOR_GENERAL_STATUS 0x0000c41a 1895*a26ae754SRob Clark 1896*a26ae754SRob Clark #define REG_A5XX_GPU_CS_AMP_CALIBRATION_STATUS1_0 0x0000c41d 1897*a26ae754SRob Clark 1898*a26ae754SRob Clark #define REG_A5XX_GPU_CS_AMP_CALIBRATION_STATUS1_2 0x0000c41f 1899*a26ae754SRob Clark 1900*a26ae754SRob Clark #define REG_A5XX_GPU_CS_AMP_CALIBRATION_STATUS1_4 0x0000c421 1901*a26ae754SRob Clark 1902*a26ae754SRob Clark #define REG_A5XX_GPU_CS_ENABLE_REG 0x0000c520 1903*a26ae754SRob Clark 1904*a26ae754SRob Clark #define REG_A5XX_GPU_CS_AMP_CALIBRATION_CONTROL1 0x0000c557 1905*a26ae754SRob Clark 1906*a26ae754SRob Clark #define REG_A5XX_GRAS_CL_CNTL 0x0000e000 1907*a26ae754SRob Clark 1908*a26ae754SRob Clark #define REG_A5XX_UNKNOWN_E001 0x0000e001 1909*a26ae754SRob Clark 1910*a26ae754SRob Clark #define REG_A5XX_UNKNOWN_E004 0x0000e004 1911*a26ae754SRob Clark 1912*a26ae754SRob Clark #define REG_A5XX_GRAS_CNTL 0x0000e005 1913*a26ae754SRob Clark #define A5XX_GRAS_CNTL_VARYING 0x00000001 1914*a26ae754SRob Clark 1915*a26ae754SRob Clark #define REG_A5XX_GRAS_CL_GUARDBAND_CLIP_ADJ 0x0000e006 1916*a26ae754SRob Clark #define A5XX_GRAS_CL_GUARDBAND_CLIP_ADJ_HORZ__MASK 0x000003ff 1917*a26ae754SRob Clark #define A5XX_GRAS_CL_GUARDBAND_CLIP_ADJ_HORZ__SHIFT 0 1918*a26ae754SRob Clark static inline uint32_t A5XX_GRAS_CL_GUARDBAND_CLIP_ADJ_HORZ(uint32_t val) 1919*a26ae754SRob Clark { 1920*a26ae754SRob Clark return ((val) << A5XX_GRAS_CL_GUARDBAND_CLIP_ADJ_HORZ__SHIFT) & A5XX_GRAS_CL_GUARDBAND_CLIP_ADJ_HORZ__MASK; 1921*a26ae754SRob Clark } 1922*a26ae754SRob Clark #define A5XX_GRAS_CL_GUARDBAND_CLIP_ADJ_VERT__MASK 0x000ffc00 1923*a26ae754SRob Clark #define A5XX_GRAS_CL_GUARDBAND_CLIP_ADJ_VERT__SHIFT 10 1924*a26ae754SRob Clark static inline uint32_t A5XX_GRAS_CL_GUARDBAND_CLIP_ADJ_VERT(uint32_t val) 1925*a26ae754SRob Clark { 1926*a26ae754SRob Clark return ((val) << A5XX_GRAS_CL_GUARDBAND_CLIP_ADJ_VERT__SHIFT) & A5XX_GRAS_CL_GUARDBAND_CLIP_ADJ_VERT__MASK; 1927*a26ae754SRob Clark } 1928*a26ae754SRob Clark 1929*a26ae754SRob Clark #define REG_A5XX_GRAS_CL_VPORT_XOFFSET_0 0x0000e010 1930*a26ae754SRob Clark #define A5XX_GRAS_CL_VPORT_XOFFSET_0__MASK 0xffffffff 1931*a26ae754SRob Clark #define A5XX_GRAS_CL_VPORT_XOFFSET_0__SHIFT 0 1932*a26ae754SRob Clark static inline uint32_t A5XX_GRAS_CL_VPORT_XOFFSET_0(float val) 1933*a26ae754SRob Clark { 1934*a26ae754SRob Clark return ((fui(val)) << A5XX_GRAS_CL_VPORT_XOFFSET_0__SHIFT) & A5XX_GRAS_CL_VPORT_XOFFSET_0__MASK; 1935*a26ae754SRob Clark } 1936*a26ae754SRob Clark 1937*a26ae754SRob Clark #define REG_A5XX_GRAS_CL_VPORT_XSCALE_0 0x0000e011 1938*a26ae754SRob Clark #define A5XX_GRAS_CL_VPORT_XSCALE_0__MASK 0xffffffff 1939*a26ae754SRob Clark #define A5XX_GRAS_CL_VPORT_XSCALE_0__SHIFT 0 1940*a26ae754SRob Clark static inline uint32_t A5XX_GRAS_CL_VPORT_XSCALE_0(float val) 1941*a26ae754SRob Clark { 1942*a26ae754SRob Clark return ((fui(val)) << A5XX_GRAS_CL_VPORT_XSCALE_0__SHIFT) & A5XX_GRAS_CL_VPORT_XSCALE_0__MASK; 1943*a26ae754SRob Clark } 1944*a26ae754SRob Clark 1945*a26ae754SRob Clark #define REG_A5XX_GRAS_CL_VPORT_YOFFSET_0 0x0000e012 1946*a26ae754SRob Clark #define A5XX_GRAS_CL_VPORT_YOFFSET_0__MASK 0xffffffff 1947*a26ae754SRob Clark #define A5XX_GRAS_CL_VPORT_YOFFSET_0__SHIFT 0 1948*a26ae754SRob Clark static inline uint32_t A5XX_GRAS_CL_VPORT_YOFFSET_0(float val) 1949*a26ae754SRob Clark { 1950*a26ae754SRob Clark return ((fui(val)) << A5XX_GRAS_CL_VPORT_YOFFSET_0__SHIFT) & A5XX_GRAS_CL_VPORT_YOFFSET_0__MASK; 1951*a26ae754SRob Clark } 1952*a26ae754SRob Clark 1953*a26ae754SRob Clark #define REG_A5XX_GRAS_CL_VPORT_YSCALE_0 0x0000e013 1954*a26ae754SRob Clark #define A5XX_GRAS_CL_VPORT_YSCALE_0__MASK 0xffffffff 1955*a26ae754SRob Clark #define A5XX_GRAS_CL_VPORT_YSCALE_0__SHIFT 0 1956*a26ae754SRob Clark static inline uint32_t A5XX_GRAS_CL_VPORT_YSCALE_0(float val) 1957*a26ae754SRob Clark { 1958*a26ae754SRob Clark return ((fui(val)) << A5XX_GRAS_CL_VPORT_YSCALE_0__SHIFT) & A5XX_GRAS_CL_VPORT_YSCALE_0__MASK; 1959*a26ae754SRob Clark } 1960*a26ae754SRob Clark 1961*a26ae754SRob Clark #define REG_A5XX_GRAS_CL_VPORT_ZOFFSET_0 0x0000e014 1962*a26ae754SRob Clark #define A5XX_GRAS_CL_VPORT_ZOFFSET_0__MASK 0xffffffff 1963*a26ae754SRob Clark #define A5XX_GRAS_CL_VPORT_ZOFFSET_0__SHIFT 0 1964*a26ae754SRob Clark static inline uint32_t A5XX_GRAS_CL_VPORT_ZOFFSET_0(float val) 1965*a26ae754SRob Clark { 1966*a26ae754SRob Clark return ((fui(val)) << A5XX_GRAS_CL_VPORT_ZOFFSET_0__SHIFT) & A5XX_GRAS_CL_VPORT_ZOFFSET_0__MASK; 1967*a26ae754SRob Clark } 1968*a26ae754SRob Clark 1969*a26ae754SRob Clark #define REG_A5XX_GRAS_CL_VPORT_ZSCALE_0 0x0000e015 1970*a26ae754SRob Clark #define A5XX_GRAS_CL_VPORT_ZSCALE_0__MASK 0xffffffff 1971*a26ae754SRob Clark #define A5XX_GRAS_CL_VPORT_ZSCALE_0__SHIFT 0 1972*a26ae754SRob Clark static inline uint32_t A5XX_GRAS_CL_VPORT_ZSCALE_0(float val) 1973*a26ae754SRob Clark { 1974*a26ae754SRob Clark return ((fui(val)) << A5XX_GRAS_CL_VPORT_ZSCALE_0__SHIFT) & A5XX_GRAS_CL_VPORT_ZSCALE_0__MASK; 1975*a26ae754SRob Clark } 1976*a26ae754SRob Clark 1977*a26ae754SRob Clark #define REG_A5XX_GRAS_SU_CNTL 0x0000e090 1978*a26ae754SRob Clark #define A5XX_GRAS_SU_CNTL_FRONT_CW 0x00000004 1979*a26ae754SRob Clark #define A5XX_GRAS_SU_CNTL_LINEHALFWIDTH__MASK 0x000007f8 1980*a26ae754SRob Clark #define A5XX_GRAS_SU_CNTL_LINEHALFWIDTH__SHIFT 3 1981*a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SU_CNTL_LINEHALFWIDTH(float val) 1982*a26ae754SRob Clark { 1983*a26ae754SRob Clark return ((((int32_t)(val * 4.0))) << A5XX_GRAS_SU_CNTL_LINEHALFWIDTH__SHIFT) & A5XX_GRAS_SU_CNTL_LINEHALFWIDTH__MASK; 1984*a26ae754SRob Clark } 1985*a26ae754SRob Clark #define A5XX_GRAS_SU_CNTL_POLY_OFFSET 0x00000800 1986*a26ae754SRob Clark #define A5XX_GRAS_SU_CNTL_MSAA_ENABLE 0x00002000 1987*a26ae754SRob Clark 1988*a26ae754SRob Clark #define REG_A5XX_GRAS_SU_POINT_MINMAX 0x0000e091 1989*a26ae754SRob Clark #define A5XX_GRAS_SU_POINT_MINMAX_MIN__MASK 0x0000ffff 1990*a26ae754SRob Clark #define A5XX_GRAS_SU_POINT_MINMAX_MIN__SHIFT 0 1991*a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SU_POINT_MINMAX_MIN(float val) 1992*a26ae754SRob Clark { 1993*a26ae754SRob Clark return ((((uint32_t)(val * 16.0))) << A5XX_GRAS_SU_POINT_MINMAX_MIN__SHIFT) & A5XX_GRAS_SU_POINT_MINMAX_MIN__MASK; 1994*a26ae754SRob Clark } 1995*a26ae754SRob Clark #define A5XX_GRAS_SU_POINT_MINMAX_MAX__MASK 0xffff0000 1996*a26ae754SRob Clark #define A5XX_GRAS_SU_POINT_MINMAX_MAX__SHIFT 16 1997*a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SU_POINT_MINMAX_MAX(float val) 1998*a26ae754SRob Clark { 1999*a26ae754SRob Clark return ((((uint32_t)(val * 16.0))) << A5XX_GRAS_SU_POINT_MINMAX_MAX__SHIFT) & A5XX_GRAS_SU_POINT_MINMAX_MAX__MASK; 2000*a26ae754SRob Clark } 2001*a26ae754SRob Clark 2002*a26ae754SRob Clark #define REG_A5XX_GRAS_SU_POINT_SIZE 0x0000e092 2003*a26ae754SRob Clark #define A5XX_GRAS_SU_POINT_SIZE__MASK 0xffffffff 2004*a26ae754SRob Clark #define A5XX_GRAS_SU_POINT_SIZE__SHIFT 0 2005*a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SU_POINT_SIZE(float val) 2006*a26ae754SRob Clark { 2007*a26ae754SRob Clark return ((((int32_t)(val * 16.0))) << A5XX_GRAS_SU_POINT_SIZE__SHIFT) & A5XX_GRAS_SU_POINT_SIZE__MASK; 2008*a26ae754SRob Clark } 2009*a26ae754SRob Clark 2010*a26ae754SRob Clark #define REG_A5XX_UNKNOWN_E093 0x0000e093 2011*a26ae754SRob Clark 2012*a26ae754SRob Clark #define REG_A5XX_GRAS_SU_DEPTH_PLANE_CNTL 0x0000e094 2013*a26ae754SRob Clark #define A5XX_GRAS_SU_DEPTH_PLANE_CNTL_ALPHA_TEST_ENABLE 0x00000001 2014*a26ae754SRob Clark 2015*a26ae754SRob Clark #define REG_A5XX_GRAS_SU_POLY_OFFSET_SCALE 0x0000e095 2016*a26ae754SRob Clark #define A5XX_GRAS_SU_POLY_OFFSET_SCALE__MASK 0xffffffff 2017*a26ae754SRob Clark #define A5XX_GRAS_SU_POLY_OFFSET_SCALE__SHIFT 0 2018*a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SU_POLY_OFFSET_SCALE(float val) 2019*a26ae754SRob Clark { 2020*a26ae754SRob Clark return ((fui(val)) << A5XX_GRAS_SU_POLY_OFFSET_SCALE__SHIFT) & A5XX_GRAS_SU_POLY_OFFSET_SCALE__MASK; 2021*a26ae754SRob Clark } 2022*a26ae754SRob Clark 2023*a26ae754SRob Clark #define REG_A5XX_GRAS_SU_POLY_OFFSET_OFFSET 0x0000e096 2024*a26ae754SRob Clark #define A5XX_GRAS_SU_POLY_OFFSET_OFFSET__MASK 0xffffffff 2025*a26ae754SRob Clark #define A5XX_GRAS_SU_POLY_OFFSET_OFFSET__SHIFT 0 2026*a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SU_POLY_OFFSET_OFFSET(float val) 2027*a26ae754SRob Clark { 2028*a26ae754SRob Clark return ((fui(val)) << A5XX_GRAS_SU_POLY_OFFSET_OFFSET__SHIFT) & A5XX_GRAS_SU_POLY_OFFSET_OFFSET__MASK; 2029*a26ae754SRob Clark } 2030*a26ae754SRob Clark 2031*a26ae754SRob Clark #define REG_A5XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP 0x0000e097 2032*a26ae754SRob Clark #define A5XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP__MASK 0xffffffff 2033*a26ae754SRob Clark #define A5XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP__SHIFT 0 2034*a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP(float val) 2035*a26ae754SRob Clark { 2036*a26ae754SRob Clark return ((fui(val)) << A5XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP__SHIFT) & A5XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP__MASK; 2037*a26ae754SRob Clark } 2038*a26ae754SRob Clark 2039*a26ae754SRob Clark #define REG_A5XX_GRAS_SU_DEPTH_BUFFER_INFO 0x0000e098 2040*a26ae754SRob Clark #define A5XX_GRAS_SU_DEPTH_BUFFER_INFO_DEPTH_FORMAT__MASK 0x00000007 2041*a26ae754SRob Clark #define A5XX_GRAS_SU_DEPTH_BUFFER_INFO_DEPTH_FORMAT__SHIFT 0 2042*a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SU_DEPTH_BUFFER_INFO_DEPTH_FORMAT(enum a5xx_depth_format val) 2043*a26ae754SRob Clark { 2044*a26ae754SRob Clark return ((val) << A5XX_GRAS_SU_DEPTH_BUFFER_INFO_DEPTH_FORMAT__SHIFT) & A5XX_GRAS_SU_DEPTH_BUFFER_INFO_DEPTH_FORMAT__MASK; 2045*a26ae754SRob Clark } 2046*a26ae754SRob Clark 2047*a26ae754SRob Clark #define REG_A5XX_GRAS_SU_CONSERVATIVE_RAS_CNTL 0x0000e099 2048*a26ae754SRob Clark 2049*a26ae754SRob Clark #define REG_A5XX_GRAS_SC_CNTL 0x0000e0a0 2050*a26ae754SRob Clark #define A5XX_GRAS_SC_CNTL_SAMPLES_PASSED 0x00008000 2051*a26ae754SRob Clark 2052*a26ae754SRob Clark #define REG_A5XX_GRAS_SC_BIN_CNTL 0x0000e0a1 2053*a26ae754SRob Clark 2054*a26ae754SRob Clark #define REG_A5XX_GRAS_SC_RAS_MSAA_CNTL 0x0000e0a2 2055*a26ae754SRob Clark #define A5XX_GRAS_SC_RAS_MSAA_CNTL_SAMPLES__MASK 0x00000003 2056*a26ae754SRob Clark #define A5XX_GRAS_SC_RAS_MSAA_CNTL_SAMPLES__SHIFT 0 2057*a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SC_RAS_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val) 2058*a26ae754SRob Clark { 2059*a26ae754SRob Clark return ((val) << A5XX_GRAS_SC_RAS_MSAA_CNTL_SAMPLES__SHIFT) & A5XX_GRAS_SC_RAS_MSAA_CNTL_SAMPLES__MASK; 2060*a26ae754SRob Clark } 2061*a26ae754SRob Clark 2062*a26ae754SRob Clark #define REG_A5XX_GRAS_SC_DEST_MSAA_CNTL 0x0000e0a3 2063*a26ae754SRob Clark #define A5XX_GRAS_SC_DEST_MSAA_CNTL_SAMPLES__MASK 0x00000003 2064*a26ae754SRob Clark #define A5XX_GRAS_SC_DEST_MSAA_CNTL_SAMPLES__SHIFT 0 2065*a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SC_DEST_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val) 2066*a26ae754SRob Clark { 2067*a26ae754SRob Clark return ((val) << A5XX_GRAS_SC_DEST_MSAA_CNTL_SAMPLES__SHIFT) & A5XX_GRAS_SC_DEST_MSAA_CNTL_SAMPLES__MASK; 2068*a26ae754SRob Clark } 2069*a26ae754SRob Clark #define A5XX_GRAS_SC_DEST_MSAA_CNTL_MSAA_DISABLE 0x00000004 2070*a26ae754SRob Clark 2071*a26ae754SRob Clark #define REG_A5XX_GRAS_SC_SCREEN_SCISSOR_CNTL 0x0000e0a4 2072*a26ae754SRob Clark 2073*a26ae754SRob Clark #define REG_A5XX_GRAS_SC_SCREEN_SCISSOR_TL_0 0x0000e0aa 2074*a26ae754SRob Clark #define A5XX_GRAS_SC_SCREEN_SCISSOR_TL_0_WINDOW_OFFSET_DISABLE 0x80000000 2075*a26ae754SRob Clark #define A5XX_GRAS_SC_SCREEN_SCISSOR_TL_0_X__MASK 0x00007fff 2076*a26ae754SRob Clark #define A5XX_GRAS_SC_SCREEN_SCISSOR_TL_0_X__SHIFT 0 2077*a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SC_SCREEN_SCISSOR_TL_0_X(uint32_t val) 2078*a26ae754SRob Clark { 2079*a26ae754SRob Clark return ((val) << A5XX_GRAS_SC_SCREEN_SCISSOR_TL_0_X__SHIFT) & A5XX_GRAS_SC_SCREEN_SCISSOR_TL_0_X__MASK; 2080*a26ae754SRob Clark } 2081*a26ae754SRob Clark #define A5XX_GRAS_SC_SCREEN_SCISSOR_TL_0_Y__MASK 0x7fff0000 2082*a26ae754SRob Clark #define A5XX_GRAS_SC_SCREEN_SCISSOR_TL_0_Y__SHIFT 16 2083*a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SC_SCREEN_SCISSOR_TL_0_Y(uint32_t val) 2084*a26ae754SRob Clark { 2085*a26ae754SRob Clark return ((val) << A5XX_GRAS_SC_SCREEN_SCISSOR_TL_0_Y__SHIFT) & A5XX_GRAS_SC_SCREEN_SCISSOR_TL_0_Y__MASK; 2086*a26ae754SRob Clark } 2087*a26ae754SRob Clark 2088*a26ae754SRob Clark #define REG_A5XX_GRAS_SC_SCREEN_SCISSOR_BR_0 0x0000e0ab 2089*a26ae754SRob Clark #define A5XX_GRAS_SC_SCREEN_SCISSOR_BR_0_WINDOW_OFFSET_DISABLE 0x80000000 2090*a26ae754SRob Clark #define A5XX_GRAS_SC_SCREEN_SCISSOR_BR_0_X__MASK 0x00007fff 2091*a26ae754SRob Clark #define A5XX_GRAS_SC_SCREEN_SCISSOR_BR_0_X__SHIFT 0 2092*a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SC_SCREEN_SCISSOR_BR_0_X(uint32_t val) 2093*a26ae754SRob Clark { 2094*a26ae754SRob Clark return ((val) << A5XX_GRAS_SC_SCREEN_SCISSOR_BR_0_X__SHIFT) & A5XX_GRAS_SC_SCREEN_SCISSOR_BR_0_X__MASK; 2095*a26ae754SRob Clark } 2096*a26ae754SRob Clark #define A5XX_GRAS_SC_SCREEN_SCISSOR_BR_0_Y__MASK 0x7fff0000 2097*a26ae754SRob Clark #define A5XX_GRAS_SC_SCREEN_SCISSOR_BR_0_Y__SHIFT 16 2098*a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SC_SCREEN_SCISSOR_BR_0_Y(uint32_t val) 2099*a26ae754SRob Clark { 2100*a26ae754SRob Clark return ((val) << A5XX_GRAS_SC_SCREEN_SCISSOR_BR_0_Y__SHIFT) & A5XX_GRAS_SC_SCREEN_SCISSOR_BR_0_Y__MASK; 2101*a26ae754SRob Clark } 2102*a26ae754SRob Clark 2103*a26ae754SRob Clark #define REG_A5XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0 0x0000e0ca 2104*a26ae754SRob Clark #define A5XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_WINDOW_OFFSET_DISABLE 0x80000000 2105*a26ae754SRob Clark #define A5XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_X__MASK 0x00007fff 2106*a26ae754SRob Clark #define A5XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_X__SHIFT 0 2107*a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_X(uint32_t val) 2108*a26ae754SRob Clark { 2109*a26ae754SRob Clark return ((val) << A5XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_X__SHIFT) & A5XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_X__MASK; 2110*a26ae754SRob Clark } 2111*a26ae754SRob Clark #define A5XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_Y__MASK 0x7fff0000 2112*a26ae754SRob Clark #define A5XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_Y__SHIFT 16 2113*a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_Y(uint32_t val) 2114*a26ae754SRob Clark { 2115*a26ae754SRob Clark return ((val) << A5XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_Y__SHIFT) & A5XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_Y__MASK; 2116*a26ae754SRob Clark } 2117*a26ae754SRob Clark 2118*a26ae754SRob Clark #define REG_A5XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0 0x0000e0cb 2119*a26ae754SRob Clark #define A5XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_WINDOW_OFFSET_DISABLE 0x80000000 2120*a26ae754SRob Clark #define A5XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_X__MASK 0x00007fff 2121*a26ae754SRob Clark #define A5XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_X__SHIFT 0 2122*a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_X(uint32_t val) 2123*a26ae754SRob Clark { 2124*a26ae754SRob Clark return ((val) << A5XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_X__SHIFT) & A5XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_X__MASK; 2125*a26ae754SRob Clark } 2126*a26ae754SRob Clark #define A5XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_Y__MASK 0x7fff0000 2127*a26ae754SRob Clark #define A5XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_Y__SHIFT 16 2128*a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_Y(uint32_t val) 2129*a26ae754SRob Clark { 2130*a26ae754SRob Clark return ((val) << A5XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_Y__SHIFT) & A5XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_Y__MASK; 2131*a26ae754SRob Clark } 2132*a26ae754SRob Clark 2133*a26ae754SRob Clark #define REG_A5XX_GRAS_SC_WINDOW_SCISSOR_TL 0x0000e0ea 2134*a26ae754SRob Clark #define A5XX_GRAS_SC_WINDOW_SCISSOR_TL_WINDOW_OFFSET_DISABLE 0x80000000 2135*a26ae754SRob Clark #define A5XX_GRAS_SC_WINDOW_SCISSOR_TL_X__MASK 0x00007fff 2136*a26ae754SRob Clark #define A5XX_GRAS_SC_WINDOW_SCISSOR_TL_X__SHIFT 0 2137*a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SC_WINDOW_SCISSOR_TL_X(uint32_t val) 2138*a26ae754SRob Clark { 2139*a26ae754SRob Clark return ((val) << A5XX_GRAS_SC_WINDOW_SCISSOR_TL_X__SHIFT) & A5XX_GRAS_SC_WINDOW_SCISSOR_TL_X__MASK; 2140*a26ae754SRob Clark } 2141*a26ae754SRob Clark #define A5XX_GRAS_SC_WINDOW_SCISSOR_TL_Y__MASK 0x7fff0000 2142*a26ae754SRob Clark #define A5XX_GRAS_SC_WINDOW_SCISSOR_TL_Y__SHIFT 16 2143*a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SC_WINDOW_SCISSOR_TL_Y(uint32_t val) 2144*a26ae754SRob Clark { 2145*a26ae754SRob Clark return ((val) << A5XX_GRAS_SC_WINDOW_SCISSOR_TL_Y__SHIFT) & A5XX_GRAS_SC_WINDOW_SCISSOR_TL_Y__MASK; 2146*a26ae754SRob Clark } 2147*a26ae754SRob Clark 2148*a26ae754SRob Clark #define REG_A5XX_GRAS_SC_WINDOW_SCISSOR_BR 0x0000e0eb 2149*a26ae754SRob Clark #define A5XX_GRAS_SC_WINDOW_SCISSOR_BR_WINDOW_OFFSET_DISABLE 0x80000000 2150*a26ae754SRob Clark #define A5XX_GRAS_SC_WINDOW_SCISSOR_BR_X__MASK 0x00007fff 2151*a26ae754SRob Clark #define A5XX_GRAS_SC_WINDOW_SCISSOR_BR_X__SHIFT 0 2152*a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SC_WINDOW_SCISSOR_BR_X(uint32_t val) 2153*a26ae754SRob Clark { 2154*a26ae754SRob Clark return ((val) << A5XX_GRAS_SC_WINDOW_SCISSOR_BR_X__SHIFT) & A5XX_GRAS_SC_WINDOW_SCISSOR_BR_X__MASK; 2155*a26ae754SRob Clark } 2156*a26ae754SRob Clark #define A5XX_GRAS_SC_WINDOW_SCISSOR_BR_Y__MASK 0x7fff0000 2157*a26ae754SRob Clark #define A5XX_GRAS_SC_WINDOW_SCISSOR_BR_Y__SHIFT 16 2158*a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SC_WINDOW_SCISSOR_BR_Y(uint32_t val) 2159*a26ae754SRob Clark { 2160*a26ae754SRob Clark return ((val) << A5XX_GRAS_SC_WINDOW_SCISSOR_BR_Y__SHIFT) & A5XX_GRAS_SC_WINDOW_SCISSOR_BR_Y__MASK; 2161*a26ae754SRob Clark } 2162*a26ae754SRob Clark 2163*a26ae754SRob Clark #define REG_A5XX_GRAS_LRZ_CNTL 0x0000e100 2164*a26ae754SRob Clark 2165*a26ae754SRob Clark #define REG_A5XX_GRAS_LRZ_BUFFER_BASE_LO 0x0000e101 2166*a26ae754SRob Clark 2167*a26ae754SRob Clark #define REG_A5XX_GRAS_LRZ_BUFFER_BASE_HI 0x0000e102 2168*a26ae754SRob Clark 2169*a26ae754SRob Clark #define REG_A5XX_GRAS_LRZ_BUFFER_PITCH 0x0000e103 2170*a26ae754SRob Clark 2171*a26ae754SRob Clark #define REG_A5XX_GRAS_LRZ_FAST_CLEAR_BUFFER_BASE_LO 0x0000e104 2172*a26ae754SRob Clark 2173*a26ae754SRob Clark #define REG_A5XX_GRAS_LRZ_FAST_CLEAR_BUFFER_BASE_HI 0x0000e105 2174*a26ae754SRob Clark 2175*a26ae754SRob Clark #define REG_A5XX_RB_CNTL 0x0000e140 2176*a26ae754SRob Clark #define A5XX_RB_CNTL_WIDTH__MASK 0x000000ff 2177*a26ae754SRob Clark #define A5XX_RB_CNTL_WIDTH__SHIFT 0 2178*a26ae754SRob Clark static inline uint32_t A5XX_RB_CNTL_WIDTH(uint32_t val) 2179*a26ae754SRob Clark { 2180*a26ae754SRob Clark return ((val >> 5) << A5XX_RB_CNTL_WIDTH__SHIFT) & A5XX_RB_CNTL_WIDTH__MASK; 2181*a26ae754SRob Clark } 2182*a26ae754SRob Clark #define A5XX_RB_CNTL_HEIGHT__MASK 0x0001fe00 2183*a26ae754SRob Clark #define A5XX_RB_CNTL_HEIGHT__SHIFT 9 2184*a26ae754SRob Clark static inline uint32_t A5XX_RB_CNTL_HEIGHT(uint32_t val) 2185*a26ae754SRob Clark { 2186*a26ae754SRob Clark return ((val >> 5) << A5XX_RB_CNTL_HEIGHT__SHIFT) & A5XX_RB_CNTL_HEIGHT__MASK; 2187*a26ae754SRob Clark } 2188*a26ae754SRob Clark #define A5XX_RB_CNTL_BYPASS 0x00020000 2189*a26ae754SRob Clark 2190*a26ae754SRob Clark #define REG_A5XX_RB_RENDER_CNTL 0x0000e141 2191*a26ae754SRob Clark #define A5XX_RB_RENDER_CNTL_SAMPLES_PASSED 0x00000040 2192*a26ae754SRob Clark #define A5XX_RB_RENDER_CNTL_FLAG_DEPTH 0x00004000 2193*a26ae754SRob Clark #define A5XX_RB_RENDER_CNTL_FLAG_DEPTH2 0x00008000 2194*a26ae754SRob Clark #define A5XX_RB_RENDER_CNTL_FLAG_MRTS__MASK 0x00ff0000 2195*a26ae754SRob Clark #define A5XX_RB_RENDER_CNTL_FLAG_MRTS__SHIFT 16 2196*a26ae754SRob Clark static inline uint32_t A5XX_RB_RENDER_CNTL_FLAG_MRTS(uint32_t val) 2197*a26ae754SRob Clark { 2198*a26ae754SRob Clark return ((val) << A5XX_RB_RENDER_CNTL_FLAG_MRTS__SHIFT) & A5XX_RB_RENDER_CNTL_FLAG_MRTS__MASK; 2199*a26ae754SRob Clark } 2200*a26ae754SRob Clark #define A5XX_RB_RENDER_CNTL_FLAG_MRTS2__MASK 0xff000000 2201*a26ae754SRob Clark #define A5XX_RB_RENDER_CNTL_FLAG_MRTS2__SHIFT 24 2202*a26ae754SRob Clark static inline uint32_t A5XX_RB_RENDER_CNTL_FLAG_MRTS2(uint32_t val) 2203*a26ae754SRob Clark { 2204*a26ae754SRob Clark return ((val) << A5XX_RB_RENDER_CNTL_FLAG_MRTS2__SHIFT) & A5XX_RB_RENDER_CNTL_FLAG_MRTS2__MASK; 2205*a26ae754SRob Clark } 2206*a26ae754SRob Clark 2207*a26ae754SRob Clark #define REG_A5XX_RB_RAS_MSAA_CNTL 0x0000e142 2208*a26ae754SRob Clark #define A5XX_RB_RAS_MSAA_CNTL_SAMPLES__MASK 0x00000003 2209*a26ae754SRob Clark #define A5XX_RB_RAS_MSAA_CNTL_SAMPLES__SHIFT 0 2210*a26ae754SRob Clark static inline uint32_t A5XX_RB_RAS_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val) 2211*a26ae754SRob Clark { 2212*a26ae754SRob Clark return ((val) << A5XX_RB_RAS_MSAA_CNTL_SAMPLES__SHIFT) & A5XX_RB_RAS_MSAA_CNTL_SAMPLES__MASK; 2213*a26ae754SRob Clark } 2214*a26ae754SRob Clark 2215*a26ae754SRob Clark #define REG_A5XX_RB_DEST_MSAA_CNTL 0x0000e143 2216*a26ae754SRob Clark #define A5XX_RB_DEST_MSAA_CNTL_SAMPLES__MASK 0x00000003 2217*a26ae754SRob Clark #define A5XX_RB_DEST_MSAA_CNTL_SAMPLES__SHIFT 0 2218*a26ae754SRob Clark static inline uint32_t A5XX_RB_DEST_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val) 2219*a26ae754SRob Clark { 2220*a26ae754SRob Clark return ((val) << A5XX_RB_DEST_MSAA_CNTL_SAMPLES__SHIFT) & A5XX_RB_DEST_MSAA_CNTL_SAMPLES__MASK; 2221*a26ae754SRob Clark } 2222*a26ae754SRob Clark #define A5XX_RB_DEST_MSAA_CNTL_MSAA_DISABLE 0x00000004 2223*a26ae754SRob Clark 2224*a26ae754SRob Clark #define REG_A5XX_RB_RENDER_CONTROL0 0x0000e144 2225*a26ae754SRob Clark #define A5XX_RB_RENDER_CONTROL0_VARYING 0x00000001 2226*a26ae754SRob Clark #define A5XX_RB_RENDER_CONTROL0_XCOORD 0x00000040 2227*a26ae754SRob Clark #define A5XX_RB_RENDER_CONTROL0_YCOORD 0x00000080 2228*a26ae754SRob Clark #define A5XX_RB_RENDER_CONTROL0_ZCOORD 0x00000100 2229*a26ae754SRob Clark #define A5XX_RB_RENDER_CONTROL0_WCOORD 0x00000200 2230*a26ae754SRob Clark 2231*a26ae754SRob Clark #define REG_A5XX_RB_RENDER_CONTROL1 0x0000e145 2232*a26ae754SRob Clark #define A5XX_RB_RENDER_CONTROL1_FACENESS 0x00000002 2233*a26ae754SRob Clark 2234*a26ae754SRob Clark #define REG_A5XX_RB_FS_OUTPUT_CNTL 0x0000e146 2235*a26ae754SRob Clark #define A5XX_RB_FS_OUTPUT_CNTL_MRT__MASK 0x0000000f 2236*a26ae754SRob Clark #define A5XX_RB_FS_OUTPUT_CNTL_MRT__SHIFT 0 2237*a26ae754SRob Clark static inline uint32_t A5XX_RB_FS_OUTPUT_CNTL_MRT(uint32_t val) 2238*a26ae754SRob Clark { 2239*a26ae754SRob Clark return ((val) << A5XX_RB_FS_OUTPUT_CNTL_MRT__SHIFT) & A5XX_RB_FS_OUTPUT_CNTL_MRT__MASK; 2240*a26ae754SRob Clark } 2241*a26ae754SRob Clark #define A5XX_RB_FS_OUTPUT_CNTL_FRAG_WRITES_Z 0x00000020 2242*a26ae754SRob Clark 2243*a26ae754SRob Clark #define REG_A5XX_RB_RENDER_COMPONENTS 0x0000e147 2244*a26ae754SRob Clark #define A5XX_RB_RENDER_COMPONENTS_RT0__MASK 0x0000000f 2245*a26ae754SRob Clark #define A5XX_RB_RENDER_COMPONENTS_RT0__SHIFT 0 2246*a26ae754SRob Clark static inline uint32_t A5XX_RB_RENDER_COMPONENTS_RT0(uint32_t val) 2247*a26ae754SRob Clark { 2248*a26ae754SRob Clark return ((val) << A5XX_RB_RENDER_COMPONENTS_RT0__SHIFT) & A5XX_RB_RENDER_COMPONENTS_RT0__MASK; 2249*a26ae754SRob Clark } 2250*a26ae754SRob Clark #define A5XX_RB_RENDER_COMPONENTS_RT1__MASK 0x000000f0 2251*a26ae754SRob Clark #define A5XX_RB_RENDER_COMPONENTS_RT1__SHIFT 4 2252*a26ae754SRob Clark static inline uint32_t A5XX_RB_RENDER_COMPONENTS_RT1(uint32_t val) 2253*a26ae754SRob Clark { 2254*a26ae754SRob Clark return ((val) << A5XX_RB_RENDER_COMPONENTS_RT1__SHIFT) & A5XX_RB_RENDER_COMPONENTS_RT1__MASK; 2255*a26ae754SRob Clark } 2256*a26ae754SRob Clark #define A5XX_RB_RENDER_COMPONENTS_RT2__MASK 0x00000f00 2257*a26ae754SRob Clark #define A5XX_RB_RENDER_COMPONENTS_RT2__SHIFT 8 2258*a26ae754SRob Clark static inline uint32_t A5XX_RB_RENDER_COMPONENTS_RT2(uint32_t val) 2259*a26ae754SRob Clark { 2260*a26ae754SRob Clark return ((val) << A5XX_RB_RENDER_COMPONENTS_RT2__SHIFT) & A5XX_RB_RENDER_COMPONENTS_RT2__MASK; 2261*a26ae754SRob Clark } 2262*a26ae754SRob Clark #define A5XX_RB_RENDER_COMPONENTS_RT3__MASK 0x0000f000 2263*a26ae754SRob Clark #define A5XX_RB_RENDER_COMPONENTS_RT3__SHIFT 12 2264*a26ae754SRob Clark static inline uint32_t A5XX_RB_RENDER_COMPONENTS_RT3(uint32_t val) 2265*a26ae754SRob Clark { 2266*a26ae754SRob Clark return ((val) << A5XX_RB_RENDER_COMPONENTS_RT3__SHIFT) & A5XX_RB_RENDER_COMPONENTS_RT3__MASK; 2267*a26ae754SRob Clark } 2268*a26ae754SRob Clark #define A5XX_RB_RENDER_COMPONENTS_RT4__MASK 0x000f0000 2269*a26ae754SRob Clark #define A5XX_RB_RENDER_COMPONENTS_RT4__SHIFT 16 2270*a26ae754SRob Clark static inline uint32_t A5XX_RB_RENDER_COMPONENTS_RT4(uint32_t val) 2271*a26ae754SRob Clark { 2272*a26ae754SRob Clark return ((val) << A5XX_RB_RENDER_COMPONENTS_RT4__SHIFT) & A5XX_RB_RENDER_COMPONENTS_RT4__MASK; 2273*a26ae754SRob Clark } 2274*a26ae754SRob Clark #define A5XX_RB_RENDER_COMPONENTS_RT5__MASK 0x00f00000 2275*a26ae754SRob Clark #define A5XX_RB_RENDER_COMPONENTS_RT5__SHIFT 20 2276*a26ae754SRob Clark static inline uint32_t A5XX_RB_RENDER_COMPONENTS_RT5(uint32_t val) 2277*a26ae754SRob Clark { 2278*a26ae754SRob Clark return ((val) << A5XX_RB_RENDER_COMPONENTS_RT5__SHIFT) & A5XX_RB_RENDER_COMPONENTS_RT5__MASK; 2279*a26ae754SRob Clark } 2280*a26ae754SRob Clark #define A5XX_RB_RENDER_COMPONENTS_RT6__MASK 0x0f000000 2281*a26ae754SRob Clark #define A5XX_RB_RENDER_COMPONENTS_RT6__SHIFT 24 2282*a26ae754SRob Clark static inline uint32_t A5XX_RB_RENDER_COMPONENTS_RT6(uint32_t val) 2283*a26ae754SRob Clark { 2284*a26ae754SRob Clark return ((val) << A5XX_RB_RENDER_COMPONENTS_RT6__SHIFT) & A5XX_RB_RENDER_COMPONENTS_RT6__MASK; 2285*a26ae754SRob Clark } 2286*a26ae754SRob Clark #define A5XX_RB_RENDER_COMPONENTS_RT7__MASK 0xf0000000 2287*a26ae754SRob Clark #define A5XX_RB_RENDER_COMPONENTS_RT7__SHIFT 28 2288*a26ae754SRob Clark static inline uint32_t A5XX_RB_RENDER_COMPONENTS_RT7(uint32_t val) 2289*a26ae754SRob Clark { 2290*a26ae754SRob Clark return ((val) << A5XX_RB_RENDER_COMPONENTS_RT7__SHIFT) & A5XX_RB_RENDER_COMPONENTS_RT7__MASK; 2291*a26ae754SRob Clark } 2292*a26ae754SRob Clark 2293*a26ae754SRob Clark static inline uint32_t REG_A5XX_RB_MRT(uint32_t i0) { return 0x0000e150 + 0x7*i0; } 2294*a26ae754SRob Clark 2295*a26ae754SRob Clark static inline uint32_t REG_A5XX_RB_MRT_CONTROL(uint32_t i0) { return 0x0000e150 + 0x7*i0; } 2296*a26ae754SRob Clark #define A5XX_RB_MRT_CONTROL_BLEND 0x00000001 2297*a26ae754SRob Clark #define A5XX_RB_MRT_CONTROL_BLEND2 0x00000002 2298*a26ae754SRob Clark #define A5XX_RB_MRT_CONTROL_COMPONENT_ENABLE__MASK 0x00000780 2299*a26ae754SRob Clark #define A5XX_RB_MRT_CONTROL_COMPONENT_ENABLE__SHIFT 7 2300*a26ae754SRob Clark static inline uint32_t A5XX_RB_MRT_CONTROL_COMPONENT_ENABLE(uint32_t val) 2301*a26ae754SRob Clark { 2302*a26ae754SRob Clark return ((val) << A5XX_RB_MRT_CONTROL_COMPONENT_ENABLE__SHIFT) & A5XX_RB_MRT_CONTROL_COMPONENT_ENABLE__MASK; 2303*a26ae754SRob Clark } 2304*a26ae754SRob Clark 2305*a26ae754SRob Clark static inline uint32_t REG_A5XX_RB_MRT_BLEND_CONTROL(uint32_t i0) { return 0x0000e151 + 0x7*i0; } 2306*a26ae754SRob Clark #define A5XX_RB_MRT_BLEND_CONTROL_RGB_SRC_FACTOR__MASK 0x0000001f 2307*a26ae754SRob Clark #define A5XX_RB_MRT_BLEND_CONTROL_RGB_SRC_FACTOR__SHIFT 0 2308*a26ae754SRob Clark static inline uint32_t A5XX_RB_MRT_BLEND_CONTROL_RGB_SRC_FACTOR(enum adreno_rb_blend_factor val) 2309*a26ae754SRob Clark { 2310*a26ae754SRob Clark return ((val) << A5XX_RB_MRT_BLEND_CONTROL_RGB_SRC_FACTOR__SHIFT) & A5XX_RB_MRT_BLEND_CONTROL_RGB_SRC_FACTOR__MASK; 2311*a26ae754SRob Clark } 2312*a26ae754SRob Clark #define A5XX_RB_MRT_BLEND_CONTROL_RGB_BLEND_OPCODE__MASK 0x000000e0 2313*a26ae754SRob Clark #define A5XX_RB_MRT_BLEND_CONTROL_RGB_BLEND_OPCODE__SHIFT 5 2314*a26ae754SRob Clark static inline uint32_t A5XX_RB_MRT_BLEND_CONTROL_RGB_BLEND_OPCODE(enum a3xx_rb_blend_opcode val) 2315*a26ae754SRob Clark { 2316*a26ae754SRob Clark return ((val) << A5XX_RB_MRT_BLEND_CONTROL_RGB_BLEND_OPCODE__SHIFT) & A5XX_RB_MRT_BLEND_CONTROL_RGB_BLEND_OPCODE__MASK; 2317*a26ae754SRob Clark } 2318*a26ae754SRob Clark #define A5XX_RB_MRT_BLEND_CONTROL_RGB_DEST_FACTOR__MASK 0x00001f00 2319*a26ae754SRob Clark #define A5XX_RB_MRT_BLEND_CONTROL_RGB_DEST_FACTOR__SHIFT 8 2320*a26ae754SRob Clark static inline uint32_t A5XX_RB_MRT_BLEND_CONTROL_RGB_DEST_FACTOR(enum adreno_rb_blend_factor val) 2321*a26ae754SRob Clark { 2322*a26ae754SRob Clark return ((val) << A5XX_RB_MRT_BLEND_CONTROL_RGB_DEST_FACTOR__SHIFT) & A5XX_RB_MRT_BLEND_CONTROL_RGB_DEST_FACTOR__MASK; 2323*a26ae754SRob Clark } 2324*a26ae754SRob Clark #define A5XX_RB_MRT_BLEND_CONTROL_ALPHA_SRC_FACTOR__MASK 0x001f0000 2325*a26ae754SRob Clark #define A5XX_RB_MRT_BLEND_CONTROL_ALPHA_SRC_FACTOR__SHIFT 16 2326*a26ae754SRob Clark static inline uint32_t A5XX_RB_MRT_BLEND_CONTROL_ALPHA_SRC_FACTOR(enum adreno_rb_blend_factor val) 2327*a26ae754SRob Clark { 2328*a26ae754SRob Clark return ((val) << A5XX_RB_MRT_BLEND_CONTROL_ALPHA_SRC_FACTOR__SHIFT) & A5XX_RB_MRT_BLEND_CONTROL_ALPHA_SRC_FACTOR__MASK; 2329*a26ae754SRob Clark } 2330*a26ae754SRob Clark #define A5XX_RB_MRT_BLEND_CONTROL_ALPHA_BLEND_OPCODE__MASK 0x00e00000 2331*a26ae754SRob Clark #define A5XX_RB_MRT_BLEND_CONTROL_ALPHA_BLEND_OPCODE__SHIFT 21 2332*a26ae754SRob Clark static inline uint32_t A5XX_RB_MRT_BLEND_CONTROL_ALPHA_BLEND_OPCODE(enum a3xx_rb_blend_opcode val) 2333*a26ae754SRob Clark { 2334*a26ae754SRob Clark return ((val) << A5XX_RB_MRT_BLEND_CONTROL_ALPHA_BLEND_OPCODE__SHIFT) & A5XX_RB_MRT_BLEND_CONTROL_ALPHA_BLEND_OPCODE__MASK; 2335*a26ae754SRob Clark } 2336*a26ae754SRob Clark #define A5XX_RB_MRT_BLEND_CONTROL_ALPHA_DEST_FACTOR__MASK 0x1f000000 2337*a26ae754SRob Clark #define A5XX_RB_MRT_BLEND_CONTROL_ALPHA_DEST_FACTOR__SHIFT 24 2338*a26ae754SRob Clark static inline uint32_t A5XX_RB_MRT_BLEND_CONTROL_ALPHA_DEST_FACTOR(enum adreno_rb_blend_factor val) 2339*a26ae754SRob Clark { 2340*a26ae754SRob Clark return ((val) << A5XX_RB_MRT_BLEND_CONTROL_ALPHA_DEST_FACTOR__SHIFT) & A5XX_RB_MRT_BLEND_CONTROL_ALPHA_DEST_FACTOR__MASK; 2341*a26ae754SRob Clark } 2342*a26ae754SRob Clark 2343*a26ae754SRob Clark static inline uint32_t REG_A5XX_RB_MRT_BUF_INFO(uint32_t i0) { return 0x0000e152 + 0x7*i0; } 2344*a26ae754SRob Clark #define A5XX_RB_MRT_BUF_INFO_COLOR_FORMAT__MASK 0x000000ff 2345*a26ae754SRob Clark #define A5XX_RB_MRT_BUF_INFO_COLOR_FORMAT__SHIFT 0 2346*a26ae754SRob Clark static inline uint32_t A5XX_RB_MRT_BUF_INFO_COLOR_FORMAT(enum a5xx_color_fmt val) 2347*a26ae754SRob Clark { 2348*a26ae754SRob Clark return ((val) << A5XX_RB_MRT_BUF_INFO_COLOR_FORMAT__SHIFT) & A5XX_RB_MRT_BUF_INFO_COLOR_FORMAT__MASK; 2349*a26ae754SRob Clark } 2350*a26ae754SRob Clark #define A5XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE__MASK 0x00000300 2351*a26ae754SRob Clark #define A5XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE__SHIFT 8 2352*a26ae754SRob Clark static inline uint32_t A5XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE(enum a5xx_tile_mode val) 2353*a26ae754SRob Clark { 2354*a26ae754SRob Clark return ((val) << A5XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE__SHIFT) & A5XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE__MASK; 2355*a26ae754SRob Clark } 2356*a26ae754SRob Clark #define A5XX_RB_MRT_BUF_INFO_COLOR_SWAP__MASK 0x00006000 2357*a26ae754SRob Clark #define A5XX_RB_MRT_BUF_INFO_COLOR_SWAP__SHIFT 13 2358*a26ae754SRob Clark static inline uint32_t A5XX_RB_MRT_BUF_INFO_COLOR_SWAP(enum a3xx_color_swap val) 2359*a26ae754SRob Clark { 2360*a26ae754SRob Clark return ((val) << A5XX_RB_MRT_BUF_INFO_COLOR_SWAP__SHIFT) & A5XX_RB_MRT_BUF_INFO_COLOR_SWAP__MASK; 2361*a26ae754SRob Clark } 2362*a26ae754SRob Clark #define A5XX_RB_MRT_BUF_INFO_COLOR_SRGB 0x00008000 2363*a26ae754SRob Clark 2364*a26ae754SRob Clark static inline uint32_t REG_A5XX_RB_MRT_PITCH(uint32_t i0) { return 0x0000e153 + 0x7*i0; } 2365*a26ae754SRob Clark #define A5XX_RB_MRT_PITCH__MASK 0xffffffff 2366*a26ae754SRob Clark #define A5XX_RB_MRT_PITCH__SHIFT 0 2367*a26ae754SRob Clark static inline uint32_t A5XX_RB_MRT_PITCH(uint32_t val) 2368*a26ae754SRob Clark { 2369*a26ae754SRob Clark return ((val >> 6) << A5XX_RB_MRT_PITCH__SHIFT) & A5XX_RB_MRT_PITCH__MASK; 2370*a26ae754SRob Clark } 2371*a26ae754SRob Clark 2372*a26ae754SRob Clark static inline uint32_t REG_A5XX_RB_MRT_ARRAY_PITCH(uint32_t i0) { return 0x0000e154 + 0x7*i0; } 2373*a26ae754SRob Clark #define A5XX_RB_MRT_ARRAY_PITCH__MASK 0xffffffff 2374*a26ae754SRob Clark #define A5XX_RB_MRT_ARRAY_PITCH__SHIFT 0 2375*a26ae754SRob Clark static inline uint32_t A5XX_RB_MRT_ARRAY_PITCH(uint32_t val) 2376*a26ae754SRob Clark { 2377*a26ae754SRob Clark return ((val >> 6) << A5XX_RB_MRT_ARRAY_PITCH__SHIFT) & A5XX_RB_MRT_ARRAY_PITCH__MASK; 2378*a26ae754SRob Clark } 2379*a26ae754SRob Clark 2380*a26ae754SRob Clark static inline uint32_t REG_A5XX_RB_MRT_BASE_LO(uint32_t i0) { return 0x0000e155 + 0x7*i0; } 2381*a26ae754SRob Clark 2382*a26ae754SRob Clark static inline uint32_t REG_A5XX_RB_MRT_BASE_HI(uint32_t i0) { return 0x0000e156 + 0x7*i0; } 2383*a26ae754SRob Clark 2384*a26ae754SRob Clark #define REG_A5XX_RB_BLEND_RED 0x0000e1a0 2385*a26ae754SRob Clark #define A5XX_RB_BLEND_RED_UINT__MASK 0x000000ff 2386*a26ae754SRob Clark #define A5XX_RB_BLEND_RED_UINT__SHIFT 0 2387*a26ae754SRob Clark static inline uint32_t A5XX_RB_BLEND_RED_UINT(uint32_t val) 2388*a26ae754SRob Clark { 2389*a26ae754SRob Clark return ((val) << A5XX_RB_BLEND_RED_UINT__SHIFT) & A5XX_RB_BLEND_RED_UINT__MASK; 2390*a26ae754SRob Clark } 2391*a26ae754SRob Clark #define A5XX_RB_BLEND_RED_SINT__MASK 0x0000ff00 2392*a26ae754SRob Clark #define A5XX_RB_BLEND_RED_SINT__SHIFT 8 2393*a26ae754SRob Clark static inline uint32_t A5XX_RB_BLEND_RED_SINT(uint32_t val) 2394*a26ae754SRob Clark { 2395*a26ae754SRob Clark return ((val) << A5XX_RB_BLEND_RED_SINT__SHIFT) & A5XX_RB_BLEND_RED_SINT__MASK; 2396*a26ae754SRob Clark } 2397*a26ae754SRob Clark #define A5XX_RB_BLEND_RED_FLOAT__MASK 0xffff0000 2398*a26ae754SRob Clark #define A5XX_RB_BLEND_RED_FLOAT__SHIFT 16 2399*a26ae754SRob Clark static inline uint32_t A5XX_RB_BLEND_RED_FLOAT(float val) 2400*a26ae754SRob Clark { 2401*a26ae754SRob Clark return ((util_float_to_half(val)) << A5XX_RB_BLEND_RED_FLOAT__SHIFT) & A5XX_RB_BLEND_RED_FLOAT__MASK; 2402*a26ae754SRob Clark } 2403*a26ae754SRob Clark 2404*a26ae754SRob Clark #define REG_A5XX_RB_BLEND_RED_F32 0x0000e1a1 2405*a26ae754SRob Clark #define A5XX_RB_BLEND_RED_F32__MASK 0xffffffff 2406*a26ae754SRob Clark #define A5XX_RB_BLEND_RED_F32__SHIFT 0 2407*a26ae754SRob Clark static inline uint32_t A5XX_RB_BLEND_RED_F32(float val) 2408*a26ae754SRob Clark { 2409*a26ae754SRob Clark return ((fui(val)) << A5XX_RB_BLEND_RED_F32__SHIFT) & A5XX_RB_BLEND_RED_F32__MASK; 2410*a26ae754SRob Clark } 2411*a26ae754SRob Clark 2412*a26ae754SRob Clark #define REG_A5XX_RB_BLEND_GREEN 0x0000e1a2 2413*a26ae754SRob Clark #define A5XX_RB_BLEND_GREEN_UINT__MASK 0x000000ff 2414*a26ae754SRob Clark #define A5XX_RB_BLEND_GREEN_UINT__SHIFT 0 2415*a26ae754SRob Clark static inline uint32_t A5XX_RB_BLEND_GREEN_UINT(uint32_t val) 2416*a26ae754SRob Clark { 2417*a26ae754SRob Clark return ((val) << A5XX_RB_BLEND_GREEN_UINT__SHIFT) & A5XX_RB_BLEND_GREEN_UINT__MASK; 2418*a26ae754SRob Clark } 2419*a26ae754SRob Clark #define A5XX_RB_BLEND_GREEN_SINT__MASK 0x0000ff00 2420*a26ae754SRob Clark #define A5XX_RB_BLEND_GREEN_SINT__SHIFT 8 2421*a26ae754SRob Clark static inline uint32_t A5XX_RB_BLEND_GREEN_SINT(uint32_t val) 2422*a26ae754SRob Clark { 2423*a26ae754SRob Clark return ((val) << A5XX_RB_BLEND_GREEN_SINT__SHIFT) & A5XX_RB_BLEND_GREEN_SINT__MASK; 2424*a26ae754SRob Clark } 2425*a26ae754SRob Clark #define A5XX_RB_BLEND_GREEN_FLOAT__MASK 0xffff0000 2426*a26ae754SRob Clark #define A5XX_RB_BLEND_GREEN_FLOAT__SHIFT 16 2427*a26ae754SRob Clark static inline uint32_t A5XX_RB_BLEND_GREEN_FLOAT(float val) 2428*a26ae754SRob Clark { 2429*a26ae754SRob Clark return ((util_float_to_half(val)) << A5XX_RB_BLEND_GREEN_FLOAT__SHIFT) & A5XX_RB_BLEND_GREEN_FLOAT__MASK; 2430*a26ae754SRob Clark } 2431*a26ae754SRob Clark 2432*a26ae754SRob Clark #define REG_A5XX_RB_BLEND_GREEN_F32 0x0000e1a3 2433*a26ae754SRob Clark #define A5XX_RB_BLEND_GREEN_F32__MASK 0xffffffff 2434*a26ae754SRob Clark #define A5XX_RB_BLEND_GREEN_F32__SHIFT 0 2435*a26ae754SRob Clark static inline uint32_t A5XX_RB_BLEND_GREEN_F32(float val) 2436*a26ae754SRob Clark { 2437*a26ae754SRob Clark return ((fui(val)) << A5XX_RB_BLEND_GREEN_F32__SHIFT) & A5XX_RB_BLEND_GREEN_F32__MASK; 2438*a26ae754SRob Clark } 2439*a26ae754SRob Clark 2440*a26ae754SRob Clark #define REG_A5XX_RB_BLEND_BLUE 0x0000e1a4 2441*a26ae754SRob Clark #define A5XX_RB_BLEND_BLUE_UINT__MASK 0x000000ff 2442*a26ae754SRob Clark #define A5XX_RB_BLEND_BLUE_UINT__SHIFT 0 2443*a26ae754SRob Clark static inline uint32_t A5XX_RB_BLEND_BLUE_UINT(uint32_t val) 2444*a26ae754SRob Clark { 2445*a26ae754SRob Clark return ((val) << A5XX_RB_BLEND_BLUE_UINT__SHIFT) & A5XX_RB_BLEND_BLUE_UINT__MASK; 2446*a26ae754SRob Clark } 2447*a26ae754SRob Clark #define A5XX_RB_BLEND_BLUE_SINT__MASK 0x0000ff00 2448*a26ae754SRob Clark #define A5XX_RB_BLEND_BLUE_SINT__SHIFT 8 2449*a26ae754SRob Clark static inline uint32_t A5XX_RB_BLEND_BLUE_SINT(uint32_t val) 2450*a26ae754SRob Clark { 2451*a26ae754SRob Clark return ((val) << A5XX_RB_BLEND_BLUE_SINT__SHIFT) & A5XX_RB_BLEND_BLUE_SINT__MASK; 2452*a26ae754SRob Clark } 2453*a26ae754SRob Clark #define A5XX_RB_BLEND_BLUE_FLOAT__MASK 0xffff0000 2454*a26ae754SRob Clark #define A5XX_RB_BLEND_BLUE_FLOAT__SHIFT 16 2455*a26ae754SRob Clark static inline uint32_t A5XX_RB_BLEND_BLUE_FLOAT(float val) 2456*a26ae754SRob Clark { 2457*a26ae754SRob Clark return ((util_float_to_half(val)) << A5XX_RB_BLEND_BLUE_FLOAT__SHIFT) & A5XX_RB_BLEND_BLUE_FLOAT__MASK; 2458*a26ae754SRob Clark } 2459*a26ae754SRob Clark 2460*a26ae754SRob Clark #define REG_A5XX_RB_BLEND_BLUE_F32 0x0000e1a5 2461*a26ae754SRob Clark #define A5XX_RB_BLEND_BLUE_F32__MASK 0xffffffff 2462*a26ae754SRob Clark #define A5XX_RB_BLEND_BLUE_F32__SHIFT 0 2463*a26ae754SRob Clark static inline uint32_t A5XX_RB_BLEND_BLUE_F32(float val) 2464*a26ae754SRob Clark { 2465*a26ae754SRob Clark return ((fui(val)) << A5XX_RB_BLEND_BLUE_F32__SHIFT) & A5XX_RB_BLEND_BLUE_F32__MASK; 2466*a26ae754SRob Clark } 2467*a26ae754SRob Clark 2468*a26ae754SRob Clark #define REG_A5XX_RB_BLEND_ALPHA 0x0000e1a6 2469*a26ae754SRob Clark #define A5XX_RB_BLEND_ALPHA_UINT__MASK 0x000000ff 2470*a26ae754SRob Clark #define A5XX_RB_BLEND_ALPHA_UINT__SHIFT 0 2471*a26ae754SRob Clark static inline uint32_t A5XX_RB_BLEND_ALPHA_UINT(uint32_t val) 2472*a26ae754SRob Clark { 2473*a26ae754SRob Clark return ((val) << A5XX_RB_BLEND_ALPHA_UINT__SHIFT) & A5XX_RB_BLEND_ALPHA_UINT__MASK; 2474*a26ae754SRob Clark } 2475*a26ae754SRob Clark #define A5XX_RB_BLEND_ALPHA_SINT__MASK 0x0000ff00 2476*a26ae754SRob Clark #define A5XX_RB_BLEND_ALPHA_SINT__SHIFT 8 2477*a26ae754SRob Clark static inline uint32_t A5XX_RB_BLEND_ALPHA_SINT(uint32_t val) 2478*a26ae754SRob Clark { 2479*a26ae754SRob Clark return ((val) << A5XX_RB_BLEND_ALPHA_SINT__SHIFT) & A5XX_RB_BLEND_ALPHA_SINT__MASK; 2480*a26ae754SRob Clark } 2481*a26ae754SRob Clark #define A5XX_RB_BLEND_ALPHA_FLOAT__MASK 0xffff0000 2482*a26ae754SRob Clark #define A5XX_RB_BLEND_ALPHA_FLOAT__SHIFT 16 2483*a26ae754SRob Clark static inline uint32_t A5XX_RB_BLEND_ALPHA_FLOAT(float val) 2484*a26ae754SRob Clark { 2485*a26ae754SRob Clark return ((util_float_to_half(val)) << A5XX_RB_BLEND_ALPHA_FLOAT__SHIFT) & A5XX_RB_BLEND_ALPHA_FLOAT__MASK; 2486*a26ae754SRob Clark } 2487*a26ae754SRob Clark 2488*a26ae754SRob Clark #define REG_A5XX_RB_BLEND_ALPHA_F32 0x0000e1a7 2489*a26ae754SRob Clark #define A5XX_RB_BLEND_ALPHA_F32__MASK 0xffffffff 2490*a26ae754SRob Clark #define A5XX_RB_BLEND_ALPHA_F32__SHIFT 0 2491*a26ae754SRob Clark static inline uint32_t A5XX_RB_BLEND_ALPHA_F32(float val) 2492*a26ae754SRob Clark { 2493*a26ae754SRob Clark return ((fui(val)) << A5XX_RB_BLEND_ALPHA_F32__SHIFT) & A5XX_RB_BLEND_ALPHA_F32__MASK; 2494*a26ae754SRob Clark } 2495*a26ae754SRob Clark 2496*a26ae754SRob Clark #define REG_A5XX_RB_ALPHA_CONTROL 0x0000e1a8 2497*a26ae754SRob Clark #define A5XX_RB_ALPHA_CONTROL_ALPHA_REF__MASK 0x000000ff 2498*a26ae754SRob Clark #define A5XX_RB_ALPHA_CONTROL_ALPHA_REF__SHIFT 0 2499*a26ae754SRob Clark static inline uint32_t A5XX_RB_ALPHA_CONTROL_ALPHA_REF(uint32_t val) 2500*a26ae754SRob Clark { 2501*a26ae754SRob Clark return ((val) << A5XX_RB_ALPHA_CONTROL_ALPHA_REF__SHIFT) & A5XX_RB_ALPHA_CONTROL_ALPHA_REF__MASK; 2502*a26ae754SRob Clark } 2503*a26ae754SRob Clark #define A5XX_RB_ALPHA_CONTROL_ALPHA_TEST 0x00000100 2504*a26ae754SRob Clark #define A5XX_RB_ALPHA_CONTROL_ALPHA_TEST_FUNC__MASK 0x00000e00 2505*a26ae754SRob Clark #define A5XX_RB_ALPHA_CONTROL_ALPHA_TEST_FUNC__SHIFT 9 2506*a26ae754SRob Clark static inline uint32_t A5XX_RB_ALPHA_CONTROL_ALPHA_TEST_FUNC(enum adreno_compare_func val) 2507*a26ae754SRob Clark { 2508*a26ae754SRob Clark return ((val) << A5XX_RB_ALPHA_CONTROL_ALPHA_TEST_FUNC__SHIFT) & A5XX_RB_ALPHA_CONTROL_ALPHA_TEST_FUNC__MASK; 2509*a26ae754SRob Clark } 2510*a26ae754SRob Clark 2511*a26ae754SRob Clark #define REG_A5XX_RB_BLEND_CNTL 0x0000e1a9 2512*a26ae754SRob Clark #define A5XX_RB_BLEND_CNTL_ENABLE_BLEND__MASK 0x000000ff 2513*a26ae754SRob Clark #define A5XX_RB_BLEND_CNTL_ENABLE_BLEND__SHIFT 0 2514*a26ae754SRob Clark static inline uint32_t A5XX_RB_BLEND_CNTL_ENABLE_BLEND(uint32_t val) 2515*a26ae754SRob Clark { 2516*a26ae754SRob Clark return ((val) << A5XX_RB_BLEND_CNTL_ENABLE_BLEND__SHIFT) & A5XX_RB_BLEND_CNTL_ENABLE_BLEND__MASK; 2517*a26ae754SRob Clark } 2518*a26ae754SRob Clark #define A5XX_RB_BLEND_CNTL_INDEPENDENT_BLEND 0x00000100 2519*a26ae754SRob Clark #define A5XX_RB_BLEND_CNTL_SAMPLE_MASK__MASK 0xffff0000 2520*a26ae754SRob Clark #define A5XX_RB_BLEND_CNTL_SAMPLE_MASK__SHIFT 16 2521*a26ae754SRob Clark static inline uint32_t A5XX_RB_BLEND_CNTL_SAMPLE_MASK(uint32_t val) 2522*a26ae754SRob Clark { 2523*a26ae754SRob Clark return ((val) << A5XX_RB_BLEND_CNTL_SAMPLE_MASK__SHIFT) & A5XX_RB_BLEND_CNTL_SAMPLE_MASK__MASK; 2524*a26ae754SRob Clark } 2525*a26ae754SRob Clark 2526*a26ae754SRob Clark #define REG_A5XX_RB_DEPTH_PLANE_CNTL 0x0000e1b0 2527*a26ae754SRob Clark #define A5XX_RB_DEPTH_PLANE_CNTL_FRAG_WRITES_Z 0x00000001 2528*a26ae754SRob Clark 2529*a26ae754SRob Clark #define REG_A5XX_RB_DEPTH_CNTL 0x0000e1b1 2530*a26ae754SRob Clark #define A5XX_RB_DEPTH_CNTL_Z_ENABLE 0x00000001 2531*a26ae754SRob Clark #define A5XX_RB_DEPTH_CNTL_Z_WRITE_ENABLE 0x00000002 2532*a26ae754SRob Clark #define A5XX_RB_DEPTH_CNTL_ZFUNC__MASK 0x0000001c 2533*a26ae754SRob Clark #define A5XX_RB_DEPTH_CNTL_ZFUNC__SHIFT 2 2534*a26ae754SRob Clark static inline uint32_t A5XX_RB_DEPTH_CNTL_ZFUNC(enum adreno_compare_func val) 2535*a26ae754SRob Clark { 2536*a26ae754SRob Clark return ((val) << A5XX_RB_DEPTH_CNTL_ZFUNC__SHIFT) & A5XX_RB_DEPTH_CNTL_ZFUNC__MASK; 2537*a26ae754SRob Clark } 2538*a26ae754SRob Clark #define A5XX_RB_DEPTH_CNTL_Z_TEST_ENABLE 0x00000040 2539*a26ae754SRob Clark 2540*a26ae754SRob Clark #define REG_A5XX_RB_DEPTH_BUFFER_INFO 0x0000e1b2 2541*a26ae754SRob Clark #define A5XX_RB_DEPTH_BUFFER_INFO_DEPTH_FORMAT__MASK 0x00000007 2542*a26ae754SRob Clark #define A5XX_RB_DEPTH_BUFFER_INFO_DEPTH_FORMAT__SHIFT 0 2543*a26ae754SRob Clark static inline uint32_t A5XX_RB_DEPTH_BUFFER_INFO_DEPTH_FORMAT(enum a5xx_depth_format val) 2544*a26ae754SRob Clark { 2545*a26ae754SRob Clark return ((val) << A5XX_RB_DEPTH_BUFFER_INFO_DEPTH_FORMAT__SHIFT) & A5XX_RB_DEPTH_BUFFER_INFO_DEPTH_FORMAT__MASK; 2546*a26ae754SRob Clark } 2547*a26ae754SRob Clark 2548*a26ae754SRob Clark #define REG_A5XX_RB_DEPTH_BUFFER_BASE_LO 0x0000e1b3 2549*a26ae754SRob Clark 2550*a26ae754SRob Clark #define REG_A5XX_RB_DEPTH_BUFFER_BASE_HI 0x0000e1b4 2551*a26ae754SRob Clark 2552*a26ae754SRob Clark #define REG_A5XX_RB_DEPTH_BUFFER_PITCH 0x0000e1b5 2553*a26ae754SRob Clark #define A5XX_RB_DEPTH_BUFFER_PITCH__MASK 0xffffffff 2554*a26ae754SRob Clark #define A5XX_RB_DEPTH_BUFFER_PITCH__SHIFT 0 2555*a26ae754SRob Clark static inline uint32_t A5XX_RB_DEPTH_BUFFER_PITCH(uint32_t val) 2556*a26ae754SRob Clark { 2557*a26ae754SRob Clark return ((val >> 5) << A5XX_RB_DEPTH_BUFFER_PITCH__SHIFT) & A5XX_RB_DEPTH_BUFFER_PITCH__MASK; 2558*a26ae754SRob Clark } 2559*a26ae754SRob Clark 2560*a26ae754SRob Clark #define REG_A5XX_RB_DEPTH_BUFFER_ARRAY_PITCH 0x0000e1b6 2561*a26ae754SRob Clark #define A5XX_RB_DEPTH_BUFFER_ARRAY_PITCH__MASK 0xffffffff 2562*a26ae754SRob Clark #define A5XX_RB_DEPTH_BUFFER_ARRAY_PITCH__SHIFT 0 2563*a26ae754SRob Clark static inline uint32_t A5XX_RB_DEPTH_BUFFER_ARRAY_PITCH(uint32_t val) 2564*a26ae754SRob Clark { 2565*a26ae754SRob Clark return ((val >> 5) << A5XX_RB_DEPTH_BUFFER_ARRAY_PITCH__SHIFT) & A5XX_RB_DEPTH_BUFFER_ARRAY_PITCH__MASK; 2566*a26ae754SRob Clark } 2567*a26ae754SRob Clark 2568*a26ae754SRob Clark #define REG_A5XX_RB_STENCIL_CONTROL 0x0000e1c0 2569*a26ae754SRob Clark #define A5XX_RB_STENCIL_CONTROL_STENCIL_ENABLE 0x00000001 2570*a26ae754SRob Clark #define A5XX_RB_STENCIL_CONTROL_STENCIL_ENABLE_BF 0x00000002 2571*a26ae754SRob Clark #define A5XX_RB_STENCIL_CONTROL_STENCIL_READ 0x00000004 2572*a26ae754SRob Clark #define A5XX_RB_STENCIL_CONTROL_FUNC__MASK 0x00000700 2573*a26ae754SRob Clark #define A5XX_RB_STENCIL_CONTROL_FUNC__SHIFT 8 2574*a26ae754SRob Clark static inline uint32_t A5XX_RB_STENCIL_CONTROL_FUNC(enum adreno_compare_func val) 2575*a26ae754SRob Clark { 2576*a26ae754SRob Clark return ((val) << A5XX_RB_STENCIL_CONTROL_FUNC__SHIFT) & A5XX_RB_STENCIL_CONTROL_FUNC__MASK; 2577*a26ae754SRob Clark } 2578*a26ae754SRob Clark #define A5XX_RB_STENCIL_CONTROL_FAIL__MASK 0x00003800 2579*a26ae754SRob Clark #define A5XX_RB_STENCIL_CONTROL_FAIL__SHIFT 11 2580*a26ae754SRob Clark static inline uint32_t A5XX_RB_STENCIL_CONTROL_FAIL(enum adreno_stencil_op val) 2581*a26ae754SRob Clark { 2582*a26ae754SRob Clark return ((val) << A5XX_RB_STENCIL_CONTROL_FAIL__SHIFT) & A5XX_RB_STENCIL_CONTROL_FAIL__MASK; 2583*a26ae754SRob Clark } 2584*a26ae754SRob Clark #define A5XX_RB_STENCIL_CONTROL_ZPASS__MASK 0x0001c000 2585*a26ae754SRob Clark #define A5XX_RB_STENCIL_CONTROL_ZPASS__SHIFT 14 2586*a26ae754SRob Clark static inline uint32_t A5XX_RB_STENCIL_CONTROL_ZPASS(enum adreno_stencil_op val) 2587*a26ae754SRob Clark { 2588*a26ae754SRob Clark return ((val) << A5XX_RB_STENCIL_CONTROL_ZPASS__SHIFT) & A5XX_RB_STENCIL_CONTROL_ZPASS__MASK; 2589*a26ae754SRob Clark } 2590*a26ae754SRob Clark #define A5XX_RB_STENCIL_CONTROL_ZFAIL__MASK 0x000e0000 2591*a26ae754SRob Clark #define A5XX_RB_STENCIL_CONTROL_ZFAIL__SHIFT 17 2592*a26ae754SRob Clark static inline uint32_t A5XX_RB_STENCIL_CONTROL_ZFAIL(enum adreno_stencil_op val) 2593*a26ae754SRob Clark { 2594*a26ae754SRob Clark return ((val) << A5XX_RB_STENCIL_CONTROL_ZFAIL__SHIFT) & A5XX_RB_STENCIL_CONTROL_ZFAIL__MASK; 2595*a26ae754SRob Clark } 2596*a26ae754SRob Clark #define A5XX_RB_STENCIL_CONTROL_FUNC_BF__MASK 0x00700000 2597*a26ae754SRob Clark #define A5XX_RB_STENCIL_CONTROL_FUNC_BF__SHIFT 20 2598*a26ae754SRob Clark static inline uint32_t A5XX_RB_STENCIL_CONTROL_FUNC_BF(enum adreno_compare_func val) 2599*a26ae754SRob Clark { 2600*a26ae754SRob Clark return ((val) << A5XX_RB_STENCIL_CONTROL_FUNC_BF__SHIFT) & A5XX_RB_STENCIL_CONTROL_FUNC_BF__MASK; 2601*a26ae754SRob Clark } 2602*a26ae754SRob Clark #define A5XX_RB_STENCIL_CONTROL_FAIL_BF__MASK 0x03800000 2603*a26ae754SRob Clark #define A5XX_RB_STENCIL_CONTROL_FAIL_BF__SHIFT 23 2604*a26ae754SRob Clark static inline uint32_t A5XX_RB_STENCIL_CONTROL_FAIL_BF(enum adreno_stencil_op val) 2605*a26ae754SRob Clark { 2606*a26ae754SRob Clark return ((val) << A5XX_RB_STENCIL_CONTROL_FAIL_BF__SHIFT) & A5XX_RB_STENCIL_CONTROL_FAIL_BF__MASK; 2607*a26ae754SRob Clark } 2608*a26ae754SRob Clark #define A5XX_RB_STENCIL_CONTROL_ZPASS_BF__MASK 0x1c000000 2609*a26ae754SRob Clark #define A5XX_RB_STENCIL_CONTROL_ZPASS_BF__SHIFT 26 2610*a26ae754SRob Clark static inline uint32_t A5XX_RB_STENCIL_CONTROL_ZPASS_BF(enum adreno_stencil_op val) 2611*a26ae754SRob Clark { 2612*a26ae754SRob Clark return ((val) << A5XX_RB_STENCIL_CONTROL_ZPASS_BF__SHIFT) & A5XX_RB_STENCIL_CONTROL_ZPASS_BF__MASK; 2613*a26ae754SRob Clark } 2614*a26ae754SRob Clark #define A5XX_RB_STENCIL_CONTROL_ZFAIL_BF__MASK 0xe0000000 2615*a26ae754SRob Clark #define A5XX_RB_STENCIL_CONTROL_ZFAIL_BF__SHIFT 29 2616*a26ae754SRob Clark static inline uint32_t A5XX_RB_STENCIL_CONTROL_ZFAIL_BF(enum adreno_stencil_op val) 2617*a26ae754SRob Clark { 2618*a26ae754SRob Clark return ((val) << A5XX_RB_STENCIL_CONTROL_ZFAIL_BF__SHIFT) & A5XX_RB_STENCIL_CONTROL_ZFAIL_BF__MASK; 2619*a26ae754SRob Clark } 2620*a26ae754SRob Clark 2621*a26ae754SRob Clark #define REG_A5XX_RB_STENCIL_INFO 0x0000e1c1 2622*a26ae754SRob Clark #define A5XX_RB_STENCIL_INFO_SEPARATE_STENCIL 0x00000001 2623*a26ae754SRob Clark 2624*a26ae754SRob Clark #define REG_A5XX_RB_STENCIL_BASE_LO 0x0000e1c2 2625*a26ae754SRob Clark 2626*a26ae754SRob Clark #define REG_A5XX_RB_STENCIL_BASE_HI 0x0000e1c3 2627*a26ae754SRob Clark 2628*a26ae754SRob Clark #define REG_A5XX_RB_STENCIL_PITCH 0x0000e1c4 2629*a26ae754SRob Clark #define A5XX_RB_STENCIL_PITCH__MASK 0xffffffff 2630*a26ae754SRob Clark #define A5XX_RB_STENCIL_PITCH__SHIFT 0 2631*a26ae754SRob Clark static inline uint32_t A5XX_RB_STENCIL_PITCH(uint32_t val) 2632*a26ae754SRob Clark { 2633*a26ae754SRob Clark return ((val >> 6) << A5XX_RB_STENCIL_PITCH__SHIFT) & A5XX_RB_STENCIL_PITCH__MASK; 2634*a26ae754SRob Clark } 2635*a26ae754SRob Clark 2636*a26ae754SRob Clark #define REG_A5XX_RB_STENCIL_ARRAY_PITCH 0x0000e1c5 2637*a26ae754SRob Clark #define A5XX_RB_STENCIL_ARRAY_PITCH__MASK 0xffffffff 2638*a26ae754SRob Clark #define A5XX_RB_STENCIL_ARRAY_PITCH__SHIFT 0 2639*a26ae754SRob Clark static inline uint32_t A5XX_RB_STENCIL_ARRAY_PITCH(uint32_t val) 2640*a26ae754SRob Clark { 2641*a26ae754SRob Clark return ((val >> 6) << A5XX_RB_STENCIL_ARRAY_PITCH__SHIFT) & A5XX_RB_STENCIL_ARRAY_PITCH__MASK; 2642*a26ae754SRob Clark } 2643*a26ae754SRob Clark 2644*a26ae754SRob Clark #define REG_A5XX_RB_STENCILREFMASK 0x0000e1c6 2645*a26ae754SRob Clark #define A5XX_RB_STENCILREFMASK_STENCILREF__MASK 0x000000ff 2646*a26ae754SRob Clark #define A5XX_RB_STENCILREFMASK_STENCILREF__SHIFT 0 2647*a26ae754SRob Clark static inline uint32_t A5XX_RB_STENCILREFMASK_STENCILREF(uint32_t val) 2648*a26ae754SRob Clark { 2649*a26ae754SRob Clark return ((val) << A5XX_RB_STENCILREFMASK_STENCILREF__SHIFT) & A5XX_RB_STENCILREFMASK_STENCILREF__MASK; 2650*a26ae754SRob Clark } 2651*a26ae754SRob Clark #define A5XX_RB_STENCILREFMASK_STENCILMASK__MASK 0x0000ff00 2652*a26ae754SRob Clark #define A5XX_RB_STENCILREFMASK_STENCILMASK__SHIFT 8 2653*a26ae754SRob Clark static inline uint32_t A5XX_RB_STENCILREFMASK_STENCILMASK(uint32_t val) 2654*a26ae754SRob Clark { 2655*a26ae754SRob Clark return ((val) << A5XX_RB_STENCILREFMASK_STENCILMASK__SHIFT) & A5XX_RB_STENCILREFMASK_STENCILMASK__MASK; 2656*a26ae754SRob Clark } 2657*a26ae754SRob Clark #define A5XX_RB_STENCILREFMASK_STENCILWRITEMASK__MASK 0x00ff0000 2658*a26ae754SRob Clark #define A5XX_RB_STENCILREFMASK_STENCILWRITEMASK__SHIFT 16 2659*a26ae754SRob Clark static inline uint32_t A5XX_RB_STENCILREFMASK_STENCILWRITEMASK(uint32_t val) 2660*a26ae754SRob Clark { 2661*a26ae754SRob Clark return ((val) << A5XX_RB_STENCILREFMASK_STENCILWRITEMASK__SHIFT) & A5XX_RB_STENCILREFMASK_STENCILWRITEMASK__MASK; 2662*a26ae754SRob Clark } 2663*a26ae754SRob Clark 2664*a26ae754SRob Clark #define REG_A5XX_UNKNOWN_E1C7 0x0000e1c7 2665*a26ae754SRob Clark 2666*a26ae754SRob Clark #define REG_A5XX_RB_WINDOW_OFFSET 0x0000e1d0 2667*a26ae754SRob Clark #define A5XX_RB_WINDOW_OFFSET_WINDOW_OFFSET_DISABLE 0x80000000 2668*a26ae754SRob Clark #define A5XX_RB_WINDOW_OFFSET_X__MASK 0x00007fff 2669*a26ae754SRob Clark #define A5XX_RB_WINDOW_OFFSET_X__SHIFT 0 2670*a26ae754SRob Clark static inline uint32_t A5XX_RB_WINDOW_OFFSET_X(uint32_t val) 2671*a26ae754SRob Clark { 2672*a26ae754SRob Clark return ((val) << A5XX_RB_WINDOW_OFFSET_X__SHIFT) & A5XX_RB_WINDOW_OFFSET_X__MASK; 2673*a26ae754SRob Clark } 2674*a26ae754SRob Clark #define A5XX_RB_WINDOW_OFFSET_Y__MASK 0x7fff0000 2675*a26ae754SRob Clark #define A5XX_RB_WINDOW_OFFSET_Y__SHIFT 16 2676*a26ae754SRob Clark static inline uint32_t A5XX_RB_WINDOW_OFFSET_Y(uint32_t val) 2677*a26ae754SRob Clark { 2678*a26ae754SRob Clark return ((val) << A5XX_RB_WINDOW_OFFSET_Y__SHIFT) & A5XX_RB_WINDOW_OFFSET_Y__MASK; 2679*a26ae754SRob Clark } 2680*a26ae754SRob Clark 2681*a26ae754SRob Clark #define REG_A5XX_RB_BLIT_CNTL 0x0000e210 2682*a26ae754SRob Clark #define A5XX_RB_BLIT_CNTL_BUF__MASK 0x0000003f 2683*a26ae754SRob Clark #define A5XX_RB_BLIT_CNTL_BUF__SHIFT 0 2684*a26ae754SRob Clark static inline uint32_t A5XX_RB_BLIT_CNTL_BUF(enum a5xx_blit_buf val) 2685*a26ae754SRob Clark { 2686*a26ae754SRob Clark return ((val) << A5XX_RB_BLIT_CNTL_BUF__SHIFT) & A5XX_RB_BLIT_CNTL_BUF__MASK; 2687*a26ae754SRob Clark } 2688*a26ae754SRob Clark 2689*a26ae754SRob Clark #define REG_A5XX_RB_RESOLVE_CNTL_1 0x0000e211 2690*a26ae754SRob Clark #define A5XX_RB_RESOLVE_CNTL_1_WINDOW_OFFSET_DISABLE 0x80000000 2691*a26ae754SRob Clark #define A5XX_RB_RESOLVE_CNTL_1_X__MASK 0x00007fff 2692*a26ae754SRob Clark #define A5XX_RB_RESOLVE_CNTL_1_X__SHIFT 0 2693*a26ae754SRob Clark static inline uint32_t A5XX_RB_RESOLVE_CNTL_1_X(uint32_t val) 2694*a26ae754SRob Clark { 2695*a26ae754SRob Clark return ((val) << A5XX_RB_RESOLVE_CNTL_1_X__SHIFT) & A5XX_RB_RESOLVE_CNTL_1_X__MASK; 2696*a26ae754SRob Clark } 2697*a26ae754SRob Clark #define A5XX_RB_RESOLVE_CNTL_1_Y__MASK 0x7fff0000 2698*a26ae754SRob Clark #define A5XX_RB_RESOLVE_CNTL_1_Y__SHIFT 16 2699*a26ae754SRob Clark static inline uint32_t A5XX_RB_RESOLVE_CNTL_1_Y(uint32_t val) 2700*a26ae754SRob Clark { 2701*a26ae754SRob Clark return ((val) << A5XX_RB_RESOLVE_CNTL_1_Y__SHIFT) & A5XX_RB_RESOLVE_CNTL_1_Y__MASK; 2702*a26ae754SRob Clark } 2703*a26ae754SRob Clark 2704*a26ae754SRob Clark #define REG_A5XX_RB_RESOLVE_CNTL_2 0x0000e212 2705*a26ae754SRob Clark #define A5XX_RB_RESOLVE_CNTL_2_WINDOW_OFFSET_DISABLE 0x80000000 2706*a26ae754SRob Clark #define A5XX_RB_RESOLVE_CNTL_2_X__MASK 0x00007fff 2707*a26ae754SRob Clark #define A5XX_RB_RESOLVE_CNTL_2_X__SHIFT 0 2708*a26ae754SRob Clark static inline uint32_t A5XX_RB_RESOLVE_CNTL_2_X(uint32_t val) 2709*a26ae754SRob Clark { 2710*a26ae754SRob Clark return ((val) << A5XX_RB_RESOLVE_CNTL_2_X__SHIFT) & A5XX_RB_RESOLVE_CNTL_2_X__MASK; 2711*a26ae754SRob Clark } 2712*a26ae754SRob Clark #define A5XX_RB_RESOLVE_CNTL_2_Y__MASK 0x7fff0000 2713*a26ae754SRob Clark #define A5XX_RB_RESOLVE_CNTL_2_Y__SHIFT 16 2714*a26ae754SRob Clark static inline uint32_t A5XX_RB_RESOLVE_CNTL_2_Y(uint32_t val) 2715*a26ae754SRob Clark { 2716*a26ae754SRob Clark return ((val) << A5XX_RB_RESOLVE_CNTL_2_Y__SHIFT) & A5XX_RB_RESOLVE_CNTL_2_Y__MASK; 2717*a26ae754SRob Clark } 2718*a26ae754SRob Clark 2719*a26ae754SRob Clark #define REG_A5XX_RB_RESOLVE_CNTL_3 0x0000e213 2720*a26ae754SRob Clark 2721*a26ae754SRob Clark #define REG_A5XX_RB_BLIT_DST_LO 0x0000e214 2722*a26ae754SRob Clark 2723*a26ae754SRob Clark #define REG_A5XX_RB_BLIT_DST_HI 0x0000e215 2724*a26ae754SRob Clark 2725*a26ae754SRob Clark #define REG_A5XX_RB_BLIT_DST_PITCH 0x0000e216 2726*a26ae754SRob Clark #define A5XX_RB_BLIT_DST_PITCH__MASK 0xffffffff 2727*a26ae754SRob Clark #define A5XX_RB_BLIT_DST_PITCH__SHIFT 0 2728*a26ae754SRob Clark static inline uint32_t A5XX_RB_BLIT_DST_PITCH(uint32_t val) 2729*a26ae754SRob Clark { 2730*a26ae754SRob Clark return ((val >> 6) << A5XX_RB_BLIT_DST_PITCH__SHIFT) & A5XX_RB_BLIT_DST_PITCH__MASK; 2731*a26ae754SRob Clark } 2732*a26ae754SRob Clark 2733*a26ae754SRob Clark #define REG_A5XX_RB_BLIT_DST_ARRAY_PITCH 0x0000e217 2734*a26ae754SRob Clark #define A5XX_RB_BLIT_DST_ARRAY_PITCH__MASK 0xffffffff 2735*a26ae754SRob Clark #define A5XX_RB_BLIT_DST_ARRAY_PITCH__SHIFT 0 2736*a26ae754SRob Clark static inline uint32_t A5XX_RB_BLIT_DST_ARRAY_PITCH(uint32_t val) 2737*a26ae754SRob Clark { 2738*a26ae754SRob Clark return ((val >> 6) << A5XX_RB_BLIT_DST_ARRAY_PITCH__SHIFT) & A5XX_RB_BLIT_DST_ARRAY_PITCH__MASK; 2739*a26ae754SRob Clark } 2740*a26ae754SRob Clark 2741*a26ae754SRob Clark #define REG_A5XX_RB_CLEAR_COLOR_DW0 0x0000e218 2742*a26ae754SRob Clark 2743*a26ae754SRob Clark #define REG_A5XX_RB_CLEAR_COLOR_DW1 0x0000e219 2744*a26ae754SRob Clark 2745*a26ae754SRob Clark #define REG_A5XX_RB_CLEAR_COLOR_DW2 0x0000e21a 2746*a26ae754SRob Clark 2747*a26ae754SRob Clark #define REG_A5XX_RB_CLEAR_COLOR_DW3 0x0000e21b 2748*a26ae754SRob Clark 2749*a26ae754SRob Clark #define REG_A5XX_RB_CLEAR_CNTL 0x0000e21c 2750*a26ae754SRob Clark #define A5XX_RB_CLEAR_CNTL_FAST_CLEAR 0x00000002 2751*a26ae754SRob Clark #define A5XX_RB_CLEAR_CNTL_MASK__MASK 0x000000f0 2752*a26ae754SRob Clark #define A5XX_RB_CLEAR_CNTL_MASK__SHIFT 4 2753*a26ae754SRob Clark static inline uint32_t A5XX_RB_CLEAR_CNTL_MASK(uint32_t val) 2754*a26ae754SRob Clark { 2755*a26ae754SRob Clark return ((val) << A5XX_RB_CLEAR_CNTL_MASK__SHIFT) & A5XX_RB_CLEAR_CNTL_MASK__MASK; 2756*a26ae754SRob Clark } 2757*a26ae754SRob Clark 2758*a26ae754SRob Clark #define REG_A5XX_RB_DEPTH_FLAG_BUFFER_BASE_LO 0x0000e240 2759*a26ae754SRob Clark 2760*a26ae754SRob Clark #define REG_A5XX_RB_DEPTH_FLAG_BUFFER_BASE_HI 0x0000e241 2761*a26ae754SRob Clark 2762*a26ae754SRob Clark #define REG_A5XX_RB_DEPTH_FLAG_BUFFER_PITCH 0x0000e242 2763*a26ae754SRob Clark 2764*a26ae754SRob Clark static inline uint32_t REG_A5XX_RB_MRT_FLAG_BUFFER(uint32_t i0) { return 0x0000e243 + 0x4*i0; } 2765*a26ae754SRob Clark 2766*a26ae754SRob Clark static inline uint32_t REG_A5XX_RB_MRT_FLAG_BUFFER_ADDR_LO(uint32_t i0) { return 0x0000e243 + 0x4*i0; } 2767*a26ae754SRob Clark 2768*a26ae754SRob Clark static inline uint32_t REG_A5XX_RB_MRT_FLAG_BUFFER_ADDR_HI(uint32_t i0) { return 0x0000e244 + 0x4*i0; } 2769*a26ae754SRob Clark 2770*a26ae754SRob Clark static inline uint32_t REG_A5XX_RB_MRT_FLAG_BUFFER_PITCH(uint32_t i0) { return 0x0000e245 + 0x4*i0; } 2771*a26ae754SRob Clark #define A5XX_RB_MRT_FLAG_BUFFER_PITCH__MASK 0xffffffff 2772*a26ae754SRob Clark #define A5XX_RB_MRT_FLAG_BUFFER_PITCH__SHIFT 0 2773*a26ae754SRob Clark static inline uint32_t A5XX_RB_MRT_FLAG_BUFFER_PITCH(uint32_t val) 2774*a26ae754SRob Clark { 2775*a26ae754SRob Clark return ((val >> 6) << A5XX_RB_MRT_FLAG_BUFFER_PITCH__SHIFT) & A5XX_RB_MRT_FLAG_BUFFER_PITCH__MASK; 2776*a26ae754SRob Clark } 2777*a26ae754SRob Clark 2778*a26ae754SRob Clark static inline uint32_t REG_A5XX_RB_MRT_FLAG_BUFFER_ARRAY_PITCH(uint32_t i0) { return 0x0000e246 + 0x4*i0; } 2779*a26ae754SRob Clark #define A5XX_RB_MRT_FLAG_BUFFER_ARRAY_PITCH__MASK 0xffffffff 2780*a26ae754SRob Clark #define A5XX_RB_MRT_FLAG_BUFFER_ARRAY_PITCH__SHIFT 0 2781*a26ae754SRob Clark static inline uint32_t A5XX_RB_MRT_FLAG_BUFFER_ARRAY_PITCH(uint32_t val) 2782*a26ae754SRob Clark { 2783*a26ae754SRob Clark return ((val >> 6) << A5XX_RB_MRT_FLAG_BUFFER_ARRAY_PITCH__SHIFT) & A5XX_RB_MRT_FLAG_BUFFER_ARRAY_PITCH__MASK; 2784*a26ae754SRob Clark } 2785*a26ae754SRob Clark 2786*a26ae754SRob Clark #define REG_A5XX_RB_BLIT_FLAG_DST_LO 0x0000e263 2787*a26ae754SRob Clark 2788*a26ae754SRob Clark #define REG_A5XX_RB_BLIT_FLAG_DST_HI 0x0000e264 2789*a26ae754SRob Clark 2790*a26ae754SRob Clark #define REG_A5XX_RB_BLIT_FLAG_DST_PITCH 0x0000e265 2791*a26ae754SRob Clark #define A5XX_RB_BLIT_FLAG_DST_PITCH__MASK 0xffffffff 2792*a26ae754SRob Clark #define A5XX_RB_BLIT_FLAG_DST_PITCH__SHIFT 0 2793*a26ae754SRob Clark static inline uint32_t A5XX_RB_BLIT_FLAG_DST_PITCH(uint32_t val) 2794*a26ae754SRob Clark { 2795*a26ae754SRob Clark return ((val >> 6) << A5XX_RB_BLIT_FLAG_DST_PITCH__SHIFT) & A5XX_RB_BLIT_FLAG_DST_PITCH__MASK; 2796*a26ae754SRob Clark } 2797*a26ae754SRob Clark 2798*a26ae754SRob Clark #define REG_A5XX_RB_BLIT_FLAG_DST_ARRAY_PITCH 0x0000e266 2799*a26ae754SRob Clark #define A5XX_RB_BLIT_FLAG_DST_ARRAY_PITCH__MASK 0xffffffff 2800*a26ae754SRob Clark #define A5XX_RB_BLIT_FLAG_DST_ARRAY_PITCH__SHIFT 0 2801*a26ae754SRob Clark static inline uint32_t A5XX_RB_BLIT_FLAG_DST_ARRAY_PITCH(uint32_t val) 2802*a26ae754SRob Clark { 2803*a26ae754SRob Clark return ((val >> 6) << A5XX_RB_BLIT_FLAG_DST_ARRAY_PITCH__SHIFT) & A5XX_RB_BLIT_FLAG_DST_ARRAY_PITCH__MASK; 2804*a26ae754SRob Clark } 2805*a26ae754SRob Clark 2806*a26ae754SRob Clark #define REG_A5XX_VPC_CNTL_0 0x0000e280 2807*a26ae754SRob Clark #define A5XX_VPC_CNTL_0_STRIDE_IN_VPC__MASK 0x0000007f 2808*a26ae754SRob Clark #define A5XX_VPC_CNTL_0_STRIDE_IN_VPC__SHIFT 0 2809*a26ae754SRob Clark static inline uint32_t A5XX_VPC_CNTL_0_STRIDE_IN_VPC(uint32_t val) 2810*a26ae754SRob Clark { 2811*a26ae754SRob Clark return ((val) << A5XX_VPC_CNTL_0_STRIDE_IN_VPC__SHIFT) & A5XX_VPC_CNTL_0_STRIDE_IN_VPC__MASK; 2812*a26ae754SRob Clark } 2813*a26ae754SRob Clark #define A5XX_VPC_CNTL_0_VARYING 0x00000800 2814*a26ae754SRob Clark 2815*a26ae754SRob Clark static inline uint32_t REG_A5XX_VPC_VARYING_INTERP(uint32_t i0) { return 0x0000e282 + 0x1*i0; } 2816*a26ae754SRob Clark 2817*a26ae754SRob Clark static inline uint32_t REG_A5XX_VPC_VARYING_INTERP_MODE(uint32_t i0) { return 0x0000e282 + 0x1*i0; } 2818*a26ae754SRob Clark 2819*a26ae754SRob Clark static inline uint32_t REG_A5XX_VPC_VARYING_PS_REPL(uint32_t i0) { return 0x0000e28a + 0x1*i0; } 2820*a26ae754SRob Clark 2821*a26ae754SRob Clark static inline uint32_t REG_A5XX_VPC_VARYING_PS_REPL_MODE(uint32_t i0) { return 0x0000e28a + 0x1*i0; } 2822*a26ae754SRob Clark 2823*a26ae754SRob Clark #define REG_A5XX_UNKNOWN_E292 0x0000e292 2824*a26ae754SRob Clark 2825*a26ae754SRob Clark #define REG_A5XX_UNKNOWN_E293 0x0000e293 2826*a26ae754SRob Clark 2827*a26ae754SRob Clark static inline uint32_t REG_A5XX_VPC_VAR(uint32_t i0) { return 0x0000e294 + 0x1*i0; } 2828*a26ae754SRob Clark 2829*a26ae754SRob Clark static inline uint32_t REG_A5XX_VPC_VAR_DISABLE(uint32_t i0) { return 0x0000e294 + 0x1*i0; } 2830*a26ae754SRob Clark 2831*a26ae754SRob Clark #define REG_A5XX_VPC_GS_SIV_CNTL 0x0000e298 2832*a26ae754SRob Clark 2833*a26ae754SRob Clark #define REG_A5XX_UNKNOWN_E29A 0x0000e29a 2834*a26ae754SRob Clark 2835*a26ae754SRob Clark #define REG_A5XX_VPC_PACK 0x0000e29d 2836*a26ae754SRob Clark #define A5XX_VPC_PACK_NUMNONPOSVAR__MASK 0x000000ff 2837*a26ae754SRob Clark #define A5XX_VPC_PACK_NUMNONPOSVAR__SHIFT 0 2838*a26ae754SRob Clark static inline uint32_t A5XX_VPC_PACK_NUMNONPOSVAR(uint32_t val) 2839*a26ae754SRob Clark { 2840*a26ae754SRob Clark return ((val) << A5XX_VPC_PACK_NUMNONPOSVAR__SHIFT) & A5XX_VPC_PACK_NUMNONPOSVAR__MASK; 2841*a26ae754SRob Clark } 2842*a26ae754SRob Clark 2843*a26ae754SRob Clark #define REG_A5XX_VPC_FS_PRIMITIVEID_CNTL 0x0000e2a0 2844*a26ae754SRob Clark 2845*a26ae754SRob Clark #define REG_A5XX_UNKNOWN_E2A1 0x0000e2a1 2846*a26ae754SRob Clark 2847*a26ae754SRob Clark #define REG_A5XX_VPC_SO_OVERRIDE 0x0000e2a2 2848*a26ae754SRob Clark 2849*a26ae754SRob Clark #define REG_A5XX_VPC_SO_BUFFER_BASE_LO_0 0x0000e2a7 2850*a26ae754SRob Clark 2851*a26ae754SRob Clark #define REG_A5XX_VPC_SO_BUFFER_BASE_HI_0 0x0000e2a8 2852*a26ae754SRob Clark 2853*a26ae754SRob Clark #define REG_A5XX_VPC_SO_BUFFER_SIZE_0 0x0000e2a9 2854*a26ae754SRob Clark 2855*a26ae754SRob Clark #define REG_A5XX_UNKNOWN_E2AB 0x0000e2ab 2856*a26ae754SRob Clark 2857*a26ae754SRob Clark #define REG_A5XX_VPC_SO_FLUSH_BASE_LO_0 0x0000e2ac 2858*a26ae754SRob Clark 2859*a26ae754SRob Clark #define REG_A5XX_VPC_SO_FLUSH_BASE_HI_0 0x0000e2ad 2860*a26ae754SRob Clark 2861*a26ae754SRob Clark #define REG_A5XX_UNKNOWN_E2AE 0x0000e2ae 2862*a26ae754SRob Clark 2863*a26ae754SRob Clark #define REG_A5XX_UNKNOWN_E2B2 0x0000e2b2 2864*a26ae754SRob Clark 2865*a26ae754SRob Clark #define REG_A5XX_UNKNOWN_E2B9 0x0000e2b9 2866*a26ae754SRob Clark 2867*a26ae754SRob Clark #define REG_A5XX_UNKNOWN_E2C0 0x0000e2c0 2868*a26ae754SRob Clark 2869*a26ae754SRob Clark #define REG_A5XX_PC_PRIMITIVE_CNTL 0x0000e384 2870*a26ae754SRob Clark #define A5XX_PC_PRIMITIVE_CNTL_STRIDE_IN_VPC__MASK 0x0000007f 2871*a26ae754SRob Clark #define A5XX_PC_PRIMITIVE_CNTL_STRIDE_IN_VPC__SHIFT 0 2872*a26ae754SRob Clark static inline uint32_t A5XX_PC_PRIMITIVE_CNTL_STRIDE_IN_VPC(uint32_t val) 2873*a26ae754SRob Clark { 2874*a26ae754SRob Clark return ((val) << A5XX_PC_PRIMITIVE_CNTL_STRIDE_IN_VPC__SHIFT) & A5XX_PC_PRIMITIVE_CNTL_STRIDE_IN_VPC__MASK; 2875*a26ae754SRob Clark } 2876*a26ae754SRob Clark 2877*a26ae754SRob Clark #define REG_A5XX_PC_PRIM_VTX_CNTL 0x0000e385 2878*a26ae754SRob Clark #define A5XX_PC_PRIM_VTX_CNTL_PSIZE 0x00000800 2879*a26ae754SRob Clark 2880*a26ae754SRob Clark #define REG_A5XX_PC_RASTER_CNTL 0x0000e388 2881*a26ae754SRob Clark 2882*a26ae754SRob Clark #define REG_A5XX_UNKNOWN_E389 0x0000e389 2883*a26ae754SRob Clark 2884*a26ae754SRob Clark #define REG_A5XX_PC_RESTART_INDEX 0x0000e38c 2885*a26ae754SRob Clark 2886*a26ae754SRob Clark #define REG_A5XX_UNKNOWN_E38D 0x0000e38d 2887*a26ae754SRob Clark 2888*a26ae754SRob Clark #define REG_A5XX_PC_GS_PARAM 0x0000e38e 2889*a26ae754SRob Clark 2890*a26ae754SRob Clark #define REG_A5XX_PC_HS_PARAM 0x0000e38f 2891*a26ae754SRob Clark 2892*a26ae754SRob Clark #define REG_A5XX_PC_POWER_CNTL 0x0000e3b0 2893*a26ae754SRob Clark 2894*a26ae754SRob Clark #define REG_A5XX_VFD_CONTROL_0 0x0000e400 2895*a26ae754SRob Clark #define A5XX_VFD_CONTROL_0_VTXCNT__MASK 0x0000003f 2896*a26ae754SRob Clark #define A5XX_VFD_CONTROL_0_VTXCNT__SHIFT 0 2897*a26ae754SRob Clark static inline uint32_t A5XX_VFD_CONTROL_0_VTXCNT(uint32_t val) 2898*a26ae754SRob Clark { 2899*a26ae754SRob Clark return ((val) << A5XX_VFD_CONTROL_0_VTXCNT__SHIFT) & A5XX_VFD_CONTROL_0_VTXCNT__MASK; 2900*a26ae754SRob Clark } 2901*a26ae754SRob Clark 2902*a26ae754SRob Clark #define REG_A5XX_VFD_CONTROL_1 0x0000e401 2903*a26ae754SRob Clark #define A5XX_VFD_CONTROL_1_REGID4INST__MASK 0x0000ff00 2904*a26ae754SRob Clark #define A5XX_VFD_CONTROL_1_REGID4INST__SHIFT 8 2905*a26ae754SRob Clark static inline uint32_t A5XX_VFD_CONTROL_1_REGID4INST(uint32_t val) 2906*a26ae754SRob Clark { 2907*a26ae754SRob Clark return ((val) << A5XX_VFD_CONTROL_1_REGID4INST__SHIFT) & A5XX_VFD_CONTROL_1_REGID4INST__MASK; 2908*a26ae754SRob Clark } 2909*a26ae754SRob Clark #define A5XX_VFD_CONTROL_1_REGID4VTX__MASK 0x00ff0000 2910*a26ae754SRob Clark #define A5XX_VFD_CONTROL_1_REGID4VTX__SHIFT 16 2911*a26ae754SRob Clark static inline uint32_t A5XX_VFD_CONTROL_1_REGID4VTX(uint32_t val) 2912*a26ae754SRob Clark { 2913*a26ae754SRob Clark return ((val) << A5XX_VFD_CONTROL_1_REGID4VTX__SHIFT) & A5XX_VFD_CONTROL_1_REGID4VTX__MASK; 2914*a26ae754SRob Clark } 2915*a26ae754SRob Clark 2916*a26ae754SRob Clark #define REG_A5XX_VFD_CONTROL_2 0x0000e402 2917*a26ae754SRob Clark 2918*a26ae754SRob Clark #define REG_A5XX_VFD_CONTROL_3 0x0000e403 2919*a26ae754SRob Clark 2920*a26ae754SRob Clark #define REG_A5XX_VFD_CONTROL_4 0x0000e404 2921*a26ae754SRob Clark 2922*a26ae754SRob Clark #define REG_A5XX_VFD_CONTROL_5 0x0000e405 2923*a26ae754SRob Clark 2924*a26ae754SRob Clark #define REG_A5XX_VFD_INDEX_OFFSET 0x0000e408 2925*a26ae754SRob Clark 2926*a26ae754SRob Clark #define REG_A5XX_VFD_INSTANCE_START_OFFSET 0x0000e409 2927*a26ae754SRob Clark 2928*a26ae754SRob Clark static inline uint32_t REG_A5XX_VFD_FETCH(uint32_t i0) { return 0x0000e40a + 0x4*i0; } 2929*a26ae754SRob Clark 2930*a26ae754SRob Clark static inline uint32_t REG_A5XX_VFD_FETCH_BASE_LO(uint32_t i0) { return 0x0000e40a + 0x4*i0; } 2931*a26ae754SRob Clark 2932*a26ae754SRob Clark static inline uint32_t REG_A5XX_VFD_FETCH_BASE_HI(uint32_t i0) { return 0x0000e40b + 0x4*i0; } 2933*a26ae754SRob Clark 2934*a26ae754SRob Clark static inline uint32_t REG_A5XX_VFD_FETCH_SIZE(uint32_t i0) { return 0x0000e40c + 0x4*i0; } 2935*a26ae754SRob Clark 2936*a26ae754SRob Clark static inline uint32_t REG_A5XX_VFD_FETCH_STRIDE(uint32_t i0) { return 0x0000e40d + 0x4*i0; } 2937*a26ae754SRob Clark 2938*a26ae754SRob Clark static inline uint32_t REG_A5XX_VFD_DECODE(uint32_t i0) { return 0x0000e48a + 0x2*i0; } 2939*a26ae754SRob Clark 2940*a26ae754SRob Clark static inline uint32_t REG_A5XX_VFD_DECODE_INSTR(uint32_t i0) { return 0x0000e48a + 0x2*i0; } 2941*a26ae754SRob Clark #define A5XX_VFD_DECODE_INSTR_IDX__MASK 0x0000001f 2942*a26ae754SRob Clark #define A5XX_VFD_DECODE_INSTR_IDX__SHIFT 0 2943*a26ae754SRob Clark static inline uint32_t A5XX_VFD_DECODE_INSTR_IDX(uint32_t val) 2944*a26ae754SRob Clark { 2945*a26ae754SRob Clark return ((val) << A5XX_VFD_DECODE_INSTR_IDX__SHIFT) & A5XX_VFD_DECODE_INSTR_IDX__MASK; 2946*a26ae754SRob Clark } 2947*a26ae754SRob Clark #define A5XX_VFD_DECODE_INSTR_FORMAT__MASK 0x3ff00000 2948*a26ae754SRob Clark #define A5XX_VFD_DECODE_INSTR_FORMAT__SHIFT 20 2949*a26ae754SRob Clark static inline uint32_t A5XX_VFD_DECODE_INSTR_FORMAT(enum a5xx_vtx_fmt val) 2950*a26ae754SRob Clark { 2951*a26ae754SRob Clark return ((val) << A5XX_VFD_DECODE_INSTR_FORMAT__SHIFT) & A5XX_VFD_DECODE_INSTR_FORMAT__MASK; 2952*a26ae754SRob Clark } 2953*a26ae754SRob Clark #define A5XX_VFD_DECODE_INSTR_SWAP__MASK 0xc0000000 2954*a26ae754SRob Clark #define A5XX_VFD_DECODE_INSTR_SWAP__SHIFT 30 2955*a26ae754SRob Clark static inline uint32_t A5XX_VFD_DECODE_INSTR_SWAP(enum a3xx_color_swap val) 2956*a26ae754SRob Clark { 2957*a26ae754SRob Clark return ((val) << A5XX_VFD_DECODE_INSTR_SWAP__SHIFT) & A5XX_VFD_DECODE_INSTR_SWAP__MASK; 2958*a26ae754SRob Clark } 2959*a26ae754SRob Clark 2960*a26ae754SRob Clark static inline uint32_t REG_A5XX_VFD_DECODE_STEP_RATE(uint32_t i0) { return 0x0000e48b + 0x2*i0; } 2961*a26ae754SRob Clark 2962*a26ae754SRob Clark static inline uint32_t REG_A5XX_VFD_DEST_CNTL(uint32_t i0) { return 0x0000e4ca + 0x1*i0; } 2963*a26ae754SRob Clark 2964*a26ae754SRob Clark static inline uint32_t REG_A5XX_VFD_DEST_CNTL_INSTR(uint32_t i0) { return 0x0000e4ca + 0x1*i0; } 2965*a26ae754SRob Clark #define A5XX_VFD_DEST_CNTL_INSTR_WRITEMASK__MASK 0x0000000f 2966*a26ae754SRob Clark #define A5XX_VFD_DEST_CNTL_INSTR_WRITEMASK__SHIFT 0 2967*a26ae754SRob Clark static inline uint32_t A5XX_VFD_DEST_CNTL_INSTR_WRITEMASK(uint32_t val) 2968*a26ae754SRob Clark { 2969*a26ae754SRob Clark return ((val) << A5XX_VFD_DEST_CNTL_INSTR_WRITEMASK__SHIFT) & A5XX_VFD_DEST_CNTL_INSTR_WRITEMASK__MASK; 2970*a26ae754SRob Clark } 2971*a26ae754SRob Clark #define A5XX_VFD_DEST_CNTL_INSTR_REGID__MASK 0x00000ff0 2972*a26ae754SRob Clark #define A5XX_VFD_DEST_CNTL_INSTR_REGID__SHIFT 4 2973*a26ae754SRob Clark static inline uint32_t A5XX_VFD_DEST_CNTL_INSTR_REGID(uint32_t val) 2974*a26ae754SRob Clark { 2975*a26ae754SRob Clark return ((val) << A5XX_VFD_DEST_CNTL_INSTR_REGID__SHIFT) & A5XX_VFD_DEST_CNTL_INSTR_REGID__MASK; 2976*a26ae754SRob Clark } 2977*a26ae754SRob Clark 2978*a26ae754SRob Clark #define REG_A5XX_VFD_POWER_CNTL 0x0000e4f0 2979*a26ae754SRob Clark 2980*a26ae754SRob Clark #define REG_A5XX_SP_SP_CNTL 0x0000e580 2981*a26ae754SRob Clark 2982*a26ae754SRob Clark #define REG_A5XX_SP_VS_CONTROL_REG 0x0000e584 2983*a26ae754SRob Clark #define A5XX_SP_VS_CONTROL_REG_ENABLED 0x00000001 2984*a26ae754SRob Clark #define A5XX_SP_VS_CONTROL_REG_CONSTOBJECTOFFSET__MASK 0x000000fe 2985*a26ae754SRob Clark #define A5XX_SP_VS_CONTROL_REG_CONSTOBJECTOFFSET__SHIFT 1 2986*a26ae754SRob Clark static inline uint32_t A5XX_SP_VS_CONTROL_REG_CONSTOBJECTOFFSET(uint32_t val) 2987*a26ae754SRob Clark { 2988*a26ae754SRob Clark return ((val) << A5XX_SP_VS_CONTROL_REG_CONSTOBJECTOFFSET__SHIFT) & A5XX_SP_VS_CONTROL_REG_CONSTOBJECTOFFSET__MASK; 2989*a26ae754SRob Clark } 2990*a26ae754SRob Clark #define A5XX_SP_VS_CONTROL_REG_SHADEROBJOFFSET__MASK 0x00007f00 2991*a26ae754SRob Clark #define A5XX_SP_VS_CONTROL_REG_SHADEROBJOFFSET__SHIFT 8 2992*a26ae754SRob Clark static inline uint32_t A5XX_SP_VS_CONTROL_REG_SHADEROBJOFFSET(uint32_t val) 2993*a26ae754SRob Clark { 2994*a26ae754SRob Clark return ((val) << A5XX_SP_VS_CONTROL_REG_SHADEROBJOFFSET__SHIFT) & A5XX_SP_VS_CONTROL_REG_SHADEROBJOFFSET__MASK; 2995*a26ae754SRob Clark } 2996*a26ae754SRob Clark 2997*a26ae754SRob Clark #define REG_A5XX_SP_FS_CONTROL_REG 0x0000e585 2998*a26ae754SRob Clark #define A5XX_SP_FS_CONTROL_REG_ENABLED 0x00000001 2999*a26ae754SRob Clark #define A5XX_SP_FS_CONTROL_REG_CONSTOBJECTOFFSET__MASK 0x000000fe 3000*a26ae754SRob Clark #define A5XX_SP_FS_CONTROL_REG_CONSTOBJECTOFFSET__SHIFT 1 3001*a26ae754SRob Clark static inline uint32_t A5XX_SP_FS_CONTROL_REG_CONSTOBJECTOFFSET(uint32_t val) 3002*a26ae754SRob Clark { 3003*a26ae754SRob Clark return ((val) << A5XX_SP_FS_CONTROL_REG_CONSTOBJECTOFFSET__SHIFT) & A5XX_SP_FS_CONTROL_REG_CONSTOBJECTOFFSET__MASK; 3004*a26ae754SRob Clark } 3005*a26ae754SRob Clark #define A5XX_SP_FS_CONTROL_REG_SHADEROBJOFFSET__MASK 0x00007f00 3006*a26ae754SRob Clark #define A5XX_SP_FS_CONTROL_REG_SHADEROBJOFFSET__SHIFT 8 3007*a26ae754SRob Clark static inline uint32_t A5XX_SP_FS_CONTROL_REG_SHADEROBJOFFSET(uint32_t val) 3008*a26ae754SRob Clark { 3009*a26ae754SRob Clark return ((val) << A5XX_SP_FS_CONTROL_REG_SHADEROBJOFFSET__SHIFT) & A5XX_SP_FS_CONTROL_REG_SHADEROBJOFFSET__MASK; 3010*a26ae754SRob Clark } 3011*a26ae754SRob Clark 3012*a26ae754SRob Clark #define REG_A5XX_SP_HS_CONTROL_REG 0x0000e586 3013*a26ae754SRob Clark #define A5XX_SP_HS_CONTROL_REG_ENABLED 0x00000001 3014*a26ae754SRob Clark #define A5XX_SP_HS_CONTROL_REG_CONSTOBJECTOFFSET__MASK 0x000000fe 3015*a26ae754SRob Clark #define A5XX_SP_HS_CONTROL_REG_CONSTOBJECTOFFSET__SHIFT 1 3016*a26ae754SRob Clark static inline uint32_t A5XX_SP_HS_CONTROL_REG_CONSTOBJECTOFFSET(uint32_t val) 3017*a26ae754SRob Clark { 3018*a26ae754SRob Clark return ((val) << A5XX_SP_HS_CONTROL_REG_CONSTOBJECTOFFSET__SHIFT) & A5XX_SP_HS_CONTROL_REG_CONSTOBJECTOFFSET__MASK; 3019*a26ae754SRob Clark } 3020*a26ae754SRob Clark #define A5XX_SP_HS_CONTROL_REG_SHADEROBJOFFSET__MASK 0x00007f00 3021*a26ae754SRob Clark #define A5XX_SP_HS_CONTROL_REG_SHADEROBJOFFSET__SHIFT 8 3022*a26ae754SRob Clark static inline uint32_t A5XX_SP_HS_CONTROL_REG_SHADEROBJOFFSET(uint32_t val) 3023*a26ae754SRob Clark { 3024*a26ae754SRob Clark return ((val) << A5XX_SP_HS_CONTROL_REG_SHADEROBJOFFSET__SHIFT) & A5XX_SP_HS_CONTROL_REG_SHADEROBJOFFSET__MASK; 3025*a26ae754SRob Clark } 3026*a26ae754SRob Clark 3027*a26ae754SRob Clark #define REG_A5XX_SP_DS_CONTROL_REG 0x0000e587 3028*a26ae754SRob Clark #define A5XX_SP_DS_CONTROL_REG_ENABLED 0x00000001 3029*a26ae754SRob Clark #define A5XX_SP_DS_CONTROL_REG_CONSTOBJECTOFFSET__MASK 0x000000fe 3030*a26ae754SRob Clark #define A5XX_SP_DS_CONTROL_REG_CONSTOBJECTOFFSET__SHIFT 1 3031*a26ae754SRob Clark static inline uint32_t A5XX_SP_DS_CONTROL_REG_CONSTOBJECTOFFSET(uint32_t val) 3032*a26ae754SRob Clark { 3033*a26ae754SRob Clark return ((val) << A5XX_SP_DS_CONTROL_REG_CONSTOBJECTOFFSET__SHIFT) & A5XX_SP_DS_CONTROL_REG_CONSTOBJECTOFFSET__MASK; 3034*a26ae754SRob Clark } 3035*a26ae754SRob Clark #define A5XX_SP_DS_CONTROL_REG_SHADEROBJOFFSET__MASK 0x00007f00 3036*a26ae754SRob Clark #define A5XX_SP_DS_CONTROL_REG_SHADEROBJOFFSET__SHIFT 8 3037*a26ae754SRob Clark static inline uint32_t A5XX_SP_DS_CONTROL_REG_SHADEROBJOFFSET(uint32_t val) 3038*a26ae754SRob Clark { 3039*a26ae754SRob Clark return ((val) << A5XX_SP_DS_CONTROL_REG_SHADEROBJOFFSET__SHIFT) & A5XX_SP_DS_CONTROL_REG_SHADEROBJOFFSET__MASK; 3040*a26ae754SRob Clark } 3041*a26ae754SRob Clark 3042*a26ae754SRob Clark #define REG_A5XX_SP_GS_CONTROL_REG 0x0000e588 3043*a26ae754SRob Clark #define A5XX_SP_GS_CONTROL_REG_ENABLED 0x00000001 3044*a26ae754SRob Clark #define A5XX_SP_GS_CONTROL_REG_CONSTOBJECTOFFSET__MASK 0x000000fe 3045*a26ae754SRob Clark #define A5XX_SP_GS_CONTROL_REG_CONSTOBJECTOFFSET__SHIFT 1 3046*a26ae754SRob Clark static inline uint32_t A5XX_SP_GS_CONTROL_REG_CONSTOBJECTOFFSET(uint32_t val) 3047*a26ae754SRob Clark { 3048*a26ae754SRob Clark return ((val) << A5XX_SP_GS_CONTROL_REG_CONSTOBJECTOFFSET__SHIFT) & A5XX_SP_GS_CONTROL_REG_CONSTOBJECTOFFSET__MASK; 3049*a26ae754SRob Clark } 3050*a26ae754SRob Clark #define A5XX_SP_GS_CONTROL_REG_SHADEROBJOFFSET__MASK 0x00007f00 3051*a26ae754SRob Clark #define A5XX_SP_GS_CONTROL_REG_SHADEROBJOFFSET__SHIFT 8 3052*a26ae754SRob Clark static inline uint32_t A5XX_SP_GS_CONTROL_REG_SHADEROBJOFFSET(uint32_t val) 3053*a26ae754SRob Clark { 3054*a26ae754SRob Clark return ((val) << A5XX_SP_GS_CONTROL_REG_SHADEROBJOFFSET__SHIFT) & A5XX_SP_GS_CONTROL_REG_SHADEROBJOFFSET__MASK; 3055*a26ae754SRob Clark } 3056*a26ae754SRob Clark 3057*a26ae754SRob Clark #define REG_A5XX_SP_CS_CONFIG 0x0000e589 3058*a26ae754SRob Clark 3059*a26ae754SRob Clark #define REG_A5XX_SP_VS_CONFIG_MAX_CONST 0x0000e58a 3060*a26ae754SRob Clark 3061*a26ae754SRob Clark #define REG_A5XX_SP_FS_CONFIG_MAX_CONST 0x0000e58b 3062*a26ae754SRob Clark 3063*a26ae754SRob Clark #define REG_A5XX_SP_VS_CTRL_REG0 0x0000e590 3064*a26ae754SRob Clark #define A5XX_SP_VS_CTRL_REG0_HALFREGFOOTPRINT__MASK 0x000003f0 3065*a26ae754SRob Clark #define A5XX_SP_VS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT 4 3066*a26ae754SRob Clark static inline uint32_t A5XX_SP_VS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val) 3067*a26ae754SRob Clark { 3068*a26ae754SRob Clark return ((val) << A5XX_SP_VS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT) & A5XX_SP_VS_CTRL_REG0_HALFREGFOOTPRINT__MASK; 3069*a26ae754SRob Clark } 3070*a26ae754SRob Clark #define A5XX_SP_VS_CTRL_REG0_FULLREGFOOTPRINT__MASK 0x0000fc00 3071*a26ae754SRob Clark #define A5XX_SP_VS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT 10 3072*a26ae754SRob Clark static inline uint32_t A5XX_SP_VS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val) 3073*a26ae754SRob Clark { 3074*a26ae754SRob Clark return ((val) << A5XX_SP_VS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT) & A5XX_SP_VS_CTRL_REG0_FULLREGFOOTPRINT__MASK; 3075*a26ae754SRob Clark } 3076*a26ae754SRob Clark #define A5XX_SP_VS_CTRL_REG0_VARYING 0x00010000 3077*a26ae754SRob Clark #define A5XX_SP_VS_CTRL_REG0_PIXLODENABLE 0x00100000 3078*a26ae754SRob Clark 3079*a26ae754SRob Clark #define REG_A5XX_SP_PRIMITIVE_CNTL 0x0000e592 3080*a26ae754SRob Clark #define A5XX_SP_PRIMITIVE_CNTL_STRIDE_IN_VPC__MASK 0x0000001f 3081*a26ae754SRob Clark #define A5XX_SP_PRIMITIVE_CNTL_STRIDE_IN_VPC__SHIFT 0 3082*a26ae754SRob Clark static inline uint32_t A5XX_SP_PRIMITIVE_CNTL_STRIDE_IN_VPC(uint32_t val) 3083*a26ae754SRob Clark { 3084*a26ae754SRob Clark return ((val >> 2) << A5XX_SP_PRIMITIVE_CNTL_STRIDE_IN_VPC__SHIFT) & A5XX_SP_PRIMITIVE_CNTL_STRIDE_IN_VPC__MASK; 3085*a26ae754SRob Clark } 3086*a26ae754SRob Clark 3087*a26ae754SRob Clark static inline uint32_t REG_A5XX_SP_VS_OUT(uint32_t i0) { return 0x0000e593 + 0x1*i0; } 3088*a26ae754SRob Clark 3089*a26ae754SRob Clark static inline uint32_t REG_A5XX_SP_VS_OUT_REG(uint32_t i0) { return 0x0000e593 + 0x1*i0; } 3090*a26ae754SRob Clark #define A5XX_SP_VS_OUT_REG_A_REGID__MASK 0x000000ff 3091*a26ae754SRob Clark #define A5XX_SP_VS_OUT_REG_A_REGID__SHIFT 0 3092*a26ae754SRob Clark static inline uint32_t A5XX_SP_VS_OUT_REG_A_REGID(uint32_t val) 3093*a26ae754SRob Clark { 3094*a26ae754SRob Clark return ((val) << A5XX_SP_VS_OUT_REG_A_REGID__SHIFT) & A5XX_SP_VS_OUT_REG_A_REGID__MASK; 3095*a26ae754SRob Clark } 3096*a26ae754SRob Clark #define A5XX_SP_VS_OUT_REG_A_COMPMASK__MASK 0x00000f00 3097*a26ae754SRob Clark #define A5XX_SP_VS_OUT_REG_A_COMPMASK__SHIFT 8 3098*a26ae754SRob Clark static inline uint32_t A5XX_SP_VS_OUT_REG_A_COMPMASK(uint32_t val) 3099*a26ae754SRob Clark { 3100*a26ae754SRob Clark return ((val) << A5XX_SP_VS_OUT_REG_A_COMPMASK__SHIFT) & A5XX_SP_VS_OUT_REG_A_COMPMASK__MASK; 3101*a26ae754SRob Clark } 3102*a26ae754SRob Clark #define A5XX_SP_VS_OUT_REG_B_REGID__MASK 0x00ff0000 3103*a26ae754SRob Clark #define A5XX_SP_VS_OUT_REG_B_REGID__SHIFT 16 3104*a26ae754SRob Clark static inline uint32_t A5XX_SP_VS_OUT_REG_B_REGID(uint32_t val) 3105*a26ae754SRob Clark { 3106*a26ae754SRob Clark return ((val) << A5XX_SP_VS_OUT_REG_B_REGID__SHIFT) & A5XX_SP_VS_OUT_REG_B_REGID__MASK; 3107*a26ae754SRob Clark } 3108*a26ae754SRob Clark #define A5XX_SP_VS_OUT_REG_B_COMPMASK__MASK 0x0f000000 3109*a26ae754SRob Clark #define A5XX_SP_VS_OUT_REG_B_COMPMASK__SHIFT 24 3110*a26ae754SRob Clark static inline uint32_t A5XX_SP_VS_OUT_REG_B_COMPMASK(uint32_t val) 3111*a26ae754SRob Clark { 3112*a26ae754SRob Clark return ((val) << A5XX_SP_VS_OUT_REG_B_COMPMASK__SHIFT) & A5XX_SP_VS_OUT_REG_B_COMPMASK__MASK; 3113*a26ae754SRob Clark } 3114*a26ae754SRob Clark 3115*a26ae754SRob Clark static inline uint32_t REG_A5XX_SP_VS_VPC_DST(uint32_t i0) { return 0x0000e5a3 + 0x1*i0; } 3116*a26ae754SRob Clark 3117*a26ae754SRob Clark static inline uint32_t REG_A5XX_SP_VS_VPC_DST_REG(uint32_t i0) { return 0x0000e5a3 + 0x1*i0; } 3118*a26ae754SRob Clark #define A5XX_SP_VS_VPC_DST_REG_OUTLOC0__MASK 0x000000ff 3119*a26ae754SRob Clark #define A5XX_SP_VS_VPC_DST_REG_OUTLOC0__SHIFT 0 3120*a26ae754SRob Clark static inline uint32_t A5XX_SP_VS_VPC_DST_REG_OUTLOC0(uint32_t val) 3121*a26ae754SRob Clark { 3122*a26ae754SRob Clark return ((val) << A5XX_SP_VS_VPC_DST_REG_OUTLOC0__SHIFT) & A5XX_SP_VS_VPC_DST_REG_OUTLOC0__MASK; 3123*a26ae754SRob Clark } 3124*a26ae754SRob Clark #define A5XX_SP_VS_VPC_DST_REG_OUTLOC1__MASK 0x0000ff00 3125*a26ae754SRob Clark #define A5XX_SP_VS_VPC_DST_REG_OUTLOC1__SHIFT 8 3126*a26ae754SRob Clark static inline uint32_t A5XX_SP_VS_VPC_DST_REG_OUTLOC1(uint32_t val) 3127*a26ae754SRob Clark { 3128*a26ae754SRob Clark return ((val) << A5XX_SP_VS_VPC_DST_REG_OUTLOC1__SHIFT) & A5XX_SP_VS_VPC_DST_REG_OUTLOC1__MASK; 3129*a26ae754SRob Clark } 3130*a26ae754SRob Clark #define A5XX_SP_VS_VPC_DST_REG_OUTLOC2__MASK 0x00ff0000 3131*a26ae754SRob Clark #define A5XX_SP_VS_VPC_DST_REG_OUTLOC2__SHIFT 16 3132*a26ae754SRob Clark static inline uint32_t A5XX_SP_VS_VPC_DST_REG_OUTLOC2(uint32_t val) 3133*a26ae754SRob Clark { 3134*a26ae754SRob Clark return ((val) << A5XX_SP_VS_VPC_DST_REG_OUTLOC2__SHIFT) & A5XX_SP_VS_VPC_DST_REG_OUTLOC2__MASK; 3135*a26ae754SRob Clark } 3136*a26ae754SRob Clark #define A5XX_SP_VS_VPC_DST_REG_OUTLOC3__MASK 0xff000000 3137*a26ae754SRob Clark #define A5XX_SP_VS_VPC_DST_REG_OUTLOC3__SHIFT 24 3138*a26ae754SRob Clark static inline uint32_t A5XX_SP_VS_VPC_DST_REG_OUTLOC3(uint32_t val) 3139*a26ae754SRob Clark { 3140*a26ae754SRob Clark return ((val) << A5XX_SP_VS_VPC_DST_REG_OUTLOC3__SHIFT) & A5XX_SP_VS_VPC_DST_REG_OUTLOC3__MASK; 3141*a26ae754SRob Clark } 3142*a26ae754SRob Clark 3143*a26ae754SRob Clark #define REG_A5XX_UNKNOWN_E5AB 0x0000e5ab 3144*a26ae754SRob Clark 3145*a26ae754SRob Clark #define REG_A5XX_SP_VS_OBJ_START_LO 0x0000e5ac 3146*a26ae754SRob Clark 3147*a26ae754SRob Clark #define REG_A5XX_SP_VS_OBJ_START_HI 0x0000e5ad 3148*a26ae754SRob Clark 3149*a26ae754SRob Clark #define REG_A5XX_SP_FS_CTRL_REG0 0x0000e5c0 3150*a26ae754SRob Clark #define A5XX_SP_FS_CTRL_REG0_HALFREGFOOTPRINT__MASK 0x000003f0 3151*a26ae754SRob Clark #define A5XX_SP_FS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT 4 3152*a26ae754SRob Clark static inline uint32_t A5XX_SP_FS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val) 3153*a26ae754SRob Clark { 3154*a26ae754SRob Clark return ((val) << A5XX_SP_FS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT) & A5XX_SP_FS_CTRL_REG0_HALFREGFOOTPRINT__MASK; 3155*a26ae754SRob Clark } 3156*a26ae754SRob Clark #define A5XX_SP_FS_CTRL_REG0_FULLREGFOOTPRINT__MASK 0x0000fc00 3157*a26ae754SRob Clark #define A5XX_SP_FS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT 10 3158*a26ae754SRob Clark static inline uint32_t A5XX_SP_FS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val) 3159*a26ae754SRob Clark { 3160*a26ae754SRob Clark return ((val) << A5XX_SP_FS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT) & A5XX_SP_FS_CTRL_REG0_FULLREGFOOTPRINT__MASK; 3161*a26ae754SRob Clark } 3162*a26ae754SRob Clark #define A5XX_SP_FS_CTRL_REG0_VARYING 0x00010000 3163*a26ae754SRob Clark #define A5XX_SP_FS_CTRL_REG0_PIXLODENABLE 0x00100000 3164*a26ae754SRob Clark 3165*a26ae754SRob Clark #define REG_A5XX_UNKNOWN_E5C2 0x0000e5c2 3166*a26ae754SRob Clark 3167*a26ae754SRob Clark #define REG_A5XX_SP_FS_OBJ_START_LO 0x0000e5c3 3168*a26ae754SRob Clark 3169*a26ae754SRob Clark #define REG_A5XX_SP_FS_OBJ_START_HI 0x0000e5c4 3170*a26ae754SRob Clark 3171*a26ae754SRob Clark #define REG_A5XX_SP_BLEND_CNTL 0x0000e5c9 3172*a26ae754SRob Clark 3173*a26ae754SRob Clark #define REG_A5XX_SP_FS_OUTPUT_CNTL 0x0000e5ca 3174*a26ae754SRob Clark #define A5XX_SP_FS_OUTPUT_CNTL_MRT__MASK 0x0000000f 3175*a26ae754SRob Clark #define A5XX_SP_FS_OUTPUT_CNTL_MRT__SHIFT 0 3176*a26ae754SRob Clark static inline uint32_t A5XX_SP_FS_OUTPUT_CNTL_MRT(uint32_t val) 3177*a26ae754SRob Clark { 3178*a26ae754SRob Clark return ((val) << A5XX_SP_FS_OUTPUT_CNTL_MRT__SHIFT) & A5XX_SP_FS_OUTPUT_CNTL_MRT__MASK; 3179*a26ae754SRob Clark } 3180*a26ae754SRob Clark #define A5XX_SP_FS_OUTPUT_CNTL_DEPTH_REGID__MASK 0x00001fe0 3181*a26ae754SRob Clark #define A5XX_SP_FS_OUTPUT_CNTL_DEPTH_REGID__SHIFT 5 3182*a26ae754SRob Clark static inline uint32_t A5XX_SP_FS_OUTPUT_CNTL_DEPTH_REGID(uint32_t val) 3183*a26ae754SRob Clark { 3184*a26ae754SRob Clark return ((val) << A5XX_SP_FS_OUTPUT_CNTL_DEPTH_REGID__SHIFT) & A5XX_SP_FS_OUTPUT_CNTL_DEPTH_REGID__MASK; 3185*a26ae754SRob Clark } 3186*a26ae754SRob Clark #define A5XX_SP_FS_OUTPUT_CNTL_SAMPLEMASK_REGID__MASK 0x001fe000 3187*a26ae754SRob Clark #define A5XX_SP_FS_OUTPUT_CNTL_SAMPLEMASK_REGID__SHIFT 13 3188*a26ae754SRob Clark static inline uint32_t A5XX_SP_FS_OUTPUT_CNTL_SAMPLEMASK_REGID(uint32_t val) 3189*a26ae754SRob Clark { 3190*a26ae754SRob Clark return ((val) << A5XX_SP_FS_OUTPUT_CNTL_SAMPLEMASK_REGID__SHIFT) & A5XX_SP_FS_OUTPUT_CNTL_SAMPLEMASK_REGID__MASK; 3191*a26ae754SRob Clark } 3192*a26ae754SRob Clark 3193*a26ae754SRob Clark static inline uint32_t REG_A5XX_SP_FS_OUTPUT(uint32_t i0) { return 0x0000e5cb + 0x1*i0; } 3194*a26ae754SRob Clark 3195*a26ae754SRob Clark static inline uint32_t REG_A5XX_SP_FS_OUTPUT_REG(uint32_t i0) { return 0x0000e5cb + 0x1*i0; } 3196*a26ae754SRob Clark #define A5XX_SP_FS_OUTPUT_REG_REGID__MASK 0x000000ff 3197*a26ae754SRob Clark #define A5XX_SP_FS_OUTPUT_REG_REGID__SHIFT 0 3198*a26ae754SRob Clark static inline uint32_t A5XX_SP_FS_OUTPUT_REG_REGID(uint32_t val) 3199*a26ae754SRob Clark { 3200*a26ae754SRob Clark return ((val) << A5XX_SP_FS_OUTPUT_REG_REGID__SHIFT) & A5XX_SP_FS_OUTPUT_REG_REGID__MASK; 3201*a26ae754SRob Clark } 3202*a26ae754SRob Clark #define A5XX_SP_FS_OUTPUT_REG_HALF_PRECISION 0x00000100 3203*a26ae754SRob Clark 3204*a26ae754SRob Clark static inline uint32_t REG_A5XX_SP_FS_MRT(uint32_t i0) { return 0x0000e5d3 + 0x1*i0; } 3205*a26ae754SRob Clark 3206*a26ae754SRob Clark static inline uint32_t REG_A5XX_SP_FS_MRT_REG(uint32_t i0) { return 0x0000e5d3 + 0x1*i0; } 3207*a26ae754SRob Clark #define A5XX_SP_FS_MRT_REG_COLOR_FORMAT__MASK 0x000000ff 3208*a26ae754SRob Clark #define A5XX_SP_FS_MRT_REG_COLOR_FORMAT__SHIFT 0 3209*a26ae754SRob Clark static inline uint32_t A5XX_SP_FS_MRT_REG_COLOR_FORMAT(enum a5xx_color_fmt val) 3210*a26ae754SRob Clark { 3211*a26ae754SRob Clark return ((val) << A5XX_SP_FS_MRT_REG_COLOR_FORMAT__SHIFT) & A5XX_SP_FS_MRT_REG_COLOR_FORMAT__MASK; 3212*a26ae754SRob Clark } 3213*a26ae754SRob Clark 3214*a26ae754SRob Clark #define REG_A5XX_UNKNOWN_E5DB 0x0000e5db 3215*a26ae754SRob Clark 3216*a26ae754SRob Clark #define REG_A5XX_SP_CS_CNTL_0 0x0000e5f0 3217*a26ae754SRob Clark 3218*a26ae754SRob Clark #define REG_A5XX_UNKNOWN_E600 0x0000e600 3219*a26ae754SRob Clark 3220*a26ae754SRob Clark #define REG_A5XX_UNKNOWN_E640 0x0000e640 3221*a26ae754SRob Clark 3222*a26ae754SRob Clark #define REG_A5XX_TPL1_TP_RAS_MSAA_CNTL 0x0000e704 3223*a26ae754SRob Clark #define A5XX_TPL1_TP_RAS_MSAA_CNTL_SAMPLES__MASK 0x00000003 3224*a26ae754SRob Clark #define A5XX_TPL1_TP_RAS_MSAA_CNTL_SAMPLES__SHIFT 0 3225*a26ae754SRob Clark static inline uint32_t A5XX_TPL1_TP_RAS_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val) 3226*a26ae754SRob Clark { 3227*a26ae754SRob Clark return ((val) << A5XX_TPL1_TP_RAS_MSAA_CNTL_SAMPLES__SHIFT) & A5XX_TPL1_TP_RAS_MSAA_CNTL_SAMPLES__MASK; 3228*a26ae754SRob Clark } 3229*a26ae754SRob Clark 3230*a26ae754SRob Clark #define REG_A5XX_TPL1_TP_DEST_MSAA_CNTL 0x0000e705 3231*a26ae754SRob Clark #define A5XX_TPL1_TP_DEST_MSAA_CNTL_SAMPLES__MASK 0x00000003 3232*a26ae754SRob Clark #define A5XX_TPL1_TP_DEST_MSAA_CNTL_SAMPLES__SHIFT 0 3233*a26ae754SRob Clark static inline uint32_t A5XX_TPL1_TP_DEST_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val) 3234*a26ae754SRob Clark { 3235*a26ae754SRob Clark return ((val) << A5XX_TPL1_TP_DEST_MSAA_CNTL_SAMPLES__SHIFT) & A5XX_TPL1_TP_DEST_MSAA_CNTL_SAMPLES__MASK; 3236*a26ae754SRob Clark } 3237*a26ae754SRob Clark #define A5XX_TPL1_TP_DEST_MSAA_CNTL_MSAA_DISABLE 0x00000004 3238*a26ae754SRob Clark 3239*a26ae754SRob Clark #define REG_A5XX_TPL1_VS_TEX_COUNT 0x0000e700 3240*a26ae754SRob Clark 3241*a26ae754SRob Clark #define REG_A5XX_TPL1_VS_TEX_SAMP_LO 0x0000e722 3242*a26ae754SRob Clark 3243*a26ae754SRob Clark #define REG_A5XX_TPL1_VS_TEX_SAMP_HI 0x0000e723 3244*a26ae754SRob Clark 3245*a26ae754SRob Clark #define REG_A5XX_TPL1_VS_TEX_CONST_LO 0x0000e72a 3246*a26ae754SRob Clark 3247*a26ae754SRob Clark #define REG_A5XX_TPL1_VS_TEX_CONST_HI 0x0000e72b 3248*a26ae754SRob Clark 3249*a26ae754SRob Clark #define REG_A5XX_TPL1_FS_TEX_COUNT 0x0000e750 3250*a26ae754SRob Clark 3251*a26ae754SRob Clark #define REG_A5XX_TPL1_FS_TEX_SAMP_LO 0x0000e75a 3252*a26ae754SRob Clark 3253*a26ae754SRob Clark #define REG_A5XX_TPL1_FS_TEX_SAMP_HI 0x0000e75b 3254*a26ae754SRob Clark 3255*a26ae754SRob Clark #define REG_A5XX_TPL1_FS_TEX_CONST_LO 0x0000e75e 3256*a26ae754SRob Clark 3257*a26ae754SRob Clark #define REG_A5XX_TPL1_FS_TEX_CONST_HI 0x0000e75f 3258*a26ae754SRob Clark 3259*a26ae754SRob Clark #define REG_A5XX_TPL1_TP_FS_ROTATION_CNTL 0x0000e764 3260*a26ae754SRob Clark 3261*a26ae754SRob Clark #define REG_A5XX_HLSQ_CONTROL_0_REG 0x0000e784 3262*a26ae754SRob Clark 3263*a26ae754SRob Clark #define REG_A5XX_HLSQ_CONTROL_1_REG 0x0000e785 3264*a26ae754SRob Clark #define A5XX_HLSQ_CONTROL_1_REG_PRIMALLOCTHRESHOLD__MASK 0x0000003f 3265*a26ae754SRob Clark #define A5XX_HLSQ_CONTROL_1_REG_PRIMALLOCTHRESHOLD__SHIFT 0 3266*a26ae754SRob Clark static inline uint32_t A5XX_HLSQ_CONTROL_1_REG_PRIMALLOCTHRESHOLD(uint32_t val) 3267*a26ae754SRob Clark { 3268*a26ae754SRob Clark return ((val) << A5XX_HLSQ_CONTROL_1_REG_PRIMALLOCTHRESHOLD__SHIFT) & A5XX_HLSQ_CONTROL_1_REG_PRIMALLOCTHRESHOLD__MASK; 3269*a26ae754SRob Clark } 3270*a26ae754SRob Clark 3271*a26ae754SRob Clark #define REG_A5XX_HLSQ_CONTROL_2_REG 0x0000e786 3272*a26ae754SRob Clark #define A5XX_HLSQ_CONTROL_2_REG_FACEREGID__MASK 0x000000ff 3273*a26ae754SRob Clark #define A5XX_HLSQ_CONTROL_2_REG_FACEREGID__SHIFT 0 3274*a26ae754SRob Clark static inline uint32_t A5XX_HLSQ_CONTROL_2_REG_FACEREGID(uint32_t val) 3275*a26ae754SRob Clark { 3276*a26ae754SRob Clark return ((val) << A5XX_HLSQ_CONTROL_2_REG_FACEREGID__SHIFT) & A5XX_HLSQ_CONTROL_2_REG_FACEREGID__MASK; 3277*a26ae754SRob Clark } 3278*a26ae754SRob Clark 3279*a26ae754SRob Clark #define REG_A5XX_HLSQ_CONTROL_3_REG 0x0000e787 3280*a26ae754SRob Clark #define A5XX_HLSQ_CONTROL_3_REG_FRAGCOORDXYREGID__MASK 0x000000ff 3281*a26ae754SRob Clark #define A5XX_HLSQ_CONTROL_3_REG_FRAGCOORDXYREGID__SHIFT 0 3282*a26ae754SRob Clark static inline uint32_t A5XX_HLSQ_CONTROL_3_REG_FRAGCOORDXYREGID(uint32_t val) 3283*a26ae754SRob Clark { 3284*a26ae754SRob Clark return ((val) << A5XX_HLSQ_CONTROL_3_REG_FRAGCOORDXYREGID__SHIFT) & A5XX_HLSQ_CONTROL_3_REG_FRAGCOORDXYREGID__MASK; 3285*a26ae754SRob Clark } 3286*a26ae754SRob Clark 3287*a26ae754SRob Clark #define REG_A5XX_HLSQ_CONTROL_4_REG 0x0000e788 3288*a26ae754SRob Clark #define A5XX_HLSQ_CONTROL_4_REG_XYCOORDREGID__MASK 0x00ff0000 3289*a26ae754SRob Clark #define A5XX_HLSQ_CONTROL_4_REG_XYCOORDREGID__SHIFT 16 3290*a26ae754SRob Clark static inline uint32_t A5XX_HLSQ_CONTROL_4_REG_XYCOORDREGID(uint32_t val) 3291*a26ae754SRob Clark { 3292*a26ae754SRob Clark return ((val) << A5XX_HLSQ_CONTROL_4_REG_XYCOORDREGID__SHIFT) & A5XX_HLSQ_CONTROL_4_REG_XYCOORDREGID__MASK; 3293*a26ae754SRob Clark } 3294*a26ae754SRob Clark #define A5XX_HLSQ_CONTROL_4_REG_ZWCOORDREGID__MASK 0xff000000 3295*a26ae754SRob Clark #define A5XX_HLSQ_CONTROL_4_REG_ZWCOORDREGID__SHIFT 24 3296*a26ae754SRob Clark static inline uint32_t A5XX_HLSQ_CONTROL_4_REG_ZWCOORDREGID(uint32_t val) 3297*a26ae754SRob Clark { 3298*a26ae754SRob Clark return ((val) << A5XX_HLSQ_CONTROL_4_REG_ZWCOORDREGID__SHIFT) & A5XX_HLSQ_CONTROL_4_REG_ZWCOORDREGID__MASK; 3299*a26ae754SRob Clark } 3300*a26ae754SRob Clark 3301*a26ae754SRob Clark #define REG_A5XX_HLSQ_UPDATE_CNTL 0x0000e78a 3302*a26ae754SRob Clark 3303*a26ae754SRob Clark #define REG_A5XX_HLSQ_VS_CONTROL_REG 0x0000e78b 3304*a26ae754SRob Clark #define A5XX_HLSQ_VS_CONTROL_REG_ENABLED 0x00000001 3305*a26ae754SRob Clark #define A5XX_HLSQ_VS_CONTROL_REG_CONSTOBJECTOFFSET__MASK 0x000000fe 3306*a26ae754SRob Clark #define A5XX_HLSQ_VS_CONTROL_REG_CONSTOBJECTOFFSET__SHIFT 1 3307*a26ae754SRob Clark static inline uint32_t A5XX_HLSQ_VS_CONTROL_REG_CONSTOBJECTOFFSET(uint32_t val) 3308*a26ae754SRob Clark { 3309*a26ae754SRob Clark return ((val) << A5XX_HLSQ_VS_CONTROL_REG_CONSTOBJECTOFFSET__SHIFT) & A5XX_HLSQ_VS_CONTROL_REG_CONSTOBJECTOFFSET__MASK; 3310*a26ae754SRob Clark } 3311*a26ae754SRob Clark #define A5XX_HLSQ_VS_CONTROL_REG_SHADEROBJOFFSET__MASK 0x00007f00 3312*a26ae754SRob Clark #define A5XX_HLSQ_VS_CONTROL_REG_SHADEROBJOFFSET__SHIFT 8 3313*a26ae754SRob Clark static inline uint32_t A5XX_HLSQ_VS_CONTROL_REG_SHADEROBJOFFSET(uint32_t val) 3314*a26ae754SRob Clark { 3315*a26ae754SRob Clark return ((val) << A5XX_HLSQ_VS_CONTROL_REG_SHADEROBJOFFSET__SHIFT) & A5XX_HLSQ_VS_CONTROL_REG_SHADEROBJOFFSET__MASK; 3316*a26ae754SRob Clark } 3317*a26ae754SRob Clark 3318*a26ae754SRob Clark #define REG_A5XX_HLSQ_FS_CONTROL_REG 0x0000e78c 3319*a26ae754SRob Clark #define A5XX_HLSQ_FS_CONTROL_REG_ENABLED 0x00000001 3320*a26ae754SRob Clark #define A5XX_HLSQ_FS_CONTROL_REG_CONSTOBJECTOFFSET__MASK 0x000000fe 3321*a26ae754SRob Clark #define A5XX_HLSQ_FS_CONTROL_REG_CONSTOBJECTOFFSET__SHIFT 1 3322*a26ae754SRob Clark static inline uint32_t A5XX_HLSQ_FS_CONTROL_REG_CONSTOBJECTOFFSET(uint32_t val) 3323*a26ae754SRob Clark { 3324*a26ae754SRob Clark return ((val) << A5XX_HLSQ_FS_CONTROL_REG_CONSTOBJECTOFFSET__SHIFT) & A5XX_HLSQ_FS_CONTROL_REG_CONSTOBJECTOFFSET__MASK; 3325*a26ae754SRob Clark } 3326*a26ae754SRob Clark #define A5XX_HLSQ_FS_CONTROL_REG_SHADEROBJOFFSET__MASK 0x00007f00 3327*a26ae754SRob Clark #define A5XX_HLSQ_FS_CONTROL_REG_SHADEROBJOFFSET__SHIFT 8 3328*a26ae754SRob Clark static inline uint32_t A5XX_HLSQ_FS_CONTROL_REG_SHADEROBJOFFSET(uint32_t val) 3329*a26ae754SRob Clark { 3330*a26ae754SRob Clark return ((val) << A5XX_HLSQ_FS_CONTROL_REG_SHADEROBJOFFSET__SHIFT) & A5XX_HLSQ_FS_CONTROL_REG_SHADEROBJOFFSET__MASK; 3331*a26ae754SRob Clark } 3332*a26ae754SRob Clark 3333*a26ae754SRob Clark #define REG_A5XX_HLSQ_HS_CONTROL_REG 0x0000e78d 3334*a26ae754SRob Clark #define A5XX_HLSQ_HS_CONTROL_REG_ENABLED 0x00000001 3335*a26ae754SRob Clark #define A5XX_HLSQ_HS_CONTROL_REG_CONSTOBJECTOFFSET__MASK 0x000000fe 3336*a26ae754SRob Clark #define A5XX_HLSQ_HS_CONTROL_REG_CONSTOBJECTOFFSET__SHIFT 1 3337*a26ae754SRob Clark static inline uint32_t A5XX_HLSQ_HS_CONTROL_REG_CONSTOBJECTOFFSET(uint32_t val) 3338*a26ae754SRob Clark { 3339*a26ae754SRob Clark return ((val) << A5XX_HLSQ_HS_CONTROL_REG_CONSTOBJECTOFFSET__SHIFT) & A5XX_HLSQ_HS_CONTROL_REG_CONSTOBJECTOFFSET__MASK; 3340*a26ae754SRob Clark } 3341*a26ae754SRob Clark #define A5XX_HLSQ_HS_CONTROL_REG_SHADEROBJOFFSET__MASK 0x00007f00 3342*a26ae754SRob Clark #define A5XX_HLSQ_HS_CONTROL_REG_SHADEROBJOFFSET__SHIFT 8 3343*a26ae754SRob Clark static inline uint32_t A5XX_HLSQ_HS_CONTROL_REG_SHADEROBJOFFSET(uint32_t val) 3344*a26ae754SRob Clark { 3345*a26ae754SRob Clark return ((val) << A5XX_HLSQ_HS_CONTROL_REG_SHADEROBJOFFSET__SHIFT) & A5XX_HLSQ_HS_CONTROL_REG_SHADEROBJOFFSET__MASK; 3346*a26ae754SRob Clark } 3347*a26ae754SRob Clark 3348*a26ae754SRob Clark #define REG_A5XX_HLSQ_DS_CONTROL_REG 0x0000e78e 3349*a26ae754SRob Clark #define A5XX_HLSQ_DS_CONTROL_REG_ENABLED 0x00000001 3350*a26ae754SRob Clark #define A5XX_HLSQ_DS_CONTROL_REG_CONSTOBJECTOFFSET__MASK 0x000000fe 3351*a26ae754SRob Clark #define A5XX_HLSQ_DS_CONTROL_REG_CONSTOBJECTOFFSET__SHIFT 1 3352*a26ae754SRob Clark static inline uint32_t A5XX_HLSQ_DS_CONTROL_REG_CONSTOBJECTOFFSET(uint32_t val) 3353*a26ae754SRob Clark { 3354*a26ae754SRob Clark return ((val) << A5XX_HLSQ_DS_CONTROL_REG_CONSTOBJECTOFFSET__SHIFT) & A5XX_HLSQ_DS_CONTROL_REG_CONSTOBJECTOFFSET__MASK; 3355*a26ae754SRob Clark } 3356*a26ae754SRob Clark #define A5XX_HLSQ_DS_CONTROL_REG_SHADEROBJOFFSET__MASK 0x00007f00 3357*a26ae754SRob Clark #define A5XX_HLSQ_DS_CONTROL_REG_SHADEROBJOFFSET__SHIFT 8 3358*a26ae754SRob Clark static inline uint32_t A5XX_HLSQ_DS_CONTROL_REG_SHADEROBJOFFSET(uint32_t val) 3359*a26ae754SRob Clark { 3360*a26ae754SRob Clark return ((val) << A5XX_HLSQ_DS_CONTROL_REG_SHADEROBJOFFSET__SHIFT) & A5XX_HLSQ_DS_CONTROL_REG_SHADEROBJOFFSET__MASK; 3361*a26ae754SRob Clark } 3362*a26ae754SRob Clark 3363*a26ae754SRob Clark #define REG_A5XX_HLSQ_GS_CONTROL_REG 0x0000e78f 3364*a26ae754SRob Clark #define A5XX_HLSQ_GS_CONTROL_REG_ENABLED 0x00000001 3365*a26ae754SRob Clark #define A5XX_HLSQ_GS_CONTROL_REG_CONSTOBJECTOFFSET__MASK 0x000000fe 3366*a26ae754SRob Clark #define A5XX_HLSQ_GS_CONTROL_REG_CONSTOBJECTOFFSET__SHIFT 1 3367*a26ae754SRob Clark static inline uint32_t A5XX_HLSQ_GS_CONTROL_REG_CONSTOBJECTOFFSET(uint32_t val) 3368*a26ae754SRob Clark { 3369*a26ae754SRob Clark return ((val) << A5XX_HLSQ_GS_CONTROL_REG_CONSTOBJECTOFFSET__SHIFT) & A5XX_HLSQ_GS_CONTROL_REG_CONSTOBJECTOFFSET__MASK; 3370*a26ae754SRob Clark } 3371*a26ae754SRob Clark #define A5XX_HLSQ_GS_CONTROL_REG_SHADEROBJOFFSET__MASK 0x00007f00 3372*a26ae754SRob Clark #define A5XX_HLSQ_GS_CONTROL_REG_SHADEROBJOFFSET__SHIFT 8 3373*a26ae754SRob Clark static inline uint32_t A5XX_HLSQ_GS_CONTROL_REG_SHADEROBJOFFSET(uint32_t val) 3374*a26ae754SRob Clark { 3375*a26ae754SRob Clark return ((val) << A5XX_HLSQ_GS_CONTROL_REG_SHADEROBJOFFSET__SHIFT) & A5XX_HLSQ_GS_CONTROL_REG_SHADEROBJOFFSET__MASK; 3376*a26ae754SRob Clark } 3377*a26ae754SRob Clark 3378*a26ae754SRob Clark #define REG_A5XX_HLSQ_CS_CONFIG 0x0000e790 3379*a26ae754SRob Clark 3380*a26ae754SRob Clark #define REG_A5XX_HLSQ_VS_CNTL 0x0000e791 3381*a26ae754SRob Clark #define A5XX_HLSQ_VS_CNTL_INSTRLEN__MASK 0xfffffffe 3382*a26ae754SRob Clark #define A5XX_HLSQ_VS_CNTL_INSTRLEN__SHIFT 1 3383*a26ae754SRob Clark static inline uint32_t A5XX_HLSQ_VS_CNTL_INSTRLEN(uint32_t val) 3384*a26ae754SRob Clark { 3385*a26ae754SRob Clark return ((val) << A5XX_HLSQ_VS_CNTL_INSTRLEN__SHIFT) & A5XX_HLSQ_VS_CNTL_INSTRLEN__MASK; 3386*a26ae754SRob Clark } 3387*a26ae754SRob Clark 3388*a26ae754SRob Clark #define REG_A5XX_HLSQ_FS_CNTL 0x0000e792 3389*a26ae754SRob Clark #define A5XX_HLSQ_FS_CNTL_INSTRLEN__MASK 0xfffffffe 3390*a26ae754SRob Clark #define A5XX_HLSQ_FS_CNTL_INSTRLEN__SHIFT 1 3391*a26ae754SRob Clark static inline uint32_t A5XX_HLSQ_FS_CNTL_INSTRLEN(uint32_t val) 3392*a26ae754SRob Clark { 3393*a26ae754SRob Clark return ((val) << A5XX_HLSQ_FS_CNTL_INSTRLEN__SHIFT) & A5XX_HLSQ_FS_CNTL_INSTRLEN__MASK; 3394*a26ae754SRob Clark } 3395*a26ae754SRob Clark 3396*a26ae754SRob Clark #define REG_A5XX_HLSQ_HS_CNTL 0x0000e793 3397*a26ae754SRob Clark #define A5XX_HLSQ_HS_CNTL_INSTRLEN__MASK 0xfffffffe 3398*a26ae754SRob Clark #define A5XX_HLSQ_HS_CNTL_INSTRLEN__SHIFT 1 3399*a26ae754SRob Clark static inline uint32_t A5XX_HLSQ_HS_CNTL_INSTRLEN(uint32_t val) 3400*a26ae754SRob Clark { 3401*a26ae754SRob Clark return ((val) << A5XX_HLSQ_HS_CNTL_INSTRLEN__SHIFT) & A5XX_HLSQ_HS_CNTL_INSTRLEN__MASK; 3402*a26ae754SRob Clark } 3403*a26ae754SRob Clark 3404*a26ae754SRob Clark #define REG_A5XX_HLSQ_DS_CNTL 0x0000e794 3405*a26ae754SRob Clark #define A5XX_HLSQ_DS_CNTL_INSTRLEN__MASK 0xfffffffe 3406*a26ae754SRob Clark #define A5XX_HLSQ_DS_CNTL_INSTRLEN__SHIFT 1 3407*a26ae754SRob Clark static inline uint32_t A5XX_HLSQ_DS_CNTL_INSTRLEN(uint32_t val) 3408*a26ae754SRob Clark { 3409*a26ae754SRob Clark return ((val) << A5XX_HLSQ_DS_CNTL_INSTRLEN__SHIFT) & A5XX_HLSQ_DS_CNTL_INSTRLEN__MASK; 3410*a26ae754SRob Clark } 3411*a26ae754SRob Clark 3412*a26ae754SRob Clark #define REG_A5XX_HLSQ_GS_CNTL 0x0000e795 3413*a26ae754SRob Clark #define A5XX_HLSQ_GS_CNTL_INSTRLEN__MASK 0xfffffffe 3414*a26ae754SRob Clark #define A5XX_HLSQ_GS_CNTL_INSTRLEN__SHIFT 1 3415*a26ae754SRob Clark static inline uint32_t A5XX_HLSQ_GS_CNTL_INSTRLEN(uint32_t val) 3416*a26ae754SRob Clark { 3417*a26ae754SRob Clark return ((val) << A5XX_HLSQ_GS_CNTL_INSTRLEN__SHIFT) & A5XX_HLSQ_GS_CNTL_INSTRLEN__MASK; 3418*a26ae754SRob Clark } 3419*a26ae754SRob Clark 3420*a26ae754SRob Clark #define REG_A5XX_HLSQ_CS_CNTL 0x0000e796 3421*a26ae754SRob Clark #define A5XX_HLSQ_CS_CNTL_INSTRLEN__MASK 0xfffffffe 3422*a26ae754SRob Clark #define A5XX_HLSQ_CS_CNTL_INSTRLEN__SHIFT 1 3423*a26ae754SRob Clark static inline uint32_t A5XX_HLSQ_CS_CNTL_INSTRLEN(uint32_t val) 3424*a26ae754SRob Clark { 3425*a26ae754SRob Clark return ((val) << A5XX_HLSQ_CS_CNTL_INSTRLEN__SHIFT) & A5XX_HLSQ_CS_CNTL_INSTRLEN__MASK; 3426*a26ae754SRob Clark } 3427*a26ae754SRob Clark 3428*a26ae754SRob Clark #define REG_A5XX_HLSQ_CS_KERNEL_GROUP_X 0x0000e7b9 3429*a26ae754SRob Clark 3430*a26ae754SRob Clark #define REG_A5XX_HLSQ_CS_KERNEL_GROUP_Y 0x0000e7ba 3431*a26ae754SRob Clark 3432*a26ae754SRob Clark #define REG_A5XX_HLSQ_CS_KERNEL_GROUP_Z 0x0000e7bb 3433*a26ae754SRob Clark 3434*a26ae754SRob Clark #define REG_A5XX_HLSQ_CS_NDRANGE_0 0x0000e7b0 3435*a26ae754SRob Clark 3436*a26ae754SRob Clark #define REG_A5XX_HLSQ_CS_NDRANGE_1 0x0000e7b1 3437*a26ae754SRob Clark 3438*a26ae754SRob Clark #define REG_A5XX_HLSQ_CS_NDRANGE_2 0x0000e7b2 3439*a26ae754SRob Clark 3440*a26ae754SRob Clark #define REG_A5XX_HLSQ_CS_NDRANGE_3 0x0000e7b3 3441*a26ae754SRob Clark 3442*a26ae754SRob Clark #define REG_A5XX_HLSQ_CS_NDRANGE_4 0x0000e7b4 3443*a26ae754SRob Clark 3444*a26ae754SRob Clark #define REG_A5XX_HLSQ_CS_NDRANGE_5 0x0000e7b5 3445*a26ae754SRob Clark 3446*a26ae754SRob Clark #define REG_A5XX_HLSQ_CS_NDRANGE_6 0x0000e7b6 3447*a26ae754SRob Clark 3448*a26ae754SRob Clark #define REG_A5XX_HLSQ_CS_CNTL_0 0x0000e7b7 3449*a26ae754SRob Clark 3450*a26ae754SRob Clark #define REG_A5XX_HLSQ_CS_CNTL_1 0x0000e7b8 3451*a26ae754SRob Clark 3452*a26ae754SRob Clark #define REG_A5XX_UNKNOWN_E7C0 0x0000e7c0 3453*a26ae754SRob Clark 3454*a26ae754SRob Clark #define REG_A5XX_HLSQ_VS_CONSTLEN 0x0000e7c3 3455*a26ae754SRob Clark 3456*a26ae754SRob Clark #define REG_A5XX_HLSQ_VS_INSTRLEN 0x0000e7c4 3457*a26ae754SRob Clark 3458*a26ae754SRob Clark #define REG_A5XX_UNKNOWN_E7C5 0x0000e7c5 3459*a26ae754SRob Clark 3460*a26ae754SRob Clark #define REG_A5XX_UNKNOWN_E7CA 0x0000e7ca 3461*a26ae754SRob Clark 3462*a26ae754SRob Clark #define REG_A5XX_HLSQ_FS_CONSTLEN 0x0000e7d7 3463*a26ae754SRob Clark 3464*a26ae754SRob Clark #define REG_A5XX_HLSQ_FS_INSTRLEN 0x0000e7d8 3465*a26ae754SRob Clark 3466*a26ae754SRob Clark #define REG_A5XX_HLSQ_HS_CONSTLEN 0x0000e7c8 3467*a26ae754SRob Clark 3468*a26ae754SRob Clark #define REG_A5XX_HLSQ_HS_INSTRLEN 0x0000e7c9 3469*a26ae754SRob Clark 3470*a26ae754SRob Clark #define REG_A5XX_HLSQ_DS_CONSTLEN 0x0000e7cd 3471*a26ae754SRob Clark 3472*a26ae754SRob Clark #define REG_A5XX_HLSQ_DS_INSTRLEN 0x0000e7ce 3473*a26ae754SRob Clark 3474*a26ae754SRob Clark #define REG_A5XX_UNKNOWN_E7CF 0x0000e7cf 3475*a26ae754SRob Clark 3476*a26ae754SRob Clark #define REG_A5XX_HLSQ_GS_CONSTLEN 0x0000e7d2 3477*a26ae754SRob Clark 3478*a26ae754SRob Clark #define REG_A5XX_HLSQ_GS_INSTRLEN 0x0000e7d3 3479*a26ae754SRob Clark 3480*a26ae754SRob Clark #define REG_A5XX_UNKNOWN_E7D4 0x0000e7d4 3481*a26ae754SRob Clark 3482*a26ae754SRob Clark #define REG_A5XX_UNKNOWN_E7D9 0x0000e7d9 3483*a26ae754SRob Clark 3484*a26ae754SRob Clark #define REG_A5XX_HLSQ_CONTEXT_SWITCH_CS_SW_3 0x0000e7dc 3485*a26ae754SRob Clark 3486*a26ae754SRob Clark #define REG_A5XX_HLSQ_CONTEXT_SWITCH_CS_SW_4 0x0000e7dd 3487*a26ae754SRob Clark 3488*a26ae754SRob Clark #define REG_A5XX_RB_2D_DST_FILL 0x00002101 3489*a26ae754SRob Clark 3490*a26ae754SRob Clark #define REG_A5XX_RB_2D_SRC_INFO 0x00002107 3491*a26ae754SRob Clark #define A5XX_RB_2D_SRC_INFO_COLOR_FORMAT__MASK 0x000000ff 3492*a26ae754SRob Clark #define A5XX_RB_2D_SRC_INFO_COLOR_FORMAT__SHIFT 0 3493*a26ae754SRob Clark static inline uint32_t A5XX_RB_2D_SRC_INFO_COLOR_FORMAT(enum a5xx_color_fmt val) 3494*a26ae754SRob Clark { 3495*a26ae754SRob Clark return ((val) << A5XX_RB_2D_SRC_INFO_COLOR_FORMAT__SHIFT) & A5XX_RB_2D_SRC_INFO_COLOR_FORMAT__MASK; 3496*a26ae754SRob Clark } 3497*a26ae754SRob Clark #define A5XX_RB_2D_SRC_INFO_COLOR_SWAP__MASK 0x00000c00 3498*a26ae754SRob Clark #define A5XX_RB_2D_SRC_INFO_COLOR_SWAP__SHIFT 10 3499*a26ae754SRob Clark static inline uint32_t A5XX_RB_2D_SRC_INFO_COLOR_SWAP(enum a3xx_color_swap val) 3500*a26ae754SRob Clark { 3501*a26ae754SRob Clark return ((val) << A5XX_RB_2D_SRC_INFO_COLOR_SWAP__SHIFT) & A5XX_RB_2D_SRC_INFO_COLOR_SWAP__MASK; 3502*a26ae754SRob Clark } 3503*a26ae754SRob Clark 3504*a26ae754SRob Clark #define REG_A5XX_RB_2D_SRC_LO 0x00002108 3505*a26ae754SRob Clark 3506*a26ae754SRob Clark #define REG_A5XX_RB_2D_SRC_HI 0x00002109 3507*a26ae754SRob Clark 3508*a26ae754SRob Clark #define REG_A5XX_RB_2D_DST_INFO 0x00002110 3509*a26ae754SRob Clark #define A5XX_RB_2D_DST_INFO_COLOR_FORMAT__MASK 0x000000ff 3510*a26ae754SRob Clark #define A5XX_RB_2D_DST_INFO_COLOR_FORMAT__SHIFT 0 3511*a26ae754SRob Clark static inline uint32_t A5XX_RB_2D_DST_INFO_COLOR_FORMAT(enum a5xx_color_fmt val) 3512*a26ae754SRob Clark { 3513*a26ae754SRob Clark return ((val) << A5XX_RB_2D_DST_INFO_COLOR_FORMAT__SHIFT) & A5XX_RB_2D_DST_INFO_COLOR_FORMAT__MASK; 3514*a26ae754SRob Clark } 3515*a26ae754SRob Clark #define A5XX_RB_2D_DST_INFO_COLOR_SWAP__MASK 0x00000c00 3516*a26ae754SRob Clark #define A5XX_RB_2D_DST_INFO_COLOR_SWAP__SHIFT 10 3517*a26ae754SRob Clark static inline uint32_t A5XX_RB_2D_DST_INFO_COLOR_SWAP(enum a3xx_color_swap val) 3518*a26ae754SRob Clark { 3519*a26ae754SRob Clark return ((val) << A5XX_RB_2D_DST_INFO_COLOR_SWAP__SHIFT) & A5XX_RB_2D_DST_INFO_COLOR_SWAP__MASK; 3520*a26ae754SRob Clark } 3521*a26ae754SRob Clark 3522*a26ae754SRob Clark #define REG_A5XX_RB_2D_SRC_FLAGS_LO 0x00002140 3523*a26ae754SRob Clark 3524*a26ae754SRob Clark #define REG_A5XX_RB_2D_SRC_FLAGS_HI 0x00002141 3525*a26ae754SRob Clark 3526*a26ae754SRob Clark #define REG_A5XX_RB_2D_DST_LO 0x00002111 3527*a26ae754SRob Clark 3528*a26ae754SRob Clark #define REG_A5XX_RB_2D_DST_HI 0x00002112 3529*a26ae754SRob Clark 3530*a26ae754SRob Clark #define REG_A5XX_RB_2D_DST_FLAGS_LO 0x00002143 3531*a26ae754SRob Clark 3532*a26ae754SRob Clark #define REG_A5XX_RB_2D_DST_FLAGS_HI 0x00002144 3533*a26ae754SRob Clark 3534*a26ae754SRob Clark #define REG_A5XX_GRAS_2D_SRC_INFO 0x00002181 3535*a26ae754SRob Clark #define A5XX_GRAS_2D_SRC_INFO_COLOR_FORMAT__MASK 0x000000ff 3536*a26ae754SRob Clark #define A5XX_GRAS_2D_SRC_INFO_COLOR_FORMAT__SHIFT 0 3537*a26ae754SRob Clark static inline uint32_t A5XX_GRAS_2D_SRC_INFO_COLOR_FORMAT(enum a5xx_color_fmt val) 3538*a26ae754SRob Clark { 3539*a26ae754SRob Clark return ((val) << A5XX_GRAS_2D_SRC_INFO_COLOR_FORMAT__SHIFT) & A5XX_GRAS_2D_SRC_INFO_COLOR_FORMAT__MASK; 3540*a26ae754SRob Clark } 3541*a26ae754SRob Clark #define A5XX_GRAS_2D_SRC_INFO_COLOR_SWAP__MASK 0x00000c00 3542*a26ae754SRob Clark #define A5XX_GRAS_2D_SRC_INFO_COLOR_SWAP__SHIFT 10 3543*a26ae754SRob Clark static inline uint32_t A5XX_GRAS_2D_SRC_INFO_COLOR_SWAP(enum a3xx_color_swap val) 3544*a26ae754SRob Clark { 3545*a26ae754SRob Clark return ((val) << A5XX_GRAS_2D_SRC_INFO_COLOR_SWAP__SHIFT) & A5XX_GRAS_2D_SRC_INFO_COLOR_SWAP__MASK; 3546*a26ae754SRob Clark } 3547*a26ae754SRob Clark 3548*a26ae754SRob Clark #define REG_A5XX_GRAS_2D_DST_INFO 0x00002182 3549*a26ae754SRob Clark #define A5XX_GRAS_2D_DST_INFO_COLOR_FORMAT__MASK 0x000000ff 3550*a26ae754SRob Clark #define A5XX_GRAS_2D_DST_INFO_COLOR_FORMAT__SHIFT 0 3551*a26ae754SRob Clark static inline uint32_t A5XX_GRAS_2D_DST_INFO_COLOR_FORMAT(enum a5xx_color_fmt val) 3552*a26ae754SRob Clark { 3553*a26ae754SRob Clark return ((val) << A5XX_GRAS_2D_DST_INFO_COLOR_FORMAT__SHIFT) & A5XX_GRAS_2D_DST_INFO_COLOR_FORMAT__MASK; 3554*a26ae754SRob Clark } 3555*a26ae754SRob Clark #define A5XX_GRAS_2D_DST_INFO_COLOR_SWAP__MASK 0x00000c00 3556*a26ae754SRob Clark #define A5XX_GRAS_2D_DST_INFO_COLOR_SWAP__SHIFT 10 3557*a26ae754SRob Clark static inline uint32_t A5XX_GRAS_2D_DST_INFO_COLOR_SWAP(enum a3xx_color_swap val) 3558*a26ae754SRob Clark { 3559*a26ae754SRob Clark return ((val) << A5XX_GRAS_2D_DST_INFO_COLOR_SWAP__SHIFT) & A5XX_GRAS_2D_DST_INFO_COLOR_SWAP__MASK; 3560*a26ae754SRob Clark } 3561*a26ae754SRob Clark 3562*a26ae754SRob Clark #define REG_A5XX_TEX_SAMP_0 0x00000000 3563*a26ae754SRob Clark #define A5XX_TEX_SAMP_0_MIPFILTER_LINEAR_NEAR 0x00000001 3564*a26ae754SRob Clark #define A5XX_TEX_SAMP_0_XY_MAG__MASK 0x00000006 3565*a26ae754SRob Clark #define A5XX_TEX_SAMP_0_XY_MAG__SHIFT 1 3566*a26ae754SRob Clark static inline uint32_t A5XX_TEX_SAMP_0_XY_MAG(enum a5xx_tex_filter val) 3567*a26ae754SRob Clark { 3568*a26ae754SRob Clark return ((val) << A5XX_TEX_SAMP_0_XY_MAG__SHIFT) & A5XX_TEX_SAMP_0_XY_MAG__MASK; 3569*a26ae754SRob Clark } 3570*a26ae754SRob Clark #define A5XX_TEX_SAMP_0_XY_MIN__MASK 0x00000018 3571*a26ae754SRob Clark #define A5XX_TEX_SAMP_0_XY_MIN__SHIFT 3 3572*a26ae754SRob Clark static inline uint32_t A5XX_TEX_SAMP_0_XY_MIN(enum a5xx_tex_filter val) 3573*a26ae754SRob Clark { 3574*a26ae754SRob Clark return ((val) << A5XX_TEX_SAMP_0_XY_MIN__SHIFT) & A5XX_TEX_SAMP_0_XY_MIN__MASK; 3575*a26ae754SRob Clark } 3576*a26ae754SRob Clark #define A5XX_TEX_SAMP_0_WRAP_S__MASK 0x000000e0 3577*a26ae754SRob Clark #define A5XX_TEX_SAMP_0_WRAP_S__SHIFT 5 3578*a26ae754SRob Clark static inline uint32_t A5XX_TEX_SAMP_0_WRAP_S(enum a5xx_tex_clamp val) 3579*a26ae754SRob Clark { 3580*a26ae754SRob Clark return ((val) << A5XX_TEX_SAMP_0_WRAP_S__SHIFT) & A5XX_TEX_SAMP_0_WRAP_S__MASK; 3581*a26ae754SRob Clark } 3582*a26ae754SRob Clark #define A5XX_TEX_SAMP_0_WRAP_T__MASK 0x00000700 3583*a26ae754SRob Clark #define A5XX_TEX_SAMP_0_WRAP_T__SHIFT 8 3584*a26ae754SRob Clark static inline uint32_t A5XX_TEX_SAMP_0_WRAP_T(enum a5xx_tex_clamp val) 3585*a26ae754SRob Clark { 3586*a26ae754SRob Clark return ((val) << A5XX_TEX_SAMP_0_WRAP_T__SHIFT) & A5XX_TEX_SAMP_0_WRAP_T__MASK; 3587*a26ae754SRob Clark } 3588*a26ae754SRob Clark #define A5XX_TEX_SAMP_0_WRAP_R__MASK 0x00003800 3589*a26ae754SRob Clark #define A5XX_TEX_SAMP_0_WRAP_R__SHIFT 11 3590*a26ae754SRob Clark static inline uint32_t A5XX_TEX_SAMP_0_WRAP_R(enum a5xx_tex_clamp val) 3591*a26ae754SRob Clark { 3592*a26ae754SRob Clark return ((val) << A5XX_TEX_SAMP_0_WRAP_R__SHIFT) & A5XX_TEX_SAMP_0_WRAP_R__MASK; 3593*a26ae754SRob Clark } 3594*a26ae754SRob Clark #define A5XX_TEX_SAMP_0_ANISO__MASK 0x0001c000 3595*a26ae754SRob Clark #define A5XX_TEX_SAMP_0_ANISO__SHIFT 14 3596*a26ae754SRob Clark static inline uint32_t A5XX_TEX_SAMP_0_ANISO(enum a5xx_tex_aniso val) 3597*a26ae754SRob Clark { 3598*a26ae754SRob Clark return ((val) << A5XX_TEX_SAMP_0_ANISO__SHIFT) & A5XX_TEX_SAMP_0_ANISO__MASK; 3599*a26ae754SRob Clark } 3600*a26ae754SRob Clark #define A5XX_TEX_SAMP_0_LOD_BIAS__MASK 0xfff80000 3601*a26ae754SRob Clark #define A5XX_TEX_SAMP_0_LOD_BIAS__SHIFT 19 3602*a26ae754SRob Clark static inline uint32_t A5XX_TEX_SAMP_0_LOD_BIAS(float val) 3603*a26ae754SRob Clark { 3604*a26ae754SRob Clark return ((((int32_t)(val * 256.0))) << A5XX_TEX_SAMP_0_LOD_BIAS__SHIFT) & A5XX_TEX_SAMP_0_LOD_BIAS__MASK; 3605*a26ae754SRob Clark } 3606*a26ae754SRob Clark 3607*a26ae754SRob Clark #define REG_A5XX_TEX_SAMP_1 0x00000001 3608*a26ae754SRob Clark #define A5XX_TEX_SAMP_1_COMPARE_FUNC__MASK 0x0000000e 3609*a26ae754SRob Clark #define A5XX_TEX_SAMP_1_COMPARE_FUNC__SHIFT 1 3610*a26ae754SRob Clark static inline uint32_t A5XX_TEX_SAMP_1_COMPARE_FUNC(enum adreno_compare_func val) 3611*a26ae754SRob Clark { 3612*a26ae754SRob Clark return ((val) << A5XX_TEX_SAMP_1_COMPARE_FUNC__SHIFT) & A5XX_TEX_SAMP_1_COMPARE_FUNC__MASK; 3613*a26ae754SRob Clark } 3614*a26ae754SRob Clark #define A5XX_TEX_SAMP_1_CUBEMAPSEAMLESSFILTOFF 0x00000010 3615*a26ae754SRob Clark #define A5XX_TEX_SAMP_1_UNNORM_COORDS 0x00000020 3616*a26ae754SRob Clark #define A5XX_TEX_SAMP_1_MIPFILTER_LINEAR_FAR 0x00000040 3617*a26ae754SRob Clark #define A5XX_TEX_SAMP_1_MAX_LOD__MASK 0x000fff00 3618*a26ae754SRob Clark #define A5XX_TEX_SAMP_1_MAX_LOD__SHIFT 8 3619*a26ae754SRob Clark static inline uint32_t A5XX_TEX_SAMP_1_MAX_LOD(float val) 3620*a26ae754SRob Clark { 3621*a26ae754SRob Clark return ((((uint32_t)(val * 256.0))) << A5XX_TEX_SAMP_1_MAX_LOD__SHIFT) & A5XX_TEX_SAMP_1_MAX_LOD__MASK; 3622*a26ae754SRob Clark } 3623*a26ae754SRob Clark #define A5XX_TEX_SAMP_1_MIN_LOD__MASK 0xfff00000 3624*a26ae754SRob Clark #define A5XX_TEX_SAMP_1_MIN_LOD__SHIFT 20 3625*a26ae754SRob Clark static inline uint32_t A5XX_TEX_SAMP_1_MIN_LOD(float val) 3626*a26ae754SRob Clark { 3627*a26ae754SRob Clark return ((((uint32_t)(val * 256.0))) << A5XX_TEX_SAMP_1_MIN_LOD__SHIFT) & A5XX_TEX_SAMP_1_MIN_LOD__MASK; 3628*a26ae754SRob Clark } 3629*a26ae754SRob Clark 3630*a26ae754SRob Clark #define REG_A5XX_TEX_SAMP_2 0x00000002 3631*a26ae754SRob Clark 3632*a26ae754SRob Clark #define REG_A5XX_TEX_SAMP_3 0x00000003 3633*a26ae754SRob Clark 3634*a26ae754SRob Clark #define REG_A5XX_TEX_CONST_0 0x00000000 3635*a26ae754SRob Clark #define A5XX_TEX_CONST_0_TILE_MODE__MASK 0x00000003 3636*a26ae754SRob Clark #define A5XX_TEX_CONST_0_TILE_MODE__SHIFT 0 3637*a26ae754SRob Clark static inline uint32_t A5XX_TEX_CONST_0_TILE_MODE(enum a5xx_tile_mode val) 3638*a26ae754SRob Clark { 3639*a26ae754SRob Clark return ((val) << A5XX_TEX_CONST_0_TILE_MODE__SHIFT) & A5XX_TEX_CONST_0_TILE_MODE__MASK; 3640*a26ae754SRob Clark } 3641*a26ae754SRob Clark #define A5XX_TEX_CONST_0_SRGB 0x00000004 3642*a26ae754SRob Clark #define A5XX_TEX_CONST_0_SWIZ_X__MASK 0x00000070 3643*a26ae754SRob Clark #define A5XX_TEX_CONST_0_SWIZ_X__SHIFT 4 3644*a26ae754SRob Clark static inline uint32_t A5XX_TEX_CONST_0_SWIZ_X(enum a5xx_tex_swiz val) 3645*a26ae754SRob Clark { 3646*a26ae754SRob Clark return ((val) << A5XX_TEX_CONST_0_SWIZ_X__SHIFT) & A5XX_TEX_CONST_0_SWIZ_X__MASK; 3647*a26ae754SRob Clark } 3648*a26ae754SRob Clark #define A5XX_TEX_CONST_0_SWIZ_Y__MASK 0x00000380 3649*a26ae754SRob Clark #define A5XX_TEX_CONST_0_SWIZ_Y__SHIFT 7 3650*a26ae754SRob Clark static inline uint32_t A5XX_TEX_CONST_0_SWIZ_Y(enum a5xx_tex_swiz val) 3651*a26ae754SRob Clark { 3652*a26ae754SRob Clark return ((val) << A5XX_TEX_CONST_0_SWIZ_Y__SHIFT) & A5XX_TEX_CONST_0_SWIZ_Y__MASK; 3653*a26ae754SRob Clark } 3654*a26ae754SRob Clark #define A5XX_TEX_CONST_0_SWIZ_Z__MASK 0x00001c00 3655*a26ae754SRob Clark #define A5XX_TEX_CONST_0_SWIZ_Z__SHIFT 10 3656*a26ae754SRob Clark static inline uint32_t A5XX_TEX_CONST_0_SWIZ_Z(enum a5xx_tex_swiz val) 3657*a26ae754SRob Clark { 3658*a26ae754SRob Clark return ((val) << A5XX_TEX_CONST_0_SWIZ_Z__SHIFT) & A5XX_TEX_CONST_0_SWIZ_Z__MASK; 3659*a26ae754SRob Clark } 3660*a26ae754SRob Clark #define A5XX_TEX_CONST_0_SWIZ_W__MASK 0x0000e000 3661*a26ae754SRob Clark #define A5XX_TEX_CONST_0_SWIZ_W__SHIFT 13 3662*a26ae754SRob Clark static inline uint32_t A5XX_TEX_CONST_0_SWIZ_W(enum a5xx_tex_swiz val) 3663*a26ae754SRob Clark { 3664*a26ae754SRob Clark return ((val) << A5XX_TEX_CONST_0_SWIZ_W__SHIFT) & A5XX_TEX_CONST_0_SWIZ_W__MASK; 3665*a26ae754SRob Clark } 3666*a26ae754SRob Clark #define A5XX_TEX_CONST_0_FMT__MASK 0x3fc00000 3667*a26ae754SRob Clark #define A5XX_TEX_CONST_0_FMT__SHIFT 22 3668*a26ae754SRob Clark static inline uint32_t A5XX_TEX_CONST_0_FMT(enum a5xx_tex_fmt val) 3669*a26ae754SRob Clark { 3670*a26ae754SRob Clark return ((val) << A5XX_TEX_CONST_0_FMT__SHIFT) & A5XX_TEX_CONST_0_FMT__MASK; 3671*a26ae754SRob Clark } 3672*a26ae754SRob Clark #define A5XX_TEX_CONST_0_SWAP__MASK 0xc0000000 3673*a26ae754SRob Clark #define A5XX_TEX_CONST_0_SWAP__SHIFT 30 3674*a26ae754SRob Clark static inline uint32_t A5XX_TEX_CONST_0_SWAP(enum a3xx_color_swap val) 3675*a26ae754SRob Clark { 3676*a26ae754SRob Clark return ((val) << A5XX_TEX_CONST_0_SWAP__SHIFT) & A5XX_TEX_CONST_0_SWAP__MASK; 3677*a26ae754SRob Clark } 3678*a26ae754SRob Clark 3679*a26ae754SRob Clark #define REG_A5XX_TEX_CONST_1 0x00000001 3680*a26ae754SRob Clark #define A5XX_TEX_CONST_1_WIDTH__MASK 0x00007fff 3681*a26ae754SRob Clark #define A5XX_TEX_CONST_1_WIDTH__SHIFT 0 3682*a26ae754SRob Clark static inline uint32_t A5XX_TEX_CONST_1_WIDTH(uint32_t val) 3683*a26ae754SRob Clark { 3684*a26ae754SRob Clark return ((val) << A5XX_TEX_CONST_1_WIDTH__SHIFT) & A5XX_TEX_CONST_1_WIDTH__MASK; 3685*a26ae754SRob Clark } 3686*a26ae754SRob Clark #define A5XX_TEX_CONST_1_HEIGHT__MASK 0x3fff8000 3687*a26ae754SRob Clark #define A5XX_TEX_CONST_1_HEIGHT__SHIFT 15 3688*a26ae754SRob Clark static inline uint32_t A5XX_TEX_CONST_1_HEIGHT(uint32_t val) 3689*a26ae754SRob Clark { 3690*a26ae754SRob Clark return ((val) << A5XX_TEX_CONST_1_HEIGHT__SHIFT) & A5XX_TEX_CONST_1_HEIGHT__MASK; 3691*a26ae754SRob Clark } 3692*a26ae754SRob Clark 3693*a26ae754SRob Clark #define REG_A5XX_TEX_CONST_2 0x00000002 3694*a26ae754SRob Clark #define A5XX_TEX_CONST_2_FETCHSIZE__MASK 0x0000000f 3695*a26ae754SRob Clark #define A5XX_TEX_CONST_2_FETCHSIZE__SHIFT 0 3696*a26ae754SRob Clark static inline uint32_t A5XX_TEX_CONST_2_FETCHSIZE(enum a5xx_tex_fetchsize val) 3697*a26ae754SRob Clark { 3698*a26ae754SRob Clark return ((val) << A5XX_TEX_CONST_2_FETCHSIZE__SHIFT) & A5XX_TEX_CONST_2_FETCHSIZE__MASK; 3699*a26ae754SRob Clark } 3700*a26ae754SRob Clark #define A5XX_TEX_CONST_2_PITCH__MASK 0x1fffff80 3701*a26ae754SRob Clark #define A5XX_TEX_CONST_2_PITCH__SHIFT 7 3702*a26ae754SRob Clark static inline uint32_t A5XX_TEX_CONST_2_PITCH(uint32_t val) 3703*a26ae754SRob Clark { 3704*a26ae754SRob Clark return ((val) << A5XX_TEX_CONST_2_PITCH__SHIFT) & A5XX_TEX_CONST_2_PITCH__MASK; 3705*a26ae754SRob Clark } 3706*a26ae754SRob Clark #define A5XX_TEX_CONST_2_TYPE__MASK 0x60000000 3707*a26ae754SRob Clark #define A5XX_TEX_CONST_2_TYPE__SHIFT 29 3708*a26ae754SRob Clark static inline uint32_t A5XX_TEX_CONST_2_TYPE(enum a5xx_tex_type val) 3709*a26ae754SRob Clark { 3710*a26ae754SRob Clark return ((val) << A5XX_TEX_CONST_2_TYPE__SHIFT) & A5XX_TEX_CONST_2_TYPE__MASK; 3711*a26ae754SRob Clark } 3712*a26ae754SRob Clark 3713*a26ae754SRob Clark #define REG_A5XX_TEX_CONST_3 0x00000003 3714*a26ae754SRob Clark #define A5XX_TEX_CONST_3_ARRAY_PITCH__MASK 0x00003fff 3715*a26ae754SRob Clark #define A5XX_TEX_CONST_3_ARRAY_PITCH__SHIFT 0 3716*a26ae754SRob Clark static inline uint32_t A5XX_TEX_CONST_3_ARRAY_PITCH(uint32_t val) 3717*a26ae754SRob Clark { 3718*a26ae754SRob Clark return ((val >> 12) << A5XX_TEX_CONST_3_ARRAY_PITCH__SHIFT) & A5XX_TEX_CONST_3_ARRAY_PITCH__MASK; 3719*a26ae754SRob Clark } 3720*a26ae754SRob Clark #define A5XX_TEX_CONST_3_FLAG 0x10000000 3721*a26ae754SRob Clark 3722*a26ae754SRob Clark #define REG_A5XX_TEX_CONST_4 0x00000004 3723*a26ae754SRob Clark #define A5XX_TEX_CONST_4_BASE_LO__MASK 0xffffffe0 3724*a26ae754SRob Clark #define A5XX_TEX_CONST_4_BASE_LO__SHIFT 5 3725*a26ae754SRob Clark static inline uint32_t A5XX_TEX_CONST_4_BASE_LO(uint32_t val) 3726*a26ae754SRob Clark { 3727*a26ae754SRob Clark return ((val >> 5) << A5XX_TEX_CONST_4_BASE_LO__SHIFT) & A5XX_TEX_CONST_4_BASE_LO__MASK; 3728*a26ae754SRob Clark } 3729*a26ae754SRob Clark 3730*a26ae754SRob Clark #define REG_A5XX_TEX_CONST_5 0x00000005 3731*a26ae754SRob Clark #define A5XX_TEX_CONST_5_BASE_HI__MASK 0x0001ffff 3732*a26ae754SRob Clark #define A5XX_TEX_CONST_5_BASE_HI__SHIFT 0 3733*a26ae754SRob Clark static inline uint32_t A5XX_TEX_CONST_5_BASE_HI(uint32_t val) 3734*a26ae754SRob Clark { 3735*a26ae754SRob Clark return ((val) << A5XX_TEX_CONST_5_BASE_HI__SHIFT) & A5XX_TEX_CONST_5_BASE_HI__MASK; 3736*a26ae754SRob Clark } 3737*a26ae754SRob Clark #define A5XX_TEX_CONST_5_DEPTH__MASK 0x3ffe0000 3738*a26ae754SRob Clark #define A5XX_TEX_CONST_5_DEPTH__SHIFT 17 3739*a26ae754SRob Clark static inline uint32_t A5XX_TEX_CONST_5_DEPTH(uint32_t val) 3740*a26ae754SRob Clark { 3741*a26ae754SRob Clark return ((val) << A5XX_TEX_CONST_5_DEPTH__SHIFT) & A5XX_TEX_CONST_5_DEPTH__MASK; 3742*a26ae754SRob Clark } 3743*a26ae754SRob Clark 3744*a26ae754SRob Clark #define REG_A5XX_TEX_CONST_6 0x00000006 3745*a26ae754SRob Clark 3746*a26ae754SRob Clark #define REG_A5XX_TEX_CONST_7 0x00000007 3747*a26ae754SRob Clark 3748*a26ae754SRob Clark #define REG_A5XX_TEX_CONST_8 0x00000008 3749*a26ae754SRob Clark 3750*a26ae754SRob Clark #define REG_A5XX_TEX_CONST_9 0x00000009 3751*a26ae754SRob Clark 3752*a26ae754SRob Clark #define REG_A5XX_TEX_CONST_10 0x0000000a 3753*a26ae754SRob Clark 3754*a26ae754SRob Clark #define REG_A5XX_TEX_CONST_11 0x0000000b 3755*a26ae754SRob Clark 3756*a26ae754SRob Clark 3757*a26ae754SRob Clark #endif /* A5XX_XML */ 3758