12d756322SRob Clark #ifndef A6XX_XML 22d756322SRob Clark #define A6XX_XML 32d756322SRob Clark 42d756322SRob Clark /* Autogenerated file, DO NOT EDIT manually! 52d756322SRob Clark 62d756322SRob Clark This file was generated by the rules-ng-ng headergen tool in this git repository: 72d756322SRob Clark http://github.com/freedreno/envytools/ 82d756322SRob Clark git clone https://github.com/freedreno/envytools.git 92d756322SRob Clark 102d756322SRob Clark The rules-ng-ng source files this header was generated from are: 112d756322SRob Clark - /home/robclark/src/envytools/rnndb/adreno.xml ( 501 bytes, from 2018-07-03 19:37:13) 122d756322SRob Clark - /home/robclark/src/envytools/rnndb/freedreno_copyright.xml ( 1572 bytes, from 2018-07-03 19:37:13) 13ccdf7e28SRob Clark - /home/robclark/src/envytools/rnndb/adreno/a2xx.xml ( 42463 bytes, from 2018-11-19 13:44:03) 14ccdf7e28SRob Clark - /home/robclark/src/envytools/rnndb/adreno/adreno_common.xml ( 14201 bytes, from 2018-12-02 17:29:54) 15ccdf7e28SRob Clark - /home/robclark/src/envytools/rnndb/adreno/adreno_pm4.xml ( 43052 bytes, from 2018-12-02 17:29:54) 162d756322SRob Clark - /home/robclark/src/envytools/rnndb/adreno/a3xx.xml ( 83840 bytes, from 2018-07-03 19:37:13) 172d756322SRob Clark - /home/robclark/src/envytools/rnndb/adreno/a4xx.xml ( 112086 bytes, from 2018-07-03 19:37:13) 18ccdf7e28SRob Clark - /home/robclark/src/envytools/rnndb/adreno/a5xx.xml ( 147240 bytes, from 2018-12-02 17:29:54) 19ccdf7e28SRob Clark - /home/robclark/src/envytools/rnndb/adreno/a6xx.xml ( 140790 bytes, from 2018-12-02 17:29:54) 20a69c5ed2SRob Clark - /home/robclark/src/envytools/rnndb/adreno/a6xx_gmu.xml ( 10431 bytes, from 2018-09-14 13:03:07) 212d756322SRob Clark - /home/robclark/src/envytools/rnndb/adreno/ocmem.xml ( 1773 bytes, from 2018-07-03 19:37:13) 222d756322SRob Clark 232d756322SRob Clark Copyright (C) 2013-2018 by the following authors: 242d756322SRob Clark - Rob Clark <robdclark@gmail.com> (robclark) 252d756322SRob Clark - Ilia Mirkin <imirkin@alum.mit.edu> (imirkin) 262d756322SRob Clark 272d756322SRob Clark Permission is hereby granted, free of charge, to any person obtaining 282d756322SRob Clark a copy of this software and associated documentation files (the 292d756322SRob Clark "Software"), to deal in the Software without restriction, including 302d756322SRob Clark without limitation the rights to use, copy, modify, merge, publish, 312d756322SRob Clark distribute, sublicense, and/or sell copies of the Software, and to 322d756322SRob Clark permit persons to whom the Software is furnished to do so, subject to 332d756322SRob Clark the following conditions: 342d756322SRob Clark 352d756322SRob Clark The above copyright notice and this permission notice (including the 362d756322SRob Clark next paragraph) shall be included in all copies or substantial 372d756322SRob Clark portions of the Software. 382d756322SRob Clark 392d756322SRob Clark THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 402d756322SRob Clark EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 412d756322SRob Clark MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 422d756322SRob Clark IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE 432d756322SRob Clark LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 442d756322SRob Clark OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 452d756322SRob Clark WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 462d756322SRob Clark */ 472d756322SRob Clark 482d756322SRob Clark 492d756322SRob Clark enum a6xx_color_fmt { 502d756322SRob Clark RB6_A8_UNORM = 2, 512d756322SRob Clark RB6_R8_UNORM = 3, 522d756322SRob Clark RB6_R8_SNORM = 4, 532d756322SRob Clark RB6_R8_UINT = 5, 542d756322SRob Clark RB6_R8_SINT = 6, 552d756322SRob Clark RB6_R4G4B4A4_UNORM = 8, 562d756322SRob Clark RB6_R5G5B5A1_UNORM = 10, 572d756322SRob Clark RB6_R5G6B5_UNORM = 14, 582d756322SRob Clark RB6_R8G8_UNORM = 15, 592d756322SRob Clark RB6_R8G8_SNORM = 16, 602d756322SRob Clark RB6_R8G8_UINT = 17, 612d756322SRob Clark RB6_R8G8_SINT = 18, 622d756322SRob Clark RB6_R16_UNORM = 21, 632d756322SRob Clark RB6_R16_SNORM = 22, 642d756322SRob Clark RB6_R16_FLOAT = 23, 652d756322SRob Clark RB6_R16_UINT = 24, 662d756322SRob Clark RB6_R16_SINT = 25, 672d756322SRob Clark RB6_R8G8B8A8_UNORM = 48, 682d756322SRob Clark RB6_R8G8B8_UNORM = 49, 692d756322SRob Clark RB6_R8G8B8A8_SNORM = 50, 702d756322SRob Clark RB6_R8G8B8A8_UINT = 51, 712d756322SRob Clark RB6_R8G8B8A8_SINT = 52, 722d756322SRob Clark RB6_R10G10B10A2_UNORM = 55, 732d756322SRob Clark RB6_R10G10B10A2_UINT = 58, 742d756322SRob Clark RB6_R11G11B10_FLOAT = 66, 752d756322SRob Clark RB6_R16G16_UNORM = 67, 762d756322SRob Clark RB6_R16G16_SNORM = 68, 772d756322SRob Clark RB6_R16G16_FLOAT = 69, 782d756322SRob Clark RB6_R16G16_UINT = 70, 792d756322SRob Clark RB6_R16G16_SINT = 71, 802d756322SRob Clark RB6_R32_FLOAT = 74, 812d756322SRob Clark RB6_R32_UINT = 75, 822d756322SRob Clark RB6_R32_SINT = 76, 832d756322SRob Clark RB6_R16G16B16A16_UNORM = 96, 842d756322SRob Clark RB6_R16G16B16A16_SNORM = 97, 852d756322SRob Clark RB6_R16G16B16A16_FLOAT = 98, 862d756322SRob Clark RB6_R16G16B16A16_UINT = 99, 872d756322SRob Clark RB6_R16G16B16A16_SINT = 100, 882d756322SRob Clark RB6_R32G32_FLOAT = 103, 892d756322SRob Clark RB6_R32G32_UINT = 104, 902d756322SRob Clark RB6_R32G32_SINT = 105, 912d756322SRob Clark RB6_R32G32B32A32_FLOAT = 130, 922d756322SRob Clark RB6_R32G32B32A32_UINT = 131, 932d756322SRob Clark RB6_R32G32B32A32_SINT = 132, 942d756322SRob Clark RB6_X8Z24_UNORM = 160, 952d756322SRob Clark }; 962d756322SRob Clark 972d756322SRob Clark enum a6xx_tile_mode { 982d756322SRob Clark TILE6_LINEAR = 0, 992d756322SRob Clark TILE6_2 = 2, 1002d756322SRob Clark TILE6_3 = 3, 1012d756322SRob Clark }; 1022d756322SRob Clark 1032d756322SRob Clark enum a6xx_vtx_fmt { 1042d756322SRob Clark VFMT6_8_UNORM = 3, 1052d756322SRob Clark VFMT6_8_SNORM = 4, 1062d756322SRob Clark VFMT6_8_UINT = 5, 1072d756322SRob Clark VFMT6_8_SINT = 6, 1082d756322SRob Clark VFMT6_8_8_UNORM = 15, 1092d756322SRob Clark VFMT6_8_8_SNORM = 16, 1102d756322SRob Clark VFMT6_8_8_UINT = 17, 1112d756322SRob Clark VFMT6_8_8_SINT = 18, 1122d756322SRob Clark VFMT6_16_UNORM = 21, 1132d756322SRob Clark VFMT6_16_SNORM = 22, 1142d756322SRob Clark VFMT6_16_FLOAT = 23, 1152d756322SRob Clark VFMT6_16_UINT = 24, 1162d756322SRob Clark VFMT6_16_SINT = 25, 1172d756322SRob Clark VFMT6_8_8_8_UNORM = 33, 1182d756322SRob Clark VFMT6_8_8_8_SNORM = 34, 1192d756322SRob Clark VFMT6_8_8_8_UINT = 35, 1202d756322SRob Clark VFMT6_8_8_8_SINT = 36, 1212d756322SRob Clark VFMT6_8_8_8_8_UNORM = 48, 1222d756322SRob Clark VFMT6_8_8_8_8_SNORM = 50, 1232d756322SRob Clark VFMT6_8_8_8_8_UINT = 51, 1242d756322SRob Clark VFMT6_8_8_8_8_SINT = 52, 1252d756322SRob Clark VFMT6_10_10_10_2_UNORM = 54, 1262d756322SRob Clark VFMT6_10_10_10_2_SNORM = 57, 1272d756322SRob Clark VFMT6_10_10_10_2_UINT = 58, 1282d756322SRob Clark VFMT6_10_10_10_2_SINT = 59, 1292d756322SRob Clark VFMT6_11_11_10_FLOAT = 66, 1302d756322SRob Clark VFMT6_16_16_UNORM = 67, 1312d756322SRob Clark VFMT6_16_16_SNORM = 68, 1322d756322SRob Clark VFMT6_16_16_FLOAT = 69, 1332d756322SRob Clark VFMT6_16_16_UINT = 70, 1342d756322SRob Clark VFMT6_16_16_SINT = 71, 1352d756322SRob Clark VFMT6_32_UNORM = 72, 1362d756322SRob Clark VFMT6_32_SNORM = 73, 1372d756322SRob Clark VFMT6_32_FLOAT = 74, 1382d756322SRob Clark VFMT6_32_UINT = 75, 1392d756322SRob Clark VFMT6_32_SINT = 76, 1402d756322SRob Clark VFMT6_32_FIXED = 77, 1412d756322SRob Clark VFMT6_16_16_16_UNORM = 88, 1422d756322SRob Clark VFMT6_16_16_16_SNORM = 89, 1432d756322SRob Clark VFMT6_16_16_16_FLOAT = 90, 1442d756322SRob Clark VFMT6_16_16_16_UINT = 91, 1452d756322SRob Clark VFMT6_16_16_16_SINT = 92, 1462d756322SRob Clark VFMT6_16_16_16_16_UNORM = 96, 1472d756322SRob Clark VFMT6_16_16_16_16_SNORM = 97, 1482d756322SRob Clark VFMT6_16_16_16_16_FLOAT = 98, 1492d756322SRob Clark VFMT6_16_16_16_16_UINT = 99, 1502d756322SRob Clark VFMT6_16_16_16_16_SINT = 100, 1512d756322SRob Clark VFMT6_32_32_UNORM = 101, 1522d756322SRob Clark VFMT6_32_32_SNORM = 102, 1532d756322SRob Clark VFMT6_32_32_FLOAT = 103, 1542d756322SRob Clark VFMT6_32_32_UINT = 104, 1552d756322SRob Clark VFMT6_32_32_SINT = 105, 1562d756322SRob Clark VFMT6_32_32_FIXED = 106, 1572d756322SRob Clark VFMT6_32_32_32_UNORM = 112, 1582d756322SRob Clark VFMT6_32_32_32_SNORM = 113, 1592d756322SRob Clark VFMT6_32_32_32_UINT = 114, 1602d756322SRob Clark VFMT6_32_32_32_SINT = 115, 1612d756322SRob Clark VFMT6_32_32_32_FLOAT = 116, 1622d756322SRob Clark VFMT6_32_32_32_FIXED = 117, 1632d756322SRob Clark VFMT6_32_32_32_32_UNORM = 128, 1642d756322SRob Clark VFMT6_32_32_32_32_SNORM = 129, 1652d756322SRob Clark VFMT6_32_32_32_32_FLOAT = 130, 1662d756322SRob Clark VFMT6_32_32_32_32_UINT = 131, 1672d756322SRob Clark VFMT6_32_32_32_32_SINT = 132, 1682d756322SRob Clark VFMT6_32_32_32_32_FIXED = 133, 1692d756322SRob Clark }; 1702d756322SRob Clark 1712d756322SRob Clark enum a6xx_tex_fmt { 1722d756322SRob Clark TFMT6_A8_UNORM = 2, 1732d756322SRob Clark TFMT6_8_UNORM = 3, 1742d756322SRob Clark TFMT6_8_SNORM = 4, 1752d756322SRob Clark TFMT6_8_UINT = 5, 1762d756322SRob Clark TFMT6_8_SINT = 6, 1772d756322SRob Clark TFMT6_4_4_4_4_UNORM = 8, 1782d756322SRob Clark TFMT6_5_5_5_1_UNORM = 10, 1792d756322SRob Clark TFMT6_5_6_5_UNORM = 14, 1802d756322SRob Clark TFMT6_8_8_UNORM = 15, 1812d756322SRob Clark TFMT6_8_8_SNORM = 16, 1822d756322SRob Clark TFMT6_8_8_UINT = 17, 1832d756322SRob Clark TFMT6_8_8_SINT = 18, 1842d756322SRob Clark TFMT6_L8_A8_UNORM = 19, 1852d756322SRob Clark TFMT6_16_UNORM = 21, 1862d756322SRob Clark TFMT6_16_SNORM = 22, 1872d756322SRob Clark TFMT6_16_FLOAT = 23, 1882d756322SRob Clark TFMT6_16_UINT = 24, 1892d756322SRob Clark TFMT6_16_SINT = 25, 1902d756322SRob Clark TFMT6_8_8_8_8_UNORM = 48, 1912d756322SRob Clark TFMT6_8_8_8_UNORM = 49, 1922d756322SRob Clark TFMT6_8_8_8_8_SNORM = 50, 1932d756322SRob Clark TFMT6_8_8_8_8_UINT = 51, 1942d756322SRob Clark TFMT6_8_8_8_8_SINT = 52, 1952d756322SRob Clark TFMT6_9_9_9_E5_FLOAT = 53, 1962d756322SRob Clark TFMT6_10_10_10_2_UNORM = 54, 1972d756322SRob Clark TFMT6_10_10_10_2_UINT = 58, 1982d756322SRob Clark TFMT6_11_11_10_FLOAT = 66, 1992d756322SRob Clark TFMT6_16_16_UNORM = 67, 2002d756322SRob Clark TFMT6_16_16_SNORM = 68, 2012d756322SRob Clark TFMT6_16_16_FLOAT = 69, 2022d756322SRob Clark TFMT6_16_16_UINT = 70, 2032d756322SRob Clark TFMT6_16_16_SINT = 71, 2042d756322SRob Clark TFMT6_32_FLOAT = 74, 2052d756322SRob Clark TFMT6_32_UINT = 75, 2062d756322SRob Clark TFMT6_32_SINT = 76, 2072d756322SRob Clark TFMT6_16_16_16_16_UNORM = 96, 2082d756322SRob Clark TFMT6_16_16_16_16_SNORM = 97, 2092d756322SRob Clark TFMT6_16_16_16_16_FLOAT = 98, 2102d756322SRob Clark TFMT6_16_16_16_16_UINT = 99, 2112d756322SRob Clark TFMT6_16_16_16_16_SINT = 100, 2122d756322SRob Clark TFMT6_32_32_FLOAT = 103, 2132d756322SRob Clark TFMT6_32_32_UINT = 104, 2142d756322SRob Clark TFMT6_32_32_SINT = 105, 2152d756322SRob Clark TFMT6_32_32_32_UINT = 114, 2162d756322SRob Clark TFMT6_32_32_32_SINT = 115, 2172d756322SRob Clark TFMT6_32_32_32_FLOAT = 116, 2182d756322SRob Clark TFMT6_32_32_32_32_FLOAT = 130, 2192d756322SRob Clark TFMT6_32_32_32_32_UINT = 131, 2202d756322SRob Clark TFMT6_32_32_32_32_SINT = 132, 2212d756322SRob Clark TFMT6_X8Z24_UNORM = 160, 2222d756322SRob Clark TFMT6_ETC2_RG11_UNORM = 171, 2232d756322SRob Clark TFMT6_ETC2_RG11_SNORM = 172, 2242d756322SRob Clark TFMT6_ETC2_R11_UNORM = 173, 2252d756322SRob Clark TFMT6_ETC2_R11_SNORM = 174, 2262d756322SRob Clark TFMT6_ETC1 = 175, 2272d756322SRob Clark TFMT6_ETC2_RGB8 = 176, 2282d756322SRob Clark TFMT6_ETC2_RGBA8 = 177, 2292d756322SRob Clark TFMT6_ETC2_RGB8A1 = 178, 2302d756322SRob Clark TFMT6_DXT1 = 179, 2312d756322SRob Clark TFMT6_DXT3 = 180, 2322d756322SRob Clark TFMT6_DXT5 = 181, 2332d756322SRob Clark TFMT6_RGTC1_UNORM = 183, 2342d756322SRob Clark TFMT6_RGTC1_SNORM = 184, 2352d756322SRob Clark TFMT6_RGTC2_UNORM = 187, 2362d756322SRob Clark TFMT6_RGTC2_SNORM = 188, 2372d756322SRob Clark TFMT6_BPTC_UFLOAT = 190, 2382d756322SRob Clark TFMT6_BPTC_FLOAT = 191, 2392d756322SRob Clark TFMT6_BPTC = 192, 2402d756322SRob Clark TFMT6_ASTC_4x4 = 193, 2412d756322SRob Clark TFMT6_ASTC_5x4 = 194, 2422d756322SRob Clark TFMT6_ASTC_5x5 = 195, 2432d756322SRob Clark TFMT6_ASTC_6x5 = 196, 2442d756322SRob Clark TFMT6_ASTC_6x6 = 197, 2452d756322SRob Clark TFMT6_ASTC_8x5 = 198, 2462d756322SRob Clark TFMT6_ASTC_8x6 = 199, 2472d756322SRob Clark TFMT6_ASTC_8x8 = 200, 2482d756322SRob Clark TFMT6_ASTC_10x5 = 201, 2492d756322SRob Clark TFMT6_ASTC_10x6 = 202, 2502d756322SRob Clark TFMT6_ASTC_10x8 = 203, 2512d756322SRob Clark TFMT6_ASTC_10x10 = 204, 2522d756322SRob Clark TFMT6_ASTC_12x10 = 205, 2532d756322SRob Clark TFMT6_ASTC_12x12 = 206, 2542d756322SRob Clark }; 2552d756322SRob Clark 2562d756322SRob Clark enum a6xx_tex_fetchsize { 2572d756322SRob Clark TFETCH6_1_BYTE = 0, 2582d756322SRob Clark TFETCH6_2_BYTE = 1, 2592d756322SRob Clark TFETCH6_4_BYTE = 2, 2602d756322SRob Clark TFETCH6_8_BYTE = 3, 2612d756322SRob Clark TFETCH6_16_BYTE = 4, 2622d756322SRob Clark }; 2632d756322SRob Clark 2642d756322SRob Clark enum a6xx_depth_format { 2652d756322SRob Clark DEPTH6_NONE = 0, 2662d756322SRob Clark DEPTH6_16 = 1, 2672d756322SRob Clark DEPTH6_24_8 = 2, 2682d756322SRob Clark DEPTH6_32 = 4, 2692d756322SRob Clark }; 2702d756322SRob Clark 271a69c5ed2SRob Clark enum a6xx_shader_id { 272a69c5ed2SRob Clark A6XX_TP0_TMO_DATA = 9, 273a69c5ed2SRob Clark A6XX_TP0_SMO_DATA = 10, 274a69c5ed2SRob Clark A6XX_TP0_MIPMAP_BASE_DATA = 11, 275a69c5ed2SRob Clark A6XX_TP1_TMO_DATA = 25, 276a69c5ed2SRob Clark A6XX_TP1_SMO_DATA = 26, 277a69c5ed2SRob Clark A6XX_TP1_MIPMAP_BASE_DATA = 27, 278a69c5ed2SRob Clark A6XX_SP_INST_DATA = 41, 279a69c5ed2SRob Clark A6XX_SP_LB_0_DATA = 42, 280a69c5ed2SRob Clark A6XX_SP_LB_1_DATA = 43, 281a69c5ed2SRob Clark A6XX_SP_LB_2_DATA = 44, 282a69c5ed2SRob Clark A6XX_SP_LB_3_DATA = 45, 283a69c5ed2SRob Clark A6XX_SP_LB_4_DATA = 46, 284a69c5ed2SRob Clark A6XX_SP_LB_5_DATA = 47, 285a69c5ed2SRob Clark A6XX_SP_CB_BINDLESS_DATA = 48, 286a69c5ed2SRob Clark A6XX_SP_CB_LEGACY_DATA = 49, 287a69c5ed2SRob Clark A6XX_SP_UAV_DATA = 50, 288a69c5ed2SRob Clark A6XX_SP_INST_TAG = 51, 289a69c5ed2SRob Clark A6XX_SP_CB_BINDLESS_TAG = 52, 290a69c5ed2SRob Clark A6XX_SP_TMO_UMO_TAG = 53, 291a69c5ed2SRob Clark A6XX_SP_SMO_TAG = 54, 292a69c5ed2SRob Clark A6XX_SP_STATE_DATA = 55, 293a69c5ed2SRob Clark A6XX_HLSQ_CHUNK_CVS_RAM = 73, 294a69c5ed2SRob Clark A6XX_HLSQ_CHUNK_CPS_RAM = 74, 295a69c5ed2SRob Clark A6XX_HLSQ_CHUNK_CVS_RAM_TAG = 75, 296a69c5ed2SRob Clark A6XX_HLSQ_CHUNK_CPS_RAM_TAG = 76, 297a69c5ed2SRob Clark A6XX_HLSQ_ICB_CVS_CB_BASE_TAG = 77, 298a69c5ed2SRob Clark A6XX_HLSQ_ICB_CPS_CB_BASE_TAG = 78, 299a69c5ed2SRob Clark A6XX_HLSQ_CVS_MISC_RAM = 80, 300a69c5ed2SRob Clark A6XX_HLSQ_CPS_MISC_RAM = 81, 301a69c5ed2SRob Clark A6XX_HLSQ_INST_RAM = 82, 302a69c5ed2SRob Clark A6XX_HLSQ_GFX_CVS_CONST_RAM = 83, 303a69c5ed2SRob Clark A6XX_HLSQ_GFX_CPS_CONST_RAM = 84, 304a69c5ed2SRob Clark A6XX_HLSQ_CVS_MISC_RAM_TAG = 85, 305a69c5ed2SRob Clark A6XX_HLSQ_CPS_MISC_RAM_TAG = 86, 306a69c5ed2SRob Clark A6XX_HLSQ_INST_RAM_TAG = 87, 307a69c5ed2SRob Clark A6XX_HLSQ_GFX_CVS_CONST_RAM_TAG = 88, 308a69c5ed2SRob Clark A6XX_HLSQ_GFX_CPS_CONST_RAM_TAG = 89, 309a69c5ed2SRob Clark A6XX_HLSQ_PWR_REST_RAM = 90, 310a69c5ed2SRob Clark A6XX_HLSQ_PWR_REST_TAG = 91, 311a69c5ed2SRob Clark A6XX_HLSQ_DATAPATH_META = 96, 312a69c5ed2SRob Clark A6XX_HLSQ_FRONTEND_META = 97, 313a69c5ed2SRob Clark A6XX_HLSQ_INDIRECT_META = 98, 314a69c5ed2SRob Clark A6XX_HLSQ_BACKEND_META = 99, 315a69c5ed2SRob Clark }; 316a69c5ed2SRob Clark 317a69c5ed2SRob Clark enum a6xx_debugbus_id { 318a69c5ed2SRob Clark A6XX_DBGBUS_CP = 1, 319a69c5ed2SRob Clark A6XX_DBGBUS_RBBM = 2, 320a69c5ed2SRob Clark A6XX_DBGBUS_VBIF = 3, 321a69c5ed2SRob Clark A6XX_DBGBUS_HLSQ = 4, 322a69c5ed2SRob Clark A6XX_DBGBUS_UCHE = 5, 323a69c5ed2SRob Clark A6XX_DBGBUS_DPM = 6, 324a69c5ed2SRob Clark A6XX_DBGBUS_TESS = 7, 325a69c5ed2SRob Clark A6XX_DBGBUS_PC = 8, 326a69c5ed2SRob Clark A6XX_DBGBUS_VFDP = 9, 327a69c5ed2SRob Clark A6XX_DBGBUS_VPC = 10, 328a69c5ed2SRob Clark A6XX_DBGBUS_TSE = 11, 329a69c5ed2SRob Clark A6XX_DBGBUS_RAS = 12, 330a69c5ed2SRob Clark A6XX_DBGBUS_VSC = 13, 331a69c5ed2SRob Clark A6XX_DBGBUS_COM = 14, 332a69c5ed2SRob Clark A6XX_DBGBUS_LRZ = 16, 333a69c5ed2SRob Clark A6XX_DBGBUS_A2D = 17, 334a69c5ed2SRob Clark A6XX_DBGBUS_CCUFCHE = 18, 335a69c5ed2SRob Clark A6XX_DBGBUS_GMU_CX = 19, 336a69c5ed2SRob Clark A6XX_DBGBUS_RBP = 20, 337a69c5ed2SRob Clark A6XX_DBGBUS_DCS = 21, 338a69c5ed2SRob Clark A6XX_DBGBUS_DBGC = 22, 339a69c5ed2SRob Clark A6XX_DBGBUS_CX = 23, 340a69c5ed2SRob Clark A6XX_DBGBUS_GMU_GX = 24, 341a69c5ed2SRob Clark A6XX_DBGBUS_TPFCHE = 25, 342a69c5ed2SRob Clark A6XX_DBGBUS_GBIF_GX = 26, 343a69c5ed2SRob Clark A6XX_DBGBUS_GPC = 29, 344a69c5ed2SRob Clark A6XX_DBGBUS_LARC = 30, 345a69c5ed2SRob Clark A6XX_DBGBUS_HLSQ_SPTP = 31, 346a69c5ed2SRob Clark A6XX_DBGBUS_RB_0 = 32, 347a69c5ed2SRob Clark A6XX_DBGBUS_RB_1 = 33, 348a69c5ed2SRob Clark A6XX_DBGBUS_UCHE_WRAPPER = 36, 349a69c5ed2SRob Clark A6XX_DBGBUS_CCU_0 = 40, 350a69c5ed2SRob Clark A6XX_DBGBUS_CCU_1 = 41, 351a69c5ed2SRob Clark A6XX_DBGBUS_VFD_0 = 56, 352a69c5ed2SRob Clark A6XX_DBGBUS_VFD_1 = 57, 353a69c5ed2SRob Clark A6XX_DBGBUS_VFD_2 = 58, 354a69c5ed2SRob Clark A6XX_DBGBUS_VFD_3 = 59, 355a69c5ed2SRob Clark A6XX_DBGBUS_SP_0 = 64, 356a69c5ed2SRob Clark A6XX_DBGBUS_SP_1 = 65, 357a69c5ed2SRob Clark A6XX_DBGBUS_TPL1_0 = 72, 358a69c5ed2SRob Clark A6XX_DBGBUS_TPL1_1 = 73, 359a69c5ed2SRob Clark A6XX_DBGBUS_TPL1_2 = 74, 360a69c5ed2SRob Clark A6XX_DBGBUS_TPL1_3 = 75, 361a69c5ed2SRob Clark }; 362a69c5ed2SRob Clark 3632d756322SRob Clark enum a6xx_cp_perfcounter_select { 3642d756322SRob Clark PERF_CP_ALWAYS_COUNT = 0, 365a69c5ed2SRob Clark PERF_CP_BUSY_GFX_CORE_IDLE = 1, 366a69c5ed2SRob Clark PERF_CP_BUSY_CYCLES = 2, 367a69c5ed2SRob Clark PERF_CP_NUM_PREEMPTIONS = 3, 368a69c5ed2SRob Clark PERF_CP_PREEMPTION_REACTION_DELAY = 4, 369a69c5ed2SRob Clark PERF_CP_PREEMPTION_SWITCH_OUT_TIME = 5, 370a69c5ed2SRob Clark PERF_CP_PREEMPTION_SWITCH_IN_TIME = 6, 371a69c5ed2SRob Clark PERF_CP_DEAD_DRAWS_IN_BIN_RENDER = 7, 372a69c5ed2SRob Clark PERF_CP_PREDICATED_DRAWS_KILLED = 8, 373a69c5ed2SRob Clark PERF_CP_MODE_SWITCH = 9, 374a69c5ed2SRob Clark PERF_CP_ZPASS_DONE = 10, 375a69c5ed2SRob Clark PERF_CP_CONTEXT_DONE = 11, 376a69c5ed2SRob Clark PERF_CP_CACHE_FLUSH = 12, 377a69c5ed2SRob Clark PERF_CP_LONG_PREEMPTIONS = 13, 378a69c5ed2SRob Clark PERF_CP_SQE_I_CACHE_STARVE = 14, 379a69c5ed2SRob Clark PERF_CP_SQE_IDLE = 15, 380a69c5ed2SRob Clark PERF_CP_SQE_PM4_STARVE_RB_IB = 16, 381a69c5ed2SRob Clark PERF_CP_SQE_PM4_STARVE_SDS = 17, 382a69c5ed2SRob Clark PERF_CP_SQE_MRB_STARVE = 18, 383a69c5ed2SRob Clark PERF_CP_SQE_RRB_STARVE = 19, 384a69c5ed2SRob Clark PERF_CP_SQE_VSD_STARVE = 20, 385a69c5ed2SRob Clark PERF_CP_VSD_DECODE_STARVE = 21, 386a69c5ed2SRob Clark PERF_CP_SQE_PIPE_OUT_STALL = 22, 387a69c5ed2SRob Clark PERF_CP_SQE_SYNC_STALL = 23, 388a69c5ed2SRob Clark PERF_CP_SQE_PM4_WFI_STALL = 24, 389a69c5ed2SRob Clark PERF_CP_SQE_SYS_WFI_STALL = 25, 390a69c5ed2SRob Clark PERF_CP_SQE_T4_EXEC = 26, 391a69c5ed2SRob Clark PERF_CP_SQE_LOAD_STATE_EXEC = 27, 392a69c5ed2SRob Clark PERF_CP_SQE_SAVE_SDS_STATE = 28, 393a69c5ed2SRob Clark PERF_CP_SQE_DRAW_EXEC = 29, 394a69c5ed2SRob Clark PERF_CP_SQE_CTXT_REG_BUNCH_EXEC = 30, 395a69c5ed2SRob Clark PERF_CP_SQE_EXEC_PROFILED = 31, 396a69c5ed2SRob Clark PERF_CP_MEMORY_POOL_EMPTY = 32, 397a69c5ed2SRob Clark PERF_CP_MEMORY_POOL_SYNC_STALL = 33, 398a69c5ed2SRob Clark PERF_CP_MEMORY_POOL_ABOVE_THRESH = 34, 399a69c5ed2SRob Clark PERF_CP_AHB_WR_STALL_PRE_DRAWS = 35, 400a69c5ed2SRob Clark PERF_CP_AHB_STALL_SQE_GMU = 36, 401a69c5ed2SRob Clark PERF_CP_AHB_STALL_SQE_WR_OTHER = 37, 402a69c5ed2SRob Clark PERF_CP_AHB_STALL_SQE_RD_OTHER = 38, 403a69c5ed2SRob Clark PERF_CP_CLUSTER0_EMPTY = 39, 404a69c5ed2SRob Clark PERF_CP_CLUSTER1_EMPTY = 40, 405a69c5ed2SRob Clark PERF_CP_CLUSTER2_EMPTY = 41, 406a69c5ed2SRob Clark PERF_CP_CLUSTER3_EMPTY = 42, 407a69c5ed2SRob Clark PERF_CP_CLUSTER4_EMPTY = 43, 408a69c5ed2SRob Clark PERF_CP_CLUSTER5_EMPTY = 44, 409a69c5ed2SRob Clark PERF_CP_PM4_DATA = 45, 410a69c5ed2SRob Clark PERF_CP_PM4_HEADERS = 46, 411a69c5ed2SRob Clark PERF_CP_VBIF_READ_BEATS = 47, 412a69c5ed2SRob Clark PERF_CP_VBIF_WRITE_BEATS = 48, 413a69c5ed2SRob Clark PERF_CP_SQE_INSTR_COUNTER = 49, 414a69c5ed2SRob Clark }; 415a69c5ed2SRob Clark 416a69c5ed2SRob Clark enum a6xx_rbbm_perfcounter_select { 417a69c5ed2SRob Clark PERF_RBBM_ALWAYS_COUNT = 0, 418a69c5ed2SRob Clark PERF_RBBM_ALWAYS_ON = 1, 419a69c5ed2SRob Clark PERF_RBBM_TSE_BUSY = 2, 420a69c5ed2SRob Clark PERF_RBBM_RAS_BUSY = 3, 421a69c5ed2SRob Clark PERF_RBBM_PC_DCALL_BUSY = 4, 422a69c5ed2SRob Clark PERF_RBBM_PC_VSD_BUSY = 5, 423a69c5ed2SRob Clark PERF_RBBM_STATUS_MASKED = 6, 424a69c5ed2SRob Clark PERF_RBBM_COM_BUSY = 7, 425a69c5ed2SRob Clark PERF_RBBM_DCOM_BUSY = 8, 426a69c5ed2SRob Clark PERF_RBBM_VBIF_BUSY = 9, 427a69c5ed2SRob Clark PERF_RBBM_VSC_BUSY = 10, 428a69c5ed2SRob Clark PERF_RBBM_TESS_BUSY = 11, 429a69c5ed2SRob Clark PERF_RBBM_UCHE_BUSY = 12, 430a69c5ed2SRob Clark PERF_RBBM_HLSQ_BUSY = 13, 431a69c5ed2SRob Clark }; 432a69c5ed2SRob Clark 433a69c5ed2SRob Clark enum a6xx_pc_perfcounter_select { 434a69c5ed2SRob Clark PERF_PC_BUSY_CYCLES = 0, 435a69c5ed2SRob Clark PERF_PC_WORKING_CYCLES = 1, 436a69c5ed2SRob Clark PERF_PC_STALL_CYCLES_VFD = 2, 437a69c5ed2SRob Clark PERF_PC_STALL_CYCLES_TSE = 3, 438a69c5ed2SRob Clark PERF_PC_STALL_CYCLES_VPC = 4, 439a69c5ed2SRob Clark PERF_PC_STALL_CYCLES_UCHE = 5, 440a69c5ed2SRob Clark PERF_PC_STALL_CYCLES_TESS = 6, 441a69c5ed2SRob Clark PERF_PC_STALL_CYCLES_TSE_ONLY = 7, 442a69c5ed2SRob Clark PERF_PC_STALL_CYCLES_VPC_ONLY = 8, 443a69c5ed2SRob Clark PERF_PC_PASS1_TF_STALL_CYCLES = 9, 444a69c5ed2SRob Clark PERF_PC_STARVE_CYCLES_FOR_INDEX = 10, 445a69c5ed2SRob Clark PERF_PC_STARVE_CYCLES_FOR_TESS_FACTOR = 11, 446a69c5ed2SRob Clark PERF_PC_STARVE_CYCLES_FOR_VIZ_STREAM = 12, 447a69c5ed2SRob Clark PERF_PC_STARVE_CYCLES_FOR_POSITION = 13, 448a69c5ed2SRob Clark PERF_PC_STARVE_CYCLES_DI = 14, 449a69c5ed2SRob Clark PERF_PC_VIS_STREAMS_LOADED = 15, 450a69c5ed2SRob Clark PERF_PC_INSTANCES = 16, 451a69c5ed2SRob Clark PERF_PC_VPC_PRIMITIVES = 17, 452a69c5ed2SRob Clark PERF_PC_DEAD_PRIM = 18, 453a69c5ed2SRob Clark PERF_PC_LIVE_PRIM = 19, 454a69c5ed2SRob Clark PERF_PC_VERTEX_HITS = 20, 455a69c5ed2SRob Clark PERF_PC_IA_VERTICES = 21, 456a69c5ed2SRob Clark PERF_PC_IA_PRIMITIVES = 22, 457a69c5ed2SRob Clark PERF_PC_GS_PRIMITIVES = 23, 458a69c5ed2SRob Clark PERF_PC_HS_INVOCATIONS = 24, 459a69c5ed2SRob Clark PERF_PC_DS_INVOCATIONS = 25, 460a69c5ed2SRob Clark PERF_PC_VS_INVOCATIONS = 26, 461a69c5ed2SRob Clark PERF_PC_GS_INVOCATIONS = 27, 462a69c5ed2SRob Clark PERF_PC_DS_PRIMITIVES = 28, 463a69c5ed2SRob Clark PERF_PC_VPC_POS_DATA_TRANSACTION = 29, 464a69c5ed2SRob Clark PERF_PC_3D_DRAWCALLS = 30, 465a69c5ed2SRob Clark PERF_PC_2D_DRAWCALLS = 31, 466a69c5ed2SRob Clark PERF_PC_NON_DRAWCALL_GLOBAL_EVENTS = 32, 467a69c5ed2SRob Clark PERF_TESS_BUSY_CYCLES = 33, 468a69c5ed2SRob Clark PERF_TESS_WORKING_CYCLES = 34, 469a69c5ed2SRob Clark PERF_TESS_STALL_CYCLES_PC = 35, 470a69c5ed2SRob Clark PERF_TESS_STARVE_CYCLES_PC = 36, 471a69c5ed2SRob Clark PERF_PC_TSE_TRANSACTION = 37, 472a69c5ed2SRob Clark PERF_PC_TSE_VERTEX = 38, 473a69c5ed2SRob Clark PERF_PC_TESS_PC_UV_TRANS = 39, 474a69c5ed2SRob Clark PERF_PC_TESS_PC_UV_PATCHES = 40, 475a69c5ed2SRob Clark PERF_PC_TESS_FACTOR_TRANS = 41, 476a69c5ed2SRob Clark }; 477a69c5ed2SRob Clark 478a69c5ed2SRob Clark enum a6xx_vfd_perfcounter_select { 479a69c5ed2SRob Clark PERF_VFD_BUSY_CYCLES = 0, 480a69c5ed2SRob Clark PERF_VFD_STALL_CYCLES_UCHE = 1, 481a69c5ed2SRob Clark PERF_VFD_STALL_CYCLES_VPC_ALLOC = 2, 482a69c5ed2SRob Clark PERF_VFD_STALL_CYCLES_SP_INFO = 3, 483a69c5ed2SRob Clark PERF_VFD_STALL_CYCLES_SP_ATTR = 4, 484a69c5ed2SRob Clark PERF_VFD_STARVE_CYCLES_UCHE = 5, 485a69c5ed2SRob Clark PERF_VFD_RBUFFER_FULL = 6, 486a69c5ed2SRob Clark PERF_VFD_ATTR_INFO_FIFO_FULL = 7, 487a69c5ed2SRob Clark PERF_VFD_DECODED_ATTRIBUTE_BYTES = 8, 488a69c5ed2SRob Clark PERF_VFD_NUM_ATTRIBUTES = 9, 489a69c5ed2SRob Clark PERF_VFD_UPPER_SHADER_FIBERS = 10, 490a69c5ed2SRob Clark PERF_VFD_LOWER_SHADER_FIBERS = 11, 491a69c5ed2SRob Clark PERF_VFD_MODE_0_FIBERS = 12, 492a69c5ed2SRob Clark PERF_VFD_MODE_1_FIBERS = 13, 493a69c5ed2SRob Clark PERF_VFD_MODE_2_FIBERS = 14, 494a69c5ed2SRob Clark PERF_VFD_MODE_3_FIBERS = 15, 495a69c5ed2SRob Clark PERF_VFD_MODE_4_FIBERS = 16, 496a69c5ed2SRob Clark PERF_VFD_TOTAL_VERTICES = 17, 497a69c5ed2SRob Clark PERF_VFDP_STALL_CYCLES_VFD = 18, 498a69c5ed2SRob Clark PERF_VFDP_STALL_CYCLES_VFD_INDEX = 19, 499a69c5ed2SRob Clark PERF_VFDP_STALL_CYCLES_VFD_PROG = 20, 500a69c5ed2SRob Clark PERF_VFDP_STARVE_CYCLES_PC = 21, 501a69c5ed2SRob Clark PERF_VFDP_VS_STAGE_WAVES = 22, 502a69c5ed2SRob Clark }; 503a69c5ed2SRob Clark 504ccdf7e28SRob Clark enum a6xx_hlsq_perfcounter_select { 505a69c5ed2SRob Clark PERF_HLSQ_BUSY_CYCLES = 0, 506a69c5ed2SRob Clark PERF_HLSQ_STALL_CYCLES_UCHE = 1, 507a69c5ed2SRob Clark PERF_HLSQ_STALL_CYCLES_SP_STATE = 2, 508a69c5ed2SRob Clark PERF_HLSQ_STALL_CYCLES_SP_FS_STAGE = 3, 509a69c5ed2SRob Clark PERF_HLSQ_UCHE_LATENCY_CYCLES = 4, 510a69c5ed2SRob Clark PERF_HLSQ_UCHE_LATENCY_COUNT = 5, 511a69c5ed2SRob Clark PERF_HLSQ_FS_STAGE_1X_WAVES = 6, 512a69c5ed2SRob Clark PERF_HLSQ_FS_STAGE_2X_WAVES = 7, 513a69c5ed2SRob Clark PERF_HLSQ_QUADS = 8, 514a69c5ed2SRob Clark PERF_HLSQ_CS_INVOCATIONS = 9, 515a69c5ed2SRob Clark PERF_HLSQ_COMPUTE_DRAWCALLS = 10, 516a69c5ed2SRob Clark PERF_HLSQ_FS_DATA_WAIT_PROGRAMMING = 11, 517a69c5ed2SRob Clark PERF_HLSQ_DUAL_FS_PROG_ACTIVE = 12, 518a69c5ed2SRob Clark PERF_HLSQ_DUAL_VS_PROG_ACTIVE = 13, 519a69c5ed2SRob Clark PERF_HLSQ_FS_BATCH_COUNT_ZERO = 14, 520a69c5ed2SRob Clark PERF_HLSQ_VS_BATCH_COUNT_ZERO = 15, 521a69c5ed2SRob Clark PERF_HLSQ_WAVE_PENDING_NO_QUAD = 16, 522a69c5ed2SRob Clark PERF_HLSQ_WAVE_PENDING_NO_PRIM_BASE = 17, 523a69c5ed2SRob Clark PERF_HLSQ_STALL_CYCLES_VPC = 18, 524a69c5ed2SRob Clark PERF_HLSQ_PIXELS = 19, 525a69c5ed2SRob Clark PERF_HLSQ_DRAW_MODE_SWITCH_VSFS_SYNC = 20, 526a69c5ed2SRob Clark }; 527a69c5ed2SRob Clark 528a69c5ed2SRob Clark enum a6xx_vpc_perfcounter_select { 529a69c5ed2SRob Clark PERF_VPC_BUSY_CYCLES = 0, 530a69c5ed2SRob Clark PERF_VPC_WORKING_CYCLES = 1, 531a69c5ed2SRob Clark PERF_VPC_STALL_CYCLES_UCHE = 2, 532a69c5ed2SRob Clark PERF_VPC_STALL_CYCLES_VFD_WACK = 3, 533a69c5ed2SRob Clark PERF_VPC_STALL_CYCLES_HLSQ_PRIM_ALLOC = 4, 534a69c5ed2SRob Clark PERF_VPC_STALL_CYCLES_PC = 5, 535a69c5ed2SRob Clark PERF_VPC_STALL_CYCLES_SP_LM = 6, 536a69c5ed2SRob Clark PERF_VPC_STARVE_CYCLES_SP = 7, 537a69c5ed2SRob Clark PERF_VPC_STARVE_CYCLES_LRZ = 8, 538a69c5ed2SRob Clark PERF_VPC_PC_PRIMITIVES = 9, 539a69c5ed2SRob Clark PERF_VPC_SP_COMPONENTS = 10, 540a69c5ed2SRob Clark PERF_VPC_STALL_CYCLES_VPCRAM_POS = 11, 541a69c5ed2SRob Clark PERF_VPC_LRZ_ASSIGN_PRIMITIVES = 12, 542a69c5ed2SRob Clark PERF_VPC_RB_VISIBLE_PRIMITIVES = 13, 543a69c5ed2SRob Clark PERF_VPC_LM_TRANSACTION = 14, 544a69c5ed2SRob Clark PERF_VPC_STREAMOUT_TRANSACTION = 15, 545a69c5ed2SRob Clark PERF_VPC_VS_BUSY_CYCLES = 16, 546a69c5ed2SRob Clark PERF_VPC_PS_BUSY_CYCLES = 17, 547a69c5ed2SRob Clark PERF_VPC_VS_WORKING_CYCLES = 18, 548a69c5ed2SRob Clark PERF_VPC_PS_WORKING_CYCLES = 19, 549a69c5ed2SRob Clark PERF_VPC_STARVE_CYCLES_RB = 20, 550a69c5ed2SRob Clark PERF_VPC_NUM_VPCRAM_READ_POS = 21, 551a69c5ed2SRob Clark PERF_VPC_WIT_FULL_CYCLES = 22, 552a69c5ed2SRob Clark PERF_VPC_VPCRAM_FULL_CYCLES = 23, 553a69c5ed2SRob Clark PERF_VPC_LM_FULL_WAIT_FOR_INTP_END = 24, 554a69c5ed2SRob Clark PERF_VPC_NUM_VPCRAM_WRITE = 25, 555a69c5ed2SRob Clark PERF_VPC_NUM_VPCRAM_READ_SO = 26, 556a69c5ed2SRob Clark PERF_VPC_NUM_ATTR_REQ_LM = 27, 557a69c5ed2SRob Clark }; 558a69c5ed2SRob Clark 559a69c5ed2SRob Clark enum a6xx_tse_perfcounter_select { 560a69c5ed2SRob Clark PERF_TSE_BUSY_CYCLES = 0, 561a69c5ed2SRob Clark PERF_TSE_CLIPPING_CYCLES = 1, 562a69c5ed2SRob Clark PERF_TSE_STALL_CYCLES_RAS = 2, 563a69c5ed2SRob Clark PERF_TSE_STALL_CYCLES_LRZ_BARYPLANE = 3, 564a69c5ed2SRob Clark PERF_TSE_STALL_CYCLES_LRZ_ZPLANE = 4, 565a69c5ed2SRob Clark PERF_TSE_STARVE_CYCLES_PC = 5, 566a69c5ed2SRob Clark PERF_TSE_INPUT_PRIM = 6, 567a69c5ed2SRob Clark PERF_TSE_INPUT_NULL_PRIM = 7, 568a69c5ed2SRob Clark PERF_TSE_TRIVAL_REJ_PRIM = 8, 569a69c5ed2SRob Clark PERF_TSE_CLIPPED_PRIM = 9, 570a69c5ed2SRob Clark PERF_TSE_ZERO_AREA_PRIM = 10, 571a69c5ed2SRob Clark PERF_TSE_FACENESS_CULLED_PRIM = 11, 572a69c5ed2SRob Clark PERF_TSE_ZERO_PIXEL_PRIM = 12, 573a69c5ed2SRob Clark PERF_TSE_OUTPUT_NULL_PRIM = 13, 574a69c5ed2SRob Clark PERF_TSE_OUTPUT_VISIBLE_PRIM = 14, 575a69c5ed2SRob Clark PERF_TSE_CINVOCATION = 15, 576a69c5ed2SRob Clark PERF_TSE_CPRIMITIVES = 16, 577a69c5ed2SRob Clark PERF_TSE_2D_INPUT_PRIM = 17, 578a69c5ed2SRob Clark PERF_TSE_2D_ALIVE_CYCLES = 18, 579a69c5ed2SRob Clark PERF_TSE_CLIP_PLANES = 19, 580a69c5ed2SRob Clark }; 581a69c5ed2SRob Clark 582a69c5ed2SRob Clark enum a6xx_ras_perfcounter_select { 583a69c5ed2SRob Clark PERF_RAS_BUSY_CYCLES = 0, 584a69c5ed2SRob Clark PERF_RAS_SUPERTILE_ACTIVE_CYCLES = 1, 585a69c5ed2SRob Clark PERF_RAS_STALL_CYCLES_LRZ = 2, 586a69c5ed2SRob Clark PERF_RAS_STARVE_CYCLES_TSE = 3, 587a69c5ed2SRob Clark PERF_RAS_SUPER_TILES = 4, 588a69c5ed2SRob Clark PERF_RAS_8X4_TILES = 5, 589a69c5ed2SRob Clark PERF_RAS_MASKGEN_ACTIVE = 6, 590a69c5ed2SRob Clark PERF_RAS_FULLY_COVERED_SUPER_TILES = 7, 591a69c5ed2SRob Clark PERF_RAS_FULLY_COVERED_8X4_TILES = 8, 592a69c5ed2SRob Clark PERF_RAS_PRIM_KILLED_INVISILBE = 9, 593a69c5ed2SRob Clark PERF_RAS_SUPERTILE_GEN_ACTIVE_CYCLES = 10, 594a69c5ed2SRob Clark PERF_RAS_LRZ_INTF_WORKING_CYCLES = 11, 595a69c5ed2SRob Clark PERF_RAS_BLOCKS = 12, 596a69c5ed2SRob Clark }; 597a69c5ed2SRob Clark 598a69c5ed2SRob Clark enum a6xx_uche_perfcounter_select { 599a69c5ed2SRob Clark PERF_UCHE_BUSY_CYCLES = 0, 600a69c5ed2SRob Clark PERF_UCHE_STALL_CYCLES_ARBITER = 1, 601a69c5ed2SRob Clark PERF_UCHE_VBIF_LATENCY_CYCLES = 2, 602a69c5ed2SRob Clark PERF_UCHE_VBIF_LATENCY_SAMPLES = 3, 603a69c5ed2SRob Clark PERF_UCHE_VBIF_READ_BEATS_TP = 4, 604a69c5ed2SRob Clark PERF_UCHE_VBIF_READ_BEATS_VFD = 5, 605a69c5ed2SRob Clark PERF_UCHE_VBIF_READ_BEATS_HLSQ = 6, 606a69c5ed2SRob Clark PERF_UCHE_VBIF_READ_BEATS_LRZ = 7, 607a69c5ed2SRob Clark PERF_UCHE_VBIF_READ_BEATS_SP = 8, 608a69c5ed2SRob Clark PERF_UCHE_READ_REQUESTS_TP = 9, 609a69c5ed2SRob Clark PERF_UCHE_READ_REQUESTS_VFD = 10, 610a69c5ed2SRob Clark PERF_UCHE_READ_REQUESTS_HLSQ = 11, 611a69c5ed2SRob Clark PERF_UCHE_READ_REQUESTS_LRZ = 12, 612a69c5ed2SRob Clark PERF_UCHE_READ_REQUESTS_SP = 13, 613a69c5ed2SRob Clark PERF_UCHE_WRITE_REQUESTS_LRZ = 14, 614a69c5ed2SRob Clark PERF_UCHE_WRITE_REQUESTS_SP = 15, 615a69c5ed2SRob Clark PERF_UCHE_WRITE_REQUESTS_VPC = 16, 616a69c5ed2SRob Clark PERF_UCHE_WRITE_REQUESTS_VSC = 17, 617a69c5ed2SRob Clark PERF_UCHE_EVICTS = 18, 618a69c5ed2SRob Clark PERF_UCHE_BANK_REQ0 = 19, 619a69c5ed2SRob Clark PERF_UCHE_BANK_REQ1 = 20, 620a69c5ed2SRob Clark PERF_UCHE_BANK_REQ2 = 21, 621a69c5ed2SRob Clark PERF_UCHE_BANK_REQ3 = 22, 622a69c5ed2SRob Clark PERF_UCHE_BANK_REQ4 = 23, 623a69c5ed2SRob Clark PERF_UCHE_BANK_REQ5 = 24, 624a69c5ed2SRob Clark PERF_UCHE_BANK_REQ6 = 25, 625a69c5ed2SRob Clark PERF_UCHE_BANK_REQ7 = 26, 626a69c5ed2SRob Clark PERF_UCHE_VBIF_READ_BEATS_CH0 = 27, 627a69c5ed2SRob Clark PERF_UCHE_VBIF_READ_BEATS_CH1 = 28, 628a69c5ed2SRob Clark PERF_UCHE_GMEM_READ_BEATS = 29, 629a69c5ed2SRob Clark PERF_UCHE_TPH_REF_FULL = 30, 630a69c5ed2SRob Clark PERF_UCHE_TPH_VICTIM_FULL = 31, 631a69c5ed2SRob Clark PERF_UCHE_TPH_EXT_FULL = 32, 632a69c5ed2SRob Clark PERF_UCHE_VBIF_STALL_WRITE_DATA = 33, 633a69c5ed2SRob Clark PERF_UCHE_DCMP_LATENCY_SAMPLES = 34, 634a69c5ed2SRob Clark PERF_UCHE_DCMP_LATENCY_CYCLES = 35, 635a69c5ed2SRob Clark PERF_UCHE_VBIF_READ_BEATS_PC = 36, 636a69c5ed2SRob Clark PERF_UCHE_READ_REQUESTS_PC = 37, 637a69c5ed2SRob Clark PERF_UCHE_RAM_READ_REQ = 38, 638a69c5ed2SRob Clark PERF_UCHE_RAM_WRITE_REQ = 39, 639a69c5ed2SRob Clark }; 640a69c5ed2SRob Clark 641a69c5ed2SRob Clark enum a6xx_tp_perfcounter_select { 642a69c5ed2SRob Clark PERF_TP_BUSY_CYCLES = 0, 643a69c5ed2SRob Clark PERF_TP_STALL_CYCLES_UCHE = 1, 644a69c5ed2SRob Clark PERF_TP_LATENCY_CYCLES = 2, 645a69c5ed2SRob Clark PERF_TP_LATENCY_TRANS = 3, 646a69c5ed2SRob Clark PERF_TP_FLAG_CACHE_REQUEST_SAMPLES = 4, 647a69c5ed2SRob Clark PERF_TP_FLAG_CACHE_REQUEST_LATENCY = 5, 648a69c5ed2SRob Clark PERF_TP_L1_CACHELINE_REQUESTS = 6, 649a69c5ed2SRob Clark PERF_TP_L1_CACHELINE_MISSES = 7, 650a69c5ed2SRob Clark PERF_TP_SP_TP_TRANS = 8, 651a69c5ed2SRob Clark PERF_TP_TP_SP_TRANS = 9, 652a69c5ed2SRob Clark PERF_TP_OUTPUT_PIXELS = 10, 653a69c5ed2SRob Clark PERF_TP_FILTER_WORKLOAD_16BIT = 11, 654a69c5ed2SRob Clark PERF_TP_FILTER_WORKLOAD_32BIT = 12, 655a69c5ed2SRob Clark PERF_TP_QUADS_RECEIVED = 13, 656a69c5ed2SRob Clark PERF_TP_QUADS_OFFSET = 14, 657a69c5ed2SRob Clark PERF_TP_QUADS_SHADOW = 15, 658a69c5ed2SRob Clark PERF_TP_QUADS_ARRAY = 16, 659a69c5ed2SRob Clark PERF_TP_QUADS_GRADIENT = 17, 660a69c5ed2SRob Clark PERF_TP_QUADS_1D = 18, 661a69c5ed2SRob Clark PERF_TP_QUADS_2D = 19, 662a69c5ed2SRob Clark PERF_TP_QUADS_BUFFER = 20, 663a69c5ed2SRob Clark PERF_TP_QUADS_3D = 21, 664a69c5ed2SRob Clark PERF_TP_QUADS_CUBE = 22, 665a69c5ed2SRob Clark PERF_TP_DIVERGENT_QUADS_RECEIVED = 23, 666a69c5ed2SRob Clark PERF_TP_PRT_NON_RESIDENT_EVENTS = 24, 667a69c5ed2SRob Clark PERF_TP_OUTPUT_PIXELS_POINT = 25, 668a69c5ed2SRob Clark PERF_TP_OUTPUT_PIXELS_BILINEAR = 26, 669a69c5ed2SRob Clark PERF_TP_OUTPUT_PIXELS_MIP = 27, 670a69c5ed2SRob Clark PERF_TP_OUTPUT_PIXELS_ANISO = 28, 671a69c5ed2SRob Clark PERF_TP_OUTPUT_PIXELS_ZERO_LOD = 29, 672a69c5ed2SRob Clark PERF_TP_FLAG_CACHE_REQUESTS = 30, 673a69c5ed2SRob Clark PERF_TP_FLAG_CACHE_MISSES = 31, 674a69c5ed2SRob Clark PERF_TP_L1_5_L2_REQUESTS = 32, 675a69c5ed2SRob Clark PERF_TP_2D_OUTPUT_PIXELS = 33, 676a69c5ed2SRob Clark PERF_TP_2D_OUTPUT_PIXELS_POINT = 34, 677a69c5ed2SRob Clark PERF_TP_2D_OUTPUT_PIXELS_BILINEAR = 35, 678a69c5ed2SRob Clark PERF_TP_2D_FILTER_WORKLOAD_16BIT = 36, 679a69c5ed2SRob Clark PERF_TP_2D_FILTER_WORKLOAD_32BIT = 37, 680a69c5ed2SRob Clark PERF_TP_TPA2TPC_TRANS = 38, 681a69c5ed2SRob Clark PERF_TP_L1_MISSES_ASTC_1TILE = 39, 682a69c5ed2SRob Clark PERF_TP_L1_MISSES_ASTC_2TILE = 40, 683a69c5ed2SRob Clark PERF_TP_L1_MISSES_ASTC_4TILE = 41, 684a69c5ed2SRob Clark PERF_TP_L1_5_L2_COMPRESS_REQS = 42, 685a69c5ed2SRob Clark PERF_TP_L1_5_L2_COMPRESS_MISS = 43, 686a69c5ed2SRob Clark PERF_TP_L1_BANK_CONFLICT = 44, 687a69c5ed2SRob Clark PERF_TP_L1_5_MISS_LATENCY_CYCLES = 45, 688a69c5ed2SRob Clark PERF_TP_L1_5_MISS_LATENCY_TRANS = 46, 689a69c5ed2SRob Clark PERF_TP_QUADS_CONSTANT_MULTIPLIED = 47, 690a69c5ed2SRob Clark PERF_TP_FRONTEND_WORKING_CYCLES = 48, 691a69c5ed2SRob Clark PERF_TP_L1_TAG_WORKING_CYCLES = 49, 692a69c5ed2SRob Clark PERF_TP_L1_DATA_WRITE_WORKING_CYCLES = 50, 693a69c5ed2SRob Clark PERF_TP_PRE_L1_DECOM_WORKING_CYCLES = 51, 694a69c5ed2SRob Clark PERF_TP_BACKEND_WORKING_CYCLES = 52, 695a69c5ed2SRob Clark PERF_TP_FLAG_CACHE_WORKING_CYCLES = 53, 696a69c5ed2SRob Clark PERF_TP_L1_5_CACHE_WORKING_CYCLES = 54, 697a69c5ed2SRob Clark PERF_TP_STARVE_CYCLES_SP = 55, 698a69c5ed2SRob Clark PERF_TP_STARVE_CYCLES_UCHE = 56, 699a69c5ed2SRob Clark }; 700a69c5ed2SRob Clark 701a69c5ed2SRob Clark enum a6xx_sp_perfcounter_select { 702a69c5ed2SRob Clark PERF_SP_BUSY_CYCLES = 0, 703a69c5ed2SRob Clark PERF_SP_ALU_WORKING_CYCLES = 1, 704a69c5ed2SRob Clark PERF_SP_EFU_WORKING_CYCLES = 2, 705a69c5ed2SRob Clark PERF_SP_STALL_CYCLES_VPC = 3, 706a69c5ed2SRob Clark PERF_SP_STALL_CYCLES_TP = 4, 707a69c5ed2SRob Clark PERF_SP_STALL_CYCLES_UCHE = 5, 708a69c5ed2SRob Clark PERF_SP_STALL_CYCLES_RB = 6, 709a69c5ed2SRob Clark PERF_SP_NON_EXECUTION_CYCLES = 7, 710a69c5ed2SRob Clark PERF_SP_WAVE_CONTEXTS = 8, 711a69c5ed2SRob Clark PERF_SP_WAVE_CONTEXT_CYCLES = 9, 712a69c5ed2SRob Clark PERF_SP_FS_STAGE_WAVE_CYCLES = 10, 713a69c5ed2SRob Clark PERF_SP_FS_STAGE_WAVE_SAMPLES = 11, 714a69c5ed2SRob Clark PERF_SP_VS_STAGE_WAVE_CYCLES = 12, 715a69c5ed2SRob Clark PERF_SP_VS_STAGE_WAVE_SAMPLES = 13, 716a69c5ed2SRob Clark PERF_SP_FS_STAGE_DURATION_CYCLES = 14, 717a69c5ed2SRob Clark PERF_SP_VS_STAGE_DURATION_CYCLES = 15, 718a69c5ed2SRob Clark PERF_SP_WAVE_CTRL_CYCLES = 16, 719a69c5ed2SRob Clark PERF_SP_WAVE_LOAD_CYCLES = 17, 720a69c5ed2SRob Clark PERF_SP_WAVE_EMIT_CYCLES = 18, 721a69c5ed2SRob Clark PERF_SP_WAVE_NOP_CYCLES = 19, 722a69c5ed2SRob Clark PERF_SP_WAVE_WAIT_CYCLES = 20, 723a69c5ed2SRob Clark PERF_SP_WAVE_FETCH_CYCLES = 21, 724a69c5ed2SRob Clark PERF_SP_WAVE_IDLE_CYCLES = 22, 725a69c5ed2SRob Clark PERF_SP_WAVE_END_CYCLES = 23, 726a69c5ed2SRob Clark PERF_SP_WAVE_LONG_SYNC_CYCLES = 24, 727a69c5ed2SRob Clark PERF_SP_WAVE_SHORT_SYNC_CYCLES = 25, 728a69c5ed2SRob Clark PERF_SP_WAVE_JOIN_CYCLES = 26, 729a69c5ed2SRob Clark PERF_SP_LM_LOAD_INSTRUCTIONS = 27, 730a69c5ed2SRob Clark PERF_SP_LM_STORE_INSTRUCTIONS = 28, 731a69c5ed2SRob Clark PERF_SP_LM_ATOMICS = 29, 732a69c5ed2SRob Clark PERF_SP_GM_LOAD_INSTRUCTIONS = 30, 733a69c5ed2SRob Clark PERF_SP_GM_STORE_INSTRUCTIONS = 31, 734a69c5ed2SRob Clark PERF_SP_GM_ATOMICS = 32, 735a69c5ed2SRob Clark PERF_SP_VS_STAGE_TEX_INSTRUCTIONS = 33, 736a69c5ed2SRob Clark PERF_SP_VS_STAGE_EFU_INSTRUCTIONS = 34, 737a69c5ed2SRob Clark PERF_SP_VS_STAGE_FULL_ALU_INSTRUCTIONS = 35, 738a69c5ed2SRob Clark PERF_SP_VS_STAGE_HALF_ALU_INSTRUCTIONS = 36, 739a69c5ed2SRob Clark PERF_SP_FS_STAGE_TEX_INSTRUCTIONS = 37, 740a69c5ed2SRob Clark PERF_SP_FS_STAGE_CFLOW_INSTRUCTIONS = 38, 741a69c5ed2SRob Clark PERF_SP_FS_STAGE_EFU_INSTRUCTIONS = 39, 742a69c5ed2SRob Clark PERF_SP_FS_STAGE_FULL_ALU_INSTRUCTIONS = 40, 743a69c5ed2SRob Clark PERF_SP_FS_STAGE_HALF_ALU_INSTRUCTIONS = 41, 744a69c5ed2SRob Clark PERF_SP_FS_STAGE_BARY_INSTRUCTIONS = 42, 745a69c5ed2SRob Clark PERF_SP_VS_INSTRUCTIONS = 43, 746a69c5ed2SRob Clark PERF_SP_FS_INSTRUCTIONS = 44, 747a69c5ed2SRob Clark PERF_SP_ADDR_LOCK_COUNT = 45, 748a69c5ed2SRob Clark PERF_SP_UCHE_READ_TRANS = 46, 749a69c5ed2SRob Clark PERF_SP_UCHE_WRITE_TRANS = 47, 750a69c5ed2SRob Clark PERF_SP_EXPORT_VPC_TRANS = 48, 751a69c5ed2SRob Clark PERF_SP_EXPORT_RB_TRANS = 49, 752a69c5ed2SRob Clark PERF_SP_PIXELS_KILLED = 50, 753a69c5ed2SRob Clark PERF_SP_ICL1_REQUESTS = 51, 754a69c5ed2SRob Clark PERF_SP_ICL1_MISSES = 52, 755a69c5ed2SRob Clark PERF_SP_HS_INSTRUCTIONS = 53, 756a69c5ed2SRob Clark PERF_SP_DS_INSTRUCTIONS = 54, 757a69c5ed2SRob Clark PERF_SP_GS_INSTRUCTIONS = 55, 758a69c5ed2SRob Clark PERF_SP_CS_INSTRUCTIONS = 56, 759a69c5ed2SRob Clark PERF_SP_GPR_READ = 57, 760a69c5ed2SRob Clark PERF_SP_GPR_WRITE = 58, 761a69c5ed2SRob Clark PERF_SP_FS_STAGE_HALF_EFU_INSTRUCTIONS = 59, 762a69c5ed2SRob Clark PERF_SP_VS_STAGE_HALF_EFU_INSTRUCTIONS = 60, 763a69c5ed2SRob Clark PERF_SP_LM_BANK_CONFLICTS = 61, 764a69c5ed2SRob Clark PERF_SP_TEX_CONTROL_WORKING_CYCLES = 62, 765a69c5ed2SRob Clark PERF_SP_LOAD_CONTROL_WORKING_CYCLES = 63, 766a69c5ed2SRob Clark PERF_SP_FLOW_CONTROL_WORKING_CYCLES = 64, 767a69c5ed2SRob Clark PERF_SP_LM_WORKING_CYCLES = 65, 768a69c5ed2SRob Clark PERF_SP_DISPATCHER_WORKING_CYCLES = 66, 769a69c5ed2SRob Clark PERF_SP_SEQUENCER_WORKING_CYCLES = 67, 770a69c5ed2SRob Clark PERF_SP_LOW_EFFICIENCY_STARVED_BY_TP = 68, 771a69c5ed2SRob Clark PERF_SP_STARVE_CYCLES_HLSQ = 69, 772a69c5ed2SRob Clark PERF_SP_NON_EXECUTION_LS_CYCLES = 70, 773a69c5ed2SRob Clark PERF_SP_WORKING_EU = 71, 774a69c5ed2SRob Clark PERF_SP_ANY_EU_WORKING = 72, 775a69c5ed2SRob Clark PERF_SP_WORKING_EU_FS_STAGE = 73, 776a69c5ed2SRob Clark PERF_SP_ANY_EU_WORKING_FS_STAGE = 74, 777a69c5ed2SRob Clark PERF_SP_WORKING_EU_VS_STAGE = 75, 778a69c5ed2SRob Clark PERF_SP_ANY_EU_WORKING_VS_STAGE = 76, 779a69c5ed2SRob Clark PERF_SP_WORKING_EU_CS_STAGE = 77, 780a69c5ed2SRob Clark PERF_SP_ANY_EU_WORKING_CS_STAGE = 78, 781a69c5ed2SRob Clark PERF_SP_GPR_READ_PREFETCH = 79, 782a69c5ed2SRob Clark PERF_SP_GPR_READ_CONFLICT = 80, 783a69c5ed2SRob Clark PERF_SP_GPR_WRITE_CONFLICT = 81, 784a69c5ed2SRob Clark PERF_SP_GM_LOAD_LATENCY_CYCLES = 82, 785a69c5ed2SRob Clark PERF_SP_GM_LOAD_LATENCY_SAMPLES = 83, 786a69c5ed2SRob Clark PERF_SP_EXECUTABLE_WAVES = 84, 787a69c5ed2SRob Clark }; 788a69c5ed2SRob Clark 789a69c5ed2SRob Clark enum a6xx_rb_perfcounter_select { 790a69c5ed2SRob Clark PERF_RB_BUSY_CYCLES = 0, 791a69c5ed2SRob Clark PERF_RB_STALL_CYCLES_HLSQ = 1, 792a69c5ed2SRob Clark PERF_RB_STALL_CYCLES_FIFO0_FULL = 2, 793a69c5ed2SRob Clark PERF_RB_STALL_CYCLES_FIFO1_FULL = 3, 794a69c5ed2SRob Clark PERF_RB_STALL_CYCLES_FIFO2_FULL = 4, 795a69c5ed2SRob Clark PERF_RB_STARVE_CYCLES_SP = 5, 796a69c5ed2SRob Clark PERF_RB_STARVE_CYCLES_LRZ_TILE = 6, 797a69c5ed2SRob Clark PERF_RB_STARVE_CYCLES_CCU = 7, 798a69c5ed2SRob Clark PERF_RB_STARVE_CYCLES_Z_PLANE = 8, 799a69c5ed2SRob Clark PERF_RB_STARVE_CYCLES_BARY_PLANE = 9, 800a69c5ed2SRob Clark PERF_RB_Z_WORKLOAD = 10, 801a69c5ed2SRob Clark PERF_RB_HLSQ_ACTIVE = 11, 802a69c5ed2SRob Clark PERF_RB_Z_READ = 12, 803a69c5ed2SRob Clark PERF_RB_Z_WRITE = 13, 804a69c5ed2SRob Clark PERF_RB_C_READ = 14, 805a69c5ed2SRob Clark PERF_RB_C_WRITE = 15, 806a69c5ed2SRob Clark PERF_RB_TOTAL_PASS = 16, 807a69c5ed2SRob Clark PERF_RB_Z_PASS = 17, 808a69c5ed2SRob Clark PERF_RB_Z_FAIL = 18, 809a69c5ed2SRob Clark PERF_RB_S_FAIL = 19, 810a69c5ed2SRob Clark PERF_RB_BLENDED_FXP_COMPONENTS = 20, 811a69c5ed2SRob Clark PERF_RB_BLENDED_FP16_COMPONENTS = 21, 812a69c5ed2SRob Clark PERF_RB_PS_INVOCATIONS = 22, 813a69c5ed2SRob Clark PERF_RB_2D_ALIVE_CYCLES = 23, 814a69c5ed2SRob Clark PERF_RB_2D_STALL_CYCLES_A2D = 24, 815a69c5ed2SRob Clark PERF_RB_2D_STARVE_CYCLES_SRC = 25, 816a69c5ed2SRob Clark PERF_RB_2D_STARVE_CYCLES_SP = 26, 817a69c5ed2SRob Clark PERF_RB_2D_STARVE_CYCLES_DST = 27, 818a69c5ed2SRob Clark PERF_RB_2D_VALID_PIXELS = 28, 819a69c5ed2SRob Clark PERF_RB_3D_PIXELS = 29, 820a69c5ed2SRob Clark PERF_RB_BLENDER_WORKING_CYCLES = 30, 821a69c5ed2SRob Clark PERF_RB_ZPROC_WORKING_CYCLES = 31, 822a69c5ed2SRob Clark PERF_RB_CPROC_WORKING_CYCLES = 32, 823a69c5ed2SRob Clark PERF_RB_SAMPLER_WORKING_CYCLES = 33, 824a69c5ed2SRob Clark PERF_RB_STALL_CYCLES_CCU_COLOR_READ = 34, 825a69c5ed2SRob Clark PERF_RB_STALL_CYCLES_CCU_COLOR_WRITE = 35, 826a69c5ed2SRob Clark PERF_RB_STALL_CYCLES_CCU_DEPTH_READ = 36, 827a69c5ed2SRob Clark PERF_RB_STALL_CYCLES_CCU_DEPTH_WRITE = 37, 828a69c5ed2SRob Clark PERF_RB_STALL_CYCLES_VPC = 38, 829a69c5ed2SRob Clark PERF_RB_2D_INPUT_TRANS = 39, 830a69c5ed2SRob Clark PERF_RB_2D_OUTPUT_RB_DST_TRANS = 40, 831a69c5ed2SRob Clark PERF_RB_2D_OUTPUT_RB_SRC_TRANS = 41, 832a69c5ed2SRob Clark PERF_RB_BLENDED_FP32_COMPONENTS = 42, 833a69c5ed2SRob Clark PERF_RB_COLOR_PIX_TILES = 43, 834a69c5ed2SRob Clark PERF_RB_STALL_CYCLES_CCU = 44, 835a69c5ed2SRob Clark PERF_RB_EARLY_Z_ARB3_GRANT = 45, 836a69c5ed2SRob Clark PERF_RB_LATE_Z_ARB3_GRANT = 46, 837a69c5ed2SRob Clark PERF_RB_EARLY_Z_SKIP_GRANT = 47, 838a69c5ed2SRob Clark }; 839a69c5ed2SRob Clark 840a69c5ed2SRob Clark enum a6xx_vsc_perfcounter_select { 841a69c5ed2SRob Clark PERF_VSC_BUSY_CYCLES = 0, 842a69c5ed2SRob Clark PERF_VSC_WORKING_CYCLES = 1, 843a69c5ed2SRob Clark PERF_VSC_STALL_CYCLES_UCHE = 2, 844a69c5ed2SRob Clark PERF_VSC_EOT_NUM = 3, 845a69c5ed2SRob Clark PERF_VSC_INPUT_TILES = 4, 846a69c5ed2SRob Clark }; 847a69c5ed2SRob Clark 848a69c5ed2SRob Clark enum a6xx_ccu_perfcounter_select { 849a69c5ed2SRob Clark PERF_CCU_BUSY_CYCLES = 0, 850a69c5ed2SRob Clark PERF_CCU_STALL_CYCLES_RB_DEPTH_RETURN = 1, 851a69c5ed2SRob Clark PERF_CCU_STALL_CYCLES_RB_COLOR_RETURN = 2, 852a69c5ed2SRob Clark PERF_CCU_STARVE_CYCLES_FLAG_RETURN = 3, 853a69c5ed2SRob Clark PERF_CCU_DEPTH_BLOCKS = 4, 854a69c5ed2SRob Clark PERF_CCU_COLOR_BLOCKS = 5, 855a69c5ed2SRob Clark PERF_CCU_DEPTH_BLOCK_HIT = 6, 856a69c5ed2SRob Clark PERF_CCU_COLOR_BLOCK_HIT = 7, 857a69c5ed2SRob Clark PERF_CCU_PARTIAL_BLOCK_READ = 8, 858a69c5ed2SRob Clark PERF_CCU_GMEM_READ = 9, 859a69c5ed2SRob Clark PERF_CCU_GMEM_WRITE = 10, 860a69c5ed2SRob Clark PERF_CCU_DEPTH_READ_FLAG0_COUNT = 11, 861a69c5ed2SRob Clark PERF_CCU_DEPTH_READ_FLAG1_COUNT = 12, 862a69c5ed2SRob Clark PERF_CCU_DEPTH_READ_FLAG2_COUNT = 13, 863a69c5ed2SRob Clark PERF_CCU_DEPTH_READ_FLAG3_COUNT = 14, 864a69c5ed2SRob Clark PERF_CCU_DEPTH_READ_FLAG4_COUNT = 15, 865a69c5ed2SRob Clark PERF_CCU_DEPTH_READ_FLAG5_COUNT = 16, 866a69c5ed2SRob Clark PERF_CCU_DEPTH_READ_FLAG6_COUNT = 17, 867a69c5ed2SRob Clark PERF_CCU_DEPTH_READ_FLAG8_COUNT = 18, 868a69c5ed2SRob Clark PERF_CCU_COLOR_READ_FLAG0_COUNT = 19, 869a69c5ed2SRob Clark PERF_CCU_COLOR_READ_FLAG1_COUNT = 20, 870a69c5ed2SRob Clark PERF_CCU_COLOR_READ_FLAG2_COUNT = 21, 871a69c5ed2SRob Clark PERF_CCU_COLOR_READ_FLAG3_COUNT = 22, 872a69c5ed2SRob Clark PERF_CCU_COLOR_READ_FLAG4_COUNT = 23, 873a69c5ed2SRob Clark PERF_CCU_COLOR_READ_FLAG5_COUNT = 24, 874a69c5ed2SRob Clark PERF_CCU_COLOR_READ_FLAG6_COUNT = 25, 875a69c5ed2SRob Clark PERF_CCU_COLOR_READ_FLAG8_COUNT = 26, 876a69c5ed2SRob Clark PERF_CCU_2D_RD_REQ = 27, 877a69c5ed2SRob Clark PERF_CCU_2D_WR_REQ = 28, 878a69c5ed2SRob Clark }; 879a69c5ed2SRob Clark 880a69c5ed2SRob Clark enum a6xx_lrz_perfcounter_select { 881a69c5ed2SRob Clark PERF_LRZ_BUSY_CYCLES = 0, 882a69c5ed2SRob Clark PERF_LRZ_STARVE_CYCLES_RAS = 1, 883a69c5ed2SRob Clark PERF_LRZ_STALL_CYCLES_RB = 2, 884a69c5ed2SRob Clark PERF_LRZ_STALL_CYCLES_VSC = 3, 885a69c5ed2SRob Clark PERF_LRZ_STALL_CYCLES_VPC = 4, 886a69c5ed2SRob Clark PERF_LRZ_STALL_CYCLES_FLAG_PREFETCH = 5, 887a69c5ed2SRob Clark PERF_LRZ_STALL_CYCLES_UCHE = 6, 888a69c5ed2SRob Clark PERF_LRZ_LRZ_READ = 7, 889a69c5ed2SRob Clark PERF_LRZ_LRZ_WRITE = 8, 890a69c5ed2SRob Clark PERF_LRZ_READ_LATENCY = 9, 891a69c5ed2SRob Clark PERF_LRZ_MERGE_CACHE_UPDATING = 10, 892a69c5ed2SRob Clark PERF_LRZ_PRIM_KILLED_BY_MASKGEN = 11, 893a69c5ed2SRob Clark PERF_LRZ_PRIM_KILLED_BY_LRZ = 12, 894a69c5ed2SRob Clark PERF_LRZ_VISIBLE_PRIM_AFTER_LRZ = 13, 895a69c5ed2SRob Clark PERF_LRZ_FULL_8X8_TILES = 14, 896a69c5ed2SRob Clark PERF_LRZ_PARTIAL_8X8_TILES = 15, 897a69c5ed2SRob Clark PERF_LRZ_TILE_KILLED = 16, 898a69c5ed2SRob Clark PERF_LRZ_TOTAL_PIXEL = 17, 899a69c5ed2SRob Clark PERF_LRZ_VISIBLE_PIXEL_AFTER_LRZ = 18, 900a69c5ed2SRob Clark PERF_LRZ_FULLY_COVERED_TILES = 19, 901a69c5ed2SRob Clark PERF_LRZ_PARTIAL_COVERED_TILES = 20, 902a69c5ed2SRob Clark PERF_LRZ_FEEDBACK_ACCEPT = 21, 903a69c5ed2SRob Clark PERF_LRZ_FEEDBACK_DISCARD = 22, 904a69c5ed2SRob Clark PERF_LRZ_FEEDBACK_STALL = 23, 905a69c5ed2SRob Clark PERF_LRZ_STALL_CYCLES_RB_ZPLANE = 24, 906a69c5ed2SRob Clark PERF_LRZ_STALL_CYCLES_RB_BPLANE = 25, 907a69c5ed2SRob Clark PERF_LRZ_STALL_CYCLES_VC = 26, 908a69c5ed2SRob Clark PERF_LRZ_RAS_MASK_TRANS = 27, 909a69c5ed2SRob Clark }; 910a69c5ed2SRob Clark 911a69c5ed2SRob Clark enum a6xx_cmp_perfcounter_select { 912a69c5ed2SRob Clark PERF_CMPDECMP_STALL_CYCLES_ARB = 0, 913a69c5ed2SRob Clark PERF_CMPDECMP_VBIF_LATENCY_CYCLES = 1, 914a69c5ed2SRob Clark PERF_CMPDECMP_VBIF_LATENCY_SAMPLES = 2, 915a69c5ed2SRob Clark PERF_CMPDECMP_VBIF_READ_DATA_CCU = 3, 916a69c5ed2SRob Clark PERF_CMPDECMP_VBIF_WRITE_DATA_CCU = 4, 917a69c5ed2SRob Clark PERF_CMPDECMP_VBIF_READ_REQUEST = 5, 918a69c5ed2SRob Clark PERF_CMPDECMP_VBIF_WRITE_REQUEST = 6, 919a69c5ed2SRob Clark PERF_CMPDECMP_VBIF_READ_DATA = 7, 920a69c5ed2SRob Clark PERF_CMPDECMP_VBIF_WRITE_DATA = 8, 921a69c5ed2SRob Clark PERF_CMPDECMP_FLAG_FETCH_CYCLES = 9, 922a69c5ed2SRob Clark PERF_CMPDECMP_FLAG_FETCH_SAMPLES = 10, 923a69c5ed2SRob Clark PERF_CMPDECMP_DEPTH_WRITE_FLAG1_COUNT = 11, 924a69c5ed2SRob Clark PERF_CMPDECMP_DEPTH_WRITE_FLAG2_COUNT = 12, 925a69c5ed2SRob Clark PERF_CMPDECMP_DEPTH_WRITE_FLAG3_COUNT = 13, 926a69c5ed2SRob Clark PERF_CMPDECMP_DEPTH_WRITE_FLAG4_COUNT = 14, 927a69c5ed2SRob Clark PERF_CMPDECMP_DEPTH_WRITE_FLAG5_COUNT = 15, 928a69c5ed2SRob Clark PERF_CMPDECMP_DEPTH_WRITE_FLAG6_COUNT = 16, 929a69c5ed2SRob Clark PERF_CMPDECMP_DEPTH_WRITE_FLAG8_COUNT = 17, 930a69c5ed2SRob Clark PERF_CMPDECMP_COLOR_WRITE_FLAG1_COUNT = 18, 931a69c5ed2SRob Clark PERF_CMPDECMP_COLOR_WRITE_FLAG2_COUNT = 19, 932a69c5ed2SRob Clark PERF_CMPDECMP_COLOR_WRITE_FLAG3_COUNT = 20, 933a69c5ed2SRob Clark PERF_CMPDECMP_COLOR_WRITE_FLAG4_COUNT = 21, 934a69c5ed2SRob Clark PERF_CMPDECMP_COLOR_WRITE_FLAG5_COUNT = 22, 935a69c5ed2SRob Clark PERF_CMPDECMP_COLOR_WRITE_FLAG6_COUNT = 23, 936a69c5ed2SRob Clark PERF_CMPDECMP_COLOR_WRITE_FLAG8_COUNT = 24, 937a69c5ed2SRob Clark PERF_CMPDECMP_2D_STALL_CYCLES_VBIF_REQ = 25, 938a69c5ed2SRob Clark PERF_CMPDECMP_2D_STALL_CYCLES_VBIF_WR = 26, 939a69c5ed2SRob Clark PERF_CMPDECMP_2D_STALL_CYCLES_VBIF_RETURN = 27, 940a69c5ed2SRob Clark PERF_CMPDECMP_2D_RD_DATA = 28, 941a69c5ed2SRob Clark PERF_CMPDECMP_2D_WR_DATA = 29, 942a69c5ed2SRob Clark PERF_CMPDECMP_VBIF_READ_DATA_UCHE_CH0 = 30, 943a69c5ed2SRob Clark PERF_CMPDECMP_VBIF_READ_DATA_UCHE_CH1 = 31, 944a69c5ed2SRob Clark PERF_CMPDECMP_2D_OUTPUT_TRANS = 32, 945a69c5ed2SRob Clark PERF_CMPDECMP_VBIF_WRITE_DATA_UCHE = 33, 946a69c5ed2SRob Clark PERF_CMPDECMP_DEPTH_WRITE_FLAG0_COUNT = 34, 947a69c5ed2SRob Clark PERF_CMPDECMP_COLOR_WRITE_FLAG0_COUNT = 35, 948a69c5ed2SRob Clark PERF_CMPDECMP_COLOR_WRITE_FLAGALPHA_COUNT = 36, 949a69c5ed2SRob Clark PERF_CMPDECMP_2D_BUSY_CYCLES = 37, 950a69c5ed2SRob Clark PERF_CMPDECMP_2D_REORDER_STARVE_CYCLES = 38, 951a69c5ed2SRob Clark PERF_CMPDECMP_2D_PIXELS = 39, 9522d756322SRob Clark }; 9532d756322SRob Clark 9542d756322SRob Clark enum a6xx_tex_filter { 9552d756322SRob Clark A6XX_TEX_NEAREST = 0, 9562d756322SRob Clark A6XX_TEX_LINEAR = 1, 9572d756322SRob Clark A6XX_TEX_ANISO = 2, 9582d756322SRob Clark }; 9592d756322SRob Clark 9602d756322SRob Clark enum a6xx_tex_clamp { 9612d756322SRob Clark A6XX_TEX_REPEAT = 0, 9622d756322SRob Clark A6XX_TEX_CLAMP_TO_EDGE = 1, 9632d756322SRob Clark A6XX_TEX_MIRROR_REPEAT = 2, 9642d756322SRob Clark A6XX_TEX_CLAMP_TO_BORDER = 3, 9652d756322SRob Clark A6XX_TEX_MIRROR_CLAMP = 4, 9662d756322SRob Clark }; 9672d756322SRob Clark 9682d756322SRob Clark enum a6xx_tex_aniso { 9692d756322SRob Clark A6XX_TEX_ANISO_1 = 0, 9702d756322SRob Clark A6XX_TEX_ANISO_2 = 1, 9712d756322SRob Clark A6XX_TEX_ANISO_4 = 2, 9722d756322SRob Clark A6XX_TEX_ANISO_8 = 3, 9732d756322SRob Clark A6XX_TEX_ANISO_16 = 4, 9742d756322SRob Clark }; 9752d756322SRob Clark 9762d756322SRob Clark enum a6xx_tex_swiz { 9772d756322SRob Clark A6XX_TEX_X = 0, 9782d756322SRob Clark A6XX_TEX_Y = 1, 9792d756322SRob Clark A6XX_TEX_Z = 2, 9802d756322SRob Clark A6XX_TEX_W = 3, 9812d756322SRob Clark A6XX_TEX_ZERO = 4, 9822d756322SRob Clark A6XX_TEX_ONE = 5, 9832d756322SRob Clark }; 9842d756322SRob Clark 9852d756322SRob Clark enum a6xx_tex_type { 9862d756322SRob Clark A6XX_TEX_1D = 0, 9872d756322SRob Clark A6XX_TEX_2D = 1, 9882d756322SRob Clark A6XX_TEX_CUBE = 2, 9892d756322SRob Clark A6XX_TEX_3D = 3, 9902d756322SRob Clark }; 9912d756322SRob Clark 9922d756322SRob Clark #define A6XX_RBBM_INT_0_MASK_RBBM_GPU_IDLE 0x00000001 9932d756322SRob Clark #define A6XX_RBBM_INT_0_MASK_CP_AHB_ERROR 0x00000002 9942d756322SRob Clark #define A6XX_RBBM_INT_0_MASK_RBBM_ATB_ASYNCFIFO_OVERFLOW 0x00000040 9952d756322SRob Clark #define A6XX_RBBM_INT_0_MASK_RBBM_GPC_ERROR 0x00000080 9962d756322SRob Clark #define A6XX_RBBM_INT_0_MASK_CP_SW 0x00000100 9972d756322SRob Clark #define A6XX_RBBM_INT_0_MASK_CP_HW_ERROR 0x00000200 9982d756322SRob Clark #define A6XX_RBBM_INT_0_MASK_CP_CCU_FLUSH_DEPTH_TS 0x00000400 9992d756322SRob Clark #define A6XX_RBBM_INT_0_MASK_CP_CCU_FLUSH_COLOR_TS 0x00000800 10002d756322SRob Clark #define A6XX_RBBM_INT_0_MASK_CP_CCU_RESOLVE_TS 0x00001000 10012d756322SRob Clark #define A6XX_RBBM_INT_0_MASK_CP_IB2 0x00002000 10022d756322SRob Clark #define A6XX_RBBM_INT_0_MASK_CP_IB1 0x00004000 10032d756322SRob Clark #define A6XX_RBBM_INT_0_MASK_CP_RB 0x00008000 10042d756322SRob Clark #define A6XX_RBBM_INT_0_MASK_CP_RB_DONE_TS 0x00020000 10052d756322SRob Clark #define A6XX_RBBM_INT_0_MASK_CP_WT_DONE_TS 0x00040000 10062d756322SRob Clark #define A6XX_RBBM_INT_0_MASK_CP_CACHE_FLUSH_TS 0x00100000 10072d756322SRob Clark #define A6XX_RBBM_INT_0_MASK_RBBM_ATB_BUS_OVERFLOW 0x00400000 10082d756322SRob Clark #define A6XX_RBBM_INT_0_MASK_RBBM_HANG_DETECT 0x00800000 10092d756322SRob Clark #define A6XX_RBBM_INT_0_MASK_UCHE_OOB_ACCESS 0x01000000 10102d756322SRob Clark #define A6XX_RBBM_INT_0_MASK_UCHE_TRAP_INTR 0x02000000 10112d756322SRob Clark #define A6XX_RBBM_INT_0_MASK_DEBBUS_INTR_0 0x04000000 10122d756322SRob Clark #define A6XX_RBBM_INT_0_MASK_DEBBUS_INTR_1 0x08000000 10132d756322SRob Clark #define A6XX_RBBM_INT_0_MASK_ISDB_CPU_IRQ 0x40000000 10142d756322SRob Clark #define A6XX_RBBM_INT_0_MASK_ISDB_UNDER_DEBUG 0x80000000 10152d756322SRob Clark #define A6XX_CP_INT_CP_OPCODE_ERROR 0x00000001 10162d756322SRob Clark #define A6XX_CP_INT_CP_UCODE_ERROR 0x00000002 10172d756322SRob Clark #define A6XX_CP_INT_CP_HW_FAULT_ERROR 0x00000004 10182d756322SRob Clark #define A6XX_CP_INT_CP_REGISTER_PROTECTION_ERROR 0x00000010 10192d756322SRob Clark #define A6XX_CP_INT_CP_AHB_ERROR 0x00000020 10202d756322SRob Clark #define A6XX_CP_INT_CP_VSD_PARITY_ERROR 0x00000040 10212d756322SRob Clark #define A6XX_CP_INT_CP_ILLEGAL_INSTR_ERROR 0x00000080 10222d756322SRob Clark #define REG_A6XX_CP_RB_BASE 0x00000800 10232d756322SRob Clark 10242d756322SRob Clark #define REG_A6XX_CP_RB_BASE_HI 0x00000801 10252d756322SRob Clark 10262d756322SRob Clark #define REG_A6XX_CP_RB_CNTL 0x00000802 10272d756322SRob Clark 10282d756322SRob Clark #define REG_A6XX_CP_RB_RPTR_ADDR_LO 0x00000804 10292d756322SRob Clark 10302d756322SRob Clark #define REG_A6XX_CP_RB_RPTR_ADDR_HI 0x00000805 10312d756322SRob Clark 10322d756322SRob Clark #define REG_A6XX_CP_RB_RPTR 0x00000806 10332d756322SRob Clark 10342d756322SRob Clark #define REG_A6XX_CP_RB_WPTR 0x00000807 10352d756322SRob Clark 10362d756322SRob Clark #define REG_A6XX_CP_SQE_CNTL 0x00000808 10372d756322SRob Clark 10382d756322SRob Clark #define REG_A6XX_CP_HW_FAULT 0x00000821 10392d756322SRob Clark 10402d756322SRob Clark #define REG_A6XX_CP_INTERRUPT_STATUS 0x00000823 10412d756322SRob Clark 10422d756322SRob Clark #define REG_A6XX_CP_PROTECT_STATUS 0x00000824 10432d756322SRob Clark 10442d756322SRob Clark #define REG_A6XX_CP_SQE_INSTR_BASE_LO 0x00000830 10452d756322SRob Clark 10462d756322SRob Clark #define REG_A6XX_CP_SQE_INSTR_BASE_HI 0x00000831 10472d756322SRob Clark 10482d756322SRob Clark #define REG_A6XX_CP_MISC_CNTL 0x00000840 10492d756322SRob Clark 10502d756322SRob Clark #define REG_A6XX_CP_ROQ_THRESHOLDS_1 0x000008c1 10512d756322SRob Clark 10522d756322SRob Clark #define REG_A6XX_CP_ROQ_THRESHOLDS_2 0x000008c2 10532d756322SRob Clark 10542d756322SRob Clark #define REG_A6XX_CP_MEM_POOL_SIZE 0x000008c3 10552d756322SRob Clark 10562d756322SRob Clark #define REG_A6XX_CP_CHICKEN_DBG 0x00000841 10572d756322SRob Clark 10582d756322SRob Clark #define REG_A6XX_CP_ADDR_MODE_CNTL 0x00000842 10592d756322SRob Clark 10602d756322SRob Clark #define REG_A6XX_CP_DBG_ECO_CNTL 0x00000843 10612d756322SRob Clark 10622d756322SRob Clark #define REG_A6XX_CP_PROTECT_CNTL 0x0000084f 10632d756322SRob Clark 10642d756322SRob Clark static inline uint32_t REG_A6XX_CP_SCRATCH(uint32_t i0) { return 0x00000883 + 0x1*i0; } 10652d756322SRob Clark 10662d756322SRob Clark static inline uint32_t REG_A6XX_CP_SCRATCH_REG(uint32_t i0) { return 0x00000883 + 0x1*i0; } 10672d756322SRob Clark 10682d756322SRob Clark static inline uint32_t REG_A6XX_CP_PROTECT(uint32_t i0) { return 0x00000850 + 0x1*i0; } 10692d756322SRob Clark 10702d756322SRob Clark static inline uint32_t REG_A6XX_CP_PROTECT_REG(uint32_t i0) { return 0x00000850 + 0x1*i0; } 10712d756322SRob Clark #define A6XX_CP_PROTECT_REG_BASE_ADDR__MASK 0x0003ffff 10722d756322SRob Clark #define A6XX_CP_PROTECT_REG_BASE_ADDR__SHIFT 0 10732d756322SRob Clark static inline uint32_t A6XX_CP_PROTECT_REG_BASE_ADDR(uint32_t val) 10742d756322SRob Clark { 10752d756322SRob Clark return ((val) << A6XX_CP_PROTECT_REG_BASE_ADDR__SHIFT) & A6XX_CP_PROTECT_REG_BASE_ADDR__MASK; 10762d756322SRob Clark } 10772d756322SRob Clark #define A6XX_CP_PROTECT_REG_MASK_LEN__MASK 0x7ffc0000 10782d756322SRob Clark #define A6XX_CP_PROTECT_REG_MASK_LEN__SHIFT 18 10792d756322SRob Clark static inline uint32_t A6XX_CP_PROTECT_REG_MASK_LEN(uint32_t val) 10802d756322SRob Clark { 10812d756322SRob Clark return ((val) << A6XX_CP_PROTECT_REG_MASK_LEN__SHIFT) & A6XX_CP_PROTECT_REG_MASK_LEN__MASK; 10822d756322SRob Clark } 10832d756322SRob Clark #define A6XX_CP_PROTECT_REG_READ 0x80000000 10842d756322SRob Clark 10852d756322SRob Clark #define REG_A6XX_CP_CONTEXT_SWITCH_CNTL 0x000008a0 10862d756322SRob Clark 10872d756322SRob Clark #define REG_A6XX_CP_CONTEXT_SWITCH_SMMU_INFO_LO 0x000008a1 10882d756322SRob Clark 10892d756322SRob Clark #define REG_A6XX_CP_CONTEXT_SWITCH_SMMU_INFO_HI 0x000008a2 10902d756322SRob Clark 10912d756322SRob Clark #define REG_A6XX_CP_CONTEXT_SWITCH_PRIV_NON_SECURE_RESTORE_ADDR_LO 0x000008a3 10922d756322SRob Clark 10932d756322SRob Clark #define REG_A6XX_CP_CONTEXT_SWITCH_PRIV_NON_SECURE_RESTORE_ADDR_HI 0x000008a4 10942d756322SRob Clark 10952d756322SRob Clark #define REG_A6XX_CP_CONTEXT_SWITCH_PRIV_SECURE_RESTORE_ADDR_LO 0x000008a5 10962d756322SRob Clark 10972d756322SRob Clark #define REG_A6XX_CP_CONTEXT_SWITCH_PRIV_SECURE_RESTORE_ADDR_HI 0x000008a6 10982d756322SRob Clark 10992d756322SRob Clark #define REG_A6XX_CP_CONTEXT_SWITCH_NON_PRIV_RESTORE_ADDR_LO 0x000008a7 11002d756322SRob Clark 11012d756322SRob Clark #define REG_A6XX_CP_CONTEXT_SWITCH_NON_PRIV_RESTORE_ADDR_HI 0x000008a8 11022d756322SRob Clark 11032d756322SRob Clark #define REG_A6XX_CP_PERFCTR_CP_SEL_0 0x000008d0 11042d756322SRob Clark 11052d756322SRob Clark #define REG_A6XX_CP_PERFCTR_CP_SEL_1 0x000008d1 11062d756322SRob Clark 11072d756322SRob Clark #define REG_A6XX_CP_PERFCTR_CP_SEL_2 0x000008d2 11082d756322SRob Clark 11092d756322SRob Clark #define REG_A6XX_CP_PERFCTR_CP_SEL_3 0x000008d3 11102d756322SRob Clark 11112d756322SRob Clark #define REG_A6XX_CP_PERFCTR_CP_SEL_4 0x000008d4 11122d756322SRob Clark 11132d756322SRob Clark #define REG_A6XX_CP_PERFCTR_CP_SEL_5 0x000008d5 11142d756322SRob Clark 11152d756322SRob Clark #define REG_A6XX_CP_PERFCTR_CP_SEL_6 0x000008d6 11162d756322SRob Clark 11172d756322SRob Clark #define REG_A6XX_CP_PERFCTR_CP_SEL_7 0x000008d7 11182d756322SRob Clark 11192d756322SRob Clark #define REG_A6XX_CP_PERFCTR_CP_SEL_8 0x000008d8 11202d756322SRob Clark 11212d756322SRob Clark #define REG_A6XX_CP_PERFCTR_CP_SEL_9 0x000008d9 11222d756322SRob Clark 11232d756322SRob Clark #define REG_A6XX_CP_PERFCTR_CP_SEL_10 0x000008da 11242d756322SRob Clark 11252d756322SRob Clark #define REG_A6XX_CP_PERFCTR_CP_SEL_11 0x000008db 11262d756322SRob Clark 11272d756322SRob Clark #define REG_A6XX_CP_PERFCTR_CP_SEL_12 0x000008dc 11282d756322SRob Clark 11292d756322SRob Clark #define REG_A6XX_CP_PERFCTR_CP_SEL_13 0x000008dd 11302d756322SRob Clark 11312d756322SRob Clark #define REG_A6XX_CP_CRASH_SCRIPT_BASE_LO 0x00000900 11322d756322SRob Clark 11332d756322SRob Clark #define REG_A6XX_CP_CRASH_SCRIPT_BASE_HI 0x00000901 11342d756322SRob Clark 11352d756322SRob Clark #define REG_A6XX_CP_CRASH_DUMP_CNTL 0x00000902 11362d756322SRob Clark 11372d756322SRob Clark #define REG_A6XX_CP_CRASH_DUMP_STATUS 0x00000903 11382d756322SRob Clark 11392d756322SRob Clark #define REG_A6XX_CP_SQE_STAT_ADDR 0x00000908 11402d756322SRob Clark 11412d756322SRob Clark #define REG_A6XX_CP_SQE_STAT_DATA 0x00000909 11422d756322SRob Clark 11432d756322SRob Clark #define REG_A6XX_CP_DRAW_STATE_ADDR 0x0000090a 11442d756322SRob Clark 11452d756322SRob Clark #define REG_A6XX_CP_DRAW_STATE_DATA 0x0000090b 11462d756322SRob Clark 11472d756322SRob Clark #define REG_A6XX_CP_ROQ_DBG_ADDR 0x0000090c 11482d756322SRob Clark 11492d756322SRob Clark #define REG_A6XX_CP_ROQ_DBG_DATA 0x0000090d 11502d756322SRob Clark 11512d756322SRob Clark #define REG_A6XX_CP_MEM_POOL_DBG_ADDR 0x0000090e 11522d756322SRob Clark 11532d756322SRob Clark #define REG_A6XX_CP_MEM_POOL_DBG_DATA 0x0000090f 11542d756322SRob Clark 11552d756322SRob Clark #define REG_A6XX_CP_SQE_UCODE_DBG_ADDR 0x00000910 11562d756322SRob Clark 11572d756322SRob Clark #define REG_A6XX_CP_SQE_UCODE_DBG_DATA 0x00000911 11582d756322SRob Clark 11592d756322SRob Clark #define REG_A6XX_CP_IB1_BASE 0x00000928 11602d756322SRob Clark 11612d756322SRob Clark #define REG_A6XX_CP_IB1_BASE_HI 0x00000929 11622d756322SRob Clark 11632d756322SRob Clark #define REG_A6XX_CP_IB1_REM_SIZE 0x0000092a 11642d756322SRob Clark 11652d756322SRob Clark #define REG_A6XX_CP_IB2_BASE 0x0000092b 11662d756322SRob Clark 11672d756322SRob Clark #define REG_A6XX_CP_IB2_BASE_HI 0x0000092c 11682d756322SRob Clark 11692d756322SRob Clark #define REG_A6XX_CP_IB2_REM_SIZE 0x0000092d 11702d756322SRob Clark 11712d756322SRob Clark #define REG_A6XX_CP_ALWAYS_ON_COUNTER_LO 0x00000980 11722d756322SRob Clark 11732d756322SRob Clark #define REG_A6XX_CP_ALWAYS_ON_COUNTER_HI 0x00000981 11742d756322SRob Clark 11752d756322SRob Clark #define REG_A6XX_CP_AHB_CNTL 0x0000098d 11762d756322SRob Clark 11772d756322SRob Clark #define REG_A6XX_CP_APERTURE_CNTL_HOST 0x00000a00 11782d756322SRob Clark 11792d756322SRob Clark #define REG_A6XX_CP_APERTURE_CNTL_CD 0x00000a03 11802d756322SRob Clark 11812d756322SRob Clark #define REG_A6XX_VSC_ADDR_MODE_CNTL 0x00000c01 11822d756322SRob Clark 11832d756322SRob Clark #define REG_A6XX_RBBM_INT_0_STATUS 0x00000201 11842d756322SRob Clark 11852d756322SRob Clark #define REG_A6XX_RBBM_STATUS 0x00000210 11862d756322SRob Clark #define A6XX_RBBM_STATUS_GPU_BUSY_IGN_AHB 0x00800000 11872d756322SRob Clark #define A6XX_RBBM_STATUS_GPU_BUSY_IGN_AHB_CP 0x00400000 11882d756322SRob Clark #define A6XX_RBBM_STATUS_HLSQ_BUSY 0x00200000 11892d756322SRob Clark #define A6XX_RBBM_STATUS_VSC_BUSY 0x00100000 11902d756322SRob Clark #define A6XX_RBBM_STATUS_TPL1_BUSY 0x00080000 11912d756322SRob Clark #define A6XX_RBBM_STATUS_SP_BUSY 0x00040000 11922d756322SRob Clark #define A6XX_RBBM_STATUS_UCHE_BUSY 0x00020000 11932d756322SRob Clark #define A6XX_RBBM_STATUS_VPC_BUSY 0x00010000 11942d756322SRob Clark #define A6XX_RBBM_STATUS_VFD_BUSY 0x00008000 11952d756322SRob Clark #define A6XX_RBBM_STATUS_TESS_BUSY 0x00004000 11962d756322SRob Clark #define A6XX_RBBM_STATUS_PC_VSD_BUSY 0x00002000 11972d756322SRob Clark #define A6XX_RBBM_STATUS_PC_DCALL_BUSY 0x00001000 11982d756322SRob Clark #define A6XX_RBBM_STATUS_COM_DCOM_BUSY 0x00000800 11992d756322SRob Clark #define A6XX_RBBM_STATUS_LRZ_BUSY 0x00000400 12002d756322SRob Clark #define A6XX_RBBM_STATUS_A2D_BUSY 0x00000200 12012d756322SRob Clark #define A6XX_RBBM_STATUS_CCU_BUSY 0x00000100 12022d756322SRob Clark #define A6XX_RBBM_STATUS_RB_BUSY 0x00000080 12032d756322SRob Clark #define A6XX_RBBM_STATUS_RAS_BUSY 0x00000040 12042d756322SRob Clark #define A6XX_RBBM_STATUS_TSE_BUSY 0x00000020 12052d756322SRob Clark #define A6XX_RBBM_STATUS_VBIF_BUSY 0x00000010 12062d756322SRob Clark #define A6XX_RBBM_STATUS_GFX_DBGC_BUSY 0x00000008 12072d756322SRob Clark #define A6XX_RBBM_STATUS_CP_BUSY 0x00000004 12082d756322SRob Clark #define A6XX_RBBM_STATUS_CP_AHB_BUSY_CP_MASTER 0x00000002 12092d756322SRob Clark #define A6XX_RBBM_STATUS_CP_AHB_BUSY_CX_MASTER 0x00000001 12102d756322SRob Clark 12112d756322SRob Clark #define REG_A6XX_RBBM_STATUS3 0x00000213 12122d756322SRob Clark 12132d756322SRob Clark #define REG_A6XX_RBBM_VBIF_GX_RESET_STATUS 0x00000215 12142d756322SRob Clark 12152d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CP_0_LO 0x00000400 12162d756322SRob Clark 12172d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CP_0_HI 0x00000401 12182d756322SRob Clark 12192d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CP_1_LO 0x00000402 12202d756322SRob Clark 12212d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CP_1_HI 0x00000403 12222d756322SRob Clark 12232d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CP_2_LO 0x00000404 12242d756322SRob Clark 12252d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CP_2_HI 0x00000405 12262d756322SRob Clark 12272d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CP_3_LO 0x00000406 12282d756322SRob Clark 12292d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CP_3_HI 0x00000407 12302d756322SRob Clark 12312d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CP_4_LO 0x00000408 12322d756322SRob Clark 12332d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CP_4_HI 0x00000409 12342d756322SRob Clark 12352d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CP_5_LO 0x0000040a 12362d756322SRob Clark 12372d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CP_5_HI 0x0000040b 12382d756322SRob Clark 12392d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CP_6_LO 0x0000040c 12402d756322SRob Clark 12412d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CP_6_HI 0x0000040d 12422d756322SRob Clark 12432d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CP_7_LO 0x0000040e 12442d756322SRob Clark 12452d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CP_7_HI 0x0000040f 12462d756322SRob Clark 12472d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CP_8_LO 0x00000410 12482d756322SRob Clark 12492d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CP_8_HI 0x00000411 12502d756322SRob Clark 12512d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CP_9_LO 0x00000412 12522d756322SRob Clark 12532d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CP_9_HI 0x00000413 12542d756322SRob Clark 12552d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CP_10_LO 0x00000414 12562d756322SRob Clark 12572d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CP_10_HI 0x00000415 12582d756322SRob Clark 12592d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CP_11_LO 0x00000416 12602d756322SRob Clark 12612d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CP_11_HI 0x00000417 12622d756322SRob Clark 12632d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CP_12_LO 0x00000418 12642d756322SRob Clark 12652d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CP_12_HI 0x00000419 12662d756322SRob Clark 12672d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CP_13_LO 0x0000041a 12682d756322SRob Clark 12692d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CP_13_HI 0x0000041b 12702d756322SRob Clark 12712d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_RBBM_0_LO 0x0000041c 12722d756322SRob Clark 12732d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_RBBM_0_HI 0x0000041d 12742d756322SRob Clark 12752d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_RBBM_1_LO 0x0000041e 12762d756322SRob Clark 12772d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_RBBM_1_HI 0x0000041f 12782d756322SRob Clark 12792d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_RBBM_2_LO 0x00000420 12802d756322SRob Clark 12812d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_RBBM_2_HI 0x00000421 12822d756322SRob Clark 12832d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_RBBM_3_LO 0x00000422 12842d756322SRob Clark 12852d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_RBBM_3_HI 0x00000423 12862d756322SRob Clark 12872d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_PC_0_LO 0x00000424 12882d756322SRob Clark 12892d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_PC_0_HI 0x00000425 12902d756322SRob Clark 12912d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_PC_1_LO 0x00000426 12922d756322SRob Clark 12932d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_PC_1_HI 0x00000427 12942d756322SRob Clark 12952d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_PC_2_LO 0x00000428 12962d756322SRob Clark 12972d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_PC_2_HI 0x00000429 12982d756322SRob Clark 12992d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_PC_3_LO 0x0000042a 13002d756322SRob Clark 13012d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_PC_3_HI 0x0000042b 13022d756322SRob Clark 13032d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_PC_4_LO 0x0000042c 13042d756322SRob Clark 13052d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_PC_4_HI 0x0000042d 13062d756322SRob Clark 13072d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_PC_5_LO 0x0000042e 13082d756322SRob Clark 13092d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_PC_5_HI 0x0000042f 13102d756322SRob Clark 13112d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_PC_6_LO 0x00000430 13122d756322SRob Clark 13132d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_PC_6_HI 0x00000431 13142d756322SRob Clark 13152d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_PC_7_LO 0x00000432 13162d756322SRob Clark 13172d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_PC_7_HI 0x00000433 13182d756322SRob Clark 13192d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_VFD_0_LO 0x00000434 13202d756322SRob Clark 13212d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_VFD_0_HI 0x00000435 13222d756322SRob Clark 13232d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_VFD_1_LO 0x00000436 13242d756322SRob Clark 13252d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_VFD_1_HI 0x00000437 13262d756322SRob Clark 13272d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_VFD_2_LO 0x00000438 13282d756322SRob Clark 13292d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_VFD_2_HI 0x00000439 13302d756322SRob Clark 13312d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_VFD_3_LO 0x0000043a 13322d756322SRob Clark 13332d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_VFD_3_HI 0x0000043b 13342d756322SRob Clark 13352d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_VFD_4_LO 0x0000043c 13362d756322SRob Clark 13372d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_VFD_4_HI 0x0000043d 13382d756322SRob Clark 13392d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_VFD_5_LO 0x0000043e 13402d756322SRob Clark 13412d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_VFD_5_HI 0x0000043f 13422d756322SRob Clark 13432d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_VFD_6_LO 0x00000440 13442d756322SRob Clark 13452d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_VFD_6_HI 0x00000441 13462d756322SRob Clark 13472d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_VFD_7_LO 0x00000442 13482d756322SRob Clark 13492d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_VFD_7_HI 0x00000443 13502d756322SRob Clark 13512d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_HLSQ_0_LO 0x00000444 13522d756322SRob Clark 13532d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_HLSQ_0_HI 0x00000445 13542d756322SRob Clark 13552d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_HLSQ_1_LO 0x00000446 13562d756322SRob Clark 13572d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_HLSQ_1_HI 0x00000447 13582d756322SRob Clark 13592d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_HLSQ_2_LO 0x00000448 13602d756322SRob Clark 13612d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_HLSQ_2_HI 0x00000449 13622d756322SRob Clark 13632d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_HLSQ_3_LO 0x0000044a 13642d756322SRob Clark 13652d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_HLSQ_3_HI 0x0000044b 13662d756322SRob Clark 13672d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_HLSQ_4_LO 0x0000044c 13682d756322SRob Clark 13692d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_HLSQ_4_HI 0x0000044d 13702d756322SRob Clark 13712d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_HLSQ_5_LO 0x0000044e 13722d756322SRob Clark 13732d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_HLSQ_5_HI 0x0000044f 13742d756322SRob Clark 13752d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_VPC_0_LO 0x00000450 13762d756322SRob Clark 13772d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_VPC_0_HI 0x00000451 13782d756322SRob Clark 13792d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_VPC_1_LO 0x00000452 13802d756322SRob Clark 13812d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_VPC_1_HI 0x00000453 13822d756322SRob Clark 13832d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_VPC_2_LO 0x00000454 13842d756322SRob Clark 13852d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_VPC_2_HI 0x00000455 13862d756322SRob Clark 13872d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_VPC_3_LO 0x00000456 13882d756322SRob Clark 13892d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_VPC_3_HI 0x00000457 13902d756322SRob Clark 13912d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_VPC_4_LO 0x00000458 13922d756322SRob Clark 13932d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_VPC_4_HI 0x00000459 13942d756322SRob Clark 13952d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_VPC_5_LO 0x0000045a 13962d756322SRob Clark 13972d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_VPC_5_HI 0x0000045b 13982d756322SRob Clark 13992d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CCU_0_LO 0x0000045c 14002d756322SRob Clark 14012d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CCU_0_HI 0x0000045d 14022d756322SRob Clark 14032d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CCU_1_LO 0x0000045e 14042d756322SRob Clark 14052d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CCU_1_HI 0x0000045f 14062d756322SRob Clark 14072d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CCU_2_LO 0x00000460 14082d756322SRob Clark 14092d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CCU_2_HI 0x00000461 14102d756322SRob Clark 14112d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CCU_3_LO 0x00000462 14122d756322SRob Clark 14132d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CCU_3_HI 0x00000463 14142d756322SRob Clark 14152d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CCU_4_LO 0x00000464 14162d756322SRob Clark 14172d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CCU_4_HI 0x00000465 14182d756322SRob Clark 14192d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_TSE_0_LO 0x00000466 14202d756322SRob Clark 14212d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_TSE_0_HI 0x00000467 14222d756322SRob Clark 14232d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_TSE_1_LO 0x00000468 14242d756322SRob Clark 14252d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_TSE_1_HI 0x00000469 14262d756322SRob Clark 14272d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_TSE_2_LO 0x0000046a 14282d756322SRob Clark 14292d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CCU_4_HI 0x00000465 14302d756322SRob Clark 14312d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_TSE_0_LO 0x00000466 14322d756322SRob Clark 14332d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_TSE_0_HI 0x00000467 14342d756322SRob Clark 14352d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_TSE_1_LO 0x00000468 14362d756322SRob Clark 14372d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_TSE_1_HI 0x00000469 14382d756322SRob Clark 14392d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_TSE_2_LO 0x0000046a 14402d756322SRob Clark 14412d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_TSE_2_HI 0x0000046b 14422d756322SRob Clark 14432d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_TSE_3_LO 0x0000046c 14442d756322SRob Clark 14452d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_TSE_3_HI 0x0000046d 14462d756322SRob Clark 14472d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_RAS_0_LO 0x0000046e 14482d756322SRob Clark 14492d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_RAS_0_HI 0x0000046f 14502d756322SRob Clark 14512d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_RAS_1_LO 0x00000470 14522d756322SRob Clark 14532d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_RAS_1_HI 0x00000471 14542d756322SRob Clark 14552d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_RAS_2_LO 0x00000472 14562d756322SRob Clark 14572d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_RAS_2_HI 0x00000473 14582d756322SRob Clark 14592d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_RAS_3_LO 0x00000474 14602d756322SRob Clark 14612d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_RAS_3_HI 0x00000475 14622d756322SRob Clark 14632d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_UCHE_0_LO 0x00000476 14642d756322SRob Clark 14652d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_UCHE_0_HI 0x00000477 14662d756322SRob Clark 14672d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_UCHE_1_LO 0x00000478 14682d756322SRob Clark 14692d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_UCHE_1_HI 0x00000479 14702d756322SRob Clark 14712d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_UCHE_2_LO 0x0000047a 14722d756322SRob Clark 14732d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_UCHE_2_HI 0x0000047b 14742d756322SRob Clark 14752d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_UCHE_3_LO 0x0000047c 14762d756322SRob Clark 14772d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_UCHE_3_HI 0x0000047d 14782d756322SRob Clark 14792d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_UCHE_4_LO 0x0000047e 14802d756322SRob Clark 14812d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_UCHE_4_HI 0x0000047f 14822d756322SRob Clark 14832d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_UCHE_5_LO 0x00000480 14842d756322SRob Clark 14852d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_UCHE_5_HI 0x00000481 14862d756322SRob Clark 14872d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_UCHE_6_LO 0x00000482 14882d756322SRob Clark 14892d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_UCHE_6_HI 0x00000483 14902d756322SRob Clark 14912d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_UCHE_7_LO 0x00000484 14922d756322SRob Clark 14932d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_UCHE_7_HI 0x00000485 14942d756322SRob Clark 14952d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_UCHE_8_LO 0x00000486 14962d756322SRob Clark 14972d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_UCHE_8_HI 0x00000487 14982d756322SRob Clark 14992d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_UCHE_9_LO 0x00000488 15002d756322SRob Clark 15012d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_UCHE_9_HI 0x00000489 15022d756322SRob Clark 15032d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_UCHE_10_LO 0x0000048a 15042d756322SRob Clark 15052d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_UCHE_10_HI 0x0000048b 15062d756322SRob Clark 15072d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_UCHE_11_LO 0x0000048c 15082d756322SRob Clark 15092d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_UCHE_11_HI 0x0000048d 15102d756322SRob Clark 15112d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_TP_0_LO 0x0000048e 15122d756322SRob Clark 15132d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_TP_0_HI 0x0000048f 15142d756322SRob Clark 15152d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_TP_1_LO 0x00000490 15162d756322SRob Clark 15172d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_TP_1_HI 0x00000491 15182d756322SRob Clark 15192d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_TP_2_LO 0x00000492 15202d756322SRob Clark 15212d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_TP_2_HI 0x00000493 15222d756322SRob Clark 15232d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_TP_3_LO 0x00000494 15242d756322SRob Clark 15252d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_TP_3_HI 0x00000495 15262d756322SRob Clark 15272d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_TP_4_LO 0x00000496 15282d756322SRob Clark 15292d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_TP_4_HI 0x00000497 15302d756322SRob Clark 15312d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_TP_5_LO 0x00000498 15322d756322SRob Clark 15332d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_TP_5_HI 0x00000499 15342d756322SRob Clark 15352d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_TP_6_LO 0x0000049a 15362d756322SRob Clark 15372d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_TP_6_HI 0x0000049b 15382d756322SRob Clark 15392d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_TP_7_LO 0x0000049c 15402d756322SRob Clark 15412d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_TP_7_HI 0x0000049d 15422d756322SRob Clark 15432d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_TP_8_LO 0x0000049e 15442d756322SRob Clark 15452d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_TP_8_HI 0x0000049f 15462d756322SRob Clark 15472d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_TP_9_LO 0x000004a0 15482d756322SRob Clark 15492d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_TP_9_HI 0x000004a1 15502d756322SRob Clark 15512d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_TP_10_LO 0x000004a2 15522d756322SRob Clark 15532d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_TP_10_HI 0x000004a3 15542d756322SRob Clark 15552d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_TP_11_LO 0x000004a4 15562d756322SRob Clark 15572d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_TP_11_HI 0x000004a5 15582d756322SRob Clark 15592d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_0_LO 0x000004a6 15602d756322SRob Clark 15612d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_0_HI 0x000004a7 15622d756322SRob Clark 15632d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_1_LO 0x000004a8 15642d756322SRob Clark 15652d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_1_HI 0x000004a9 15662d756322SRob Clark 15672d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_2_LO 0x000004aa 15682d756322SRob Clark 15692d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_2_HI 0x000004ab 15702d756322SRob Clark 15712d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_3_LO 0x000004ac 15722d756322SRob Clark 15732d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_3_HI 0x000004ad 15742d756322SRob Clark 15752d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_4_LO 0x000004ae 15762d756322SRob Clark 15772d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_4_HI 0x000004af 15782d756322SRob Clark 15792d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_5_LO 0x000004b0 15802d756322SRob Clark 15812d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_5_HI 0x000004b1 15822d756322SRob Clark 15832d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_6_LO 0x000004b2 15842d756322SRob Clark 15852d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_6_HI 0x000004b3 15862d756322SRob Clark 15872d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_7_LO 0x000004b4 15882d756322SRob Clark 15892d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_7_HI 0x000004b5 15902d756322SRob Clark 15912d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_8_LO 0x000004b6 15922d756322SRob Clark 15932d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_8_HI 0x000004b7 15942d756322SRob Clark 15952d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_9_LO 0x000004b8 15962d756322SRob Clark 15972d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_9_HI 0x000004b9 15982d756322SRob Clark 15992d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_10_LO 0x000004ba 16002d756322SRob Clark 16012d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_10_HI 0x000004bb 16022d756322SRob Clark 16032d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_11_LO 0x000004bc 16042d756322SRob Clark 16052d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_11_HI 0x000004bd 16062d756322SRob Clark 16072d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_12_LO 0x000004be 16082d756322SRob Clark 16092d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_12_HI 0x000004bf 16102d756322SRob Clark 16112d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_13_LO 0x000004c0 16122d756322SRob Clark 16132d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_13_HI 0x000004c1 16142d756322SRob Clark 16152d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_14_LO 0x000004c2 16162d756322SRob Clark 16172d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_14_HI 0x000004c3 16182d756322SRob Clark 16192d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_15_LO 0x000004c4 16202d756322SRob Clark 16212d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_15_HI 0x000004c5 16222d756322SRob Clark 16232d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_16_LO 0x000004c6 16242d756322SRob Clark 16252d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_16_HI 0x000004c7 16262d756322SRob Clark 16272d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_17_LO 0x000004c8 16282d756322SRob Clark 16292d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_17_HI 0x000004c9 16302d756322SRob Clark 16312d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_18_LO 0x000004ca 16322d756322SRob Clark 16332d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_18_HI 0x000004cb 16342d756322SRob Clark 16352d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_19_LO 0x000004cc 16362d756322SRob Clark 16372d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_19_HI 0x000004cd 16382d756322SRob Clark 16392d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_20_LO 0x000004ce 16402d756322SRob Clark 16412d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_20_HI 0x000004cf 16422d756322SRob Clark 16432d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_21_LO 0x000004d0 16442d756322SRob Clark 16452d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_21_HI 0x000004d1 16462d756322SRob Clark 16472d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_22_LO 0x000004d2 16482d756322SRob Clark 16492d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_22_HI 0x000004d3 16502d756322SRob Clark 16512d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_23_LO 0x000004d4 16522d756322SRob Clark 16532d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_SP_23_HI 0x000004d5 16542d756322SRob Clark 16552d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_RB_0_LO 0x000004d6 16562d756322SRob Clark 16572d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_RB_0_HI 0x000004d7 16582d756322SRob Clark 16592d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_RB_1_LO 0x000004d8 16602d756322SRob Clark 16612d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_RB_1_HI 0x000004d9 16622d756322SRob Clark 16632d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_RB_2_LO 0x000004da 16642d756322SRob Clark 16652d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_RB_2_HI 0x000004db 16662d756322SRob Clark 16672d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_RB_3_LO 0x000004dc 16682d756322SRob Clark 16692d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_RB_3_HI 0x000004dd 16702d756322SRob Clark 16712d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_RB_4_LO 0x000004de 16722d756322SRob Clark 16732d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_RB_4_HI 0x000004df 16742d756322SRob Clark 16752d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_RB_5_LO 0x000004e0 16762d756322SRob Clark 16772d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_RB_5_HI 0x000004e1 16782d756322SRob Clark 16792d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_RB_6_LO 0x000004e2 16802d756322SRob Clark 16812d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_RB_6_HI 0x000004e3 16822d756322SRob Clark 16832d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_RB_7_LO 0x000004e4 16842d756322SRob Clark 16852d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_RB_7_HI 0x000004e5 16862d756322SRob Clark 16872d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_VSC_0_LO 0x000004e6 16882d756322SRob Clark 16892d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_VSC_0_HI 0x000004e7 16902d756322SRob Clark 16912d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_VSC_1_LO 0x000004e8 16922d756322SRob Clark 16932d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_VSC_1_HI 0x000004e9 16942d756322SRob Clark 16952d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_LRZ_0_LO 0x000004ea 16962d756322SRob Clark 16972d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_LRZ_0_HI 0x000004eb 16982d756322SRob Clark 16992d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_LRZ_1_LO 0x000004ec 17002d756322SRob Clark 17012d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_LRZ_1_HI 0x000004ed 17022d756322SRob Clark 17032d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_LRZ_2_LO 0x000004ee 17042d756322SRob Clark 17052d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_LRZ_2_HI 0x000004ef 17062d756322SRob Clark 17072d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_LRZ_3_LO 0x000004f0 17082d756322SRob Clark 17092d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_LRZ_3_HI 0x000004f1 17102d756322SRob Clark 17112d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CMP_0_LO 0x000004f2 17122d756322SRob Clark 17132d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CMP_0_HI 0x000004f3 17142d756322SRob Clark 17152d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CMP_1_LO 0x000004f4 17162d756322SRob Clark 17172d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CMP_1_HI 0x000004f5 17182d756322SRob Clark 17192d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CMP_2_LO 0x000004f6 17202d756322SRob Clark 17212d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CMP_2_HI 0x000004f7 17222d756322SRob Clark 17232d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CMP_3_LO 0x000004f8 17242d756322SRob Clark 17252d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CMP_3_HI 0x000004f9 17262d756322SRob Clark 17272d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_CNTL 0x00000500 17282d756322SRob Clark 17292d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_LOAD_CMD0 0x00000501 17302d756322SRob Clark 17312d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_LOAD_CMD1 0x00000502 17322d756322SRob Clark 17332d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_LOAD_CMD2 0x00000503 17342d756322SRob Clark 17352d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_LOAD_CMD3 0x00000504 17362d756322SRob Clark 17372d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_LOAD_VALUE_LO 0x00000505 17382d756322SRob Clark 17392d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_LOAD_VALUE_HI 0x00000506 17402d756322SRob Clark 17412d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_RBBM_SEL_0 0x00000507 17422d756322SRob Clark 17432d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_RBBM_SEL_1 0x00000508 17442d756322SRob Clark 17452d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_RBBM_SEL_2 0x00000509 17462d756322SRob Clark 17472d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_RBBM_SEL_3 0x0000050a 17482d756322SRob Clark 17492d756322SRob Clark #define REG_A6XX_RBBM_PERFCTR_GPU_BUSY_MASKED 0x0000050b 17502d756322SRob Clark 17512d756322SRob Clark #define REG_A6XX_RBBM_ISDB_CNT 0x00000533 17522d756322SRob Clark 17532d756322SRob Clark #define REG_A6XX_RBBM_SECVID_TRUST_CNTL 0x0000f400 17542d756322SRob Clark 17552d756322SRob Clark #define REG_A6XX_RBBM_SECVID_TSB_TRUSTED_BASE_LO 0x0000f800 17562d756322SRob Clark 17572d756322SRob Clark #define REG_A6XX_RBBM_SECVID_TSB_TRUSTED_BASE_HI 0x0000f801 17582d756322SRob Clark 17592d756322SRob Clark #define REG_A6XX_RBBM_SECVID_TSB_TRUSTED_SIZE 0x0000f802 17602d756322SRob Clark 17612d756322SRob Clark #define REG_A6XX_RBBM_SECVID_TSB_CNTL 0x0000f803 17622d756322SRob Clark 17632d756322SRob Clark #define REG_A6XX_RBBM_SECVID_TSB_ADDR_MODE_CNTL 0x0000f810 17642d756322SRob Clark 17652d756322SRob Clark #define REG_A6XX_RBBM_VBIF_CLIENT_QOS_CNTL 0x00000010 17662d756322SRob Clark 17672d756322SRob Clark #define REG_A6XX_RBBM_INTERFACE_HANG_INT_CNTL 0x0000001f 17682d756322SRob Clark 17692d756322SRob Clark #define REG_A6XX_RBBM_INT_CLEAR_CMD 0x00000037 17702d756322SRob Clark 17712d756322SRob Clark #define REG_A6XX_RBBM_INT_0_MASK 0x00000038 17722d756322SRob Clark 17732d756322SRob Clark #define REG_A6XX_RBBM_SP_HYST_CNT 0x00000042 17742d756322SRob Clark 17752d756322SRob Clark #define REG_A6XX_RBBM_SW_RESET_CMD 0x00000043 17762d756322SRob Clark 17772d756322SRob Clark #define REG_A6XX_RBBM_RAC_THRESHOLD_CNT 0x00000044 17782d756322SRob Clark 17792d756322SRob Clark #define REG_A6XX_RBBM_BLOCK_SW_RESET_CMD 0x00000045 17802d756322SRob Clark 17812d756322SRob Clark #define REG_A6XX_RBBM_BLOCK_SW_RESET_CMD2 0x00000046 17822d756322SRob Clark 17832d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL 0x000000ae 17842d756322SRob Clark 17852d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL_SP0 0x000000b0 17862d756322SRob Clark 17872d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL_SP1 0x000000b1 17882d756322SRob Clark 17892d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL_SP2 0x000000b2 17902d756322SRob Clark 17912d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL_SP3 0x000000b3 17922d756322SRob Clark 17932d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL2_SP0 0x000000b4 17942d756322SRob Clark 17952d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL2_SP1 0x000000b5 17962d756322SRob Clark 17972d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL2_SP2 0x000000b6 17982d756322SRob Clark 17992d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL2_SP3 0x000000b7 18002d756322SRob Clark 18012d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_DELAY_SP0 0x000000b8 18022d756322SRob Clark 18032d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_DELAY_SP1 0x000000b9 18042d756322SRob Clark 18052d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_DELAY_SP2 0x000000ba 18062d756322SRob Clark 18072d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_DELAY_SP3 0x000000bb 18082d756322SRob Clark 18092d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_HYST_SP0 0x000000bc 18102d756322SRob Clark 18112d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_HYST_SP1 0x000000bd 18122d756322SRob Clark 18132d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_HYST_SP2 0x000000be 18142d756322SRob Clark 18152d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_HYST_SP3 0x000000bf 18162d756322SRob Clark 18172d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL_TP0 0x000000c0 18182d756322SRob Clark 18192d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL_TP1 0x000000c1 18202d756322SRob Clark 18212d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL_TP2 0x000000c2 18222d756322SRob Clark 18232d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL_TP3 0x000000c3 18242d756322SRob Clark 18252d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL2_TP0 0x000000c4 18262d756322SRob Clark 18272d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL2_TP1 0x000000c5 18282d756322SRob Clark 18292d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL2_TP2 0x000000c6 18302d756322SRob Clark 18312d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL2_TP3 0x000000c7 18322d756322SRob Clark 18332d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL3_TP0 0x000000c8 18342d756322SRob Clark 18352d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL3_TP1 0x000000c9 18362d756322SRob Clark 18372d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL3_TP2 0x000000ca 18382d756322SRob Clark 18392d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL3_TP3 0x000000cb 18402d756322SRob Clark 18412d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL4_TP0 0x000000cc 18422d756322SRob Clark 18432d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL4_TP1 0x000000cd 18442d756322SRob Clark 18452d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL4_TP2 0x000000ce 18462d756322SRob Clark 18472d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL4_TP3 0x000000cf 18482d756322SRob Clark 18492d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_DELAY_TP0 0x000000d0 18502d756322SRob Clark 18512d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_DELAY_TP1 0x000000d1 18522d756322SRob Clark 18532d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_DELAY_TP2 0x000000d2 18542d756322SRob Clark 18552d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_DELAY_TP3 0x000000d3 18562d756322SRob Clark 18572d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_DELAY2_TP0 0x000000d4 18582d756322SRob Clark 18592d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_DELAY2_TP1 0x000000d5 18602d756322SRob Clark 18612d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_DELAY2_TP2 0x000000d6 18622d756322SRob Clark 18632d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_DELAY2_TP3 0x000000d7 18642d756322SRob Clark 18652d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_DELAY3_TP0 0x000000d8 18662d756322SRob Clark 18672d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_DELAY3_TP1 0x000000d9 18682d756322SRob Clark 18692d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_DELAY3_TP2 0x000000da 18702d756322SRob Clark 18712d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_DELAY3_TP3 0x000000db 18722d756322SRob Clark 18732d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_DELAY4_TP0 0x000000dc 18742d756322SRob Clark 18752d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_DELAY4_TP1 0x000000dd 18762d756322SRob Clark 18772d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_DELAY4_TP2 0x000000de 18782d756322SRob Clark 18792d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_DELAY4_TP3 0x000000df 18802d756322SRob Clark 18812d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_HYST_TP0 0x000000e0 18822d756322SRob Clark 18832d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_HYST_TP1 0x000000e1 18842d756322SRob Clark 18852d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_HYST_TP2 0x000000e2 18862d756322SRob Clark 18872d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_HYST_TP3 0x000000e3 18882d756322SRob Clark 18892d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_HYST2_TP0 0x000000e4 18902d756322SRob Clark 18912d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_HYST2_TP1 0x000000e5 18922d756322SRob Clark 18932d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_HYST2_TP2 0x000000e6 18942d756322SRob Clark 18952d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_HYST2_TP3 0x000000e7 18962d756322SRob Clark 18972d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_HYST3_TP0 0x000000e8 18982d756322SRob Clark 18992d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_HYST3_TP1 0x000000e9 19002d756322SRob Clark 19012d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_HYST3_TP2 0x000000ea 19022d756322SRob Clark 19032d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_HYST3_TP3 0x000000eb 19042d756322SRob Clark 19052d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_HYST4_TP0 0x000000ec 19062d756322SRob Clark 19072d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_HYST4_TP1 0x000000ed 19082d756322SRob Clark 19092d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_HYST4_TP2 0x000000ee 19102d756322SRob Clark 19112d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_HYST4_TP3 0x000000ef 19122d756322SRob Clark 19132d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL_RB0 0x000000f0 19142d756322SRob Clark 19152d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL_RB1 0x000000f1 19162d756322SRob Clark 19172d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL_RB2 0x000000f2 19182d756322SRob Clark 19192d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL_RB3 0x000000f3 19202d756322SRob Clark 19212d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL2_RB0 0x000000f4 19222d756322SRob Clark 19232d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL2_RB1 0x000000f5 19242d756322SRob Clark 19252d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL2_RB2 0x000000f6 19262d756322SRob Clark 19272d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL2_RB3 0x000000f7 19282d756322SRob Clark 19292d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL_CCU0 0x000000f8 19302d756322SRob Clark 19312d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL_CCU1 0x000000f9 19322d756322SRob Clark 19332d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL_CCU2 0x000000fa 19342d756322SRob Clark 19352d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL_CCU3 0x000000fb 19362d756322SRob Clark 19372d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_HYST_RB_CCU0 0x00000100 19382d756322SRob Clark 19392d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_HYST_RB_CCU1 0x00000101 19402d756322SRob Clark 19412d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_HYST_RB_CCU2 0x00000102 19422d756322SRob Clark 19432d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_HYST_RB_CCU3 0x00000103 19442d756322SRob Clark 19452d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL_RAC 0x00000104 19462d756322SRob Clark 19472d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL2_RAC 0x00000105 19482d756322SRob Clark 19492d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_DELAY_RAC 0x00000106 19502d756322SRob Clark 19512d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_HYST_RAC 0x00000107 19522d756322SRob Clark 19532d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL_TSE_RAS_RBBM 0x00000108 19542d756322SRob Clark 19552d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_DELAY_TSE_RAS_RBBM 0x00000109 19562d756322SRob Clark 19572d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_HYST_TSE_RAS_RBBM 0x0000010a 19582d756322SRob Clark 19592d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL_UCHE 0x0000010b 19602d756322SRob Clark 19612d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL2_UCHE 0x0000010c 19622d756322SRob Clark 19632d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL3_UCHE 0x0000010d 19642d756322SRob Clark 19652d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL4_UCHE 0x0000010e 19662d756322SRob Clark 19672d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_DELAY_UCHE 0x0000010f 19682d756322SRob Clark 19692d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_HYST_UCHE 0x00000110 19702d756322SRob Clark 19712d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_MODE_VFD 0x00000111 19722d756322SRob Clark 19732d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_DELAY_VFD 0x00000112 19742d756322SRob Clark 19752d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_HYST_VFD 0x00000113 19762d756322SRob Clark 19772d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_MODE_GPC 0x00000114 19782d756322SRob Clark 19792d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_DELAY_GPC 0x00000115 19802d756322SRob Clark 19812d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_HYST_GPC 0x00000116 19822d756322SRob Clark 19832d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_DELAY_HLSQ_2 0x00000117 19842d756322SRob Clark 19852d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_CNTL_GMU_GX 0x00000118 19862d756322SRob Clark 19872d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_DELAY_GMU_GX 0x00000119 19882d756322SRob Clark 19892d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_HYST_GMU_GX 0x0000011a 19902d756322SRob Clark 19912d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_MODE_HLSQ 0x0000011b 19922d756322SRob Clark 19932d756322SRob Clark #define REG_A6XX_RBBM_CLOCK_DELAY_HLSQ 0x0000011c 19942d756322SRob Clark 19952d756322SRob Clark #define REG_A6XX_DBGC_CFG_DBGBUS_SEL_A 0x00000600 19962d756322SRob Clark 19972d756322SRob Clark #define REG_A6XX_DBGC_CFG_DBGBUS_SEL_B 0x00000601 19982d756322SRob Clark 19992d756322SRob Clark #define REG_A6XX_DBGC_CFG_DBGBUS_SEL_C 0x00000602 20002d756322SRob Clark 20012d756322SRob Clark #define REG_A6XX_DBGC_CFG_DBGBUS_SEL_D 0x00000603 20022d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_SEL_D_PING_INDEX__MASK 0x000000ff 20032d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_SEL_D_PING_INDEX__SHIFT 0 20042d756322SRob Clark static inline uint32_t A6XX_DBGC_CFG_DBGBUS_SEL_D_PING_INDEX(uint32_t val) 20052d756322SRob Clark { 20062d756322SRob Clark return ((val) << A6XX_DBGC_CFG_DBGBUS_SEL_D_PING_INDEX__SHIFT) & A6XX_DBGC_CFG_DBGBUS_SEL_D_PING_INDEX__MASK; 20072d756322SRob Clark } 20082d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_SEL_D_PING_BLK_SEL__MASK 0x0000ff00 20092d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_SEL_D_PING_BLK_SEL__SHIFT 8 20102d756322SRob Clark static inline uint32_t A6XX_DBGC_CFG_DBGBUS_SEL_D_PING_BLK_SEL(uint32_t val) 20112d756322SRob Clark { 20122d756322SRob Clark return ((val) << A6XX_DBGC_CFG_DBGBUS_SEL_D_PING_BLK_SEL__SHIFT) & A6XX_DBGC_CFG_DBGBUS_SEL_D_PING_BLK_SEL__MASK; 20132d756322SRob Clark } 20142d756322SRob Clark 20152d756322SRob Clark #define REG_A6XX_DBGC_CFG_DBGBUS_CNTLT 0x00000604 20162d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_CNTLT_TRACEEN__MASK 0x0000003f 20172d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_CNTLT_TRACEEN__SHIFT 0 20182d756322SRob Clark static inline uint32_t A6XX_DBGC_CFG_DBGBUS_CNTLT_TRACEEN(uint32_t val) 20192d756322SRob Clark { 20202d756322SRob Clark return ((val) << A6XX_DBGC_CFG_DBGBUS_CNTLT_TRACEEN__SHIFT) & A6XX_DBGC_CFG_DBGBUS_CNTLT_TRACEEN__MASK; 20212d756322SRob Clark } 20222d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_CNTLT_GRANU__MASK 0x00007000 20232d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_CNTLT_GRANU__SHIFT 12 20242d756322SRob Clark static inline uint32_t A6XX_DBGC_CFG_DBGBUS_CNTLT_GRANU(uint32_t val) 20252d756322SRob Clark { 20262d756322SRob Clark return ((val) << A6XX_DBGC_CFG_DBGBUS_CNTLT_GRANU__SHIFT) & A6XX_DBGC_CFG_DBGBUS_CNTLT_GRANU__MASK; 20272d756322SRob Clark } 20282d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_CNTLT_SEGT__MASK 0xf0000000 20292d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_CNTLT_SEGT__SHIFT 28 20302d756322SRob Clark static inline uint32_t A6XX_DBGC_CFG_DBGBUS_CNTLT_SEGT(uint32_t val) 20312d756322SRob Clark { 20322d756322SRob Clark return ((val) << A6XX_DBGC_CFG_DBGBUS_CNTLT_SEGT__SHIFT) & A6XX_DBGC_CFG_DBGBUS_CNTLT_SEGT__MASK; 20332d756322SRob Clark } 20342d756322SRob Clark 20352d756322SRob Clark #define REG_A6XX_DBGC_CFG_DBGBUS_CNTLM 0x00000605 20362d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_CNTLM_ENABLE__MASK 0x0f000000 20372d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_CNTLM_ENABLE__SHIFT 24 20382d756322SRob Clark static inline uint32_t A6XX_DBGC_CFG_DBGBUS_CNTLM_ENABLE(uint32_t val) 20392d756322SRob Clark { 20402d756322SRob Clark return ((val) << A6XX_DBGC_CFG_DBGBUS_CNTLM_ENABLE__SHIFT) & A6XX_DBGC_CFG_DBGBUS_CNTLM_ENABLE__MASK; 20412d756322SRob Clark } 20422d756322SRob Clark 20432d756322SRob Clark #define REG_A6XX_DBGC_CFG_DBGBUS_IVTL_0 0x00000608 20442d756322SRob Clark 20452d756322SRob Clark #define REG_A6XX_DBGC_CFG_DBGBUS_IVTL_1 0x00000609 20462d756322SRob Clark 20472d756322SRob Clark #define REG_A6XX_DBGC_CFG_DBGBUS_IVTL_2 0x0000060a 20482d756322SRob Clark 20492d756322SRob Clark #define REG_A6XX_DBGC_CFG_DBGBUS_IVTL_3 0x0000060b 20502d756322SRob Clark 20512d756322SRob Clark #define REG_A6XX_DBGC_CFG_DBGBUS_MASKL_0 0x0000060c 20522d756322SRob Clark 20532d756322SRob Clark #define REG_A6XX_DBGC_CFG_DBGBUS_MASKL_1 0x0000060d 20542d756322SRob Clark 20552d756322SRob Clark #define REG_A6XX_DBGC_CFG_DBGBUS_MASKL_2 0x0000060e 20562d756322SRob Clark 20572d756322SRob Clark #define REG_A6XX_DBGC_CFG_DBGBUS_MASKL_3 0x0000060f 20582d756322SRob Clark 20592d756322SRob Clark #define REG_A6XX_DBGC_CFG_DBGBUS_BYTEL_0 0x00000610 20602d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL0__MASK 0x0000000f 20612d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL0__SHIFT 0 20622d756322SRob Clark static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL0(uint32_t val) 20632d756322SRob Clark { 20642d756322SRob Clark return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL0__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL0__MASK; 20652d756322SRob Clark } 20662d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL1__MASK 0x000000f0 20672d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL1__SHIFT 4 20682d756322SRob Clark static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL1(uint32_t val) 20692d756322SRob Clark { 20702d756322SRob Clark return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL1__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL1__MASK; 20712d756322SRob Clark } 20722d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL2__MASK 0x00000f00 20732d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL2__SHIFT 8 20742d756322SRob Clark static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL2(uint32_t val) 20752d756322SRob Clark { 20762d756322SRob Clark return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL2__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL2__MASK; 20772d756322SRob Clark } 20782d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL3__MASK 0x0000f000 20792d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL3__SHIFT 12 20802d756322SRob Clark static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL3(uint32_t val) 20812d756322SRob Clark { 20822d756322SRob Clark return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL3__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL3__MASK; 20832d756322SRob Clark } 20842d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL4__MASK 0x000f0000 20852d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL4__SHIFT 16 20862d756322SRob Clark static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL4(uint32_t val) 20872d756322SRob Clark { 20882d756322SRob Clark return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL4__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL4__MASK; 20892d756322SRob Clark } 20902d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL5__MASK 0x00f00000 20912d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL5__SHIFT 20 20922d756322SRob Clark static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL5(uint32_t val) 20932d756322SRob Clark { 20942d756322SRob Clark return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL5__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL5__MASK; 20952d756322SRob Clark } 20962d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL6__MASK 0x0f000000 20972d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL6__SHIFT 24 20982d756322SRob Clark static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL6(uint32_t val) 20992d756322SRob Clark { 21002d756322SRob Clark return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL6__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL6__MASK; 21012d756322SRob Clark } 21022d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL7__MASK 0xf0000000 21032d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL7__SHIFT 28 21042d756322SRob Clark static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL7(uint32_t val) 21052d756322SRob Clark { 21062d756322SRob Clark return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL7__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL7__MASK; 21072d756322SRob Clark } 21082d756322SRob Clark 21092d756322SRob Clark #define REG_A6XX_DBGC_CFG_DBGBUS_BYTEL_1 0x00000611 21102d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL8__MASK 0x0000000f 21112d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL8__SHIFT 0 21122d756322SRob Clark static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL8(uint32_t val) 21132d756322SRob Clark { 21142d756322SRob Clark return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL8__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL8__MASK; 21152d756322SRob Clark } 21162d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL9__MASK 0x000000f0 21172d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL9__SHIFT 4 21182d756322SRob Clark static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL9(uint32_t val) 21192d756322SRob Clark { 21202d756322SRob Clark return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL9__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL9__MASK; 21212d756322SRob Clark } 21222d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL10__MASK 0x00000f00 21232d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL10__SHIFT 8 21242d756322SRob Clark static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL10(uint32_t val) 21252d756322SRob Clark { 21262d756322SRob Clark return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL10__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL10__MASK; 21272d756322SRob Clark } 21282d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL11__MASK 0x0000f000 21292d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL11__SHIFT 12 21302d756322SRob Clark static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL11(uint32_t val) 21312d756322SRob Clark { 21322d756322SRob Clark return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL11__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL11__MASK; 21332d756322SRob Clark } 21342d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL12__MASK 0x000f0000 21352d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL12__SHIFT 16 21362d756322SRob Clark static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL12(uint32_t val) 21372d756322SRob Clark { 21382d756322SRob Clark return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL12__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL12__MASK; 21392d756322SRob Clark } 21402d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL13__MASK 0x00f00000 21412d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL13__SHIFT 20 21422d756322SRob Clark static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL13(uint32_t val) 21432d756322SRob Clark { 21442d756322SRob Clark return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL13__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL13__MASK; 21452d756322SRob Clark } 21462d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL14__MASK 0x0f000000 21472d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL14__SHIFT 24 21482d756322SRob Clark static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL14(uint32_t val) 21492d756322SRob Clark { 21502d756322SRob Clark return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL14__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL14__MASK; 21512d756322SRob Clark } 21522d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL15__MASK 0xf0000000 21532d756322SRob Clark #define A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL15__SHIFT 28 21542d756322SRob Clark static inline uint32_t A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL15(uint32_t val) 21552d756322SRob Clark { 21562d756322SRob Clark return ((val) << A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL15__SHIFT) & A6XX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL15__MASK; 21572d756322SRob Clark } 21582d756322SRob Clark 21592d756322SRob Clark #define REG_A6XX_DBGC_CFG_DBGBUS_TRACE_BUF1 0x0000062f 21602d756322SRob Clark 21612d756322SRob Clark #define REG_A6XX_DBGC_CFG_DBGBUS_TRACE_BUF2 0x00000630 21622d756322SRob Clark 21632d756322SRob Clark #define REG_A6XX_VSC_PERFCTR_VSC_SEL_0 0x00000cd8 21642d756322SRob Clark 21652d756322SRob Clark #define REG_A6XX_VSC_PERFCTR_VSC_SEL_1 0x00000cd9 21662d756322SRob Clark 21672d756322SRob Clark #define REG_A6XX_GRAS_ADDR_MODE_CNTL 0x00008601 21682d756322SRob Clark 21692d756322SRob Clark #define REG_A6XX_GRAS_PERFCTR_TSE_SEL_0 0x00008610 21702d756322SRob Clark 21712d756322SRob Clark #define REG_A6XX_GRAS_PERFCTR_TSE_SEL_1 0x00008611 21722d756322SRob Clark 21732d756322SRob Clark #define REG_A6XX_GRAS_PERFCTR_TSE_SEL_2 0x00008612 21742d756322SRob Clark 21752d756322SRob Clark #define REG_A6XX_GRAS_PERFCTR_TSE_SEL_3 0x00008613 21762d756322SRob Clark 21772d756322SRob Clark #define REG_A6XX_GRAS_PERFCTR_RAS_SEL_0 0x00008614 21782d756322SRob Clark 21792d756322SRob Clark #define REG_A6XX_GRAS_PERFCTR_RAS_SEL_1 0x00008615 21802d756322SRob Clark 21812d756322SRob Clark #define REG_A6XX_GRAS_PERFCTR_RAS_SEL_2 0x00008616 21822d756322SRob Clark 21832d756322SRob Clark #define REG_A6XX_GRAS_PERFCTR_RAS_SEL_3 0x00008617 21842d756322SRob Clark 21852d756322SRob Clark #define REG_A6XX_GRAS_PERFCTR_LRZ_SEL_0 0x00008618 21862d756322SRob Clark 21872d756322SRob Clark #define REG_A6XX_GRAS_PERFCTR_LRZ_SEL_1 0x00008619 21882d756322SRob Clark 21892d756322SRob Clark #define REG_A6XX_GRAS_PERFCTR_LRZ_SEL_2 0x0000861a 21902d756322SRob Clark 21912d756322SRob Clark #define REG_A6XX_GRAS_PERFCTR_LRZ_SEL_3 0x0000861b 21922d756322SRob Clark 21932d756322SRob Clark #define REG_A6XX_RB_ADDR_MODE_CNTL 0x00008e05 21942d756322SRob Clark 21952d756322SRob Clark #define REG_A6XX_RB_NC_MODE_CNTL 0x00008e08 21962d756322SRob Clark 21972d756322SRob Clark #define REG_A6XX_RB_PERFCTR_RB_SEL_0 0x00008e10 21982d756322SRob Clark 21992d756322SRob Clark #define REG_A6XX_RB_PERFCTR_RB_SEL_1 0x00008e11 22002d756322SRob Clark 22012d756322SRob Clark #define REG_A6XX_RB_PERFCTR_RB_SEL_2 0x00008e12 22022d756322SRob Clark 22032d756322SRob Clark #define REG_A6XX_RB_PERFCTR_RB_SEL_3 0x00008e13 22042d756322SRob Clark 22052d756322SRob Clark #define REG_A6XX_RB_PERFCTR_RB_SEL_4 0x00008e14 22062d756322SRob Clark 22072d756322SRob Clark #define REG_A6XX_RB_PERFCTR_RB_SEL_5 0x00008e15 22082d756322SRob Clark 22092d756322SRob Clark #define REG_A6XX_RB_PERFCTR_RB_SEL_6 0x00008e16 22102d756322SRob Clark 22112d756322SRob Clark #define REG_A6XX_RB_PERFCTR_RB_SEL_7 0x00008e17 22122d756322SRob Clark 22132d756322SRob Clark #define REG_A6XX_RB_PERFCTR_CCU_SEL_0 0x00008e18 22142d756322SRob Clark 22152d756322SRob Clark #define REG_A6XX_RB_PERFCTR_CCU_SEL_1 0x00008e19 22162d756322SRob Clark 22172d756322SRob Clark #define REG_A6XX_RB_PERFCTR_CCU_SEL_2 0x00008e1a 22182d756322SRob Clark 22192d756322SRob Clark #define REG_A6XX_RB_PERFCTR_CCU_SEL_3 0x00008e1b 22202d756322SRob Clark 22212d756322SRob Clark #define REG_A6XX_RB_PERFCTR_CCU_SEL_4 0x00008e1c 22222d756322SRob Clark 22232d756322SRob Clark #define REG_A6XX_RB_PERFCTR_CMP_SEL_0 0x00008e2c 22242d756322SRob Clark 22252d756322SRob Clark #define REG_A6XX_RB_PERFCTR_CMP_SEL_1 0x00008e2d 22262d756322SRob Clark 22272d756322SRob Clark #define REG_A6XX_RB_PERFCTR_CMP_SEL_2 0x00008e2e 22282d756322SRob Clark 22292d756322SRob Clark #define REG_A6XX_RB_PERFCTR_CMP_SEL_3 0x00008e2f 22302d756322SRob Clark 22312d756322SRob Clark #define REG_A6XX_RB_RB_SUB_BLOCK_SEL_CNTL_CD 0x00008e3d 22322d756322SRob Clark 22332d756322SRob Clark #define REG_A6XX_RB_CONTEXT_SWITCH_GMEM_SAVE_RESTORE 0x00008e50 22342d756322SRob Clark 22352d756322SRob Clark #define REG_A6XX_PC_DBG_ECO_CNTL 0x00009e00 22362d756322SRob Clark 22372d756322SRob Clark #define REG_A6XX_PC_ADDR_MODE_CNTL 0x00009e01 22382d756322SRob Clark 22392d756322SRob Clark #define REG_A6XX_PC_PERFCTR_PC_SEL_0 0x00009e34 22402d756322SRob Clark 22412d756322SRob Clark #define REG_A6XX_PC_PERFCTR_PC_SEL_1 0x00009e35 22422d756322SRob Clark 22432d756322SRob Clark #define REG_A6XX_PC_PERFCTR_PC_SEL_2 0x00009e36 22442d756322SRob Clark 22452d756322SRob Clark #define REG_A6XX_PC_PERFCTR_PC_SEL_3 0x00009e37 22462d756322SRob Clark 22472d756322SRob Clark #define REG_A6XX_PC_PERFCTR_PC_SEL_4 0x00009e38 22482d756322SRob Clark 22492d756322SRob Clark #define REG_A6XX_PC_PERFCTR_PC_SEL_5 0x00009e39 22502d756322SRob Clark 22512d756322SRob Clark #define REG_A6XX_PC_PERFCTR_PC_SEL_6 0x00009e3a 22522d756322SRob Clark 22532d756322SRob Clark #define REG_A6XX_PC_PERFCTR_PC_SEL_7 0x00009e3b 22542d756322SRob Clark 22552d756322SRob Clark #define REG_A6XX_HLSQ_ADDR_MODE_CNTL 0x0000be05 22562d756322SRob Clark 22572d756322SRob Clark #define REG_A6XX_HLSQ_PERFCTR_HLSQ_SEL_0 0x0000be10 22582d756322SRob Clark 22592d756322SRob Clark #define REG_A6XX_HLSQ_PERFCTR_HLSQ_SEL_1 0x0000be11 22602d756322SRob Clark 22612d756322SRob Clark #define REG_A6XX_HLSQ_PERFCTR_HLSQ_SEL_2 0x0000be12 22622d756322SRob Clark 22632d756322SRob Clark #define REG_A6XX_HLSQ_PERFCTR_HLSQ_SEL_3 0x0000be13 22642d756322SRob Clark 22652d756322SRob Clark #define REG_A6XX_HLSQ_PERFCTR_HLSQ_SEL_4 0x0000be14 22662d756322SRob Clark 22672d756322SRob Clark #define REG_A6XX_HLSQ_PERFCTR_HLSQ_SEL_5 0x0000be15 22682d756322SRob Clark 22692d756322SRob Clark #define REG_A6XX_HLSQ_DBG_AHB_READ_APERTURE 0x0000c800 22702d756322SRob Clark 22712d756322SRob Clark #define REG_A6XX_HLSQ_DBG_READ_SEL 0x0000d000 22722d756322SRob Clark 22732d756322SRob Clark #define REG_A6XX_VFD_ADDR_MODE_CNTL 0x0000a601 22742d756322SRob Clark 22752d756322SRob Clark #define REG_A6XX_VFD_PERFCTR_VFD_SEL_0 0x0000a610 22762d756322SRob Clark 22772d756322SRob Clark #define REG_A6XX_VFD_PERFCTR_VFD_SEL_1 0x0000a611 22782d756322SRob Clark 22792d756322SRob Clark #define REG_A6XX_VFD_PERFCTR_VFD_SEL_2 0x0000a612 22802d756322SRob Clark 22812d756322SRob Clark #define REG_A6XX_VFD_PERFCTR_VFD_SEL_3 0x0000a613 22822d756322SRob Clark 22832d756322SRob Clark #define REG_A6XX_VFD_PERFCTR_VFD_SEL_4 0x0000a614 22842d756322SRob Clark 22852d756322SRob Clark #define REG_A6XX_VFD_PERFCTR_VFD_SEL_5 0x0000a615 22862d756322SRob Clark 22872d756322SRob Clark #define REG_A6XX_VFD_PERFCTR_VFD_SEL_6 0x0000a616 22882d756322SRob Clark 22892d756322SRob Clark #define REG_A6XX_VFD_PERFCTR_VFD_SEL_7 0x0000a617 22902d756322SRob Clark 22912d756322SRob Clark #define REG_A6XX_VPC_ADDR_MODE_CNTL 0x00009601 22922d756322SRob Clark 22932d756322SRob Clark #define REG_A6XX_VPC_PERFCTR_VPC_SEL_0 0x00009604 22942d756322SRob Clark 22952d756322SRob Clark #define REG_A6XX_VPC_PERFCTR_VPC_SEL_1 0x00009605 22962d756322SRob Clark 22972d756322SRob Clark #define REG_A6XX_VPC_PERFCTR_VPC_SEL_2 0x00009606 22982d756322SRob Clark 22992d756322SRob Clark #define REG_A6XX_VPC_PERFCTR_VPC_SEL_3 0x00009607 23002d756322SRob Clark 23012d756322SRob Clark #define REG_A6XX_VPC_PERFCTR_VPC_SEL_4 0x00009608 23022d756322SRob Clark 23032d756322SRob Clark #define REG_A6XX_VPC_PERFCTR_VPC_SEL_5 0x00009609 23042d756322SRob Clark 23052d756322SRob Clark #define REG_A6XX_UCHE_ADDR_MODE_CNTL 0x00000e00 23062d756322SRob Clark 23072d756322SRob Clark #define REG_A6XX_UCHE_MODE_CNTL 0x00000e01 23082d756322SRob Clark 23092d756322SRob Clark #define REG_A6XX_UCHE_WRITE_RANGE_MAX_LO 0x00000e05 23102d756322SRob Clark 23112d756322SRob Clark #define REG_A6XX_UCHE_WRITE_RANGE_MAX_HI 0x00000e06 23122d756322SRob Clark 23132d756322SRob Clark #define REG_A6XX_UCHE_WRITE_THRU_BASE_LO 0x00000e07 23142d756322SRob Clark 23152d756322SRob Clark #define REG_A6XX_UCHE_WRITE_THRU_BASE_HI 0x00000e08 23162d756322SRob Clark 23172d756322SRob Clark #define REG_A6XX_UCHE_TRAP_BASE_LO 0x00000e09 23182d756322SRob Clark 23192d756322SRob Clark #define REG_A6XX_UCHE_TRAP_BASE_HI 0x00000e0a 23202d756322SRob Clark 23212d756322SRob Clark #define REG_A6XX_UCHE_GMEM_RANGE_MIN_LO 0x00000e0b 23222d756322SRob Clark 23232d756322SRob Clark #define REG_A6XX_UCHE_GMEM_RANGE_MIN_HI 0x00000e0c 23242d756322SRob Clark 23252d756322SRob Clark #define REG_A6XX_UCHE_GMEM_RANGE_MAX_LO 0x00000e0d 23262d756322SRob Clark 23272d756322SRob Clark #define REG_A6XX_UCHE_GMEM_RANGE_MAX_HI 0x00000e0e 23282d756322SRob Clark 23292d756322SRob Clark #define REG_A6XX_UCHE_CACHE_WAYS 0x00000e17 23302d756322SRob Clark 23312d756322SRob Clark #define REG_A6XX_UCHE_FILTER_CNTL 0x00000e18 23322d756322SRob Clark 23332d756322SRob Clark #define REG_A6XX_UCHE_CLIENT_PF 0x00000e19 23342d756322SRob Clark #define A6XX_UCHE_CLIENT_PF_PERFSEL__MASK 0x000000ff 23352d756322SRob Clark #define A6XX_UCHE_CLIENT_PF_PERFSEL__SHIFT 0 23362d756322SRob Clark static inline uint32_t A6XX_UCHE_CLIENT_PF_PERFSEL(uint32_t val) 23372d756322SRob Clark { 23382d756322SRob Clark return ((val) << A6XX_UCHE_CLIENT_PF_PERFSEL__SHIFT) & A6XX_UCHE_CLIENT_PF_PERFSEL__MASK; 23392d756322SRob Clark } 23402d756322SRob Clark 23412d756322SRob Clark #define REG_A6XX_UCHE_PERFCTR_UCHE_SEL_0 0x00000e1c 23422d756322SRob Clark 23432d756322SRob Clark #define REG_A6XX_UCHE_PERFCTR_UCHE_SEL_1 0x00000e1d 23442d756322SRob Clark 23452d756322SRob Clark #define REG_A6XX_UCHE_PERFCTR_UCHE_SEL_2 0x00000e1e 23462d756322SRob Clark 23472d756322SRob Clark #define REG_A6XX_UCHE_PERFCTR_UCHE_SEL_3 0x00000e1f 23482d756322SRob Clark 23492d756322SRob Clark #define REG_A6XX_UCHE_PERFCTR_UCHE_SEL_4 0x00000e20 23502d756322SRob Clark 23512d756322SRob Clark #define REG_A6XX_UCHE_PERFCTR_UCHE_SEL_5 0x00000e21 23522d756322SRob Clark 23532d756322SRob Clark #define REG_A6XX_UCHE_PERFCTR_UCHE_SEL_6 0x00000e22 23542d756322SRob Clark 23552d756322SRob Clark #define REG_A6XX_UCHE_PERFCTR_UCHE_SEL_7 0x00000e23 23562d756322SRob Clark 23572d756322SRob Clark #define REG_A6XX_UCHE_PERFCTR_UCHE_SEL_8 0x00000e24 23582d756322SRob Clark 23592d756322SRob Clark #define REG_A6XX_UCHE_PERFCTR_UCHE_SEL_9 0x00000e25 23602d756322SRob Clark 23612d756322SRob Clark #define REG_A6XX_UCHE_PERFCTR_UCHE_SEL_10 0x00000e26 23622d756322SRob Clark 23632d756322SRob Clark #define REG_A6XX_UCHE_PERFCTR_UCHE_SEL_11 0x00000e27 23642d756322SRob Clark 23652d756322SRob Clark #define REG_A6XX_SP_ADDR_MODE_CNTL 0x0000ae01 23662d756322SRob Clark 23672d756322SRob Clark #define REG_A6XX_SP_NC_MODE_CNTL 0x0000ae02 23682d756322SRob Clark 23692d756322SRob Clark #define REG_A6XX_SP_PERFCTR_SP_SEL_0 0x0000ae10 23702d756322SRob Clark 23712d756322SRob Clark #define REG_A6XX_SP_PERFCTR_SP_SEL_1 0x0000ae11 23722d756322SRob Clark 23732d756322SRob Clark #define REG_A6XX_SP_PERFCTR_SP_SEL_2 0x0000ae12 23742d756322SRob Clark 23752d756322SRob Clark #define REG_A6XX_SP_PERFCTR_SP_SEL_3 0x0000ae13 23762d756322SRob Clark 23772d756322SRob Clark #define REG_A6XX_SP_PERFCTR_SP_SEL_4 0x0000ae14 23782d756322SRob Clark 23792d756322SRob Clark #define REG_A6XX_SP_PERFCTR_SP_SEL_5 0x0000ae15 23802d756322SRob Clark 23812d756322SRob Clark #define REG_A6XX_SP_PERFCTR_SP_SEL_6 0x0000ae16 23822d756322SRob Clark 23832d756322SRob Clark #define REG_A6XX_SP_PERFCTR_SP_SEL_7 0x0000ae17 23842d756322SRob Clark 23852d756322SRob Clark #define REG_A6XX_SP_PERFCTR_SP_SEL_8 0x0000ae18 23862d756322SRob Clark 23872d756322SRob Clark #define REG_A6XX_SP_PERFCTR_SP_SEL_9 0x0000ae19 23882d756322SRob Clark 23892d756322SRob Clark #define REG_A6XX_SP_PERFCTR_SP_SEL_10 0x0000ae1a 23902d756322SRob Clark 23912d756322SRob Clark #define REG_A6XX_SP_PERFCTR_SP_SEL_11 0x0000ae1b 23922d756322SRob Clark 23932d756322SRob Clark #define REG_A6XX_SP_PERFCTR_SP_SEL_12 0x0000ae1c 23942d756322SRob Clark 23952d756322SRob Clark #define REG_A6XX_SP_PERFCTR_SP_SEL_13 0x0000ae1d 23962d756322SRob Clark 23972d756322SRob Clark #define REG_A6XX_SP_PERFCTR_SP_SEL_14 0x0000ae1e 23982d756322SRob Clark 23992d756322SRob Clark #define REG_A6XX_SP_PERFCTR_SP_SEL_15 0x0000ae1f 24002d756322SRob Clark 24012d756322SRob Clark #define REG_A6XX_SP_PERFCTR_SP_SEL_16 0x0000ae20 24022d756322SRob Clark 24032d756322SRob Clark #define REG_A6XX_SP_PERFCTR_SP_SEL_17 0x0000ae21 24042d756322SRob Clark 24052d756322SRob Clark #define REG_A6XX_SP_PERFCTR_SP_SEL_18 0x0000ae22 24062d756322SRob Clark 24072d756322SRob Clark #define REG_A6XX_SP_PERFCTR_SP_SEL_19 0x0000ae23 24082d756322SRob Clark 24092d756322SRob Clark #define REG_A6XX_SP_PERFCTR_SP_SEL_20 0x0000ae24 24102d756322SRob Clark 24112d756322SRob Clark #define REG_A6XX_SP_PERFCTR_SP_SEL_21 0x0000ae25 24122d756322SRob Clark 24132d756322SRob Clark #define REG_A6XX_SP_PERFCTR_SP_SEL_22 0x0000ae26 24142d756322SRob Clark 24152d756322SRob Clark #define REG_A6XX_SP_PERFCTR_SP_SEL_23 0x0000ae27 24162d756322SRob Clark 24172d756322SRob Clark #define REG_A6XX_TPL1_ADDR_MODE_CNTL 0x0000b601 24182d756322SRob Clark 24192d756322SRob Clark #define REG_A6XX_TPL1_NC_MODE_CNTL 0x0000b604 24202d756322SRob Clark 24212d756322SRob Clark #define REG_A6XX_TPL1_PERFCTR_TP_SEL_0 0x0000b610 24222d756322SRob Clark 24232d756322SRob Clark #define REG_A6XX_TPL1_PERFCTR_TP_SEL_1 0x0000b611 24242d756322SRob Clark 24252d756322SRob Clark #define REG_A6XX_TPL1_PERFCTR_TP_SEL_2 0x0000b612 24262d756322SRob Clark 24272d756322SRob Clark #define REG_A6XX_TPL1_PERFCTR_TP_SEL_3 0x0000b613 24282d756322SRob Clark 24292d756322SRob Clark #define REG_A6XX_TPL1_PERFCTR_TP_SEL_4 0x0000b614 24302d756322SRob Clark 24312d756322SRob Clark #define REG_A6XX_TPL1_PERFCTR_TP_SEL_5 0x0000b615 24322d756322SRob Clark 24332d756322SRob Clark #define REG_A6XX_TPL1_PERFCTR_TP_SEL_6 0x0000b616 24342d756322SRob Clark 24352d756322SRob Clark #define REG_A6XX_TPL1_PERFCTR_TP_SEL_7 0x0000b617 24362d756322SRob Clark 24372d756322SRob Clark #define REG_A6XX_TPL1_PERFCTR_TP_SEL_8 0x0000b618 24382d756322SRob Clark 24392d756322SRob Clark #define REG_A6XX_TPL1_PERFCTR_TP_SEL_9 0x0000b619 24402d756322SRob Clark 24412d756322SRob Clark #define REG_A6XX_TPL1_PERFCTR_TP_SEL_10 0x0000b61a 24422d756322SRob Clark 24432d756322SRob Clark #define REG_A6XX_TPL1_PERFCTR_TP_SEL_11 0x0000b61b 24442d756322SRob Clark 24452d756322SRob Clark #define REG_A6XX_VBIF_VERSION 0x00003000 24462d756322SRob Clark 2447a69c5ed2SRob Clark #define REG_A6XX_VBIF_CLKON 0x00003001 2448a69c5ed2SRob Clark #define A6XX_VBIF_CLKON_FORCE_ON_TESTBUS 0x00000002 2449a69c5ed2SRob Clark 24502d756322SRob Clark #define REG_A6XX_VBIF_GATE_OFF_WRREQ_EN 0x0000302a 24512d756322SRob Clark 24522d756322SRob Clark #define REG_A6XX_VBIF_XIN_HALT_CTRL0 0x00003080 24532d756322SRob Clark 24542d756322SRob Clark #define REG_A6XX_VBIF_XIN_HALT_CTRL1 0x00003081 24552d756322SRob Clark 2456a69c5ed2SRob Clark #define REG_A6XX_VBIF_TEST_BUS_OUT_CTRL 0x00003084 2457a69c5ed2SRob Clark 2458a69c5ed2SRob Clark #define REG_A6XX_VBIF_TEST_BUS1_CTRL0 0x00003085 2459a69c5ed2SRob Clark 2460a69c5ed2SRob Clark #define REG_A6XX_VBIF_TEST_BUS1_CTRL1 0x00003086 2461a69c5ed2SRob Clark #define A6XX_VBIF_TEST_BUS1_CTRL1_DATA_SEL__MASK 0x0000000f 2462a69c5ed2SRob Clark #define A6XX_VBIF_TEST_BUS1_CTRL1_DATA_SEL__SHIFT 0 2463a69c5ed2SRob Clark static inline uint32_t A6XX_VBIF_TEST_BUS1_CTRL1_DATA_SEL(uint32_t val) 2464a69c5ed2SRob Clark { 2465a69c5ed2SRob Clark return ((val) << A6XX_VBIF_TEST_BUS1_CTRL1_DATA_SEL__SHIFT) & A6XX_VBIF_TEST_BUS1_CTRL1_DATA_SEL__MASK; 2466a69c5ed2SRob Clark } 2467a69c5ed2SRob Clark 2468a69c5ed2SRob Clark #define REG_A6XX_VBIF_TEST_BUS2_CTRL0 0x00003087 2469a69c5ed2SRob Clark 2470a69c5ed2SRob Clark #define REG_A6XX_VBIF_TEST_BUS2_CTRL1 0x00003088 2471a69c5ed2SRob Clark #define A6XX_VBIF_TEST_BUS2_CTRL1_DATA_SEL__MASK 0x000001ff 2472a69c5ed2SRob Clark #define A6XX_VBIF_TEST_BUS2_CTRL1_DATA_SEL__SHIFT 0 2473a69c5ed2SRob Clark static inline uint32_t A6XX_VBIF_TEST_BUS2_CTRL1_DATA_SEL(uint32_t val) 2474a69c5ed2SRob Clark { 2475a69c5ed2SRob Clark return ((val) << A6XX_VBIF_TEST_BUS2_CTRL1_DATA_SEL__SHIFT) & A6XX_VBIF_TEST_BUS2_CTRL1_DATA_SEL__MASK; 2476a69c5ed2SRob Clark } 2477a69c5ed2SRob Clark 2478a69c5ed2SRob Clark #define REG_A6XX_VBIF_TEST_BUS_OUT 0x0000308c 2479a69c5ed2SRob Clark 24802d756322SRob Clark #define REG_A6XX_VBIF_PERF_CNT_SEL0 0x000030d0 24812d756322SRob Clark 24822d756322SRob Clark #define REG_A6XX_VBIF_PERF_CNT_SEL1 0x000030d1 24832d756322SRob Clark 24842d756322SRob Clark #define REG_A6XX_VBIF_PERF_CNT_SEL2 0x000030d2 24852d756322SRob Clark 24862d756322SRob Clark #define REG_A6XX_VBIF_PERF_CNT_SEL3 0x000030d3 24872d756322SRob Clark 24882d756322SRob Clark #define REG_A6XX_VBIF_PERF_CNT_LOW0 0x000030d8 24892d756322SRob Clark 24902d756322SRob Clark #define REG_A6XX_VBIF_PERF_CNT_LOW1 0x000030d9 24912d756322SRob Clark 24922d756322SRob Clark #define REG_A6XX_VBIF_PERF_CNT_LOW2 0x000030da 24932d756322SRob Clark 24942d756322SRob Clark #define REG_A6XX_VBIF_PERF_CNT_LOW3 0x000030db 24952d756322SRob Clark 24962d756322SRob Clark #define REG_A6XX_VBIF_PERF_CNT_HIGH0 0x000030e0 24972d756322SRob Clark 24982d756322SRob Clark #define REG_A6XX_VBIF_PERF_CNT_HIGH1 0x000030e1 24992d756322SRob Clark 25002d756322SRob Clark #define REG_A6XX_VBIF_PERF_CNT_HIGH2 0x000030e2 25012d756322SRob Clark 25022d756322SRob Clark #define REG_A6XX_VBIF_PERF_CNT_HIGH3 0x000030e3 25032d756322SRob Clark 25042d756322SRob Clark #define REG_A6XX_VBIF_PERF_PWR_CNT_EN0 0x00003100 25052d756322SRob Clark 25062d756322SRob Clark #define REG_A6XX_VBIF_PERF_PWR_CNT_EN1 0x00003101 25072d756322SRob Clark 25082d756322SRob Clark #define REG_A6XX_VBIF_PERF_PWR_CNT_EN2 0x00003102 25092d756322SRob Clark 25102d756322SRob Clark #define REG_A6XX_VBIF_PERF_PWR_CNT_LOW0 0x00003110 25112d756322SRob Clark 25122d756322SRob Clark #define REG_A6XX_VBIF_PERF_PWR_CNT_LOW1 0x00003111 25132d756322SRob Clark 25142d756322SRob Clark #define REG_A6XX_VBIF_PERF_PWR_CNT_LOW2 0x00003112 25152d756322SRob Clark 25162d756322SRob Clark #define REG_A6XX_VBIF_PERF_PWR_CNT_HIGH0 0x00003118 25172d756322SRob Clark 25182d756322SRob Clark #define REG_A6XX_VBIF_PERF_PWR_CNT_HIGH1 0x00003119 25192d756322SRob Clark 25202d756322SRob Clark #define REG_A6XX_VBIF_PERF_PWR_CNT_HIGH2 0x0000311a 25212d756322SRob Clark 2522a69c5ed2SRob Clark #define REG_A6XX_RB_WINDOW_OFFSET2 0x000088d4 2523a69c5ed2SRob Clark #define A6XX_RB_WINDOW_OFFSET2_WINDOW_OFFSET_DISABLE 0x80000000 2524a69c5ed2SRob Clark #define A6XX_RB_WINDOW_OFFSET2_X__MASK 0x00007fff 2525a69c5ed2SRob Clark #define A6XX_RB_WINDOW_OFFSET2_X__SHIFT 0 2526a69c5ed2SRob Clark static inline uint32_t A6XX_RB_WINDOW_OFFSET2_X(uint32_t val) 25272d756322SRob Clark { 2528a69c5ed2SRob Clark return ((val) << A6XX_RB_WINDOW_OFFSET2_X__SHIFT) & A6XX_RB_WINDOW_OFFSET2_X__MASK; 25292d756322SRob Clark } 2530a69c5ed2SRob Clark #define A6XX_RB_WINDOW_OFFSET2_Y__MASK 0x7fff0000 2531a69c5ed2SRob Clark #define A6XX_RB_WINDOW_OFFSET2_Y__SHIFT 16 2532a69c5ed2SRob Clark static inline uint32_t A6XX_RB_WINDOW_OFFSET2_Y(uint32_t val) 25332d756322SRob Clark { 2534a69c5ed2SRob Clark return ((val) << A6XX_RB_WINDOW_OFFSET2_Y__SHIFT) & A6XX_RB_WINDOW_OFFSET2_Y__MASK; 25352d756322SRob Clark } 25362d756322SRob Clark 2537a69c5ed2SRob Clark #define REG_A6XX_SP_WINDOW_OFFSET 0x0000b4d1 2538a69c5ed2SRob Clark #define A6XX_SP_WINDOW_OFFSET_WINDOW_OFFSET_DISABLE 0x80000000 2539a69c5ed2SRob Clark #define A6XX_SP_WINDOW_OFFSET_X__MASK 0x00007fff 2540a69c5ed2SRob Clark #define A6XX_SP_WINDOW_OFFSET_X__SHIFT 0 2541a69c5ed2SRob Clark static inline uint32_t A6XX_SP_WINDOW_OFFSET_X(uint32_t val) 25422d756322SRob Clark { 2543a69c5ed2SRob Clark return ((val) << A6XX_SP_WINDOW_OFFSET_X__SHIFT) & A6XX_SP_WINDOW_OFFSET_X__MASK; 25442d756322SRob Clark } 2545a69c5ed2SRob Clark #define A6XX_SP_WINDOW_OFFSET_Y__MASK 0x7fff0000 2546a69c5ed2SRob Clark #define A6XX_SP_WINDOW_OFFSET_Y__SHIFT 16 2547a69c5ed2SRob Clark static inline uint32_t A6XX_SP_WINDOW_OFFSET_Y(uint32_t val) 25482d756322SRob Clark { 2549a69c5ed2SRob Clark return ((val) << A6XX_SP_WINDOW_OFFSET_Y__SHIFT) & A6XX_SP_WINDOW_OFFSET_Y__MASK; 25502d756322SRob Clark } 25512d756322SRob Clark 2552a69c5ed2SRob Clark #define REG_A6XX_SP_TP_WINDOW_OFFSET 0x0000b307 2553a69c5ed2SRob Clark #define A6XX_SP_TP_WINDOW_OFFSET_WINDOW_OFFSET_DISABLE 0x80000000 2554a69c5ed2SRob Clark #define A6XX_SP_TP_WINDOW_OFFSET_X__MASK 0x00007fff 2555a69c5ed2SRob Clark #define A6XX_SP_TP_WINDOW_OFFSET_X__SHIFT 0 2556a69c5ed2SRob Clark static inline uint32_t A6XX_SP_TP_WINDOW_OFFSET_X(uint32_t val) 25572d756322SRob Clark { 2558a69c5ed2SRob Clark return ((val) << A6XX_SP_TP_WINDOW_OFFSET_X__SHIFT) & A6XX_SP_TP_WINDOW_OFFSET_X__MASK; 2559a69c5ed2SRob Clark } 2560a69c5ed2SRob Clark #define A6XX_SP_TP_WINDOW_OFFSET_Y__MASK 0x7fff0000 2561a69c5ed2SRob Clark #define A6XX_SP_TP_WINDOW_OFFSET_Y__SHIFT 16 2562a69c5ed2SRob Clark static inline uint32_t A6XX_SP_TP_WINDOW_OFFSET_Y(uint32_t val) 2563a69c5ed2SRob Clark { 2564a69c5ed2SRob Clark return ((val) << A6XX_SP_TP_WINDOW_OFFSET_Y__SHIFT) & A6XX_SP_TP_WINDOW_OFFSET_Y__MASK; 25652d756322SRob Clark } 25662d756322SRob Clark 2567a69c5ed2SRob Clark #define REG_A6XX_GRAS_BIN_CONTROL 0x000080a1 2568a69c5ed2SRob Clark #define A6XX_GRAS_BIN_CONTROL_BINW__MASK 0x000000ff 2569a69c5ed2SRob Clark #define A6XX_GRAS_BIN_CONTROL_BINW__SHIFT 0 2570a69c5ed2SRob Clark static inline uint32_t A6XX_GRAS_BIN_CONTROL_BINW(uint32_t val) 25712d756322SRob Clark { 2572a69c5ed2SRob Clark return ((val >> 5) << A6XX_GRAS_BIN_CONTROL_BINW__SHIFT) & A6XX_GRAS_BIN_CONTROL_BINW__MASK; 25732d756322SRob Clark } 2574a69c5ed2SRob Clark #define A6XX_GRAS_BIN_CONTROL_BINH__MASK 0x0001ff00 2575a69c5ed2SRob Clark #define A6XX_GRAS_BIN_CONTROL_BINH__SHIFT 8 2576a69c5ed2SRob Clark static inline uint32_t A6XX_GRAS_BIN_CONTROL_BINH(uint32_t val) 25772d756322SRob Clark { 2578a69c5ed2SRob Clark return ((val >> 4) << A6XX_GRAS_BIN_CONTROL_BINH__SHIFT) & A6XX_GRAS_BIN_CONTROL_BINH__MASK; 25792d756322SRob Clark } 2580a69c5ed2SRob Clark #define A6XX_GRAS_BIN_CONTROL_BINNING_PASS 0x00040000 2581a69c5ed2SRob Clark #define A6XX_GRAS_BIN_CONTROL_USE_VIZ 0x00200000 2582a69c5ed2SRob Clark 2583a69c5ed2SRob Clark #define REG_A6XX_RB_BIN_CONTROL2 0x000088d3 2584a69c5ed2SRob Clark #define A6XX_RB_BIN_CONTROL2_BINW__MASK 0x000000ff 2585a69c5ed2SRob Clark #define A6XX_RB_BIN_CONTROL2_BINW__SHIFT 0 2586a69c5ed2SRob Clark static inline uint32_t A6XX_RB_BIN_CONTROL2_BINW(uint32_t val) 25872d756322SRob Clark { 2588a69c5ed2SRob Clark return ((val >> 5) << A6XX_RB_BIN_CONTROL2_BINW__SHIFT) & A6XX_RB_BIN_CONTROL2_BINW__MASK; 25892d756322SRob Clark } 2590a69c5ed2SRob Clark #define A6XX_RB_BIN_CONTROL2_BINH__MASK 0x0001ff00 2591a69c5ed2SRob Clark #define A6XX_RB_BIN_CONTROL2_BINH__SHIFT 8 2592a69c5ed2SRob Clark static inline uint32_t A6XX_RB_BIN_CONTROL2_BINH(uint32_t val) 25932d756322SRob Clark { 2594a69c5ed2SRob Clark return ((val >> 4) << A6XX_RB_BIN_CONTROL2_BINH__SHIFT) & A6XX_RB_BIN_CONTROL2_BINH__MASK; 25952d756322SRob Clark } 25962d756322SRob Clark 25972d756322SRob Clark #define REG_A6XX_VSC_BIN_SIZE 0x00000c02 25982d756322SRob Clark #define A6XX_VSC_BIN_SIZE_WIDTH__MASK 0x000000ff 25992d756322SRob Clark #define A6XX_VSC_BIN_SIZE_WIDTH__SHIFT 0 26002d756322SRob Clark static inline uint32_t A6XX_VSC_BIN_SIZE_WIDTH(uint32_t val) 26012d756322SRob Clark { 26022d756322SRob Clark return ((val >> 5) << A6XX_VSC_BIN_SIZE_WIDTH__SHIFT) & A6XX_VSC_BIN_SIZE_WIDTH__MASK; 26032d756322SRob Clark } 26042d756322SRob Clark #define A6XX_VSC_BIN_SIZE_HEIGHT__MASK 0x0001ff00 26052d756322SRob Clark #define A6XX_VSC_BIN_SIZE_HEIGHT__SHIFT 8 26062d756322SRob Clark static inline uint32_t A6XX_VSC_BIN_SIZE_HEIGHT(uint32_t val) 26072d756322SRob Clark { 26082d756322SRob Clark return ((val >> 4) << A6XX_VSC_BIN_SIZE_HEIGHT__SHIFT) & A6XX_VSC_BIN_SIZE_HEIGHT__MASK; 26092d756322SRob Clark } 26102d756322SRob Clark 26112d756322SRob Clark #define REG_A6XX_VSC_SIZE_ADDRESS_LO 0x00000c03 26122d756322SRob Clark 26132d756322SRob Clark #define REG_A6XX_VSC_SIZE_ADDRESS_HI 0x00000c04 26142d756322SRob Clark 26152d756322SRob Clark #define REG_A6XX_VSC_BIN_COUNT 0x00000c06 26162d756322SRob Clark #define A6XX_VSC_BIN_COUNT_NX__MASK 0x000007fe 26172d756322SRob Clark #define A6XX_VSC_BIN_COUNT_NX__SHIFT 1 26182d756322SRob Clark static inline uint32_t A6XX_VSC_BIN_COUNT_NX(uint32_t val) 26192d756322SRob Clark { 26202d756322SRob Clark return ((val) << A6XX_VSC_BIN_COUNT_NX__SHIFT) & A6XX_VSC_BIN_COUNT_NX__MASK; 26212d756322SRob Clark } 26222d756322SRob Clark #define A6XX_VSC_BIN_COUNT_NY__MASK 0x001ff800 26232d756322SRob Clark #define A6XX_VSC_BIN_COUNT_NY__SHIFT 11 26242d756322SRob Clark static inline uint32_t A6XX_VSC_BIN_COUNT_NY(uint32_t val) 26252d756322SRob Clark { 26262d756322SRob Clark return ((val) << A6XX_VSC_BIN_COUNT_NY__SHIFT) & A6XX_VSC_BIN_COUNT_NY__MASK; 26272d756322SRob Clark } 26282d756322SRob Clark 26292d756322SRob Clark static inline uint32_t REG_A6XX_VSC_PIPE_CONFIG(uint32_t i0) { return 0x00000c10 + 0x1*i0; } 26302d756322SRob Clark 26312d756322SRob Clark static inline uint32_t REG_A6XX_VSC_PIPE_CONFIG_REG(uint32_t i0) { return 0x00000c10 + 0x1*i0; } 26322d756322SRob Clark #define A6XX_VSC_PIPE_CONFIG_REG_X__MASK 0x000003ff 26332d756322SRob Clark #define A6XX_VSC_PIPE_CONFIG_REG_X__SHIFT 0 26342d756322SRob Clark static inline uint32_t A6XX_VSC_PIPE_CONFIG_REG_X(uint32_t val) 26352d756322SRob Clark { 26362d756322SRob Clark return ((val) << A6XX_VSC_PIPE_CONFIG_REG_X__SHIFT) & A6XX_VSC_PIPE_CONFIG_REG_X__MASK; 26372d756322SRob Clark } 26382d756322SRob Clark #define A6XX_VSC_PIPE_CONFIG_REG_Y__MASK 0x000ffc00 26392d756322SRob Clark #define A6XX_VSC_PIPE_CONFIG_REG_Y__SHIFT 10 26402d756322SRob Clark static inline uint32_t A6XX_VSC_PIPE_CONFIG_REG_Y(uint32_t val) 26412d756322SRob Clark { 26422d756322SRob Clark return ((val) << A6XX_VSC_PIPE_CONFIG_REG_Y__SHIFT) & A6XX_VSC_PIPE_CONFIG_REG_Y__MASK; 26432d756322SRob Clark } 26442d756322SRob Clark #define A6XX_VSC_PIPE_CONFIG_REG_W__MASK 0x03f00000 26452d756322SRob Clark #define A6XX_VSC_PIPE_CONFIG_REG_W__SHIFT 20 26462d756322SRob Clark static inline uint32_t A6XX_VSC_PIPE_CONFIG_REG_W(uint32_t val) 26472d756322SRob Clark { 26482d756322SRob Clark return ((val) << A6XX_VSC_PIPE_CONFIG_REG_W__SHIFT) & A6XX_VSC_PIPE_CONFIG_REG_W__MASK; 26492d756322SRob Clark } 26502d756322SRob Clark #define A6XX_VSC_PIPE_CONFIG_REG_H__MASK 0xfc000000 26512d756322SRob Clark #define A6XX_VSC_PIPE_CONFIG_REG_H__SHIFT 26 26522d756322SRob Clark static inline uint32_t A6XX_VSC_PIPE_CONFIG_REG_H(uint32_t val) 26532d756322SRob Clark { 26542d756322SRob Clark return ((val) << A6XX_VSC_PIPE_CONFIG_REG_H__SHIFT) & A6XX_VSC_PIPE_CONFIG_REG_H__MASK; 26552d756322SRob Clark } 26562d756322SRob Clark 2657a69c5ed2SRob Clark #define REG_A6XX_VSC_PIPE_DATA2_ADDRESS_LO 0x00000c30 26582d756322SRob Clark 2659a69c5ed2SRob Clark #define REG_A6XX_VSC_PIPE_DATA2_ADDRESS_HI 0x00000c31 26602d756322SRob Clark 2661a69c5ed2SRob Clark #define REG_A6XX_VSC_PIPE_DATA2_PITCH 0x00000c32 2662a69c5ed2SRob Clark 2663a69c5ed2SRob Clark #define REG_A6XX_VSC_PIPE_DATA2_ARRAY_PITCH 0x00000c33 2664a69c5ed2SRob Clark #define A6XX_VSC_PIPE_DATA2_ARRAY_PITCH__MASK 0xffffffff 2665a69c5ed2SRob Clark #define A6XX_VSC_PIPE_DATA2_ARRAY_PITCH__SHIFT 0 2666a69c5ed2SRob Clark static inline uint32_t A6XX_VSC_PIPE_DATA2_ARRAY_PITCH(uint32_t val) 2667a69c5ed2SRob Clark { 2668a69c5ed2SRob Clark return ((val >> 4) << A6XX_VSC_PIPE_DATA2_ARRAY_PITCH__SHIFT) & A6XX_VSC_PIPE_DATA2_ARRAY_PITCH__MASK; 2669a69c5ed2SRob Clark } 26702d756322SRob Clark 26712d756322SRob Clark #define REG_A6XX_VSC_PIPE_DATA_ADDRESS_LO 0x00000c34 26722d756322SRob Clark 26732d756322SRob Clark #define REG_A6XX_VSC_PIPE_DATA_ADDRESS_HI 0x00000c35 26742d756322SRob Clark 26752d756322SRob Clark #define REG_A6XX_VSC_PIPE_DATA_PITCH 0x00000c36 26762d756322SRob Clark 2677a69c5ed2SRob Clark #define REG_A6XX_VSC_PIPE_DATA_ARRAY_PITCH 0x00000c37 2678a69c5ed2SRob Clark #define A6XX_VSC_PIPE_DATA_ARRAY_PITCH__MASK 0xffffffff 2679a69c5ed2SRob Clark #define A6XX_VSC_PIPE_DATA_ARRAY_PITCH__SHIFT 0 2680a69c5ed2SRob Clark static inline uint32_t A6XX_VSC_PIPE_DATA_ARRAY_PITCH(uint32_t val) 2681a69c5ed2SRob Clark { 2682a69c5ed2SRob Clark return ((val >> 4) << A6XX_VSC_PIPE_DATA_ARRAY_PITCH__SHIFT) & A6XX_VSC_PIPE_DATA_ARRAY_PITCH__MASK; 2683a69c5ed2SRob Clark } 2684a69c5ed2SRob Clark 26852d756322SRob Clark static inline uint32_t REG_A6XX_VSC_SIZE(uint32_t i0) { return 0x00000c78 + 0x1*i0; } 26862d756322SRob Clark 26872d756322SRob Clark static inline uint32_t REG_A6XX_VSC_SIZE_REG(uint32_t i0) { return 0x00000c78 + 0x1*i0; } 26882d756322SRob Clark 26892d756322SRob Clark #define REG_A6XX_UCHE_UNKNOWN_0E12 0x00000e12 26902d756322SRob Clark 2691a69c5ed2SRob Clark #define REG_A6XX_GRAS_UNKNOWN_8000 0x00008000 2692a69c5ed2SRob Clark 26932d756322SRob Clark #define REG_A6XX_GRAS_UNKNOWN_8001 0x00008001 26942d756322SRob Clark 26952d756322SRob Clark #define REG_A6XX_GRAS_UNKNOWN_8004 0x00008004 26962d756322SRob Clark 26972d756322SRob Clark #define REG_A6XX_GRAS_CNTL 0x00008005 26982d756322SRob Clark #define A6XX_GRAS_CNTL_VARYING 0x00000001 2699a69c5ed2SRob Clark #define A6XX_GRAS_CNTL_UNK3 0x00000008 27002d756322SRob Clark #define A6XX_GRAS_CNTL_XCOORD 0x00000040 27012d756322SRob Clark #define A6XX_GRAS_CNTL_YCOORD 0x00000080 27022d756322SRob Clark #define A6XX_GRAS_CNTL_ZCOORD 0x00000100 27032d756322SRob Clark #define A6XX_GRAS_CNTL_WCOORD 0x00000200 27042d756322SRob Clark 27052d756322SRob Clark #define REG_A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ 0x00008006 27062d756322SRob Clark #define A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ_HORZ__MASK 0x000003ff 27072d756322SRob Clark #define A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ_HORZ__SHIFT 0 27082d756322SRob Clark static inline uint32_t A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ_HORZ(uint32_t val) 27092d756322SRob Clark { 27102d756322SRob Clark return ((val) << A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ_HORZ__SHIFT) & A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ_HORZ__MASK; 27112d756322SRob Clark } 27122d756322SRob Clark #define A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ_VERT__MASK 0x000ffc00 27132d756322SRob Clark #define A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ_VERT__SHIFT 10 27142d756322SRob Clark static inline uint32_t A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ_VERT(uint32_t val) 27152d756322SRob Clark { 27162d756322SRob Clark return ((val) << A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ_VERT__SHIFT) & A6XX_GRAS_CL_GUARDBAND_CLIP_ADJ_VERT__MASK; 27172d756322SRob Clark } 27182d756322SRob Clark 27192d756322SRob Clark #define REG_A6XX_GRAS_CL_VPORT_XOFFSET_0 0x00008010 27202d756322SRob Clark #define A6XX_GRAS_CL_VPORT_XOFFSET_0__MASK 0xffffffff 27212d756322SRob Clark #define A6XX_GRAS_CL_VPORT_XOFFSET_0__SHIFT 0 27222d756322SRob Clark static inline uint32_t A6XX_GRAS_CL_VPORT_XOFFSET_0(float val) 27232d756322SRob Clark { 27242d756322SRob Clark return ((fui(val)) << A6XX_GRAS_CL_VPORT_XOFFSET_0__SHIFT) & A6XX_GRAS_CL_VPORT_XOFFSET_0__MASK; 27252d756322SRob Clark } 27262d756322SRob Clark 27272d756322SRob Clark #define REG_A6XX_GRAS_CL_VPORT_XSCALE_0 0x00008011 27282d756322SRob Clark #define A6XX_GRAS_CL_VPORT_XSCALE_0__MASK 0xffffffff 27292d756322SRob Clark #define A6XX_GRAS_CL_VPORT_XSCALE_0__SHIFT 0 27302d756322SRob Clark static inline uint32_t A6XX_GRAS_CL_VPORT_XSCALE_0(float val) 27312d756322SRob Clark { 27322d756322SRob Clark return ((fui(val)) << A6XX_GRAS_CL_VPORT_XSCALE_0__SHIFT) & A6XX_GRAS_CL_VPORT_XSCALE_0__MASK; 27332d756322SRob Clark } 27342d756322SRob Clark 27352d756322SRob Clark #define REG_A6XX_GRAS_CL_VPORT_YOFFSET_0 0x00008012 27362d756322SRob Clark #define A6XX_GRAS_CL_VPORT_YOFFSET_0__MASK 0xffffffff 27372d756322SRob Clark #define A6XX_GRAS_CL_VPORT_YOFFSET_0__SHIFT 0 27382d756322SRob Clark static inline uint32_t A6XX_GRAS_CL_VPORT_YOFFSET_0(float val) 27392d756322SRob Clark { 27402d756322SRob Clark return ((fui(val)) << A6XX_GRAS_CL_VPORT_YOFFSET_0__SHIFT) & A6XX_GRAS_CL_VPORT_YOFFSET_0__MASK; 27412d756322SRob Clark } 27422d756322SRob Clark 27432d756322SRob Clark #define REG_A6XX_GRAS_CL_VPORT_YSCALE_0 0x00008013 27442d756322SRob Clark #define A6XX_GRAS_CL_VPORT_YSCALE_0__MASK 0xffffffff 27452d756322SRob Clark #define A6XX_GRAS_CL_VPORT_YSCALE_0__SHIFT 0 27462d756322SRob Clark static inline uint32_t A6XX_GRAS_CL_VPORT_YSCALE_0(float val) 27472d756322SRob Clark { 27482d756322SRob Clark return ((fui(val)) << A6XX_GRAS_CL_VPORT_YSCALE_0__SHIFT) & A6XX_GRAS_CL_VPORT_YSCALE_0__MASK; 27492d756322SRob Clark } 27502d756322SRob Clark 27512d756322SRob Clark #define REG_A6XX_GRAS_CL_VPORT_ZOFFSET_0 0x00008014 27522d756322SRob Clark #define A6XX_GRAS_CL_VPORT_ZOFFSET_0__MASK 0xffffffff 27532d756322SRob Clark #define A6XX_GRAS_CL_VPORT_ZOFFSET_0__SHIFT 0 27542d756322SRob Clark static inline uint32_t A6XX_GRAS_CL_VPORT_ZOFFSET_0(float val) 27552d756322SRob Clark { 27562d756322SRob Clark return ((fui(val)) << A6XX_GRAS_CL_VPORT_ZOFFSET_0__SHIFT) & A6XX_GRAS_CL_VPORT_ZOFFSET_0__MASK; 27572d756322SRob Clark } 27582d756322SRob Clark 27592d756322SRob Clark #define REG_A6XX_GRAS_CL_VPORT_ZSCALE_0 0x00008015 27602d756322SRob Clark #define A6XX_GRAS_CL_VPORT_ZSCALE_0__MASK 0xffffffff 27612d756322SRob Clark #define A6XX_GRAS_CL_VPORT_ZSCALE_0__SHIFT 0 27622d756322SRob Clark static inline uint32_t A6XX_GRAS_CL_VPORT_ZSCALE_0(float val) 27632d756322SRob Clark { 27642d756322SRob Clark return ((fui(val)) << A6XX_GRAS_CL_VPORT_ZSCALE_0__SHIFT) & A6XX_GRAS_CL_VPORT_ZSCALE_0__MASK; 27652d756322SRob Clark } 27662d756322SRob Clark 27672d756322SRob Clark #define REG_A6XX_GRAS_SU_CNTL 0x00008090 27682d756322SRob Clark #define A6XX_GRAS_SU_CNTL_CULL_FRONT 0x00000001 27692d756322SRob Clark #define A6XX_GRAS_SU_CNTL_CULL_BACK 0x00000002 27702d756322SRob Clark #define A6XX_GRAS_SU_CNTL_FRONT_CW 0x00000004 27712d756322SRob Clark #define A6XX_GRAS_SU_CNTL_LINEHALFWIDTH__MASK 0x000007f8 27722d756322SRob Clark #define A6XX_GRAS_SU_CNTL_LINEHALFWIDTH__SHIFT 3 27732d756322SRob Clark static inline uint32_t A6XX_GRAS_SU_CNTL_LINEHALFWIDTH(float val) 27742d756322SRob Clark { 27752d756322SRob Clark return ((((int32_t)(val * 4.0))) << A6XX_GRAS_SU_CNTL_LINEHALFWIDTH__SHIFT) & A6XX_GRAS_SU_CNTL_LINEHALFWIDTH__MASK; 27762d756322SRob Clark } 27772d756322SRob Clark #define A6XX_GRAS_SU_CNTL_POLY_OFFSET 0x00000800 27782d756322SRob Clark #define A6XX_GRAS_SU_CNTL_MSAA_ENABLE 0x00002000 27792d756322SRob Clark 27802d756322SRob Clark #define REG_A6XX_GRAS_SU_POINT_MINMAX 0x00008091 27812d756322SRob Clark #define A6XX_GRAS_SU_POINT_MINMAX_MIN__MASK 0x0000ffff 27822d756322SRob Clark #define A6XX_GRAS_SU_POINT_MINMAX_MIN__SHIFT 0 27832d756322SRob Clark static inline uint32_t A6XX_GRAS_SU_POINT_MINMAX_MIN(float val) 27842d756322SRob Clark { 27852d756322SRob Clark return ((((uint32_t)(val * 16.0))) << A6XX_GRAS_SU_POINT_MINMAX_MIN__SHIFT) & A6XX_GRAS_SU_POINT_MINMAX_MIN__MASK; 27862d756322SRob Clark } 27872d756322SRob Clark #define A6XX_GRAS_SU_POINT_MINMAX_MAX__MASK 0xffff0000 27882d756322SRob Clark #define A6XX_GRAS_SU_POINT_MINMAX_MAX__SHIFT 16 27892d756322SRob Clark static inline uint32_t A6XX_GRAS_SU_POINT_MINMAX_MAX(float val) 27902d756322SRob Clark { 27912d756322SRob Clark return ((((uint32_t)(val * 16.0))) << A6XX_GRAS_SU_POINT_MINMAX_MAX__SHIFT) & A6XX_GRAS_SU_POINT_MINMAX_MAX__MASK; 27922d756322SRob Clark } 27932d756322SRob Clark 27942d756322SRob Clark #define REG_A6XX_GRAS_SU_POINT_SIZE 0x00008092 27952d756322SRob Clark #define A6XX_GRAS_SU_POINT_SIZE__MASK 0xffffffff 27962d756322SRob Clark #define A6XX_GRAS_SU_POINT_SIZE__SHIFT 0 27972d756322SRob Clark static inline uint32_t A6XX_GRAS_SU_POINT_SIZE(float val) 27982d756322SRob Clark { 27992d756322SRob Clark return ((((int32_t)(val * 16.0))) << A6XX_GRAS_SU_POINT_SIZE__SHIFT) & A6XX_GRAS_SU_POINT_SIZE__MASK; 28002d756322SRob Clark } 28012d756322SRob Clark 2802a69c5ed2SRob Clark #define REG_A6XX_GRAS_SU_DEPTH_PLANE_CNTL 0x00008094 2803a69c5ed2SRob Clark #define A6XX_GRAS_SU_DEPTH_PLANE_CNTL_FRAG_WRITES_Z 0x00000001 2804a69c5ed2SRob Clark 28052d756322SRob Clark #define REG_A6XX_GRAS_SU_POLY_OFFSET_SCALE 0x00008095 28062d756322SRob Clark #define A6XX_GRAS_SU_POLY_OFFSET_SCALE__MASK 0xffffffff 28072d756322SRob Clark #define A6XX_GRAS_SU_POLY_OFFSET_SCALE__SHIFT 0 28082d756322SRob Clark static inline uint32_t A6XX_GRAS_SU_POLY_OFFSET_SCALE(float val) 28092d756322SRob Clark { 28102d756322SRob Clark return ((fui(val)) << A6XX_GRAS_SU_POLY_OFFSET_SCALE__SHIFT) & A6XX_GRAS_SU_POLY_OFFSET_SCALE__MASK; 28112d756322SRob Clark } 28122d756322SRob Clark 28132d756322SRob Clark #define REG_A6XX_GRAS_SU_POLY_OFFSET_OFFSET 0x00008096 28142d756322SRob Clark #define A6XX_GRAS_SU_POLY_OFFSET_OFFSET__MASK 0xffffffff 28152d756322SRob Clark #define A6XX_GRAS_SU_POLY_OFFSET_OFFSET__SHIFT 0 28162d756322SRob Clark static inline uint32_t A6XX_GRAS_SU_POLY_OFFSET_OFFSET(float val) 28172d756322SRob Clark { 28182d756322SRob Clark return ((fui(val)) << A6XX_GRAS_SU_POLY_OFFSET_OFFSET__SHIFT) & A6XX_GRAS_SU_POLY_OFFSET_OFFSET__MASK; 28192d756322SRob Clark } 28202d756322SRob Clark 28212d756322SRob Clark #define REG_A6XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP 0x00008097 28222d756322SRob Clark #define A6XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP__MASK 0xffffffff 28232d756322SRob Clark #define A6XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP__SHIFT 0 28242d756322SRob Clark static inline uint32_t A6XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP(float val) 28252d756322SRob Clark { 28262d756322SRob Clark return ((fui(val)) << A6XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP__SHIFT) & A6XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP__MASK; 28272d756322SRob Clark } 28282d756322SRob Clark 28292d756322SRob Clark #define REG_A6XX_GRAS_SU_DEPTH_BUFFER_INFO 0x00008098 28302d756322SRob Clark #define A6XX_GRAS_SU_DEPTH_BUFFER_INFO_DEPTH_FORMAT__MASK 0x00000007 28312d756322SRob Clark #define A6XX_GRAS_SU_DEPTH_BUFFER_INFO_DEPTH_FORMAT__SHIFT 0 28322d756322SRob Clark static inline uint32_t A6XX_GRAS_SU_DEPTH_BUFFER_INFO_DEPTH_FORMAT(enum a6xx_depth_format val) 28332d756322SRob Clark { 28342d756322SRob Clark return ((val) << A6XX_GRAS_SU_DEPTH_BUFFER_INFO_DEPTH_FORMAT__SHIFT) & A6XX_GRAS_SU_DEPTH_BUFFER_INFO_DEPTH_FORMAT__MASK; 28352d756322SRob Clark } 28362d756322SRob Clark 28372d756322SRob Clark #define REG_A6XX_GRAS_UNKNOWN_8099 0x00008099 28382d756322SRob Clark 28392d756322SRob Clark #define REG_A6XX_GRAS_UNKNOWN_809B 0x0000809b 28402d756322SRob Clark 2841a69c5ed2SRob Clark #define REG_A6XX_GRAS_UNKNOWN_80A0 0x000080a0 2842a69c5ed2SRob Clark 28432d756322SRob Clark #define REG_A6XX_GRAS_RAS_MSAA_CNTL 0x000080a2 28442d756322SRob Clark #define A6XX_GRAS_RAS_MSAA_CNTL_SAMPLES__MASK 0x00000003 28452d756322SRob Clark #define A6XX_GRAS_RAS_MSAA_CNTL_SAMPLES__SHIFT 0 28462d756322SRob Clark static inline uint32_t A6XX_GRAS_RAS_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val) 28472d756322SRob Clark { 28482d756322SRob Clark return ((val) << A6XX_GRAS_RAS_MSAA_CNTL_SAMPLES__SHIFT) & A6XX_GRAS_RAS_MSAA_CNTL_SAMPLES__MASK; 28492d756322SRob Clark } 28502d756322SRob Clark 28512d756322SRob Clark #define REG_A6XX_GRAS_DEST_MSAA_CNTL 0x000080a3 28522d756322SRob Clark #define A6XX_GRAS_DEST_MSAA_CNTL_SAMPLES__MASK 0x00000003 28532d756322SRob Clark #define A6XX_GRAS_DEST_MSAA_CNTL_SAMPLES__SHIFT 0 28542d756322SRob Clark static inline uint32_t A6XX_GRAS_DEST_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val) 28552d756322SRob Clark { 28562d756322SRob Clark return ((val) << A6XX_GRAS_DEST_MSAA_CNTL_SAMPLES__SHIFT) & A6XX_GRAS_DEST_MSAA_CNTL_SAMPLES__MASK; 28572d756322SRob Clark } 28582d756322SRob Clark #define A6XX_GRAS_DEST_MSAA_CNTL_MSAA_DISABLE 0x00000004 28592d756322SRob Clark 28602d756322SRob Clark #define REG_A6XX_GRAS_UNKNOWN_80A4 0x000080a4 28612d756322SRob Clark 28622d756322SRob Clark #define REG_A6XX_GRAS_UNKNOWN_80A5 0x000080a5 28632d756322SRob Clark 28642d756322SRob Clark #define REG_A6XX_GRAS_UNKNOWN_80A6 0x000080a6 28652d756322SRob Clark 28662d756322SRob Clark #define REG_A6XX_GRAS_UNKNOWN_80AF 0x000080af 28672d756322SRob Clark 28682d756322SRob Clark #define REG_A6XX_GRAS_SC_SCREEN_SCISSOR_TL_0 0x000080b0 28692d756322SRob Clark #define A6XX_GRAS_SC_SCREEN_SCISSOR_TL_0_WINDOW_OFFSET_DISABLE 0x80000000 28702d756322SRob Clark #define A6XX_GRAS_SC_SCREEN_SCISSOR_TL_0_X__MASK 0x00007fff 28712d756322SRob Clark #define A6XX_GRAS_SC_SCREEN_SCISSOR_TL_0_X__SHIFT 0 28722d756322SRob Clark static inline uint32_t A6XX_GRAS_SC_SCREEN_SCISSOR_TL_0_X(uint32_t val) 28732d756322SRob Clark { 28742d756322SRob Clark return ((val) << A6XX_GRAS_SC_SCREEN_SCISSOR_TL_0_X__SHIFT) & A6XX_GRAS_SC_SCREEN_SCISSOR_TL_0_X__MASK; 28752d756322SRob Clark } 28762d756322SRob Clark #define A6XX_GRAS_SC_SCREEN_SCISSOR_TL_0_Y__MASK 0x7fff0000 28772d756322SRob Clark #define A6XX_GRAS_SC_SCREEN_SCISSOR_TL_0_Y__SHIFT 16 28782d756322SRob Clark static inline uint32_t A6XX_GRAS_SC_SCREEN_SCISSOR_TL_0_Y(uint32_t val) 28792d756322SRob Clark { 28802d756322SRob Clark return ((val) << A6XX_GRAS_SC_SCREEN_SCISSOR_TL_0_Y__SHIFT) & A6XX_GRAS_SC_SCREEN_SCISSOR_TL_0_Y__MASK; 28812d756322SRob Clark } 28822d756322SRob Clark 28832d756322SRob Clark #define REG_A6XX_GRAS_SC_SCREEN_SCISSOR_BR_0 0x000080b1 28842d756322SRob Clark #define A6XX_GRAS_SC_SCREEN_SCISSOR_BR_0_WINDOW_OFFSET_DISABLE 0x80000000 28852d756322SRob Clark #define A6XX_GRAS_SC_SCREEN_SCISSOR_BR_0_X__MASK 0x00007fff 28862d756322SRob Clark #define A6XX_GRAS_SC_SCREEN_SCISSOR_BR_0_X__SHIFT 0 28872d756322SRob Clark static inline uint32_t A6XX_GRAS_SC_SCREEN_SCISSOR_BR_0_X(uint32_t val) 28882d756322SRob Clark { 28892d756322SRob Clark return ((val) << A6XX_GRAS_SC_SCREEN_SCISSOR_BR_0_X__SHIFT) & A6XX_GRAS_SC_SCREEN_SCISSOR_BR_0_X__MASK; 28902d756322SRob Clark } 28912d756322SRob Clark #define A6XX_GRAS_SC_SCREEN_SCISSOR_BR_0_Y__MASK 0x7fff0000 28922d756322SRob Clark #define A6XX_GRAS_SC_SCREEN_SCISSOR_BR_0_Y__SHIFT 16 28932d756322SRob Clark static inline uint32_t A6XX_GRAS_SC_SCREEN_SCISSOR_BR_0_Y(uint32_t val) 28942d756322SRob Clark { 28952d756322SRob Clark return ((val) << A6XX_GRAS_SC_SCREEN_SCISSOR_BR_0_Y__SHIFT) & A6XX_GRAS_SC_SCREEN_SCISSOR_BR_0_Y__MASK; 28962d756322SRob Clark } 28972d756322SRob Clark 28982d756322SRob Clark #define REG_A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0 0x000080d0 28992d756322SRob Clark #define A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_WINDOW_OFFSET_DISABLE 0x80000000 29002d756322SRob Clark #define A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_X__MASK 0x00007fff 29012d756322SRob Clark #define A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_X__SHIFT 0 29022d756322SRob Clark static inline uint32_t A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_X(uint32_t val) 29032d756322SRob Clark { 29042d756322SRob Clark return ((val) << A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_X__SHIFT) & A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_X__MASK; 29052d756322SRob Clark } 29062d756322SRob Clark #define A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_Y__MASK 0x7fff0000 29072d756322SRob Clark #define A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_Y__SHIFT 16 29082d756322SRob Clark static inline uint32_t A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_Y(uint32_t val) 29092d756322SRob Clark { 29102d756322SRob Clark return ((val) << A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_Y__SHIFT) & A6XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_Y__MASK; 29112d756322SRob Clark } 29122d756322SRob Clark 29132d756322SRob Clark #define REG_A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0 0x000080d1 29142d756322SRob Clark #define A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_WINDOW_OFFSET_DISABLE 0x80000000 29152d756322SRob Clark #define A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_X__MASK 0x00007fff 29162d756322SRob Clark #define A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_X__SHIFT 0 29172d756322SRob Clark static inline uint32_t A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_X(uint32_t val) 29182d756322SRob Clark { 29192d756322SRob Clark return ((val) << A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_X__SHIFT) & A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_X__MASK; 29202d756322SRob Clark } 29212d756322SRob Clark #define A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_Y__MASK 0x7fff0000 29222d756322SRob Clark #define A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_Y__SHIFT 16 29232d756322SRob Clark static inline uint32_t A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_Y(uint32_t val) 29242d756322SRob Clark { 29252d756322SRob Clark return ((val) << A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_Y__SHIFT) & A6XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_Y__MASK; 29262d756322SRob Clark } 29272d756322SRob Clark 29282d756322SRob Clark #define REG_A6XX_GRAS_SC_WINDOW_SCISSOR_TL 0x000080f0 29292d756322SRob Clark #define A6XX_GRAS_SC_WINDOW_SCISSOR_TL_WINDOW_OFFSET_DISABLE 0x80000000 29302d756322SRob Clark #define A6XX_GRAS_SC_WINDOW_SCISSOR_TL_X__MASK 0x00007fff 29312d756322SRob Clark #define A6XX_GRAS_SC_WINDOW_SCISSOR_TL_X__SHIFT 0 29322d756322SRob Clark static inline uint32_t A6XX_GRAS_SC_WINDOW_SCISSOR_TL_X(uint32_t val) 29332d756322SRob Clark { 29342d756322SRob Clark return ((val) << A6XX_GRAS_SC_WINDOW_SCISSOR_TL_X__SHIFT) & A6XX_GRAS_SC_WINDOW_SCISSOR_TL_X__MASK; 29352d756322SRob Clark } 29362d756322SRob Clark #define A6XX_GRAS_SC_WINDOW_SCISSOR_TL_Y__MASK 0x7fff0000 29372d756322SRob Clark #define A6XX_GRAS_SC_WINDOW_SCISSOR_TL_Y__SHIFT 16 29382d756322SRob Clark static inline uint32_t A6XX_GRAS_SC_WINDOW_SCISSOR_TL_Y(uint32_t val) 29392d756322SRob Clark { 29402d756322SRob Clark return ((val) << A6XX_GRAS_SC_WINDOW_SCISSOR_TL_Y__SHIFT) & A6XX_GRAS_SC_WINDOW_SCISSOR_TL_Y__MASK; 29412d756322SRob Clark } 29422d756322SRob Clark 29432d756322SRob Clark #define REG_A6XX_GRAS_SC_WINDOW_SCISSOR_BR 0x000080f1 29442d756322SRob Clark #define A6XX_GRAS_SC_WINDOW_SCISSOR_BR_WINDOW_OFFSET_DISABLE 0x80000000 29452d756322SRob Clark #define A6XX_GRAS_SC_WINDOW_SCISSOR_BR_X__MASK 0x00007fff 29462d756322SRob Clark #define A6XX_GRAS_SC_WINDOW_SCISSOR_BR_X__SHIFT 0 29472d756322SRob Clark static inline uint32_t A6XX_GRAS_SC_WINDOW_SCISSOR_BR_X(uint32_t val) 29482d756322SRob Clark { 29492d756322SRob Clark return ((val) << A6XX_GRAS_SC_WINDOW_SCISSOR_BR_X__SHIFT) & A6XX_GRAS_SC_WINDOW_SCISSOR_BR_X__MASK; 29502d756322SRob Clark } 29512d756322SRob Clark #define A6XX_GRAS_SC_WINDOW_SCISSOR_BR_Y__MASK 0x7fff0000 29522d756322SRob Clark #define A6XX_GRAS_SC_WINDOW_SCISSOR_BR_Y__SHIFT 16 29532d756322SRob Clark static inline uint32_t A6XX_GRAS_SC_WINDOW_SCISSOR_BR_Y(uint32_t val) 29542d756322SRob Clark { 29552d756322SRob Clark return ((val) << A6XX_GRAS_SC_WINDOW_SCISSOR_BR_Y__SHIFT) & A6XX_GRAS_SC_WINDOW_SCISSOR_BR_Y__MASK; 29562d756322SRob Clark } 29572d756322SRob Clark 29582d756322SRob Clark #define REG_A6XX_GRAS_LRZ_CNTL 0x00008100 29592d756322SRob Clark #define A6XX_GRAS_LRZ_CNTL_ENABLE 0x00000001 29602d756322SRob Clark #define A6XX_GRAS_LRZ_CNTL_LRZ_WRITE 0x00000002 29612d756322SRob Clark #define A6XX_GRAS_LRZ_CNTL_GREATER 0x00000004 2962ccdf7e28SRob Clark #define A6XX_GRAS_LRZ_CNTL_UNK3 0x00000008 2963ccdf7e28SRob Clark #define A6XX_GRAS_LRZ_CNTL_UNK4 0x00000010 29642d756322SRob Clark 2965a69c5ed2SRob Clark #define REG_A6XX_GRAS_UNKNOWN_8101 0x00008101 2966a69c5ed2SRob Clark 29672d756322SRob Clark #define REG_A6XX_GRAS_2D_BLIT_INFO 0x00008102 29682d756322SRob Clark #define A6XX_GRAS_2D_BLIT_INFO_COLOR_FORMAT__MASK 0x000000ff 29692d756322SRob Clark #define A6XX_GRAS_2D_BLIT_INFO_COLOR_FORMAT__SHIFT 0 29702d756322SRob Clark static inline uint32_t A6XX_GRAS_2D_BLIT_INFO_COLOR_FORMAT(enum a6xx_color_fmt val) 29712d756322SRob Clark { 29722d756322SRob Clark return ((val) << A6XX_GRAS_2D_BLIT_INFO_COLOR_FORMAT__SHIFT) & A6XX_GRAS_2D_BLIT_INFO_COLOR_FORMAT__MASK; 29732d756322SRob Clark } 29742d756322SRob Clark 29752d756322SRob Clark #define REG_A6XX_GRAS_LRZ_BUFFER_BASE_LO 0x00008103 29762d756322SRob Clark 29772d756322SRob Clark #define REG_A6XX_GRAS_LRZ_BUFFER_BASE_HI 0x00008104 29782d756322SRob Clark 29792d756322SRob Clark #define REG_A6XX_GRAS_LRZ_BUFFER_PITCH 0x00008105 29802d756322SRob Clark #define A6XX_GRAS_LRZ_BUFFER_PITCH_PITCH__MASK 0x000007ff 29812d756322SRob Clark #define A6XX_GRAS_LRZ_BUFFER_PITCH_PITCH__SHIFT 0 29822d756322SRob Clark static inline uint32_t A6XX_GRAS_LRZ_BUFFER_PITCH_PITCH(uint32_t val) 29832d756322SRob Clark { 29842d756322SRob Clark return ((val >> 5) << A6XX_GRAS_LRZ_BUFFER_PITCH_PITCH__SHIFT) & A6XX_GRAS_LRZ_BUFFER_PITCH_PITCH__MASK; 29852d756322SRob Clark } 29862d756322SRob Clark #define A6XX_GRAS_LRZ_BUFFER_PITCH_ARRAY_PITCH__MASK 0x003ff800 29872d756322SRob Clark #define A6XX_GRAS_LRZ_BUFFER_PITCH_ARRAY_PITCH__SHIFT 11 29882d756322SRob Clark static inline uint32_t A6XX_GRAS_LRZ_BUFFER_PITCH_ARRAY_PITCH(uint32_t val) 29892d756322SRob Clark { 29902d756322SRob Clark return ((val >> 5) << A6XX_GRAS_LRZ_BUFFER_PITCH_ARRAY_PITCH__SHIFT) & A6XX_GRAS_LRZ_BUFFER_PITCH_ARRAY_PITCH__MASK; 29912d756322SRob Clark } 29922d756322SRob Clark 29932d756322SRob Clark #define REG_A6XX_GRAS_LRZ_FAST_CLEAR_BUFFER_BASE_LO 0x00008106 29942d756322SRob Clark 29952d756322SRob Clark #define REG_A6XX_GRAS_LRZ_FAST_CLEAR_BUFFER_BASE_HI 0x00008107 29962d756322SRob Clark 2997a69c5ed2SRob Clark #define REG_A6XX_GRAS_UNKNOWN_8109 0x00008109 2998a69c5ed2SRob Clark 2999a69c5ed2SRob Clark #define REG_A6XX_GRAS_UNKNOWN_8110 0x00008110 3000a69c5ed2SRob Clark 30012d756322SRob Clark #define REG_A6XX_GRAS_2D_BLIT_CNTL 0x00008400 3002ccdf7e28SRob Clark #define A6XX_GRAS_2D_BLIT_CNTL_COLOR_FORMAT__MASK 0x0000ff00 3003ccdf7e28SRob Clark #define A6XX_GRAS_2D_BLIT_CNTL_COLOR_FORMAT__SHIFT 8 3004ccdf7e28SRob Clark static inline uint32_t A6XX_GRAS_2D_BLIT_CNTL_COLOR_FORMAT(enum a6xx_color_fmt val) 3005ccdf7e28SRob Clark { 3006ccdf7e28SRob Clark return ((val) << A6XX_GRAS_2D_BLIT_CNTL_COLOR_FORMAT__SHIFT) & A6XX_GRAS_2D_BLIT_CNTL_COLOR_FORMAT__MASK; 3007ccdf7e28SRob Clark } 3008ccdf7e28SRob Clark #define A6XX_GRAS_2D_BLIT_CNTL_SCISSOR 0x00010000 30092d756322SRob Clark 30102d756322SRob Clark #define REG_A6XX_GRAS_2D_SRC_TL_X 0x00008401 30112d756322SRob Clark #define A6XX_GRAS_2D_SRC_TL_X_X__MASK 0x00ffff00 30122d756322SRob Clark #define A6XX_GRAS_2D_SRC_TL_X_X__SHIFT 8 30132d756322SRob Clark static inline uint32_t A6XX_GRAS_2D_SRC_TL_X_X(uint32_t val) 30142d756322SRob Clark { 30152d756322SRob Clark return ((val) << A6XX_GRAS_2D_SRC_TL_X_X__SHIFT) & A6XX_GRAS_2D_SRC_TL_X_X__MASK; 30162d756322SRob Clark } 30172d756322SRob Clark 30182d756322SRob Clark #define REG_A6XX_GRAS_2D_SRC_BR_X 0x00008402 30192d756322SRob Clark #define A6XX_GRAS_2D_SRC_BR_X_X__MASK 0x00ffff00 30202d756322SRob Clark #define A6XX_GRAS_2D_SRC_BR_X_X__SHIFT 8 30212d756322SRob Clark static inline uint32_t A6XX_GRAS_2D_SRC_BR_X_X(uint32_t val) 30222d756322SRob Clark { 30232d756322SRob Clark return ((val) << A6XX_GRAS_2D_SRC_BR_X_X__SHIFT) & A6XX_GRAS_2D_SRC_BR_X_X__MASK; 30242d756322SRob Clark } 30252d756322SRob Clark 30262d756322SRob Clark #define REG_A6XX_GRAS_2D_SRC_TL_Y 0x00008403 30272d756322SRob Clark #define A6XX_GRAS_2D_SRC_TL_Y_Y__MASK 0x00ffff00 30282d756322SRob Clark #define A6XX_GRAS_2D_SRC_TL_Y_Y__SHIFT 8 30292d756322SRob Clark static inline uint32_t A6XX_GRAS_2D_SRC_TL_Y_Y(uint32_t val) 30302d756322SRob Clark { 30312d756322SRob Clark return ((val) << A6XX_GRAS_2D_SRC_TL_Y_Y__SHIFT) & A6XX_GRAS_2D_SRC_TL_Y_Y__MASK; 30322d756322SRob Clark } 30332d756322SRob Clark 30342d756322SRob Clark #define REG_A6XX_GRAS_2D_SRC_BR_Y 0x00008404 30352d756322SRob Clark #define A6XX_GRAS_2D_SRC_BR_Y_Y__MASK 0x00ffff00 30362d756322SRob Clark #define A6XX_GRAS_2D_SRC_BR_Y_Y__SHIFT 8 30372d756322SRob Clark static inline uint32_t A6XX_GRAS_2D_SRC_BR_Y_Y(uint32_t val) 30382d756322SRob Clark { 30392d756322SRob Clark return ((val) << A6XX_GRAS_2D_SRC_BR_Y_Y__SHIFT) & A6XX_GRAS_2D_SRC_BR_Y_Y__MASK; 30402d756322SRob Clark } 30412d756322SRob Clark 30422d756322SRob Clark #define REG_A6XX_GRAS_2D_DST_TL 0x00008405 30432d756322SRob Clark #define A6XX_GRAS_2D_DST_TL_WINDOW_OFFSET_DISABLE 0x80000000 30442d756322SRob Clark #define A6XX_GRAS_2D_DST_TL_X__MASK 0x00007fff 30452d756322SRob Clark #define A6XX_GRAS_2D_DST_TL_X__SHIFT 0 30462d756322SRob Clark static inline uint32_t A6XX_GRAS_2D_DST_TL_X(uint32_t val) 30472d756322SRob Clark { 30482d756322SRob Clark return ((val) << A6XX_GRAS_2D_DST_TL_X__SHIFT) & A6XX_GRAS_2D_DST_TL_X__MASK; 30492d756322SRob Clark } 30502d756322SRob Clark #define A6XX_GRAS_2D_DST_TL_Y__MASK 0x7fff0000 30512d756322SRob Clark #define A6XX_GRAS_2D_DST_TL_Y__SHIFT 16 30522d756322SRob Clark static inline uint32_t A6XX_GRAS_2D_DST_TL_Y(uint32_t val) 30532d756322SRob Clark { 30542d756322SRob Clark return ((val) << A6XX_GRAS_2D_DST_TL_Y__SHIFT) & A6XX_GRAS_2D_DST_TL_Y__MASK; 30552d756322SRob Clark } 30562d756322SRob Clark 30572d756322SRob Clark #define REG_A6XX_GRAS_2D_DST_BR 0x00008406 30582d756322SRob Clark #define A6XX_GRAS_2D_DST_BR_WINDOW_OFFSET_DISABLE 0x80000000 30592d756322SRob Clark #define A6XX_GRAS_2D_DST_BR_X__MASK 0x00007fff 30602d756322SRob Clark #define A6XX_GRAS_2D_DST_BR_X__SHIFT 0 30612d756322SRob Clark static inline uint32_t A6XX_GRAS_2D_DST_BR_X(uint32_t val) 30622d756322SRob Clark { 30632d756322SRob Clark return ((val) << A6XX_GRAS_2D_DST_BR_X__SHIFT) & A6XX_GRAS_2D_DST_BR_X__MASK; 30642d756322SRob Clark } 30652d756322SRob Clark #define A6XX_GRAS_2D_DST_BR_Y__MASK 0x7fff0000 30662d756322SRob Clark #define A6XX_GRAS_2D_DST_BR_Y__SHIFT 16 30672d756322SRob Clark static inline uint32_t A6XX_GRAS_2D_DST_BR_Y(uint32_t val) 30682d756322SRob Clark { 30692d756322SRob Clark return ((val) << A6XX_GRAS_2D_DST_BR_Y__SHIFT) & A6XX_GRAS_2D_DST_BR_Y__MASK; 30702d756322SRob Clark } 30712d756322SRob Clark 30722d756322SRob Clark #define REG_A6XX_GRAS_RESOLVE_CNTL_1 0x0000840a 30732d756322SRob Clark #define A6XX_GRAS_RESOLVE_CNTL_1_WINDOW_OFFSET_DISABLE 0x80000000 30742d756322SRob Clark #define A6XX_GRAS_RESOLVE_CNTL_1_X__MASK 0x00007fff 30752d756322SRob Clark #define A6XX_GRAS_RESOLVE_CNTL_1_X__SHIFT 0 30762d756322SRob Clark static inline uint32_t A6XX_GRAS_RESOLVE_CNTL_1_X(uint32_t val) 30772d756322SRob Clark { 30782d756322SRob Clark return ((val) << A6XX_GRAS_RESOLVE_CNTL_1_X__SHIFT) & A6XX_GRAS_RESOLVE_CNTL_1_X__MASK; 30792d756322SRob Clark } 30802d756322SRob Clark #define A6XX_GRAS_RESOLVE_CNTL_1_Y__MASK 0x7fff0000 30812d756322SRob Clark #define A6XX_GRAS_RESOLVE_CNTL_1_Y__SHIFT 16 30822d756322SRob Clark static inline uint32_t A6XX_GRAS_RESOLVE_CNTL_1_Y(uint32_t val) 30832d756322SRob Clark { 30842d756322SRob Clark return ((val) << A6XX_GRAS_RESOLVE_CNTL_1_Y__SHIFT) & A6XX_GRAS_RESOLVE_CNTL_1_Y__MASK; 30852d756322SRob Clark } 30862d756322SRob Clark 30872d756322SRob Clark #define REG_A6XX_GRAS_RESOLVE_CNTL_2 0x0000840b 30882d756322SRob Clark #define A6XX_GRAS_RESOLVE_CNTL_2_WINDOW_OFFSET_DISABLE 0x80000000 30892d756322SRob Clark #define A6XX_GRAS_RESOLVE_CNTL_2_X__MASK 0x00007fff 30902d756322SRob Clark #define A6XX_GRAS_RESOLVE_CNTL_2_X__SHIFT 0 30912d756322SRob Clark static inline uint32_t A6XX_GRAS_RESOLVE_CNTL_2_X(uint32_t val) 30922d756322SRob Clark { 30932d756322SRob Clark return ((val) << A6XX_GRAS_RESOLVE_CNTL_2_X__SHIFT) & A6XX_GRAS_RESOLVE_CNTL_2_X__MASK; 30942d756322SRob Clark } 30952d756322SRob Clark #define A6XX_GRAS_RESOLVE_CNTL_2_Y__MASK 0x7fff0000 30962d756322SRob Clark #define A6XX_GRAS_RESOLVE_CNTL_2_Y__SHIFT 16 30972d756322SRob Clark static inline uint32_t A6XX_GRAS_RESOLVE_CNTL_2_Y(uint32_t val) 30982d756322SRob Clark { 30992d756322SRob Clark return ((val) << A6XX_GRAS_RESOLVE_CNTL_2_Y__SHIFT) & A6XX_GRAS_RESOLVE_CNTL_2_Y__MASK; 31002d756322SRob Clark } 31012d756322SRob Clark 31022d756322SRob Clark #define REG_A6XX_GRAS_UNKNOWN_8600 0x00008600 31032d756322SRob Clark 3104a69c5ed2SRob Clark #define REG_A6XX_RB_BIN_CONTROL 0x00008800 3105a69c5ed2SRob Clark #define A6XX_RB_BIN_CONTROL_BINW__MASK 0x000000ff 3106a69c5ed2SRob Clark #define A6XX_RB_BIN_CONTROL_BINW__SHIFT 0 3107a69c5ed2SRob Clark static inline uint32_t A6XX_RB_BIN_CONTROL_BINW(uint32_t val) 3108a69c5ed2SRob Clark { 3109a69c5ed2SRob Clark return ((val >> 5) << A6XX_RB_BIN_CONTROL_BINW__SHIFT) & A6XX_RB_BIN_CONTROL_BINW__MASK; 3110a69c5ed2SRob Clark } 3111a69c5ed2SRob Clark #define A6XX_RB_BIN_CONTROL_BINH__MASK 0x0001ff00 3112a69c5ed2SRob Clark #define A6XX_RB_BIN_CONTROL_BINH__SHIFT 8 3113a69c5ed2SRob Clark static inline uint32_t A6XX_RB_BIN_CONTROL_BINH(uint32_t val) 3114a69c5ed2SRob Clark { 3115a69c5ed2SRob Clark return ((val >> 4) << A6XX_RB_BIN_CONTROL_BINH__SHIFT) & A6XX_RB_BIN_CONTROL_BINH__MASK; 3116a69c5ed2SRob Clark } 3117a69c5ed2SRob Clark #define A6XX_RB_BIN_CONTROL_BINNING_PASS 0x00040000 3118a69c5ed2SRob Clark #define A6XX_RB_BIN_CONTROL_USE_VIZ 0x00200000 3119a69c5ed2SRob Clark 3120a69c5ed2SRob Clark #define REG_A6XX_RB_RENDER_CNTL 0x00008801 3121a69c5ed2SRob Clark #define A6XX_RB_RENDER_CNTL_UNK4 0x00000010 3122a69c5ed2SRob Clark #define A6XX_RB_RENDER_CNTL_BINNING 0x00000080 3123a69c5ed2SRob Clark #define A6XX_RB_RENDER_CNTL_FLAG_DEPTH 0x00004000 3124a69c5ed2SRob Clark #define A6XX_RB_RENDER_CNTL_FLAG_MRTS__MASK 0x00ff0000 3125a69c5ed2SRob Clark #define A6XX_RB_RENDER_CNTL_FLAG_MRTS__SHIFT 16 3126a69c5ed2SRob Clark static inline uint32_t A6XX_RB_RENDER_CNTL_FLAG_MRTS(uint32_t val) 3127a69c5ed2SRob Clark { 3128a69c5ed2SRob Clark return ((val) << A6XX_RB_RENDER_CNTL_FLAG_MRTS__SHIFT) & A6XX_RB_RENDER_CNTL_FLAG_MRTS__MASK; 3129a69c5ed2SRob Clark } 3130a69c5ed2SRob Clark 31312d756322SRob Clark #define REG_A6XX_RB_RAS_MSAA_CNTL 0x00008802 31322d756322SRob Clark #define A6XX_RB_RAS_MSAA_CNTL_SAMPLES__MASK 0x00000003 31332d756322SRob Clark #define A6XX_RB_RAS_MSAA_CNTL_SAMPLES__SHIFT 0 31342d756322SRob Clark static inline uint32_t A6XX_RB_RAS_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val) 31352d756322SRob Clark { 31362d756322SRob Clark return ((val) << A6XX_RB_RAS_MSAA_CNTL_SAMPLES__SHIFT) & A6XX_RB_RAS_MSAA_CNTL_SAMPLES__MASK; 31372d756322SRob Clark } 31382d756322SRob Clark 31392d756322SRob Clark #define REG_A6XX_RB_DEST_MSAA_CNTL 0x00008803 31402d756322SRob Clark #define A6XX_RB_DEST_MSAA_CNTL_SAMPLES__MASK 0x00000003 31412d756322SRob Clark #define A6XX_RB_DEST_MSAA_CNTL_SAMPLES__SHIFT 0 31422d756322SRob Clark static inline uint32_t A6XX_RB_DEST_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val) 31432d756322SRob Clark { 31442d756322SRob Clark return ((val) << A6XX_RB_DEST_MSAA_CNTL_SAMPLES__SHIFT) & A6XX_RB_DEST_MSAA_CNTL_SAMPLES__MASK; 31452d756322SRob Clark } 31462d756322SRob Clark #define A6XX_RB_DEST_MSAA_CNTL_MSAA_DISABLE 0x00000004 31472d756322SRob Clark 31482d756322SRob Clark #define REG_A6XX_RB_UNKNOWN_8804 0x00008804 31492d756322SRob Clark 31502d756322SRob Clark #define REG_A6XX_RB_UNKNOWN_8805 0x00008805 31512d756322SRob Clark 31522d756322SRob Clark #define REG_A6XX_RB_UNKNOWN_8806 0x00008806 31532d756322SRob Clark 31542d756322SRob Clark #define REG_A6XX_RB_RENDER_CONTROL0 0x00008809 31552d756322SRob Clark #define A6XX_RB_RENDER_CONTROL0_VARYING 0x00000001 3156a69c5ed2SRob Clark #define A6XX_RB_RENDER_CONTROL0_UNK3 0x00000008 31572d756322SRob Clark #define A6XX_RB_RENDER_CONTROL0_XCOORD 0x00000040 31582d756322SRob Clark #define A6XX_RB_RENDER_CONTROL0_YCOORD 0x00000080 31592d756322SRob Clark #define A6XX_RB_RENDER_CONTROL0_ZCOORD 0x00000100 31602d756322SRob Clark #define A6XX_RB_RENDER_CONTROL0_WCOORD 0x00000200 31612d756322SRob Clark #define A6XX_RB_RENDER_CONTROL0_UNK10 0x00000400 31622d756322SRob Clark 31632d756322SRob Clark #define REG_A6XX_RB_RENDER_CONTROL1 0x0000880a 31642d756322SRob Clark #define A6XX_RB_RENDER_CONTROL1_SAMPLEMASK 0x00000001 31652d756322SRob Clark #define A6XX_RB_RENDER_CONTROL1_FACENESS 0x00000002 31662d756322SRob Clark #define A6XX_RB_RENDER_CONTROL1_SAMPLEID 0x00000008 31672d756322SRob Clark 31682d756322SRob Clark #define REG_A6XX_RB_FS_OUTPUT_CNTL0 0x0000880b 31692d756322SRob Clark #define A6XX_RB_FS_OUTPUT_CNTL0_FRAG_WRITES_Z 0x00000002 31702d756322SRob Clark 31712d756322SRob Clark #define REG_A6XX_RB_FS_OUTPUT_CNTL1 0x0000880c 31722d756322SRob Clark #define A6XX_RB_FS_OUTPUT_CNTL1_MRT__MASK 0x0000000f 31732d756322SRob Clark #define A6XX_RB_FS_OUTPUT_CNTL1_MRT__SHIFT 0 31742d756322SRob Clark static inline uint32_t A6XX_RB_FS_OUTPUT_CNTL1_MRT(uint32_t val) 31752d756322SRob Clark { 31762d756322SRob Clark return ((val) << A6XX_RB_FS_OUTPUT_CNTL1_MRT__SHIFT) & A6XX_RB_FS_OUTPUT_CNTL1_MRT__MASK; 31772d756322SRob Clark } 31782d756322SRob Clark 31792d756322SRob Clark #define REG_A6XX_RB_RENDER_COMPONENTS 0x0000880d 31802d756322SRob Clark #define A6XX_RB_RENDER_COMPONENTS_RT0__MASK 0x0000000f 31812d756322SRob Clark #define A6XX_RB_RENDER_COMPONENTS_RT0__SHIFT 0 31822d756322SRob Clark static inline uint32_t A6XX_RB_RENDER_COMPONENTS_RT0(uint32_t val) 31832d756322SRob Clark { 31842d756322SRob Clark return ((val) << A6XX_RB_RENDER_COMPONENTS_RT0__SHIFT) & A6XX_RB_RENDER_COMPONENTS_RT0__MASK; 31852d756322SRob Clark } 31862d756322SRob Clark #define A6XX_RB_RENDER_COMPONENTS_RT1__MASK 0x000000f0 31872d756322SRob Clark #define A6XX_RB_RENDER_COMPONENTS_RT1__SHIFT 4 31882d756322SRob Clark static inline uint32_t A6XX_RB_RENDER_COMPONENTS_RT1(uint32_t val) 31892d756322SRob Clark { 31902d756322SRob Clark return ((val) << A6XX_RB_RENDER_COMPONENTS_RT1__SHIFT) & A6XX_RB_RENDER_COMPONENTS_RT1__MASK; 31912d756322SRob Clark } 31922d756322SRob Clark #define A6XX_RB_RENDER_COMPONENTS_RT2__MASK 0x00000f00 31932d756322SRob Clark #define A6XX_RB_RENDER_COMPONENTS_RT2__SHIFT 8 31942d756322SRob Clark static inline uint32_t A6XX_RB_RENDER_COMPONENTS_RT2(uint32_t val) 31952d756322SRob Clark { 31962d756322SRob Clark return ((val) << A6XX_RB_RENDER_COMPONENTS_RT2__SHIFT) & A6XX_RB_RENDER_COMPONENTS_RT2__MASK; 31972d756322SRob Clark } 31982d756322SRob Clark #define A6XX_RB_RENDER_COMPONENTS_RT3__MASK 0x0000f000 31992d756322SRob Clark #define A6XX_RB_RENDER_COMPONENTS_RT3__SHIFT 12 32002d756322SRob Clark static inline uint32_t A6XX_RB_RENDER_COMPONENTS_RT3(uint32_t val) 32012d756322SRob Clark { 32022d756322SRob Clark return ((val) << A6XX_RB_RENDER_COMPONENTS_RT3__SHIFT) & A6XX_RB_RENDER_COMPONENTS_RT3__MASK; 32032d756322SRob Clark } 32042d756322SRob Clark #define A6XX_RB_RENDER_COMPONENTS_RT4__MASK 0x000f0000 32052d756322SRob Clark #define A6XX_RB_RENDER_COMPONENTS_RT4__SHIFT 16 32062d756322SRob Clark static inline uint32_t A6XX_RB_RENDER_COMPONENTS_RT4(uint32_t val) 32072d756322SRob Clark { 32082d756322SRob Clark return ((val) << A6XX_RB_RENDER_COMPONENTS_RT4__SHIFT) & A6XX_RB_RENDER_COMPONENTS_RT4__MASK; 32092d756322SRob Clark } 32102d756322SRob Clark #define A6XX_RB_RENDER_COMPONENTS_RT5__MASK 0x00f00000 32112d756322SRob Clark #define A6XX_RB_RENDER_COMPONENTS_RT5__SHIFT 20 32122d756322SRob Clark static inline uint32_t A6XX_RB_RENDER_COMPONENTS_RT5(uint32_t val) 32132d756322SRob Clark { 32142d756322SRob Clark return ((val) << A6XX_RB_RENDER_COMPONENTS_RT5__SHIFT) & A6XX_RB_RENDER_COMPONENTS_RT5__MASK; 32152d756322SRob Clark } 32162d756322SRob Clark #define A6XX_RB_RENDER_COMPONENTS_RT6__MASK 0x0f000000 32172d756322SRob Clark #define A6XX_RB_RENDER_COMPONENTS_RT6__SHIFT 24 32182d756322SRob Clark static inline uint32_t A6XX_RB_RENDER_COMPONENTS_RT6(uint32_t val) 32192d756322SRob Clark { 32202d756322SRob Clark return ((val) << A6XX_RB_RENDER_COMPONENTS_RT6__SHIFT) & A6XX_RB_RENDER_COMPONENTS_RT6__MASK; 32212d756322SRob Clark } 32222d756322SRob Clark #define A6XX_RB_RENDER_COMPONENTS_RT7__MASK 0xf0000000 32232d756322SRob Clark #define A6XX_RB_RENDER_COMPONENTS_RT7__SHIFT 28 32242d756322SRob Clark static inline uint32_t A6XX_RB_RENDER_COMPONENTS_RT7(uint32_t val) 32252d756322SRob Clark { 32262d756322SRob Clark return ((val) << A6XX_RB_RENDER_COMPONENTS_RT7__SHIFT) & A6XX_RB_RENDER_COMPONENTS_RT7__MASK; 32272d756322SRob Clark } 32282d756322SRob Clark 32292d756322SRob Clark #define REG_A6XX_RB_DITHER_CNTL 0x0000880e 32302d756322SRob Clark #define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT0__MASK 0x00000003 32312d756322SRob Clark #define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT0__SHIFT 0 32322d756322SRob Clark static inline uint32_t A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT0(enum adreno_rb_dither_mode val) 32332d756322SRob Clark { 32342d756322SRob Clark return ((val) << A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT0__SHIFT) & A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT0__MASK; 32352d756322SRob Clark } 32362d756322SRob Clark #define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT1__MASK 0x0000000c 32372d756322SRob Clark #define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT1__SHIFT 2 32382d756322SRob Clark static inline uint32_t A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT1(enum adreno_rb_dither_mode val) 32392d756322SRob Clark { 32402d756322SRob Clark return ((val) << A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT1__SHIFT) & A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT1__MASK; 32412d756322SRob Clark } 32422d756322SRob Clark #define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT2__MASK 0x00000030 32432d756322SRob Clark #define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT2__SHIFT 4 32442d756322SRob Clark static inline uint32_t A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT2(enum adreno_rb_dither_mode val) 32452d756322SRob Clark { 32462d756322SRob Clark return ((val) << A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT2__SHIFT) & A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT2__MASK; 32472d756322SRob Clark } 32482d756322SRob Clark #define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT3__MASK 0x000000c0 32492d756322SRob Clark #define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT3__SHIFT 6 32502d756322SRob Clark static inline uint32_t A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT3(enum adreno_rb_dither_mode val) 32512d756322SRob Clark { 32522d756322SRob Clark return ((val) << A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT3__SHIFT) & A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT3__MASK; 32532d756322SRob Clark } 32542d756322SRob Clark #define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT4__MASK 0x00000300 32552d756322SRob Clark #define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT4__SHIFT 8 32562d756322SRob Clark static inline uint32_t A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT4(enum adreno_rb_dither_mode val) 32572d756322SRob Clark { 32582d756322SRob Clark return ((val) << A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT4__SHIFT) & A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT4__MASK; 32592d756322SRob Clark } 32602d756322SRob Clark #define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT5__MASK 0x00000c00 32612d756322SRob Clark #define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT5__SHIFT 10 32622d756322SRob Clark static inline uint32_t A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT5(enum adreno_rb_dither_mode val) 32632d756322SRob Clark { 32642d756322SRob Clark return ((val) << A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT5__SHIFT) & A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT5__MASK; 32652d756322SRob Clark } 32662d756322SRob Clark #define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT6__MASK 0x00001000 32672d756322SRob Clark #define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT6__SHIFT 12 32682d756322SRob Clark static inline uint32_t A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT6(enum adreno_rb_dither_mode val) 32692d756322SRob Clark { 32702d756322SRob Clark return ((val) << A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT6__SHIFT) & A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT6__MASK; 32712d756322SRob Clark } 32722d756322SRob Clark #define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT7__MASK 0x0000c000 32732d756322SRob Clark #define A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT7__SHIFT 14 32742d756322SRob Clark static inline uint32_t A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT7(enum adreno_rb_dither_mode val) 32752d756322SRob Clark { 32762d756322SRob Clark return ((val) << A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT7__SHIFT) & A6XX_RB_DITHER_CNTL_DITHER_MODE_MRT7__MASK; 32772d756322SRob Clark } 32782d756322SRob Clark 32792d756322SRob Clark #define REG_A6XX_RB_SRGB_CNTL 0x0000880f 32802d756322SRob Clark #define A6XX_RB_SRGB_CNTL_SRGB_MRT0 0x00000001 32812d756322SRob Clark #define A6XX_RB_SRGB_CNTL_SRGB_MRT1 0x00000002 32822d756322SRob Clark #define A6XX_RB_SRGB_CNTL_SRGB_MRT2 0x00000004 32832d756322SRob Clark #define A6XX_RB_SRGB_CNTL_SRGB_MRT3 0x00000008 32842d756322SRob Clark #define A6XX_RB_SRGB_CNTL_SRGB_MRT4 0x00000010 32852d756322SRob Clark #define A6XX_RB_SRGB_CNTL_SRGB_MRT5 0x00000020 32862d756322SRob Clark #define A6XX_RB_SRGB_CNTL_SRGB_MRT6 0x00000040 32872d756322SRob Clark #define A6XX_RB_SRGB_CNTL_SRGB_MRT7 0x00000080 32882d756322SRob Clark 3289a69c5ed2SRob Clark #define REG_A6XX_RB_UNKNOWN_8810 0x00008810 3290a69c5ed2SRob Clark 3291a69c5ed2SRob Clark #define REG_A6XX_RB_UNKNOWN_8811 0x00008811 3292a69c5ed2SRob Clark 32932d756322SRob Clark #define REG_A6XX_RB_UNKNOWN_8818 0x00008818 32942d756322SRob Clark 32952d756322SRob Clark #define REG_A6XX_RB_UNKNOWN_8819 0x00008819 32962d756322SRob Clark 32972d756322SRob Clark #define REG_A6XX_RB_UNKNOWN_881A 0x0000881a 32982d756322SRob Clark 32992d756322SRob Clark #define REG_A6XX_RB_UNKNOWN_881B 0x0000881b 33002d756322SRob Clark 33012d756322SRob Clark #define REG_A6XX_RB_UNKNOWN_881C 0x0000881c 33022d756322SRob Clark 33032d756322SRob Clark #define REG_A6XX_RB_UNKNOWN_881D 0x0000881d 33042d756322SRob Clark 33052d756322SRob Clark #define REG_A6XX_RB_UNKNOWN_881E 0x0000881e 33062d756322SRob Clark 33072d756322SRob Clark static inline uint32_t REG_A6XX_RB_MRT(uint32_t i0) { return 0x00008820 + 0x8*i0; } 33082d756322SRob Clark 33092d756322SRob Clark static inline uint32_t REG_A6XX_RB_MRT_CONTROL(uint32_t i0) { return 0x00008820 + 0x8*i0; } 33102d756322SRob Clark #define A6XX_RB_MRT_CONTROL_BLEND 0x00000001 33112d756322SRob Clark #define A6XX_RB_MRT_CONTROL_BLEND2 0x00000002 33122d756322SRob Clark #define A6XX_RB_MRT_CONTROL_ROP_ENABLE 0x00000004 33132d756322SRob Clark #define A6XX_RB_MRT_CONTROL_ROP_CODE__MASK 0x00000078 33142d756322SRob Clark #define A6XX_RB_MRT_CONTROL_ROP_CODE__SHIFT 3 33152d756322SRob Clark static inline uint32_t A6XX_RB_MRT_CONTROL_ROP_CODE(enum a3xx_rop_code val) 33162d756322SRob Clark { 33172d756322SRob Clark return ((val) << A6XX_RB_MRT_CONTROL_ROP_CODE__SHIFT) & A6XX_RB_MRT_CONTROL_ROP_CODE__MASK; 33182d756322SRob Clark } 33192d756322SRob Clark #define A6XX_RB_MRT_CONTROL_COMPONENT_ENABLE__MASK 0x00000780 33202d756322SRob Clark #define A6XX_RB_MRT_CONTROL_COMPONENT_ENABLE__SHIFT 7 33212d756322SRob Clark static inline uint32_t A6XX_RB_MRT_CONTROL_COMPONENT_ENABLE(uint32_t val) 33222d756322SRob Clark { 33232d756322SRob Clark return ((val) << A6XX_RB_MRT_CONTROL_COMPONENT_ENABLE__SHIFT) & A6XX_RB_MRT_CONTROL_COMPONENT_ENABLE__MASK; 33242d756322SRob Clark } 33252d756322SRob Clark 33262d756322SRob Clark static inline uint32_t REG_A6XX_RB_MRT_BLEND_CONTROL(uint32_t i0) { return 0x00008821 + 0x8*i0; } 33272d756322SRob Clark #define A6XX_RB_MRT_BLEND_CONTROL_RGB_SRC_FACTOR__MASK 0x0000001f 33282d756322SRob Clark #define A6XX_RB_MRT_BLEND_CONTROL_RGB_SRC_FACTOR__SHIFT 0 33292d756322SRob Clark static inline uint32_t A6XX_RB_MRT_BLEND_CONTROL_RGB_SRC_FACTOR(enum adreno_rb_blend_factor val) 33302d756322SRob Clark { 33312d756322SRob Clark return ((val) << A6XX_RB_MRT_BLEND_CONTROL_RGB_SRC_FACTOR__SHIFT) & A6XX_RB_MRT_BLEND_CONTROL_RGB_SRC_FACTOR__MASK; 33322d756322SRob Clark } 33332d756322SRob Clark #define A6XX_RB_MRT_BLEND_CONTROL_RGB_BLEND_OPCODE__MASK 0x000000e0 33342d756322SRob Clark #define A6XX_RB_MRT_BLEND_CONTROL_RGB_BLEND_OPCODE__SHIFT 5 33352d756322SRob Clark static inline uint32_t A6XX_RB_MRT_BLEND_CONTROL_RGB_BLEND_OPCODE(enum a3xx_rb_blend_opcode val) 33362d756322SRob Clark { 33372d756322SRob Clark return ((val) << A6XX_RB_MRT_BLEND_CONTROL_RGB_BLEND_OPCODE__SHIFT) & A6XX_RB_MRT_BLEND_CONTROL_RGB_BLEND_OPCODE__MASK; 33382d756322SRob Clark } 33392d756322SRob Clark #define A6XX_RB_MRT_BLEND_CONTROL_RGB_DEST_FACTOR__MASK 0x00001f00 33402d756322SRob Clark #define A6XX_RB_MRT_BLEND_CONTROL_RGB_DEST_FACTOR__SHIFT 8 33412d756322SRob Clark static inline uint32_t A6XX_RB_MRT_BLEND_CONTROL_RGB_DEST_FACTOR(enum adreno_rb_blend_factor val) 33422d756322SRob Clark { 33432d756322SRob Clark return ((val) << A6XX_RB_MRT_BLEND_CONTROL_RGB_DEST_FACTOR__SHIFT) & A6XX_RB_MRT_BLEND_CONTROL_RGB_DEST_FACTOR__MASK; 33442d756322SRob Clark } 33452d756322SRob Clark #define A6XX_RB_MRT_BLEND_CONTROL_ALPHA_SRC_FACTOR__MASK 0x001f0000 33462d756322SRob Clark #define A6XX_RB_MRT_BLEND_CONTROL_ALPHA_SRC_FACTOR__SHIFT 16 33472d756322SRob Clark static inline uint32_t A6XX_RB_MRT_BLEND_CONTROL_ALPHA_SRC_FACTOR(enum adreno_rb_blend_factor val) 33482d756322SRob Clark { 33492d756322SRob Clark return ((val) << A6XX_RB_MRT_BLEND_CONTROL_ALPHA_SRC_FACTOR__SHIFT) & A6XX_RB_MRT_BLEND_CONTROL_ALPHA_SRC_FACTOR__MASK; 33502d756322SRob Clark } 33512d756322SRob Clark #define A6XX_RB_MRT_BLEND_CONTROL_ALPHA_BLEND_OPCODE__MASK 0x00e00000 33522d756322SRob Clark #define A6XX_RB_MRT_BLEND_CONTROL_ALPHA_BLEND_OPCODE__SHIFT 21 33532d756322SRob Clark static inline uint32_t A6XX_RB_MRT_BLEND_CONTROL_ALPHA_BLEND_OPCODE(enum a3xx_rb_blend_opcode val) 33542d756322SRob Clark { 33552d756322SRob Clark return ((val) << A6XX_RB_MRT_BLEND_CONTROL_ALPHA_BLEND_OPCODE__SHIFT) & A6XX_RB_MRT_BLEND_CONTROL_ALPHA_BLEND_OPCODE__MASK; 33562d756322SRob Clark } 33572d756322SRob Clark #define A6XX_RB_MRT_BLEND_CONTROL_ALPHA_DEST_FACTOR__MASK 0x1f000000 33582d756322SRob Clark #define A6XX_RB_MRT_BLEND_CONTROL_ALPHA_DEST_FACTOR__SHIFT 24 33592d756322SRob Clark static inline uint32_t A6XX_RB_MRT_BLEND_CONTROL_ALPHA_DEST_FACTOR(enum adreno_rb_blend_factor val) 33602d756322SRob Clark { 33612d756322SRob Clark return ((val) << A6XX_RB_MRT_BLEND_CONTROL_ALPHA_DEST_FACTOR__SHIFT) & A6XX_RB_MRT_BLEND_CONTROL_ALPHA_DEST_FACTOR__MASK; 33622d756322SRob Clark } 33632d756322SRob Clark 33642d756322SRob Clark static inline uint32_t REG_A6XX_RB_MRT_BUF_INFO(uint32_t i0) { return 0x00008822 + 0x8*i0; } 33652d756322SRob Clark #define A6XX_RB_MRT_BUF_INFO_COLOR_FORMAT__MASK 0x000000ff 33662d756322SRob Clark #define A6XX_RB_MRT_BUF_INFO_COLOR_FORMAT__SHIFT 0 33672d756322SRob Clark static inline uint32_t A6XX_RB_MRT_BUF_INFO_COLOR_FORMAT(enum a6xx_color_fmt val) 33682d756322SRob Clark { 33692d756322SRob Clark return ((val) << A6XX_RB_MRT_BUF_INFO_COLOR_FORMAT__SHIFT) & A6XX_RB_MRT_BUF_INFO_COLOR_FORMAT__MASK; 33702d756322SRob Clark } 33712d756322SRob Clark #define A6XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE__MASK 0x00000300 33722d756322SRob Clark #define A6XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE__SHIFT 8 33732d756322SRob Clark static inline uint32_t A6XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE(enum a6xx_tile_mode val) 33742d756322SRob Clark { 33752d756322SRob Clark return ((val) << A6XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE__SHIFT) & A6XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE__MASK; 33762d756322SRob Clark } 33772d756322SRob Clark #define A6XX_RB_MRT_BUF_INFO_COLOR_SWAP__MASK 0x00006000 33782d756322SRob Clark #define A6XX_RB_MRT_BUF_INFO_COLOR_SWAP__SHIFT 13 33792d756322SRob Clark static inline uint32_t A6XX_RB_MRT_BUF_INFO_COLOR_SWAP(enum a3xx_color_swap val) 33802d756322SRob Clark { 33812d756322SRob Clark return ((val) << A6XX_RB_MRT_BUF_INFO_COLOR_SWAP__SHIFT) & A6XX_RB_MRT_BUF_INFO_COLOR_SWAP__MASK; 33822d756322SRob Clark } 33832d756322SRob Clark 33842d756322SRob Clark static inline uint32_t REG_A6XX_RB_MRT_PITCH(uint32_t i0) { return 0x00008823 + 0x8*i0; } 33852d756322SRob Clark #define A6XX_RB_MRT_PITCH__MASK 0xffffffff 33862d756322SRob Clark #define A6XX_RB_MRT_PITCH__SHIFT 0 33872d756322SRob Clark static inline uint32_t A6XX_RB_MRT_PITCH(uint32_t val) 33882d756322SRob Clark { 33892d756322SRob Clark return ((val >> 6) << A6XX_RB_MRT_PITCH__SHIFT) & A6XX_RB_MRT_PITCH__MASK; 33902d756322SRob Clark } 33912d756322SRob Clark 33922d756322SRob Clark static inline uint32_t REG_A6XX_RB_MRT_ARRAY_PITCH(uint32_t i0) { return 0x00008824 + 0x8*i0; } 33932d756322SRob Clark #define A6XX_RB_MRT_ARRAY_PITCH__MASK 0xffffffff 33942d756322SRob Clark #define A6XX_RB_MRT_ARRAY_PITCH__SHIFT 0 33952d756322SRob Clark static inline uint32_t A6XX_RB_MRT_ARRAY_PITCH(uint32_t val) 33962d756322SRob Clark { 33972d756322SRob Clark return ((val >> 6) << A6XX_RB_MRT_ARRAY_PITCH__SHIFT) & A6XX_RB_MRT_ARRAY_PITCH__MASK; 33982d756322SRob Clark } 33992d756322SRob Clark 34002d756322SRob Clark static inline uint32_t REG_A6XX_RB_MRT_BASE_LO(uint32_t i0) { return 0x00008825 + 0x8*i0; } 34012d756322SRob Clark 34022d756322SRob Clark static inline uint32_t REG_A6XX_RB_MRT_BASE_HI(uint32_t i0) { return 0x00008826 + 0x8*i0; } 34032d756322SRob Clark 34042d756322SRob Clark static inline uint32_t REG_A6XX_RB_MRT_BASE_GMEM(uint32_t i0) { return 0x00008827 + 0x8*i0; } 34052d756322SRob Clark 34062d756322SRob Clark #define REG_A6XX_RB_BLEND_RED_F32 0x00008860 34072d756322SRob Clark #define A6XX_RB_BLEND_RED_F32__MASK 0xffffffff 34082d756322SRob Clark #define A6XX_RB_BLEND_RED_F32__SHIFT 0 34092d756322SRob Clark static inline uint32_t A6XX_RB_BLEND_RED_F32(float val) 34102d756322SRob Clark { 34112d756322SRob Clark return ((fui(val)) << A6XX_RB_BLEND_RED_F32__SHIFT) & A6XX_RB_BLEND_RED_F32__MASK; 34122d756322SRob Clark } 34132d756322SRob Clark 34142d756322SRob Clark #define REG_A6XX_RB_BLEND_GREEN_F32 0x00008861 34152d756322SRob Clark #define A6XX_RB_BLEND_GREEN_F32__MASK 0xffffffff 34162d756322SRob Clark #define A6XX_RB_BLEND_GREEN_F32__SHIFT 0 34172d756322SRob Clark static inline uint32_t A6XX_RB_BLEND_GREEN_F32(float val) 34182d756322SRob Clark { 34192d756322SRob Clark return ((fui(val)) << A6XX_RB_BLEND_GREEN_F32__SHIFT) & A6XX_RB_BLEND_GREEN_F32__MASK; 34202d756322SRob Clark } 34212d756322SRob Clark 34222d756322SRob Clark #define REG_A6XX_RB_BLEND_BLUE_F32 0x00008862 34232d756322SRob Clark #define A6XX_RB_BLEND_BLUE_F32__MASK 0xffffffff 34242d756322SRob Clark #define A6XX_RB_BLEND_BLUE_F32__SHIFT 0 34252d756322SRob Clark static inline uint32_t A6XX_RB_BLEND_BLUE_F32(float val) 34262d756322SRob Clark { 34272d756322SRob Clark return ((fui(val)) << A6XX_RB_BLEND_BLUE_F32__SHIFT) & A6XX_RB_BLEND_BLUE_F32__MASK; 34282d756322SRob Clark } 34292d756322SRob Clark 34302d756322SRob Clark #define REG_A6XX_RB_BLEND_ALPHA_F32 0x00008863 34312d756322SRob Clark #define A6XX_RB_BLEND_ALPHA_F32__MASK 0xffffffff 34322d756322SRob Clark #define A6XX_RB_BLEND_ALPHA_F32__SHIFT 0 34332d756322SRob Clark static inline uint32_t A6XX_RB_BLEND_ALPHA_F32(float val) 34342d756322SRob Clark { 34352d756322SRob Clark return ((fui(val)) << A6XX_RB_BLEND_ALPHA_F32__SHIFT) & A6XX_RB_BLEND_ALPHA_F32__MASK; 34362d756322SRob Clark } 34372d756322SRob Clark 34382d756322SRob Clark #define REG_A6XX_RB_ALPHA_CONTROL 0x00008864 34392d756322SRob Clark #define A6XX_RB_ALPHA_CONTROL_ALPHA_REF__MASK 0x000000ff 34402d756322SRob Clark #define A6XX_RB_ALPHA_CONTROL_ALPHA_REF__SHIFT 0 34412d756322SRob Clark static inline uint32_t A6XX_RB_ALPHA_CONTROL_ALPHA_REF(uint32_t val) 34422d756322SRob Clark { 34432d756322SRob Clark return ((val) << A6XX_RB_ALPHA_CONTROL_ALPHA_REF__SHIFT) & A6XX_RB_ALPHA_CONTROL_ALPHA_REF__MASK; 34442d756322SRob Clark } 34452d756322SRob Clark #define A6XX_RB_ALPHA_CONTROL_ALPHA_TEST 0x00000100 34462d756322SRob Clark #define A6XX_RB_ALPHA_CONTROL_ALPHA_TEST_FUNC__MASK 0x00000e00 34472d756322SRob Clark #define A6XX_RB_ALPHA_CONTROL_ALPHA_TEST_FUNC__SHIFT 9 34482d756322SRob Clark static inline uint32_t A6XX_RB_ALPHA_CONTROL_ALPHA_TEST_FUNC(enum adreno_compare_func val) 34492d756322SRob Clark { 34502d756322SRob Clark return ((val) << A6XX_RB_ALPHA_CONTROL_ALPHA_TEST_FUNC__SHIFT) & A6XX_RB_ALPHA_CONTROL_ALPHA_TEST_FUNC__MASK; 34512d756322SRob Clark } 34522d756322SRob Clark 34532d756322SRob Clark #define REG_A6XX_RB_BLEND_CNTL 0x00008865 34542d756322SRob Clark #define A6XX_RB_BLEND_CNTL_ENABLE_BLEND__MASK 0x000000ff 34552d756322SRob Clark #define A6XX_RB_BLEND_CNTL_ENABLE_BLEND__SHIFT 0 34562d756322SRob Clark static inline uint32_t A6XX_RB_BLEND_CNTL_ENABLE_BLEND(uint32_t val) 34572d756322SRob Clark { 34582d756322SRob Clark return ((val) << A6XX_RB_BLEND_CNTL_ENABLE_BLEND__SHIFT) & A6XX_RB_BLEND_CNTL_ENABLE_BLEND__MASK; 34592d756322SRob Clark } 34602d756322SRob Clark #define A6XX_RB_BLEND_CNTL_INDEPENDENT_BLEND 0x00000100 3461ccdf7e28SRob Clark #define A6XX_RB_BLEND_CNTL_ALPHA_TO_COVERAGE 0x00000400 34622d756322SRob Clark #define A6XX_RB_BLEND_CNTL_SAMPLE_MASK__MASK 0xffff0000 34632d756322SRob Clark #define A6XX_RB_BLEND_CNTL_SAMPLE_MASK__SHIFT 16 34642d756322SRob Clark static inline uint32_t A6XX_RB_BLEND_CNTL_SAMPLE_MASK(uint32_t val) 34652d756322SRob Clark { 34662d756322SRob Clark return ((val) << A6XX_RB_BLEND_CNTL_SAMPLE_MASK__SHIFT) & A6XX_RB_BLEND_CNTL_SAMPLE_MASK__MASK; 34672d756322SRob Clark } 34682d756322SRob Clark 3469a69c5ed2SRob Clark #define REG_A6XX_RB_DEPTH_PLANE_CNTL 0x00008870 3470a69c5ed2SRob Clark #define A6XX_RB_DEPTH_PLANE_CNTL_FRAG_WRITES_Z 0x00000001 3471a69c5ed2SRob Clark 34722d756322SRob Clark #define REG_A6XX_RB_DEPTH_CNTL 0x00008871 34732d756322SRob Clark #define A6XX_RB_DEPTH_CNTL_Z_ENABLE 0x00000001 34742d756322SRob Clark #define A6XX_RB_DEPTH_CNTL_Z_WRITE_ENABLE 0x00000002 34752d756322SRob Clark #define A6XX_RB_DEPTH_CNTL_ZFUNC__MASK 0x0000001c 34762d756322SRob Clark #define A6XX_RB_DEPTH_CNTL_ZFUNC__SHIFT 2 34772d756322SRob Clark static inline uint32_t A6XX_RB_DEPTH_CNTL_ZFUNC(enum adreno_compare_func val) 34782d756322SRob Clark { 34792d756322SRob Clark return ((val) << A6XX_RB_DEPTH_CNTL_ZFUNC__SHIFT) & A6XX_RB_DEPTH_CNTL_ZFUNC__MASK; 34802d756322SRob Clark } 34812d756322SRob Clark #define A6XX_RB_DEPTH_CNTL_Z_TEST_ENABLE 0x00000040 34822d756322SRob Clark 34832d756322SRob Clark #define REG_A6XX_RB_DEPTH_BUFFER_INFO 0x00008872 34842d756322SRob Clark #define A6XX_RB_DEPTH_BUFFER_INFO_DEPTH_FORMAT__MASK 0x00000007 34852d756322SRob Clark #define A6XX_RB_DEPTH_BUFFER_INFO_DEPTH_FORMAT__SHIFT 0 34862d756322SRob Clark static inline uint32_t A6XX_RB_DEPTH_BUFFER_INFO_DEPTH_FORMAT(enum a6xx_depth_format val) 34872d756322SRob Clark { 34882d756322SRob Clark return ((val) << A6XX_RB_DEPTH_BUFFER_INFO_DEPTH_FORMAT__SHIFT) & A6XX_RB_DEPTH_BUFFER_INFO_DEPTH_FORMAT__MASK; 34892d756322SRob Clark } 34902d756322SRob Clark 34912d756322SRob Clark #define REG_A6XX_RB_DEPTH_BUFFER_PITCH 0x00008873 34922d756322SRob Clark #define A6XX_RB_DEPTH_BUFFER_PITCH__MASK 0xffffffff 34932d756322SRob Clark #define A6XX_RB_DEPTH_BUFFER_PITCH__SHIFT 0 34942d756322SRob Clark static inline uint32_t A6XX_RB_DEPTH_BUFFER_PITCH(uint32_t val) 34952d756322SRob Clark { 34962d756322SRob Clark return ((val >> 6) << A6XX_RB_DEPTH_BUFFER_PITCH__SHIFT) & A6XX_RB_DEPTH_BUFFER_PITCH__MASK; 34972d756322SRob Clark } 34982d756322SRob Clark 34992d756322SRob Clark #define REG_A6XX_RB_DEPTH_BUFFER_ARRAY_PITCH 0x00008874 35002d756322SRob Clark #define A6XX_RB_DEPTH_BUFFER_ARRAY_PITCH__MASK 0xffffffff 35012d756322SRob Clark #define A6XX_RB_DEPTH_BUFFER_ARRAY_PITCH__SHIFT 0 35022d756322SRob Clark static inline uint32_t A6XX_RB_DEPTH_BUFFER_ARRAY_PITCH(uint32_t val) 35032d756322SRob Clark { 35042d756322SRob Clark return ((val >> 6) << A6XX_RB_DEPTH_BUFFER_ARRAY_PITCH__SHIFT) & A6XX_RB_DEPTH_BUFFER_ARRAY_PITCH__MASK; 35052d756322SRob Clark } 35062d756322SRob Clark 35072d756322SRob Clark #define REG_A6XX_RB_DEPTH_BUFFER_BASE_LO 0x00008875 35082d756322SRob Clark 35092d756322SRob Clark #define REG_A6XX_RB_DEPTH_BUFFER_BASE_HI 0x00008876 35102d756322SRob Clark 35112d756322SRob Clark #define REG_A6XX_RB_DEPTH_BUFFER_BASE_GMEM 0x00008877 35122d756322SRob Clark 35132d756322SRob Clark #define REG_A6XX_RB_UNKNOWN_8878 0x00008878 35142d756322SRob Clark 35152d756322SRob Clark #define REG_A6XX_RB_UNKNOWN_8879 0x00008879 35162d756322SRob Clark 35172d756322SRob Clark #define REG_A6XX_RB_STENCIL_CONTROL 0x00008880 35182d756322SRob Clark #define A6XX_RB_STENCIL_CONTROL_STENCIL_ENABLE 0x00000001 35192d756322SRob Clark #define A6XX_RB_STENCIL_CONTROL_STENCIL_ENABLE_BF 0x00000002 35202d756322SRob Clark #define A6XX_RB_STENCIL_CONTROL_STENCIL_READ 0x00000004 35212d756322SRob Clark #define A6XX_RB_STENCIL_CONTROL_FUNC__MASK 0x00000700 35222d756322SRob Clark #define A6XX_RB_STENCIL_CONTROL_FUNC__SHIFT 8 35232d756322SRob Clark static inline uint32_t A6XX_RB_STENCIL_CONTROL_FUNC(enum adreno_compare_func val) 35242d756322SRob Clark { 35252d756322SRob Clark return ((val) << A6XX_RB_STENCIL_CONTROL_FUNC__SHIFT) & A6XX_RB_STENCIL_CONTROL_FUNC__MASK; 35262d756322SRob Clark } 35272d756322SRob Clark #define A6XX_RB_STENCIL_CONTROL_FAIL__MASK 0x00003800 35282d756322SRob Clark #define A6XX_RB_STENCIL_CONTROL_FAIL__SHIFT 11 35292d756322SRob Clark static inline uint32_t A6XX_RB_STENCIL_CONTROL_FAIL(enum adreno_stencil_op val) 35302d756322SRob Clark { 35312d756322SRob Clark return ((val) << A6XX_RB_STENCIL_CONTROL_FAIL__SHIFT) & A6XX_RB_STENCIL_CONTROL_FAIL__MASK; 35322d756322SRob Clark } 35332d756322SRob Clark #define A6XX_RB_STENCIL_CONTROL_ZPASS__MASK 0x0001c000 35342d756322SRob Clark #define A6XX_RB_STENCIL_CONTROL_ZPASS__SHIFT 14 35352d756322SRob Clark static inline uint32_t A6XX_RB_STENCIL_CONTROL_ZPASS(enum adreno_stencil_op val) 35362d756322SRob Clark { 35372d756322SRob Clark return ((val) << A6XX_RB_STENCIL_CONTROL_ZPASS__SHIFT) & A6XX_RB_STENCIL_CONTROL_ZPASS__MASK; 35382d756322SRob Clark } 35392d756322SRob Clark #define A6XX_RB_STENCIL_CONTROL_ZFAIL__MASK 0x000e0000 35402d756322SRob Clark #define A6XX_RB_STENCIL_CONTROL_ZFAIL__SHIFT 17 35412d756322SRob Clark static inline uint32_t A6XX_RB_STENCIL_CONTROL_ZFAIL(enum adreno_stencil_op val) 35422d756322SRob Clark { 35432d756322SRob Clark return ((val) << A6XX_RB_STENCIL_CONTROL_ZFAIL__SHIFT) & A6XX_RB_STENCIL_CONTROL_ZFAIL__MASK; 35442d756322SRob Clark } 35452d756322SRob Clark #define A6XX_RB_STENCIL_CONTROL_FUNC_BF__MASK 0x00700000 35462d756322SRob Clark #define A6XX_RB_STENCIL_CONTROL_FUNC_BF__SHIFT 20 35472d756322SRob Clark static inline uint32_t A6XX_RB_STENCIL_CONTROL_FUNC_BF(enum adreno_compare_func val) 35482d756322SRob Clark { 35492d756322SRob Clark return ((val) << A6XX_RB_STENCIL_CONTROL_FUNC_BF__SHIFT) & A6XX_RB_STENCIL_CONTROL_FUNC_BF__MASK; 35502d756322SRob Clark } 35512d756322SRob Clark #define A6XX_RB_STENCIL_CONTROL_FAIL_BF__MASK 0x03800000 35522d756322SRob Clark #define A6XX_RB_STENCIL_CONTROL_FAIL_BF__SHIFT 23 35532d756322SRob Clark static inline uint32_t A6XX_RB_STENCIL_CONTROL_FAIL_BF(enum adreno_stencil_op val) 35542d756322SRob Clark { 35552d756322SRob Clark return ((val) << A6XX_RB_STENCIL_CONTROL_FAIL_BF__SHIFT) & A6XX_RB_STENCIL_CONTROL_FAIL_BF__MASK; 35562d756322SRob Clark } 35572d756322SRob Clark #define A6XX_RB_STENCIL_CONTROL_ZPASS_BF__MASK 0x1c000000 35582d756322SRob Clark #define A6XX_RB_STENCIL_CONTROL_ZPASS_BF__SHIFT 26 35592d756322SRob Clark static inline uint32_t A6XX_RB_STENCIL_CONTROL_ZPASS_BF(enum adreno_stencil_op val) 35602d756322SRob Clark { 35612d756322SRob Clark return ((val) << A6XX_RB_STENCIL_CONTROL_ZPASS_BF__SHIFT) & A6XX_RB_STENCIL_CONTROL_ZPASS_BF__MASK; 35622d756322SRob Clark } 35632d756322SRob Clark #define A6XX_RB_STENCIL_CONTROL_ZFAIL_BF__MASK 0xe0000000 35642d756322SRob Clark #define A6XX_RB_STENCIL_CONTROL_ZFAIL_BF__SHIFT 29 35652d756322SRob Clark static inline uint32_t A6XX_RB_STENCIL_CONTROL_ZFAIL_BF(enum adreno_stencil_op val) 35662d756322SRob Clark { 35672d756322SRob Clark return ((val) << A6XX_RB_STENCIL_CONTROL_ZFAIL_BF__SHIFT) & A6XX_RB_STENCIL_CONTROL_ZFAIL_BF__MASK; 35682d756322SRob Clark } 35692d756322SRob Clark 35702d756322SRob Clark #define REG_A6XX_RB_STENCIL_INFO 0x00008881 35712d756322SRob Clark #define A6XX_RB_STENCIL_INFO_SEPARATE_STENCIL 0x00000001 35722d756322SRob Clark 35732d756322SRob Clark #define REG_A6XX_RB_STENCIL_BUFFER_PITCH 0x00008882 35742d756322SRob Clark #define A6XX_RB_STENCIL_BUFFER_PITCH__MASK 0xffffffff 35752d756322SRob Clark #define A6XX_RB_STENCIL_BUFFER_PITCH__SHIFT 0 35762d756322SRob Clark static inline uint32_t A6XX_RB_STENCIL_BUFFER_PITCH(uint32_t val) 35772d756322SRob Clark { 35782d756322SRob Clark return ((val >> 6) << A6XX_RB_STENCIL_BUFFER_PITCH__SHIFT) & A6XX_RB_STENCIL_BUFFER_PITCH__MASK; 35792d756322SRob Clark } 35802d756322SRob Clark 35812d756322SRob Clark #define REG_A6XX_RB_STENCIL_BUFFER_ARRAY_PITCH 0x00008883 35822d756322SRob Clark #define A6XX_RB_STENCIL_BUFFER_ARRAY_PITCH__MASK 0xffffffff 35832d756322SRob Clark #define A6XX_RB_STENCIL_BUFFER_ARRAY_PITCH__SHIFT 0 35842d756322SRob Clark static inline uint32_t A6XX_RB_STENCIL_BUFFER_ARRAY_PITCH(uint32_t val) 35852d756322SRob Clark { 35862d756322SRob Clark return ((val >> 6) << A6XX_RB_STENCIL_BUFFER_ARRAY_PITCH__SHIFT) & A6XX_RB_STENCIL_BUFFER_ARRAY_PITCH__MASK; 35872d756322SRob Clark } 35882d756322SRob Clark 35892d756322SRob Clark #define REG_A6XX_RB_STENCIL_BUFFER_BASE_LO 0x00008884 35902d756322SRob Clark 35912d756322SRob Clark #define REG_A6XX_RB_STENCIL_BUFFER_BASE_HI 0x00008885 35922d756322SRob Clark 35932d756322SRob Clark #define REG_A6XX_RB_STENCIL_BUFFER_BASE_GMEM 0x00008886 35942d756322SRob Clark 35952d756322SRob Clark #define REG_A6XX_RB_STENCILREF 0x00008887 35962d756322SRob Clark #define A6XX_RB_STENCILREF_REF__MASK 0x000000ff 35972d756322SRob Clark #define A6XX_RB_STENCILREF_REF__SHIFT 0 35982d756322SRob Clark static inline uint32_t A6XX_RB_STENCILREF_REF(uint32_t val) 35992d756322SRob Clark { 36002d756322SRob Clark return ((val) << A6XX_RB_STENCILREF_REF__SHIFT) & A6XX_RB_STENCILREF_REF__MASK; 36012d756322SRob Clark } 3602a69c5ed2SRob Clark #define A6XX_RB_STENCILREF_BFREF__MASK 0x0000ff00 3603a69c5ed2SRob Clark #define A6XX_RB_STENCILREF_BFREF__SHIFT 8 3604a69c5ed2SRob Clark static inline uint32_t A6XX_RB_STENCILREF_BFREF(uint32_t val) 3605a69c5ed2SRob Clark { 3606a69c5ed2SRob Clark return ((val) << A6XX_RB_STENCILREF_BFREF__SHIFT) & A6XX_RB_STENCILREF_BFREF__MASK; 3607a69c5ed2SRob Clark } 36082d756322SRob Clark 36092d756322SRob Clark #define REG_A6XX_RB_STENCILMASK 0x00008888 36102d756322SRob Clark #define A6XX_RB_STENCILMASK_MASK__MASK 0x000000ff 36112d756322SRob Clark #define A6XX_RB_STENCILMASK_MASK__SHIFT 0 36122d756322SRob Clark static inline uint32_t A6XX_RB_STENCILMASK_MASK(uint32_t val) 36132d756322SRob Clark { 36142d756322SRob Clark return ((val) << A6XX_RB_STENCILMASK_MASK__SHIFT) & A6XX_RB_STENCILMASK_MASK__MASK; 36152d756322SRob Clark } 3616a69c5ed2SRob Clark #define A6XX_RB_STENCILMASK_BFMASK__MASK 0x0000ff00 3617a69c5ed2SRob Clark #define A6XX_RB_STENCILMASK_BFMASK__SHIFT 8 3618a69c5ed2SRob Clark static inline uint32_t A6XX_RB_STENCILMASK_BFMASK(uint32_t val) 3619a69c5ed2SRob Clark { 3620a69c5ed2SRob Clark return ((val) << A6XX_RB_STENCILMASK_BFMASK__SHIFT) & A6XX_RB_STENCILMASK_BFMASK__MASK; 3621a69c5ed2SRob Clark } 36222d756322SRob Clark 36232d756322SRob Clark #define REG_A6XX_RB_STENCILWRMASK 0x00008889 36242d756322SRob Clark #define A6XX_RB_STENCILWRMASK_WRMASK__MASK 0x000000ff 36252d756322SRob Clark #define A6XX_RB_STENCILWRMASK_WRMASK__SHIFT 0 36262d756322SRob Clark static inline uint32_t A6XX_RB_STENCILWRMASK_WRMASK(uint32_t val) 36272d756322SRob Clark { 36282d756322SRob Clark return ((val) << A6XX_RB_STENCILWRMASK_WRMASK__SHIFT) & A6XX_RB_STENCILWRMASK_WRMASK__MASK; 36292d756322SRob Clark } 3630a69c5ed2SRob Clark #define A6XX_RB_STENCILWRMASK_BFWRMASK__MASK 0x0000ff00 3631a69c5ed2SRob Clark #define A6XX_RB_STENCILWRMASK_BFWRMASK__SHIFT 8 3632a69c5ed2SRob Clark static inline uint32_t A6XX_RB_STENCILWRMASK_BFWRMASK(uint32_t val) 3633a69c5ed2SRob Clark { 3634a69c5ed2SRob Clark return ((val) << A6XX_RB_STENCILWRMASK_BFWRMASK__SHIFT) & A6XX_RB_STENCILWRMASK_BFWRMASK__MASK; 3635a69c5ed2SRob Clark } 36362d756322SRob Clark 36372d756322SRob Clark #define REG_A6XX_RB_WINDOW_OFFSET 0x00008890 36382d756322SRob Clark #define A6XX_RB_WINDOW_OFFSET_WINDOW_OFFSET_DISABLE 0x80000000 36392d756322SRob Clark #define A6XX_RB_WINDOW_OFFSET_X__MASK 0x00007fff 36402d756322SRob Clark #define A6XX_RB_WINDOW_OFFSET_X__SHIFT 0 36412d756322SRob Clark static inline uint32_t A6XX_RB_WINDOW_OFFSET_X(uint32_t val) 36422d756322SRob Clark { 36432d756322SRob Clark return ((val) << A6XX_RB_WINDOW_OFFSET_X__SHIFT) & A6XX_RB_WINDOW_OFFSET_X__MASK; 36442d756322SRob Clark } 36452d756322SRob Clark #define A6XX_RB_WINDOW_OFFSET_Y__MASK 0x7fff0000 36462d756322SRob Clark #define A6XX_RB_WINDOW_OFFSET_Y__SHIFT 16 36472d756322SRob Clark static inline uint32_t A6XX_RB_WINDOW_OFFSET_Y(uint32_t val) 36482d756322SRob Clark { 36492d756322SRob Clark return ((val) << A6XX_RB_WINDOW_OFFSET_Y__SHIFT) & A6XX_RB_WINDOW_OFFSET_Y__MASK; 36502d756322SRob Clark } 36512d756322SRob Clark 36522d756322SRob Clark #define REG_A6XX_RB_SAMPLE_COUNT_CONTROL 0x00008891 36532d756322SRob Clark #define A6XX_RB_SAMPLE_COUNT_CONTROL_COPY 0x00000002 36542d756322SRob Clark 3655ccdf7e28SRob Clark #define REG_A6XX_RB_LRZ_CNTL 0x00008898 3656ccdf7e28SRob Clark #define A6XX_RB_LRZ_CNTL_ENABLE 0x00000001 3657ccdf7e28SRob Clark 36582d756322SRob Clark #define REG_A6XX_RB_UNKNOWN_88D0 0x000088d0 36592d756322SRob Clark 36602d756322SRob Clark #define REG_A6XX_RB_BLIT_SCISSOR_TL 0x000088d1 36612d756322SRob Clark #define A6XX_RB_BLIT_SCISSOR_TL_WINDOW_OFFSET_DISABLE 0x80000000 36622d756322SRob Clark #define A6XX_RB_BLIT_SCISSOR_TL_X__MASK 0x00007fff 36632d756322SRob Clark #define A6XX_RB_BLIT_SCISSOR_TL_X__SHIFT 0 36642d756322SRob Clark static inline uint32_t A6XX_RB_BLIT_SCISSOR_TL_X(uint32_t val) 36652d756322SRob Clark { 36662d756322SRob Clark return ((val) << A6XX_RB_BLIT_SCISSOR_TL_X__SHIFT) & A6XX_RB_BLIT_SCISSOR_TL_X__MASK; 36672d756322SRob Clark } 36682d756322SRob Clark #define A6XX_RB_BLIT_SCISSOR_TL_Y__MASK 0x7fff0000 36692d756322SRob Clark #define A6XX_RB_BLIT_SCISSOR_TL_Y__SHIFT 16 36702d756322SRob Clark static inline uint32_t A6XX_RB_BLIT_SCISSOR_TL_Y(uint32_t val) 36712d756322SRob Clark { 36722d756322SRob Clark return ((val) << A6XX_RB_BLIT_SCISSOR_TL_Y__SHIFT) & A6XX_RB_BLIT_SCISSOR_TL_Y__MASK; 36732d756322SRob Clark } 36742d756322SRob Clark 36752d756322SRob Clark #define REG_A6XX_RB_BLIT_SCISSOR_BR 0x000088d2 36762d756322SRob Clark #define A6XX_RB_BLIT_SCISSOR_BR_WINDOW_OFFSET_DISABLE 0x80000000 36772d756322SRob Clark #define A6XX_RB_BLIT_SCISSOR_BR_X__MASK 0x00007fff 36782d756322SRob Clark #define A6XX_RB_BLIT_SCISSOR_BR_X__SHIFT 0 36792d756322SRob Clark static inline uint32_t A6XX_RB_BLIT_SCISSOR_BR_X(uint32_t val) 36802d756322SRob Clark { 36812d756322SRob Clark return ((val) << A6XX_RB_BLIT_SCISSOR_BR_X__SHIFT) & A6XX_RB_BLIT_SCISSOR_BR_X__MASK; 36822d756322SRob Clark } 36832d756322SRob Clark #define A6XX_RB_BLIT_SCISSOR_BR_Y__MASK 0x7fff0000 36842d756322SRob Clark #define A6XX_RB_BLIT_SCISSOR_BR_Y__SHIFT 16 36852d756322SRob Clark static inline uint32_t A6XX_RB_BLIT_SCISSOR_BR_Y(uint32_t val) 36862d756322SRob Clark { 36872d756322SRob Clark return ((val) << A6XX_RB_BLIT_SCISSOR_BR_Y__SHIFT) & A6XX_RB_BLIT_SCISSOR_BR_Y__MASK; 36882d756322SRob Clark } 36892d756322SRob Clark 3690ccdf7e28SRob Clark #define REG_A6XX_RB_MSAA_CNTL 0x000088d5 3691ccdf7e28SRob Clark #define A6XX_RB_MSAA_CNTL_SAMPLES__MASK 0x00000018 3692ccdf7e28SRob Clark #define A6XX_RB_MSAA_CNTL_SAMPLES__SHIFT 3 3693ccdf7e28SRob Clark static inline uint32_t A6XX_RB_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val) 3694ccdf7e28SRob Clark { 3695ccdf7e28SRob Clark return ((val) << A6XX_RB_MSAA_CNTL_SAMPLES__SHIFT) & A6XX_RB_MSAA_CNTL_SAMPLES__MASK; 3696ccdf7e28SRob Clark } 3697ccdf7e28SRob Clark 36982d756322SRob Clark #define REG_A6XX_RB_BLIT_BASE_GMEM 0x000088d6 36992d756322SRob Clark 37002d756322SRob Clark #define REG_A6XX_RB_BLIT_DST_INFO 0x000088d7 37012d756322SRob Clark #define A6XX_RB_BLIT_DST_INFO_TILE_MODE__MASK 0x00000003 37022d756322SRob Clark #define A6XX_RB_BLIT_DST_INFO_TILE_MODE__SHIFT 0 37032d756322SRob Clark static inline uint32_t A6XX_RB_BLIT_DST_INFO_TILE_MODE(enum a6xx_tile_mode val) 37042d756322SRob Clark { 37052d756322SRob Clark return ((val) << A6XX_RB_BLIT_DST_INFO_TILE_MODE__SHIFT) & A6XX_RB_BLIT_DST_INFO_TILE_MODE__MASK; 37062d756322SRob Clark } 37072d756322SRob Clark #define A6XX_RB_BLIT_DST_INFO_FLAGS 0x00000004 3708ccdf7e28SRob Clark #define A6XX_RB_BLIT_DST_INFO_SAMPLES__MASK 0x00000018 3709ccdf7e28SRob Clark #define A6XX_RB_BLIT_DST_INFO_SAMPLES__SHIFT 3 3710ccdf7e28SRob Clark static inline uint32_t A6XX_RB_BLIT_DST_INFO_SAMPLES(enum a3xx_msaa_samples val) 3711ccdf7e28SRob Clark { 3712ccdf7e28SRob Clark return ((val) << A6XX_RB_BLIT_DST_INFO_SAMPLES__SHIFT) & A6XX_RB_BLIT_DST_INFO_SAMPLES__MASK; 3713ccdf7e28SRob Clark } 37142d756322SRob Clark #define A6XX_RB_BLIT_DST_INFO_COLOR_FORMAT__MASK 0x00007f80 37152d756322SRob Clark #define A6XX_RB_BLIT_DST_INFO_COLOR_FORMAT__SHIFT 7 37162d756322SRob Clark static inline uint32_t A6XX_RB_BLIT_DST_INFO_COLOR_FORMAT(enum a6xx_color_fmt val) 37172d756322SRob Clark { 37182d756322SRob Clark return ((val) << A6XX_RB_BLIT_DST_INFO_COLOR_FORMAT__SHIFT) & A6XX_RB_BLIT_DST_INFO_COLOR_FORMAT__MASK; 37192d756322SRob Clark } 37202d756322SRob Clark #define A6XX_RB_BLIT_DST_INFO_COLOR_SWAP__MASK 0x00000060 37212d756322SRob Clark #define A6XX_RB_BLIT_DST_INFO_COLOR_SWAP__SHIFT 5 37222d756322SRob Clark static inline uint32_t A6XX_RB_BLIT_DST_INFO_COLOR_SWAP(enum a3xx_color_swap val) 37232d756322SRob Clark { 37242d756322SRob Clark return ((val) << A6XX_RB_BLIT_DST_INFO_COLOR_SWAP__SHIFT) & A6XX_RB_BLIT_DST_INFO_COLOR_SWAP__MASK; 37252d756322SRob Clark } 37262d756322SRob Clark 37272d756322SRob Clark #define REG_A6XX_RB_BLIT_DST_LO 0x000088d8 37282d756322SRob Clark 37292d756322SRob Clark #define REG_A6XX_RB_BLIT_DST_HI 0x000088d9 37302d756322SRob Clark 37312d756322SRob Clark #define REG_A6XX_RB_BLIT_DST_PITCH 0x000088da 37322d756322SRob Clark #define A6XX_RB_BLIT_DST_PITCH__MASK 0xffffffff 37332d756322SRob Clark #define A6XX_RB_BLIT_DST_PITCH__SHIFT 0 37342d756322SRob Clark static inline uint32_t A6XX_RB_BLIT_DST_PITCH(uint32_t val) 37352d756322SRob Clark { 37362d756322SRob Clark return ((val >> 6) << A6XX_RB_BLIT_DST_PITCH__SHIFT) & A6XX_RB_BLIT_DST_PITCH__MASK; 37372d756322SRob Clark } 37382d756322SRob Clark 37392d756322SRob Clark #define REG_A6XX_RB_BLIT_DST_ARRAY_PITCH 0x000088db 37402d756322SRob Clark #define A6XX_RB_BLIT_DST_ARRAY_PITCH__MASK 0xffffffff 37412d756322SRob Clark #define A6XX_RB_BLIT_DST_ARRAY_PITCH__SHIFT 0 37422d756322SRob Clark static inline uint32_t A6XX_RB_BLIT_DST_ARRAY_PITCH(uint32_t val) 37432d756322SRob Clark { 37442d756322SRob Clark return ((val >> 6) << A6XX_RB_BLIT_DST_ARRAY_PITCH__SHIFT) & A6XX_RB_BLIT_DST_ARRAY_PITCH__MASK; 37452d756322SRob Clark } 37462d756322SRob Clark 37472d756322SRob Clark #define REG_A6XX_RB_BLIT_FLAG_DST_LO 0x000088dc 37482d756322SRob Clark 37492d756322SRob Clark #define REG_A6XX_RB_BLIT_FLAG_DST_HI 0x000088dd 37502d756322SRob Clark 37512d756322SRob Clark #define REG_A6XX_RB_BLIT_CLEAR_COLOR_DW0 0x000088df 37522d756322SRob Clark 37532d756322SRob Clark #define REG_A6XX_RB_BLIT_CLEAR_COLOR_DW1 0x000088e0 37542d756322SRob Clark 37552d756322SRob Clark #define REG_A6XX_RB_BLIT_CLEAR_COLOR_DW2 0x000088e1 37562d756322SRob Clark 37572d756322SRob Clark #define REG_A6XX_RB_BLIT_CLEAR_COLOR_DW3 0x000088e2 37582d756322SRob Clark 37592d756322SRob Clark #define REG_A6XX_RB_BLIT_INFO 0x000088e3 37602d756322SRob Clark #define A6XX_RB_BLIT_INFO_UNK0 0x00000001 3761a69c5ed2SRob Clark #define A6XX_RB_BLIT_INFO_GMEM 0x00000002 37622d756322SRob Clark #define A6XX_RB_BLIT_INFO_INTEGER 0x00000004 3763a69c5ed2SRob Clark #define A6XX_RB_BLIT_INFO_DEPTH 0x00000008 3764a69c5ed2SRob Clark #define A6XX_RB_BLIT_INFO_CLEAR_MASK__MASK 0x000000f0 3765a69c5ed2SRob Clark #define A6XX_RB_BLIT_INFO_CLEAR_MASK__SHIFT 4 3766a69c5ed2SRob Clark static inline uint32_t A6XX_RB_BLIT_INFO_CLEAR_MASK(uint32_t val) 37672d756322SRob Clark { 3768a69c5ed2SRob Clark return ((val) << A6XX_RB_BLIT_INFO_CLEAR_MASK__SHIFT) & A6XX_RB_BLIT_INFO_CLEAR_MASK__MASK; 37692d756322SRob Clark } 37702d756322SRob Clark 37712d756322SRob Clark #define REG_A6XX_RB_UNKNOWN_88F0 0x000088f0 37722d756322SRob Clark 37732d756322SRob Clark #define REG_A6XX_RB_DEPTH_FLAG_BUFFER_BASE_LO 0x00008900 37742d756322SRob Clark 37752d756322SRob Clark #define REG_A6XX_RB_DEPTH_FLAG_BUFFER_BASE_HI 0x00008901 37762d756322SRob Clark 37772d756322SRob Clark #define REG_A6XX_RB_DEPTH_FLAG_BUFFER_PITCH 0x00008902 37782d756322SRob Clark 37792d756322SRob Clark static inline uint32_t REG_A6XX_RB_MRT_FLAG_BUFFER(uint32_t i0) { return 0x00008903 + 0x3*i0; } 37802d756322SRob Clark 37812d756322SRob Clark static inline uint32_t REG_A6XX_RB_MRT_FLAG_BUFFER_ADDR_LO(uint32_t i0) { return 0x00008903 + 0x3*i0; } 37822d756322SRob Clark 37832d756322SRob Clark static inline uint32_t REG_A6XX_RB_MRT_FLAG_BUFFER_ADDR_HI(uint32_t i0) { return 0x00008904 + 0x3*i0; } 37842d756322SRob Clark 37852d756322SRob Clark static inline uint32_t REG_A6XX_RB_MRT_FLAG_BUFFER_PITCH(uint32_t i0) { return 0x00008905 + 0x3*i0; } 37862d756322SRob Clark #define A6XX_RB_MRT_FLAG_BUFFER_PITCH_PITCH__MASK 0x000007ff 37872d756322SRob Clark #define A6XX_RB_MRT_FLAG_BUFFER_PITCH_PITCH__SHIFT 0 37882d756322SRob Clark static inline uint32_t A6XX_RB_MRT_FLAG_BUFFER_PITCH_PITCH(uint32_t val) 37892d756322SRob Clark { 37902d756322SRob Clark return ((val >> 5) << A6XX_RB_MRT_FLAG_BUFFER_PITCH_PITCH__SHIFT) & A6XX_RB_MRT_FLAG_BUFFER_PITCH_PITCH__MASK; 37912d756322SRob Clark } 37922d756322SRob Clark #define A6XX_RB_MRT_FLAG_BUFFER_PITCH_ARRAY_PITCH__MASK 0x003ff800 37932d756322SRob Clark #define A6XX_RB_MRT_FLAG_BUFFER_PITCH_ARRAY_PITCH__SHIFT 11 37942d756322SRob Clark static inline uint32_t A6XX_RB_MRT_FLAG_BUFFER_PITCH_ARRAY_PITCH(uint32_t val) 37952d756322SRob Clark { 37962d756322SRob Clark return ((val >> 5) << A6XX_RB_MRT_FLAG_BUFFER_PITCH_ARRAY_PITCH__SHIFT) & A6XX_RB_MRT_FLAG_BUFFER_PITCH_ARRAY_PITCH__MASK; 37972d756322SRob Clark } 37982d756322SRob Clark 37992d756322SRob Clark #define REG_A6XX_RB_SAMPLE_COUNT_ADDR_LO 0x00008927 38002d756322SRob Clark 38012d756322SRob Clark #define REG_A6XX_RB_SAMPLE_COUNT_ADDR_HI 0x00008928 38022d756322SRob Clark 38032d756322SRob Clark #define REG_A6XX_RB_2D_BLIT_CNTL 0x00008c00 38042d756322SRob Clark #define A6XX_RB_2D_BLIT_CNTL_COLOR_FORMAT__MASK 0x0000ff00 38052d756322SRob Clark #define A6XX_RB_2D_BLIT_CNTL_COLOR_FORMAT__SHIFT 8 38062d756322SRob Clark static inline uint32_t A6XX_RB_2D_BLIT_CNTL_COLOR_FORMAT(enum a6xx_color_fmt val) 38072d756322SRob Clark { 38082d756322SRob Clark return ((val) << A6XX_RB_2D_BLIT_CNTL_COLOR_FORMAT__SHIFT) & A6XX_RB_2D_BLIT_CNTL_COLOR_FORMAT__MASK; 38092d756322SRob Clark } 3810ccdf7e28SRob Clark #define A6XX_RB_2D_BLIT_CNTL_SCISSOR 0x00010000 3811ccdf7e28SRob Clark 3812ccdf7e28SRob Clark #define REG_A6XX_RB_UNKNOWN_8C01 0x00008c01 38132d756322SRob Clark 38142d756322SRob Clark #define REG_A6XX_RB_2D_DST_INFO 0x00008c17 38152d756322SRob Clark #define A6XX_RB_2D_DST_INFO_COLOR_FORMAT__MASK 0x000000ff 38162d756322SRob Clark #define A6XX_RB_2D_DST_INFO_COLOR_FORMAT__SHIFT 0 38172d756322SRob Clark static inline uint32_t A6XX_RB_2D_DST_INFO_COLOR_FORMAT(enum a6xx_color_fmt val) 38182d756322SRob Clark { 38192d756322SRob Clark return ((val) << A6XX_RB_2D_DST_INFO_COLOR_FORMAT__SHIFT) & A6XX_RB_2D_DST_INFO_COLOR_FORMAT__MASK; 38202d756322SRob Clark } 38212d756322SRob Clark #define A6XX_RB_2D_DST_INFO_TILE_MODE__MASK 0x00000300 38222d756322SRob Clark #define A6XX_RB_2D_DST_INFO_TILE_MODE__SHIFT 8 38232d756322SRob Clark static inline uint32_t A6XX_RB_2D_DST_INFO_TILE_MODE(enum a6xx_tile_mode val) 38242d756322SRob Clark { 38252d756322SRob Clark return ((val) << A6XX_RB_2D_DST_INFO_TILE_MODE__SHIFT) & A6XX_RB_2D_DST_INFO_TILE_MODE__MASK; 38262d756322SRob Clark } 38272d756322SRob Clark #define A6XX_RB_2D_DST_INFO_COLOR_SWAP__MASK 0x00000c00 38282d756322SRob Clark #define A6XX_RB_2D_DST_INFO_COLOR_SWAP__SHIFT 10 38292d756322SRob Clark static inline uint32_t A6XX_RB_2D_DST_INFO_COLOR_SWAP(enum a3xx_color_swap val) 38302d756322SRob Clark { 38312d756322SRob Clark return ((val) << A6XX_RB_2D_DST_INFO_COLOR_SWAP__SHIFT) & A6XX_RB_2D_DST_INFO_COLOR_SWAP__MASK; 38322d756322SRob Clark } 38332d756322SRob Clark #define A6XX_RB_2D_DST_INFO_FLAGS 0x00001000 38342d756322SRob Clark 38352d756322SRob Clark #define REG_A6XX_RB_2D_DST_LO 0x00008c18 38362d756322SRob Clark 38372d756322SRob Clark #define REG_A6XX_RB_2D_DST_HI 0x00008c19 38382d756322SRob Clark 38392d756322SRob Clark #define REG_A6XX_RB_2D_DST_SIZE 0x00008c1a 38402d756322SRob Clark #define A6XX_RB_2D_DST_SIZE_PITCH__MASK 0x0000ffff 38412d756322SRob Clark #define A6XX_RB_2D_DST_SIZE_PITCH__SHIFT 0 38422d756322SRob Clark static inline uint32_t A6XX_RB_2D_DST_SIZE_PITCH(uint32_t val) 38432d756322SRob Clark { 38442d756322SRob Clark return ((val >> 6) << A6XX_RB_2D_DST_SIZE_PITCH__SHIFT) & A6XX_RB_2D_DST_SIZE_PITCH__MASK; 38452d756322SRob Clark } 38462d756322SRob Clark 38472d756322SRob Clark #define REG_A6XX_RB_2D_DST_FLAGS_LO 0x00008c20 38482d756322SRob Clark 38492d756322SRob Clark #define REG_A6XX_RB_2D_DST_FLAGS_HI 0x00008c21 38502d756322SRob Clark 38512d756322SRob Clark #define REG_A6XX_RB_2D_SRC_SOLID_C0 0x00008c2c 38522d756322SRob Clark 38532d756322SRob Clark #define REG_A6XX_RB_2D_SRC_SOLID_C1 0x00008c2d 38542d756322SRob Clark 38552d756322SRob Clark #define REG_A6XX_RB_2D_SRC_SOLID_C2 0x00008c2e 38562d756322SRob Clark 38572d756322SRob Clark #define REG_A6XX_RB_2D_SRC_SOLID_C3 0x00008c2f 38582d756322SRob Clark 38592d756322SRob Clark #define REG_A6XX_RB_UNKNOWN_8E01 0x00008e01 38602d756322SRob Clark 3861a69c5ed2SRob Clark #define REG_A6XX_RB_UNKNOWN_8E04 0x00008e04 3862a69c5ed2SRob Clark 38632d756322SRob Clark #define REG_A6XX_RB_CCU_CNTL 0x00008e07 38642d756322SRob Clark 38652d756322SRob Clark #define REG_A6XX_VPC_UNKNOWN_9101 0x00009101 38662d756322SRob Clark 38672d756322SRob Clark #define REG_A6XX_VPC_GS_SIV_CNTL 0x00009104 38682d756322SRob Clark 3869a69c5ed2SRob Clark #define REG_A6XX_VPC_UNKNOWN_9107 0x00009107 3870a69c5ed2SRob Clark 38712d756322SRob Clark #define REG_A6XX_VPC_UNKNOWN_9108 0x00009108 38722d756322SRob Clark 38732d756322SRob Clark static inline uint32_t REG_A6XX_VPC_VARYING_INTERP(uint32_t i0) { return 0x00009200 + 0x1*i0; } 38742d756322SRob Clark 38752d756322SRob Clark static inline uint32_t REG_A6XX_VPC_VARYING_INTERP_MODE(uint32_t i0) { return 0x00009200 + 0x1*i0; } 38762d756322SRob Clark 38772d756322SRob Clark static inline uint32_t REG_A6XX_VPC_VARYING_PS_REPL(uint32_t i0) { return 0x00009208 + 0x1*i0; } 38782d756322SRob Clark 38792d756322SRob Clark static inline uint32_t REG_A6XX_VPC_VARYING_PS_REPL_MODE(uint32_t i0) { return 0x00009208 + 0x1*i0; } 38802d756322SRob Clark 38812d756322SRob Clark #define REG_A6XX_VPC_UNKNOWN_9210 0x00009210 38822d756322SRob Clark 38832d756322SRob Clark #define REG_A6XX_VPC_UNKNOWN_9211 0x00009211 38842d756322SRob Clark 38852d756322SRob Clark static inline uint32_t REG_A6XX_VPC_VAR(uint32_t i0) { return 0x00009212 + 0x1*i0; } 38862d756322SRob Clark 38872d756322SRob Clark static inline uint32_t REG_A6XX_VPC_VAR_DISABLE(uint32_t i0) { return 0x00009212 + 0x1*i0; } 38882d756322SRob Clark 38892d756322SRob Clark #define REG_A6XX_VPC_SO_CNTL 0x00009216 38902d756322SRob Clark #define A6XX_VPC_SO_CNTL_ENABLE 0x00010000 38912d756322SRob Clark 38922d756322SRob Clark #define REG_A6XX_VPC_SO_PROG 0x00009217 38932d756322SRob Clark #define A6XX_VPC_SO_PROG_A_BUF__MASK 0x00000003 38942d756322SRob Clark #define A6XX_VPC_SO_PROG_A_BUF__SHIFT 0 38952d756322SRob Clark static inline uint32_t A6XX_VPC_SO_PROG_A_BUF(uint32_t val) 38962d756322SRob Clark { 38972d756322SRob Clark return ((val) << A6XX_VPC_SO_PROG_A_BUF__SHIFT) & A6XX_VPC_SO_PROG_A_BUF__MASK; 38982d756322SRob Clark } 38992d756322SRob Clark #define A6XX_VPC_SO_PROG_A_OFF__MASK 0x000007fc 39002d756322SRob Clark #define A6XX_VPC_SO_PROG_A_OFF__SHIFT 2 39012d756322SRob Clark static inline uint32_t A6XX_VPC_SO_PROG_A_OFF(uint32_t val) 39022d756322SRob Clark { 39032d756322SRob Clark return ((val >> 2) << A6XX_VPC_SO_PROG_A_OFF__SHIFT) & A6XX_VPC_SO_PROG_A_OFF__MASK; 39042d756322SRob Clark } 39052d756322SRob Clark #define A6XX_VPC_SO_PROG_A_EN 0x00000800 39062d756322SRob Clark #define A6XX_VPC_SO_PROG_B_BUF__MASK 0x00003000 39072d756322SRob Clark #define A6XX_VPC_SO_PROG_B_BUF__SHIFT 12 39082d756322SRob Clark static inline uint32_t A6XX_VPC_SO_PROG_B_BUF(uint32_t val) 39092d756322SRob Clark { 39102d756322SRob Clark return ((val) << A6XX_VPC_SO_PROG_B_BUF__SHIFT) & A6XX_VPC_SO_PROG_B_BUF__MASK; 39112d756322SRob Clark } 39122d756322SRob Clark #define A6XX_VPC_SO_PROG_B_OFF__MASK 0x007fc000 39132d756322SRob Clark #define A6XX_VPC_SO_PROG_B_OFF__SHIFT 14 39142d756322SRob Clark static inline uint32_t A6XX_VPC_SO_PROG_B_OFF(uint32_t val) 39152d756322SRob Clark { 39162d756322SRob Clark return ((val >> 2) << A6XX_VPC_SO_PROG_B_OFF__SHIFT) & A6XX_VPC_SO_PROG_B_OFF__MASK; 39172d756322SRob Clark } 39182d756322SRob Clark #define A6XX_VPC_SO_PROG_B_EN 0x00800000 39192d756322SRob Clark 39202d756322SRob Clark static inline uint32_t REG_A6XX_VPC_SO(uint32_t i0) { return 0x0000921a + 0x7*i0; } 39212d756322SRob Clark 39222d756322SRob Clark static inline uint32_t REG_A6XX_VPC_SO_BUFFER_BASE_LO(uint32_t i0) { return 0x0000921a + 0x7*i0; } 39232d756322SRob Clark 39242d756322SRob Clark static inline uint32_t REG_A6XX_VPC_SO_BUFFER_BASE_HI(uint32_t i0) { return 0x0000921b + 0x7*i0; } 39252d756322SRob Clark 39262d756322SRob Clark static inline uint32_t REG_A6XX_VPC_SO_BUFFER_SIZE(uint32_t i0) { return 0x0000921c + 0x7*i0; } 39272d756322SRob Clark 39282d756322SRob Clark static inline uint32_t REG_A6XX_VPC_SO_NCOMP(uint32_t i0) { return 0x0000921d + 0x7*i0; } 39292d756322SRob Clark 39302d756322SRob Clark static inline uint32_t REG_A6XX_VPC_SO_BUFFER_OFFSET(uint32_t i0) { return 0x0000921e + 0x7*i0; } 39312d756322SRob Clark 39322d756322SRob Clark static inline uint32_t REG_A6XX_VPC_SO_FLUSH_BASE_LO(uint32_t i0) { return 0x0000921f + 0x7*i0; } 39332d756322SRob Clark 39342d756322SRob Clark static inline uint32_t REG_A6XX_VPC_SO_FLUSH_BASE_HI(uint32_t i0) { return 0x00009220 + 0x7*i0; } 39352d756322SRob Clark 39362d756322SRob Clark #define REG_A6XX_VPC_UNKNOWN_9236 0x00009236 39372d756322SRob Clark 39382d756322SRob Clark #define REG_A6XX_VPC_UNKNOWN_9300 0x00009300 39392d756322SRob Clark 39402d756322SRob Clark #define REG_A6XX_VPC_PACK 0x00009301 39412d756322SRob Clark #define A6XX_VPC_PACK_STRIDE_IN_VPC__MASK 0x000000ff 39422d756322SRob Clark #define A6XX_VPC_PACK_STRIDE_IN_VPC__SHIFT 0 39432d756322SRob Clark static inline uint32_t A6XX_VPC_PACK_STRIDE_IN_VPC(uint32_t val) 39442d756322SRob Clark { 39452d756322SRob Clark return ((val) << A6XX_VPC_PACK_STRIDE_IN_VPC__SHIFT) & A6XX_VPC_PACK_STRIDE_IN_VPC__MASK; 39462d756322SRob Clark } 39472d756322SRob Clark #define A6XX_VPC_PACK_NUMNONPOSVAR__MASK 0x0000ff00 39482d756322SRob Clark #define A6XX_VPC_PACK_NUMNONPOSVAR__SHIFT 8 39492d756322SRob Clark static inline uint32_t A6XX_VPC_PACK_NUMNONPOSVAR(uint32_t val) 39502d756322SRob Clark { 39512d756322SRob Clark return ((val) << A6XX_VPC_PACK_NUMNONPOSVAR__SHIFT) & A6XX_VPC_PACK_NUMNONPOSVAR__MASK; 39522d756322SRob Clark } 39532d756322SRob Clark #define A6XX_VPC_PACK_PSIZELOC__MASK 0x00ff0000 39542d756322SRob Clark #define A6XX_VPC_PACK_PSIZELOC__SHIFT 16 39552d756322SRob Clark static inline uint32_t A6XX_VPC_PACK_PSIZELOC(uint32_t val) 39562d756322SRob Clark { 39572d756322SRob Clark return ((val) << A6XX_VPC_PACK_PSIZELOC__SHIFT) & A6XX_VPC_PACK_PSIZELOC__MASK; 39582d756322SRob Clark } 39592d756322SRob Clark 39602d756322SRob Clark #define REG_A6XX_VPC_CNTL_0 0x00009304 39612d756322SRob Clark #define A6XX_VPC_CNTL_0_NUMNONPOSVAR__MASK 0x000000ff 39622d756322SRob Clark #define A6XX_VPC_CNTL_0_NUMNONPOSVAR__SHIFT 0 39632d756322SRob Clark static inline uint32_t A6XX_VPC_CNTL_0_NUMNONPOSVAR(uint32_t val) 39642d756322SRob Clark { 39652d756322SRob Clark return ((val) << A6XX_VPC_CNTL_0_NUMNONPOSVAR__SHIFT) & A6XX_VPC_CNTL_0_NUMNONPOSVAR__MASK; 39662d756322SRob Clark } 39672d756322SRob Clark #define A6XX_VPC_CNTL_0_VARYING 0x00010000 39682d756322SRob Clark 39692d756322SRob Clark #define REG_A6XX_VPC_SO_BUF_CNTL 0x00009305 39702d756322SRob Clark #define A6XX_VPC_SO_BUF_CNTL_BUF0 0x00000001 39712d756322SRob Clark #define A6XX_VPC_SO_BUF_CNTL_BUF1 0x00000008 39722d756322SRob Clark #define A6XX_VPC_SO_BUF_CNTL_BUF2 0x00000040 39732d756322SRob Clark #define A6XX_VPC_SO_BUF_CNTL_BUF3 0x00000200 39742d756322SRob Clark #define A6XX_VPC_SO_BUF_CNTL_ENABLE 0x00008000 39752d756322SRob Clark 3976a69c5ed2SRob Clark #define REG_A6XX_VPC_SO_OVERRIDE 0x00009306 3977a69c5ed2SRob Clark #define A6XX_VPC_SO_OVERRIDE_SO_DISABLE 0x00000001 3978a69c5ed2SRob Clark 39792d756322SRob Clark #define REG_A6XX_VPC_UNKNOWN_9600 0x00009600 39802d756322SRob Clark 39812d756322SRob Clark #define REG_A6XX_VPC_UNKNOWN_9602 0x00009602 39822d756322SRob Clark 39832d756322SRob Clark #define REG_A6XX_PC_UNKNOWN_9801 0x00009801 39842d756322SRob Clark 39852d756322SRob Clark #define REG_A6XX_PC_RESTART_INDEX 0x00009803 39862d756322SRob Clark 39872d756322SRob Clark #define REG_A6XX_PC_MODE_CNTL 0x00009804 39882d756322SRob Clark 39892d756322SRob Clark #define REG_A6XX_PC_UNKNOWN_9805 0x00009805 39902d756322SRob Clark 3991a69c5ed2SRob Clark #define REG_A6XX_PC_UNKNOWN_9806 0x00009806 3992a69c5ed2SRob Clark 3993a69c5ed2SRob Clark #define REG_A6XX_PC_UNKNOWN_9980 0x00009980 3994a69c5ed2SRob Clark 39952d756322SRob Clark #define REG_A6XX_PC_UNKNOWN_9981 0x00009981 39962d756322SRob Clark 3997a69c5ed2SRob Clark #define REG_A6XX_PC_UNKNOWN_9990 0x00009990 3998a69c5ed2SRob Clark 39992d756322SRob Clark #define REG_A6XX_PC_PRIMITIVE_CNTL_0 0x00009b00 40002d756322SRob Clark #define A6XX_PC_PRIMITIVE_CNTL_0_PRIMITIVE_RESTART 0x00000001 40012d756322SRob Clark #define A6XX_PC_PRIMITIVE_CNTL_0_PROVOKING_VTX_LAST 0x00000002 40022d756322SRob Clark 40032d756322SRob Clark #define REG_A6XX_PC_PRIMITIVE_CNTL_1 0x00009b01 40042d756322SRob Clark #define A6XX_PC_PRIMITIVE_CNTL_1_STRIDE_IN_VPC__MASK 0x0000007f 40052d756322SRob Clark #define A6XX_PC_PRIMITIVE_CNTL_1_STRIDE_IN_VPC__SHIFT 0 40062d756322SRob Clark static inline uint32_t A6XX_PC_PRIMITIVE_CNTL_1_STRIDE_IN_VPC(uint32_t val) 40072d756322SRob Clark { 40082d756322SRob Clark return ((val) << A6XX_PC_PRIMITIVE_CNTL_1_STRIDE_IN_VPC__SHIFT) & A6XX_PC_PRIMITIVE_CNTL_1_STRIDE_IN_VPC__MASK; 40092d756322SRob Clark } 4010a69c5ed2SRob Clark #define A6XX_PC_PRIMITIVE_CNTL_1_PSIZE 0x00000100 40112d756322SRob Clark 40122d756322SRob Clark #define REG_A6XX_PC_UNKNOWN_9B06 0x00009b06 40132d756322SRob Clark 40142d756322SRob Clark #define REG_A6XX_PC_UNKNOWN_9B07 0x00009b07 40152d756322SRob Clark 40162d756322SRob Clark #define REG_A6XX_PC_TESSFACTOR_ADDR_LO 0x00009e08 40172d756322SRob Clark 40182d756322SRob Clark #define REG_A6XX_PC_TESSFACTOR_ADDR_HI 0x00009e09 40192d756322SRob Clark 40202d756322SRob Clark #define REG_A6XX_PC_UNKNOWN_9E72 0x00009e72 40212d756322SRob Clark 40222d756322SRob Clark #define REG_A6XX_VFD_CONTROL_0 0x0000a000 40232d756322SRob Clark #define A6XX_VFD_CONTROL_0_VTXCNT__MASK 0x0000003f 40242d756322SRob Clark #define A6XX_VFD_CONTROL_0_VTXCNT__SHIFT 0 40252d756322SRob Clark static inline uint32_t A6XX_VFD_CONTROL_0_VTXCNT(uint32_t val) 40262d756322SRob Clark { 40272d756322SRob Clark return ((val) << A6XX_VFD_CONTROL_0_VTXCNT__SHIFT) & A6XX_VFD_CONTROL_0_VTXCNT__MASK; 40282d756322SRob Clark } 40292d756322SRob Clark 40302d756322SRob Clark #define REG_A6XX_VFD_CONTROL_1 0x0000a001 40312d756322SRob Clark #define A6XX_VFD_CONTROL_1_REGID4VTX__MASK 0x000000ff 40322d756322SRob Clark #define A6XX_VFD_CONTROL_1_REGID4VTX__SHIFT 0 40332d756322SRob Clark static inline uint32_t A6XX_VFD_CONTROL_1_REGID4VTX(uint32_t val) 40342d756322SRob Clark { 40352d756322SRob Clark return ((val) << A6XX_VFD_CONTROL_1_REGID4VTX__SHIFT) & A6XX_VFD_CONTROL_1_REGID4VTX__MASK; 40362d756322SRob Clark } 40372d756322SRob Clark #define A6XX_VFD_CONTROL_1_REGID4INST__MASK 0x0000ff00 40382d756322SRob Clark #define A6XX_VFD_CONTROL_1_REGID4INST__SHIFT 8 40392d756322SRob Clark static inline uint32_t A6XX_VFD_CONTROL_1_REGID4INST(uint32_t val) 40402d756322SRob Clark { 40412d756322SRob Clark return ((val) << A6XX_VFD_CONTROL_1_REGID4INST__SHIFT) & A6XX_VFD_CONTROL_1_REGID4INST__MASK; 40422d756322SRob Clark } 40432d756322SRob Clark #define A6XX_VFD_CONTROL_1_REGID4PRIMID__MASK 0x00ff0000 40442d756322SRob Clark #define A6XX_VFD_CONTROL_1_REGID4PRIMID__SHIFT 16 40452d756322SRob Clark static inline uint32_t A6XX_VFD_CONTROL_1_REGID4PRIMID(uint32_t val) 40462d756322SRob Clark { 40472d756322SRob Clark return ((val) << A6XX_VFD_CONTROL_1_REGID4PRIMID__SHIFT) & A6XX_VFD_CONTROL_1_REGID4PRIMID__MASK; 40482d756322SRob Clark } 40492d756322SRob Clark 40502d756322SRob Clark #define REG_A6XX_VFD_CONTROL_2 0x0000a002 40512d756322SRob Clark #define A6XX_VFD_CONTROL_2_REGID_PATCHID__MASK 0x000000ff 40522d756322SRob Clark #define A6XX_VFD_CONTROL_2_REGID_PATCHID__SHIFT 0 40532d756322SRob Clark static inline uint32_t A6XX_VFD_CONTROL_2_REGID_PATCHID(uint32_t val) 40542d756322SRob Clark { 40552d756322SRob Clark return ((val) << A6XX_VFD_CONTROL_2_REGID_PATCHID__SHIFT) & A6XX_VFD_CONTROL_2_REGID_PATCHID__MASK; 40562d756322SRob Clark } 40572d756322SRob Clark 40582d756322SRob Clark #define REG_A6XX_VFD_CONTROL_3 0x0000a003 40592d756322SRob Clark #define A6XX_VFD_CONTROL_3_REGID_PATCHID__MASK 0x0000ff00 40602d756322SRob Clark #define A6XX_VFD_CONTROL_3_REGID_PATCHID__SHIFT 8 40612d756322SRob Clark static inline uint32_t A6XX_VFD_CONTROL_3_REGID_PATCHID(uint32_t val) 40622d756322SRob Clark { 40632d756322SRob Clark return ((val) << A6XX_VFD_CONTROL_3_REGID_PATCHID__SHIFT) & A6XX_VFD_CONTROL_3_REGID_PATCHID__MASK; 40642d756322SRob Clark } 40652d756322SRob Clark #define A6XX_VFD_CONTROL_3_REGID_TESSX__MASK 0x00ff0000 40662d756322SRob Clark #define A6XX_VFD_CONTROL_3_REGID_TESSX__SHIFT 16 40672d756322SRob Clark static inline uint32_t A6XX_VFD_CONTROL_3_REGID_TESSX(uint32_t val) 40682d756322SRob Clark { 40692d756322SRob Clark return ((val) << A6XX_VFD_CONTROL_3_REGID_TESSX__SHIFT) & A6XX_VFD_CONTROL_3_REGID_TESSX__MASK; 40702d756322SRob Clark } 40712d756322SRob Clark #define A6XX_VFD_CONTROL_3_REGID_TESSY__MASK 0xff000000 40722d756322SRob Clark #define A6XX_VFD_CONTROL_3_REGID_TESSY__SHIFT 24 40732d756322SRob Clark static inline uint32_t A6XX_VFD_CONTROL_3_REGID_TESSY(uint32_t val) 40742d756322SRob Clark { 40752d756322SRob Clark return ((val) << A6XX_VFD_CONTROL_3_REGID_TESSY__SHIFT) & A6XX_VFD_CONTROL_3_REGID_TESSY__MASK; 40762d756322SRob Clark } 40772d756322SRob Clark 40782d756322SRob Clark #define REG_A6XX_VFD_CONTROL_4 0x0000a004 40792d756322SRob Clark 40802d756322SRob Clark #define REG_A6XX_VFD_CONTROL_5 0x0000a005 40812d756322SRob Clark 40822d756322SRob Clark #define REG_A6XX_VFD_CONTROL_6 0x0000a006 40832d756322SRob Clark 40842d756322SRob Clark #define REG_A6XX_VFD_MODE_CNTL 0x0000a007 40852d756322SRob Clark #define A6XX_VFD_MODE_CNTL_BINNING_PASS 0x00000001 40862d756322SRob Clark 40872d756322SRob Clark #define REG_A6XX_VFD_UNKNOWN_A008 0x0000a008 40882d756322SRob Clark 4089a69c5ed2SRob Clark #define REG_A6XX_VFD_UNKNOWN_A009 0x0000a009 4090a69c5ed2SRob Clark 40912d756322SRob Clark #define REG_A6XX_VFD_INDEX_OFFSET 0x0000a00e 40922d756322SRob Clark 40932d756322SRob Clark #define REG_A6XX_VFD_INSTANCE_START_OFFSET 0x0000a00f 40942d756322SRob Clark 40952d756322SRob Clark static inline uint32_t REG_A6XX_VFD_FETCH(uint32_t i0) { return 0x0000a010 + 0x4*i0; } 40962d756322SRob Clark 40972d756322SRob Clark static inline uint32_t REG_A6XX_VFD_FETCH_BASE_LO(uint32_t i0) { return 0x0000a010 + 0x4*i0; } 40982d756322SRob Clark 40992d756322SRob Clark static inline uint32_t REG_A6XX_VFD_FETCH_BASE_HI(uint32_t i0) { return 0x0000a011 + 0x4*i0; } 41002d756322SRob Clark 41012d756322SRob Clark static inline uint32_t REG_A6XX_VFD_FETCH_SIZE(uint32_t i0) { return 0x0000a012 + 0x4*i0; } 41022d756322SRob Clark 41032d756322SRob Clark static inline uint32_t REG_A6XX_VFD_FETCH_STRIDE(uint32_t i0) { return 0x0000a013 + 0x4*i0; } 41042d756322SRob Clark 41052d756322SRob Clark static inline uint32_t REG_A6XX_VFD_DECODE(uint32_t i0) { return 0x0000a090 + 0x2*i0; } 41062d756322SRob Clark 41072d756322SRob Clark static inline uint32_t REG_A6XX_VFD_DECODE_INSTR(uint32_t i0) { return 0x0000a090 + 0x2*i0; } 41082d756322SRob Clark #define A6XX_VFD_DECODE_INSTR_IDX__MASK 0x0000001f 41092d756322SRob Clark #define A6XX_VFD_DECODE_INSTR_IDX__SHIFT 0 41102d756322SRob Clark static inline uint32_t A6XX_VFD_DECODE_INSTR_IDX(uint32_t val) 41112d756322SRob Clark { 41122d756322SRob Clark return ((val) << A6XX_VFD_DECODE_INSTR_IDX__SHIFT) & A6XX_VFD_DECODE_INSTR_IDX__MASK; 41132d756322SRob Clark } 41142d756322SRob Clark #define A6XX_VFD_DECODE_INSTR_INSTANCED 0x00020000 41152d756322SRob Clark #define A6XX_VFD_DECODE_INSTR_FORMAT__MASK 0x0ff00000 41162d756322SRob Clark #define A6XX_VFD_DECODE_INSTR_FORMAT__SHIFT 20 41172d756322SRob Clark static inline uint32_t A6XX_VFD_DECODE_INSTR_FORMAT(enum a6xx_vtx_fmt val) 41182d756322SRob Clark { 41192d756322SRob Clark return ((val) << A6XX_VFD_DECODE_INSTR_FORMAT__SHIFT) & A6XX_VFD_DECODE_INSTR_FORMAT__MASK; 41202d756322SRob Clark } 41212d756322SRob Clark #define A6XX_VFD_DECODE_INSTR_SWAP__MASK 0x30000000 41222d756322SRob Clark #define A6XX_VFD_DECODE_INSTR_SWAP__SHIFT 28 41232d756322SRob Clark static inline uint32_t A6XX_VFD_DECODE_INSTR_SWAP(enum a3xx_color_swap val) 41242d756322SRob Clark { 41252d756322SRob Clark return ((val) << A6XX_VFD_DECODE_INSTR_SWAP__SHIFT) & A6XX_VFD_DECODE_INSTR_SWAP__MASK; 41262d756322SRob Clark } 41272d756322SRob Clark #define A6XX_VFD_DECODE_INSTR_UNK30 0x40000000 41282d756322SRob Clark #define A6XX_VFD_DECODE_INSTR_FLOAT 0x80000000 41292d756322SRob Clark 41302d756322SRob Clark static inline uint32_t REG_A6XX_VFD_DECODE_STEP_RATE(uint32_t i0) { return 0x0000a091 + 0x2*i0; } 41312d756322SRob Clark 41322d756322SRob Clark static inline uint32_t REG_A6XX_VFD_DEST_CNTL(uint32_t i0) { return 0x0000a0d0 + 0x1*i0; } 41332d756322SRob Clark 41342d756322SRob Clark static inline uint32_t REG_A6XX_VFD_DEST_CNTL_INSTR(uint32_t i0) { return 0x0000a0d0 + 0x1*i0; } 41352d756322SRob Clark #define A6XX_VFD_DEST_CNTL_INSTR_WRITEMASK__MASK 0x0000000f 41362d756322SRob Clark #define A6XX_VFD_DEST_CNTL_INSTR_WRITEMASK__SHIFT 0 41372d756322SRob Clark static inline uint32_t A6XX_VFD_DEST_CNTL_INSTR_WRITEMASK(uint32_t val) 41382d756322SRob Clark { 41392d756322SRob Clark return ((val) << A6XX_VFD_DEST_CNTL_INSTR_WRITEMASK__SHIFT) & A6XX_VFD_DEST_CNTL_INSTR_WRITEMASK__MASK; 41402d756322SRob Clark } 41412d756322SRob Clark #define A6XX_VFD_DEST_CNTL_INSTR_REGID__MASK 0x00000ff0 41422d756322SRob Clark #define A6XX_VFD_DEST_CNTL_INSTR_REGID__SHIFT 4 41432d756322SRob Clark static inline uint32_t A6XX_VFD_DEST_CNTL_INSTR_REGID(uint32_t val) 41442d756322SRob Clark { 41452d756322SRob Clark return ((val) << A6XX_VFD_DEST_CNTL_INSTR_REGID__SHIFT) & A6XX_VFD_DEST_CNTL_INSTR_REGID__MASK; 41462d756322SRob Clark } 41472d756322SRob Clark 41482d756322SRob Clark #define REG_A6XX_SP_UNKNOWN_A0F8 0x0000a0f8 41492d756322SRob Clark 41502d756322SRob Clark #define REG_A6XX_SP_PRIMITIVE_CNTL 0x0000a802 41512d756322SRob Clark #define A6XX_SP_PRIMITIVE_CNTL_VSOUT__MASK 0x0000001f 41522d756322SRob Clark #define A6XX_SP_PRIMITIVE_CNTL_VSOUT__SHIFT 0 41532d756322SRob Clark static inline uint32_t A6XX_SP_PRIMITIVE_CNTL_VSOUT(uint32_t val) 41542d756322SRob Clark { 41552d756322SRob Clark return ((val) << A6XX_SP_PRIMITIVE_CNTL_VSOUT__SHIFT) & A6XX_SP_PRIMITIVE_CNTL_VSOUT__MASK; 41562d756322SRob Clark } 41572d756322SRob Clark 41582d756322SRob Clark static inline uint32_t REG_A6XX_SP_VS_OUT(uint32_t i0) { return 0x0000a803 + 0x1*i0; } 41592d756322SRob Clark 41602d756322SRob Clark static inline uint32_t REG_A6XX_SP_VS_OUT_REG(uint32_t i0) { return 0x0000a803 + 0x1*i0; } 41612d756322SRob Clark #define A6XX_SP_VS_OUT_REG_A_REGID__MASK 0x000000ff 41622d756322SRob Clark #define A6XX_SP_VS_OUT_REG_A_REGID__SHIFT 0 41632d756322SRob Clark static inline uint32_t A6XX_SP_VS_OUT_REG_A_REGID(uint32_t val) 41642d756322SRob Clark { 41652d756322SRob Clark return ((val) << A6XX_SP_VS_OUT_REG_A_REGID__SHIFT) & A6XX_SP_VS_OUT_REG_A_REGID__MASK; 41662d756322SRob Clark } 41672d756322SRob Clark #define A6XX_SP_VS_OUT_REG_A_COMPMASK__MASK 0x00000f00 41682d756322SRob Clark #define A6XX_SP_VS_OUT_REG_A_COMPMASK__SHIFT 8 41692d756322SRob Clark static inline uint32_t A6XX_SP_VS_OUT_REG_A_COMPMASK(uint32_t val) 41702d756322SRob Clark { 41712d756322SRob Clark return ((val) << A6XX_SP_VS_OUT_REG_A_COMPMASK__SHIFT) & A6XX_SP_VS_OUT_REG_A_COMPMASK__MASK; 41722d756322SRob Clark } 41732d756322SRob Clark #define A6XX_SP_VS_OUT_REG_B_REGID__MASK 0x00ff0000 41742d756322SRob Clark #define A6XX_SP_VS_OUT_REG_B_REGID__SHIFT 16 41752d756322SRob Clark static inline uint32_t A6XX_SP_VS_OUT_REG_B_REGID(uint32_t val) 41762d756322SRob Clark { 41772d756322SRob Clark return ((val) << A6XX_SP_VS_OUT_REG_B_REGID__SHIFT) & A6XX_SP_VS_OUT_REG_B_REGID__MASK; 41782d756322SRob Clark } 41792d756322SRob Clark #define A6XX_SP_VS_OUT_REG_B_COMPMASK__MASK 0x0f000000 41802d756322SRob Clark #define A6XX_SP_VS_OUT_REG_B_COMPMASK__SHIFT 24 41812d756322SRob Clark static inline uint32_t A6XX_SP_VS_OUT_REG_B_COMPMASK(uint32_t val) 41822d756322SRob Clark { 41832d756322SRob Clark return ((val) << A6XX_SP_VS_OUT_REG_B_COMPMASK__SHIFT) & A6XX_SP_VS_OUT_REG_B_COMPMASK__MASK; 41842d756322SRob Clark } 41852d756322SRob Clark 41862d756322SRob Clark static inline uint32_t REG_A6XX_SP_VS_VPC_DST(uint32_t i0) { return 0x0000a813 + 0x1*i0; } 41872d756322SRob Clark 41882d756322SRob Clark static inline uint32_t REG_A6XX_SP_VS_VPC_DST_REG(uint32_t i0) { return 0x0000a813 + 0x1*i0; } 41892d756322SRob Clark #define A6XX_SP_VS_VPC_DST_REG_OUTLOC0__MASK 0x000000ff 41902d756322SRob Clark #define A6XX_SP_VS_VPC_DST_REG_OUTLOC0__SHIFT 0 41912d756322SRob Clark static inline uint32_t A6XX_SP_VS_VPC_DST_REG_OUTLOC0(uint32_t val) 41922d756322SRob Clark { 41932d756322SRob Clark return ((val) << A6XX_SP_VS_VPC_DST_REG_OUTLOC0__SHIFT) & A6XX_SP_VS_VPC_DST_REG_OUTLOC0__MASK; 41942d756322SRob Clark } 41952d756322SRob Clark #define A6XX_SP_VS_VPC_DST_REG_OUTLOC1__MASK 0x0000ff00 41962d756322SRob Clark #define A6XX_SP_VS_VPC_DST_REG_OUTLOC1__SHIFT 8 41972d756322SRob Clark static inline uint32_t A6XX_SP_VS_VPC_DST_REG_OUTLOC1(uint32_t val) 41982d756322SRob Clark { 41992d756322SRob Clark return ((val) << A6XX_SP_VS_VPC_DST_REG_OUTLOC1__SHIFT) & A6XX_SP_VS_VPC_DST_REG_OUTLOC1__MASK; 42002d756322SRob Clark } 42012d756322SRob Clark #define A6XX_SP_VS_VPC_DST_REG_OUTLOC2__MASK 0x00ff0000 42022d756322SRob Clark #define A6XX_SP_VS_VPC_DST_REG_OUTLOC2__SHIFT 16 42032d756322SRob Clark static inline uint32_t A6XX_SP_VS_VPC_DST_REG_OUTLOC2(uint32_t val) 42042d756322SRob Clark { 42052d756322SRob Clark return ((val) << A6XX_SP_VS_VPC_DST_REG_OUTLOC2__SHIFT) & A6XX_SP_VS_VPC_DST_REG_OUTLOC2__MASK; 42062d756322SRob Clark } 42072d756322SRob Clark #define A6XX_SP_VS_VPC_DST_REG_OUTLOC3__MASK 0xff000000 42082d756322SRob Clark #define A6XX_SP_VS_VPC_DST_REG_OUTLOC3__SHIFT 24 42092d756322SRob Clark static inline uint32_t A6XX_SP_VS_VPC_DST_REG_OUTLOC3(uint32_t val) 42102d756322SRob Clark { 42112d756322SRob Clark return ((val) << A6XX_SP_VS_VPC_DST_REG_OUTLOC3__SHIFT) & A6XX_SP_VS_VPC_DST_REG_OUTLOC3__MASK; 42122d756322SRob Clark } 42132d756322SRob Clark 42142d756322SRob Clark #define REG_A6XX_SP_VS_CTRL_REG0 0x0000a800 42152d756322SRob Clark #define A6XX_SP_VS_CTRL_REG0_HALFREGFOOTPRINT__MASK 0x0000007e 42162d756322SRob Clark #define A6XX_SP_VS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT 1 42172d756322SRob Clark static inline uint32_t A6XX_SP_VS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val) 42182d756322SRob Clark { 42192d756322SRob Clark return ((val) << A6XX_SP_VS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT) & A6XX_SP_VS_CTRL_REG0_HALFREGFOOTPRINT__MASK; 42202d756322SRob Clark } 42212d756322SRob Clark #define A6XX_SP_VS_CTRL_REG0_FULLREGFOOTPRINT__MASK 0x00001f80 42222d756322SRob Clark #define A6XX_SP_VS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT 7 42232d756322SRob Clark static inline uint32_t A6XX_SP_VS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val) 42242d756322SRob Clark { 42252d756322SRob Clark return ((val) << A6XX_SP_VS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT) & A6XX_SP_VS_CTRL_REG0_FULLREGFOOTPRINT__MASK; 42262d756322SRob Clark } 42272d756322SRob Clark #define A6XX_SP_VS_CTRL_REG0_BRANCHSTACK__MASK 0x000fc000 42282d756322SRob Clark #define A6XX_SP_VS_CTRL_REG0_BRANCHSTACK__SHIFT 14 42292d756322SRob Clark static inline uint32_t A6XX_SP_VS_CTRL_REG0_BRANCHSTACK(uint32_t val) 42302d756322SRob Clark { 42312d756322SRob Clark return ((val) << A6XX_SP_VS_CTRL_REG0_BRANCHSTACK__SHIFT) & A6XX_SP_VS_CTRL_REG0_BRANCHSTACK__MASK; 42322d756322SRob Clark } 42332d756322SRob Clark #define A6XX_SP_VS_CTRL_REG0_THREADSIZE__MASK 0x00100000 42342d756322SRob Clark #define A6XX_SP_VS_CTRL_REG0_THREADSIZE__SHIFT 20 42352d756322SRob Clark static inline uint32_t A6XX_SP_VS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val) 42362d756322SRob Clark { 42372d756322SRob Clark return ((val) << A6XX_SP_VS_CTRL_REG0_THREADSIZE__SHIFT) & A6XX_SP_VS_CTRL_REG0_THREADSIZE__MASK; 42382d756322SRob Clark } 42392d756322SRob Clark #define A6XX_SP_VS_CTRL_REG0_VARYING 0x00400000 42402d756322SRob Clark #define A6XX_SP_VS_CTRL_REG0_PIXLODENABLE 0x04000000 42412d756322SRob Clark #define A6XX_SP_VS_CTRL_REG0_MERGEDREGS 0x80000000 42422d756322SRob Clark 4243a69c5ed2SRob Clark #define REG_A6XX_SP_UNKNOWN_A81B 0x0000a81b 4244a69c5ed2SRob Clark 42452d756322SRob Clark #define REG_A6XX_SP_VS_OBJ_START_LO 0x0000a81c 42462d756322SRob Clark 42472d756322SRob Clark #define REG_A6XX_SP_VS_OBJ_START_HI 0x0000a81d 42482d756322SRob Clark 42492d756322SRob Clark #define REG_A6XX_SP_VS_TEX_COUNT 0x0000a822 42502d756322SRob Clark 42512d756322SRob Clark #define REG_A6XX_SP_VS_CONFIG 0x0000a823 42522d756322SRob Clark #define A6XX_SP_VS_CONFIG_ENABLED 0x00000100 42532d756322SRob Clark #define A6XX_SP_VS_CONFIG_NTEX__MASK 0x0001fe00 42542d756322SRob Clark #define A6XX_SP_VS_CONFIG_NTEX__SHIFT 9 42552d756322SRob Clark static inline uint32_t A6XX_SP_VS_CONFIG_NTEX(uint32_t val) 42562d756322SRob Clark { 42572d756322SRob Clark return ((val) << A6XX_SP_VS_CONFIG_NTEX__SHIFT) & A6XX_SP_VS_CONFIG_NTEX__MASK; 42582d756322SRob Clark } 42592d756322SRob Clark #define A6XX_SP_VS_CONFIG_NSAMP__MASK 0x01fe0000 42602d756322SRob Clark #define A6XX_SP_VS_CONFIG_NSAMP__SHIFT 17 42612d756322SRob Clark static inline uint32_t A6XX_SP_VS_CONFIG_NSAMP(uint32_t val) 42622d756322SRob Clark { 42632d756322SRob Clark return ((val) << A6XX_SP_VS_CONFIG_NSAMP__SHIFT) & A6XX_SP_VS_CONFIG_NSAMP__MASK; 42642d756322SRob Clark } 42652d756322SRob Clark 42662d756322SRob Clark #define REG_A6XX_SP_VS_INSTRLEN 0x0000a824 42672d756322SRob Clark 42682d756322SRob Clark #define REG_A6XX_SP_HS_CTRL_REG0 0x0000a830 42692d756322SRob Clark #define A6XX_SP_HS_CTRL_REG0_HALFREGFOOTPRINT__MASK 0x0000007e 42702d756322SRob Clark #define A6XX_SP_HS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT 1 42712d756322SRob Clark static inline uint32_t A6XX_SP_HS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val) 42722d756322SRob Clark { 42732d756322SRob Clark return ((val) << A6XX_SP_HS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT) & A6XX_SP_HS_CTRL_REG0_HALFREGFOOTPRINT__MASK; 42742d756322SRob Clark } 42752d756322SRob Clark #define A6XX_SP_HS_CTRL_REG0_FULLREGFOOTPRINT__MASK 0x00001f80 42762d756322SRob Clark #define A6XX_SP_HS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT 7 42772d756322SRob Clark static inline uint32_t A6XX_SP_HS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val) 42782d756322SRob Clark { 42792d756322SRob Clark return ((val) << A6XX_SP_HS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT) & A6XX_SP_HS_CTRL_REG0_FULLREGFOOTPRINT__MASK; 42802d756322SRob Clark } 42812d756322SRob Clark #define A6XX_SP_HS_CTRL_REG0_BRANCHSTACK__MASK 0x000fc000 42822d756322SRob Clark #define A6XX_SP_HS_CTRL_REG0_BRANCHSTACK__SHIFT 14 42832d756322SRob Clark static inline uint32_t A6XX_SP_HS_CTRL_REG0_BRANCHSTACK(uint32_t val) 42842d756322SRob Clark { 42852d756322SRob Clark return ((val) << A6XX_SP_HS_CTRL_REG0_BRANCHSTACK__SHIFT) & A6XX_SP_HS_CTRL_REG0_BRANCHSTACK__MASK; 42862d756322SRob Clark } 42872d756322SRob Clark #define A6XX_SP_HS_CTRL_REG0_THREADSIZE__MASK 0x00100000 42882d756322SRob Clark #define A6XX_SP_HS_CTRL_REG0_THREADSIZE__SHIFT 20 42892d756322SRob Clark static inline uint32_t A6XX_SP_HS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val) 42902d756322SRob Clark { 42912d756322SRob Clark return ((val) << A6XX_SP_HS_CTRL_REG0_THREADSIZE__SHIFT) & A6XX_SP_HS_CTRL_REG0_THREADSIZE__MASK; 42922d756322SRob Clark } 42932d756322SRob Clark #define A6XX_SP_HS_CTRL_REG0_VARYING 0x00400000 42942d756322SRob Clark #define A6XX_SP_HS_CTRL_REG0_PIXLODENABLE 0x04000000 42952d756322SRob Clark #define A6XX_SP_HS_CTRL_REG0_MERGEDREGS 0x80000000 42962d756322SRob Clark 42972d756322SRob Clark #define REG_A6XX_SP_HS_UNKNOWN_A831 0x0000a831 42982d756322SRob Clark 42992d756322SRob Clark #define REG_A6XX_SP_HS_OBJ_START_LO 0x0000a834 43002d756322SRob Clark 43012d756322SRob Clark #define REG_A6XX_SP_HS_OBJ_START_HI 0x0000a835 43022d756322SRob Clark 43032d756322SRob Clark #define REG_A6XX_SP_HS_TEX_COUNT 0x0000a83a 43042d756322SRob Clark 43052d756322SRob Clark #define REG_A6XX_SP_HS_CONFIG 0x0000a83b 43062d756322SRob Clark #define A6XX_SP_HS_CONFIG_ENABLED 0x00000100 43072d756322SRob Clark #define A6XX_SP_HS_CONFIG_NTEX__MASK 0x0001fe00 43082d756322SRob Clark #define A6XX_SP_HS_CONFIG_NTEX__SHIFT 9 43092d756322SRob Clark static inline uint32_t A6XX_SP_HS_CONFIG_NTEX(uint32_t val) 43102d756322SRob Clark { 43112d756322SRob Clark return ((val) << A6XX_SP_HS_CONFIG_NTEX__SHIFT) & A6XX_SP_HS_CONFIG_NTEX__MASK; 43122d756322SRob Clark } 43132d756322SRob Clark #define A6XX_SP_HS_CONFIG_NSAMP__MASK 0x01fe0000 43142d756322SRob Clark #define A6XX_SP_HS_CONFIG_NSAMP__SHIFT 17 43152d756322SRob Clark static inline uint32_t A6XX_SP_HS_CONFIG_NSAMP(uint32_t val) 43162d756322SRob Clark { 43172d756322SRob Clark return ((val) << A6XX_SP_HS_CONFIG_NSAMP__SHIFT) & A6XX_SP_HS_CONFIG_NSAMP__MASK; 43182d756322SRob Clark } 43192d756322SRob Clark 43202d756322SRob Clark #define REG_A6XX_SP_HS_INSTRLEN 0x0000a83c 43212d756322SRob Clark 43222d756322SRob Clark #define REG_A6XX_SP_DS_CTRL_REG0 0x0000a840 43232d756322SRob Clark #define A6XX_SP_DS_CTRL_REG0_HALFREGFOOTPRINT__MASK 0x0000007e 43242d756322SRob Clark #define A6XX_SP_DS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT 1 43252d756322SRob Clark static inline uint32_t A6XX_SP_DS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val) 43262d756322SRob Clark { 43272d756322SRob Clark return ((val) << A6XX_SP_DS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT) & A6XX_SP_DS_CTRL_REG0_HALFREGFOOTPRINT__MASK; 43282d756322SRob Clark } 43292d756322SRob Clark #define A6XX_SP_DS_CTRL_REG0_FULLREGFOOTPRINT__MASK 0x00001f80 43302d756322SRob Clark #define A6XX_SP_DS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT 7 43312d756322SRob Clark static inline uint32_t A6XX_SP_DS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val) 43322d756322SRob Clark { 43332d756322SRob Clark return ((val) << A6XX_SP_DS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT) & A6XX_SP_DS_CTRL_REG0_FULLREGFOOTPRINT__MASK; 43342d756322SRob Clark } 43352d756322SRob Clark #define A6XX_SP_DS_CTRL_REG0_BRANCHSTACK__MASK 0x000fc000 43362d756322SRob Clark #define A6XX_SP_DS_CTRL_REG0_BRANCHSTACK__SHIFT 14 43372d756322SRob Clark static inline uint32_t A6XX_SP_DS_CTRL_REG0_BRANCHSTACK(uint32_t val) 43382d756322SRob Clark { 43392d756322SRob Clark return ((val) << A6XX_SP_DS_CTRL_REG0_BRANCHSTACK__SHIFT) & A6XX_SP_DS_CTRL_REG0_BRANCHSTACK__MASK; 43402d756322SRob Clark } 43412d756322SRob Clark #define A6XX_SP_DS_CTRL_REG0_THREADSIZE__MASK 0x00100000 43422d756322SRob Clark #define A6XX_SP_DS_CTRL_REG0_THREADSIZE__SHIFT 20 43432d756322SRob Clark static inline uint32_t A6XX_SP_DS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val) 43442d756322SRob Clark { 43452d756322SRob Clark return ((val) << A6XX_SP_DS_CTRL_REG0_THREADSIZE__SHIFT) & A6XX_SP_DS_CTRL_REG0_THREADSIZE__MASK; 43462d756322SRob Clark } 43472d756322SRob Clark #define A6XX_SP_DS_CTRL_REG0_VARYING 0x00400000 43482d756322SRob Clark #define A6XX_SP_DS_CTRL_REG0_PIXLODENABLE 0x04000000 43492d756322SRob Clark #define A6XX_SP_DS_CTRL_REG0_MERGEDREGS 0x80000000 43502d756322SRob Clark 43512d756322SRob Clark #define REG_A6XX_SP_DS_OBJ_START_LO 0x0000a85c 43522d756322SRob Clark 43532d756322SRob Clark #define REG_A6XX_SP_DS_OBJ_START_HI 0x0000a85d 43542d756322SRob Clark 43552d756322SRob Clark #define REG_A6XX_SP_DS_TEX_COUNT 0x0000a862 43562d756322SRob Clark 43572d756322SRob Clark #define REG_A6XX_SP_DS_CONFIG 0x0000a863 43582d756322SRob Clark #define A6XX_SP_DS_CONFIG_ENABLED 0x00000100 43592d756322SRob Clark #define A6XX_SP_DS_CONFIG_NTEX__MASK 0x0001fe00 43602d756322SRob Clark #define A6XX_SP_DS_CONFIG_NTEX__SHIFT 9 43612d756322SRob Clark static inline uint32_t A6XX_SP_DS_CONFIG_NTEX(uint32_t val) 43622d756322SRob Clark { 43632d756322SRob Clark return ((val) << A6XX_SP_DS_CONFIG_NTEX__SHIFT) & A6XX_SP_DS_CONFIG_NTEX__MASK; 43642d756322SRob Clark } 43652d756322SRob Clark #define A6XX_SP_DS_CONFIG_NSAMP__MASK 0x01fe0000 43662d756322SRob Clark #define A6XX_SP_DS_CONFIG_NSAMP__SHIFT 17 43672d756322SRob Clark static inline uint32_t A6XX_SP_DS_CONFIG_NSAMP(uint32_t val) 43682d756322SRob Clark { 43692d756322SRob Clark return ((val) << A6XX_SP_DS_CONFIG_NSAMP__SHIFT) & A6XX_SP_DS_CONFIG_NSAMP__MASK; 43702d756322SRob Clark } 43712d756322SRob Clark 43722d756322SRob Clark #define REG_A6XX_SP_DS_INSTRLEN 0x0000a864 43732d756322SRob Clark 43742d756322SRob Clark #define REG_A6XX_SP_GS_CTRL_REG0 0x0000a870 43752d756322SRob Clark #define A6XX_SP_GS_CTRL_REG0_HALFREGFOOTPRINT__MASK 0x0000007e 43762d756322SRob Clark #define A6XX_SP_GS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT 1 43772d756322SRob Clark static inline uint32_t A6XX_SP_GS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val) 43782d756322SRob Clark { 43792d756322SRob Clark return ((val) << A6XX_SP_GS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT) & A6XX_SP_GS_CTRL_REG0_HALFREGFOOTPRINT__MASK; 43802d756322SRob Clark } 43812d756322SRob Clark #define A6XX_SP_GS_CTRL_REG0_FULLREGFOOTPRINT__MASK 0x00001f80 43822d756322SRob Clark #define A6XX_SP_GS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT 7 43832d756322SRob Clark static inline uint32_t A6XX_SP_GS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val) 43842d756322SRob Clark { 43852d756322SRob Clark return ((val) << A6XX_SP_GS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT) & A6XX_SP_GS_CTRL_REG0_FULLREGFOOTPRINT__MASK; 43862d756322SRob Clark } 43872d756322SRob Clark #define A6XX_SP_GS_CTRL_REG0_BRANCHSTACK__MASK 0x000fc000 43882d756322SRob Clark #define A6XX_SP_GS_CTRL_REG0_BRANCHSTACK__SHIFT 14 43892d756322SRob Clark static inline uint32_t A6XX_SP_GS_CTRL_REG0_BRANCHSTACK(uint32_t val) 43902d756322SRob Clark { 43912d756322SRob Clark return ((val) << A6XX_SP_GS_CTRL_REG0_BRANCHSTACK__SHIFT) & A6XX_SP_GS_CTRL_REG0_BRANCHSTACK__MASK; 43922d756322SRob Clark } 43932d756322SRob Clark #define A6XX_SP_GS_CTRL_REG0_THREADSIZE__MASK 0x00100000 43942d756322SRob Clark #define A6XX_SP_GS_CTRL_REG0_THREADSIZE__SHIFT 20 43952d756322SRob Clark static inline uint32_t A6XX_SP_GS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val) 43962d756322SRob Clark { 43972d756322SRob Clark return ((val) << A6XX_SP_GS_CTRL_REG0_THREADSIZE__SHIFT) & A6XX_SP_GS_CTRL_REG0_THREADSIZE__MASK; 43982d756322SRob Clark } 43992d756322SRob Clark #define A6XX_SP_GS_CTRL_REG0_VARYING 0x00400000 44002d756322SRob Clark #define A6XX_SP_GS_CTRL_REG0_PIXLODENABLE 0x04000000 44012d756322SRob Clark #define A6XX_SP_GS_CTRL_REG0_MERGEDREGS 0x80000000 44022d756322SRob Clark 44032d756322SRob Clark #define REG_A6XX_SP_GS_UNKNOWN_A871 0x0000a871 44042d756322SRob Clark 44052d756322SRob Clark #define REG_A6XX_SP_GS_OBJ_START_LO 0x0000a88d 44062d756322SRob Clark 44072d756322SRob Clark #define REG_A6XX_SP_GS_OBJ_START_HI 0x0000a88e 44082d756322SRob Clark 44092d756322SRob Clark #define REG_A6XX_SP_GS_TEX_COUNT 0x0000a893 44102d756322SRob Clark 44112d756322SRob Clark #define REG_A6XX_SP_GS_CONFIG 0x0000a894 44122d756322SRob Clark #define A6XX_SP_GS_CONFIG_ENABLED 0x00000100 44132d756322SRob Clark #define A6XX_SP_GS_CONFIG_NTEX__MASK 0x0001fe00 44142d756322SRob Clark #define A6XX_SP_GS_CONFIG_NTEX__SHIFT 9 44152d756322SRob Clark static inline uint32_t A6XX_SP_GS_CONFIG_NTEX(uint32_t val) 44162d756322SRob Clark { 44172d756322SRob Clark return ((val) << A6XX_SP_GS_CONFIG_NTEX__SHIFT) & A6XX_SP_GS_CONFIG_NTEX__MASK; 44182d756322SRob Clark } 44192d756322SRob Clark #define A6XX_SP_GS_CONFIG_NSAMP__MASK 0x01fe0000 44202d756322SRob Clark #define A6XX_SP_GS_CONFIG_NSAMP__SHIFT 17 44212d756322SRob Clark static inline uint32_t A6XX_SP_GS_CONFIG_NSAMP(uint32_t val) 44222d756322SRob Clark { 44232d756322SRob Clark return ((val) << A6XX_SP_GS_CONFIG_NSAMP__SHIFT) & A6XX_SP_GS_CONFIG_NSAMP__MASK; 44242d756322SRob Clark } 44252d756322SRob Clark 44262d756322SRob Clark #define REG_A6XX_SP_GS_INSTRLEN 0x0000a895 44272d756322SRob Clark 44282d756322SRob Clark #define REG_A6XX_SP_VS_TEX_SAMP_LO 0x0000a8a0 44292d756322SRob Clark 44302d756322SRob Clark #define REG_A6XX_SP_VS_TEX_SAMP_HI 0x0000a8a1 44312d756322SRob Clark 44322d756322SRob Clark #define REG_A6XX_SP_HS_TEX_SAMP_LO 0x0000a8a2 44332d756322SRob Clark 44342d756322SRob Clark #define REG_A6XX_SP_HS_TEX_SAMP_HI 0x0000a8a3 44352d756322SRob Clark 44362d756322SRob Clark #define REG_A6XX_SP_DS_TEX_SAMP_LO 0x0000a8a4 44372d756322SRob Clark 44382d756322SRob Clark #define REG_A6XX_SP_DS_TEX_SAMP_HI 0x0000a8a5 44392d756322SRob Clark 44402d756322SRob Clark #define REG_A6XX_SP_GS_TEX_SAMP_LO 0x0000a8a6 44412d756322SRob Clark 44422d756322SRob Clark #define REG_A6XX_SP_GS_TEX_SAMP_HI 0x0000a8a7 44432d756322SRob Clark 44442d756322SRob Clark #define REG_A6XX_SP_VS_TEX_CONST_LO 0x0000a8a8 44452d756322SRob Clark 44462d756322SRob Clark #define REG_A6XX_SP_VS_TEX_CONST_HI 0x0000a8a9 44472d756322SRob Clark 44482d756322SRob Clark #define REG_A6XX_SP_HS_TEX_CONST_LO 0x0000a8aa 44492d756322SRob Clark 44502d756322SRob Clark #define REG_A6XX_SP_HS_TEX_CONST_HI 0x0000a8ab 44512d756322SRob Clark 44522d756322SRob Clark #define REG_A6XX_SP_DS_TEX_CONST_LO 0x0000a8ac 44532d756322SRob Clark 44542d756322SRob Clark #define REG_A6XX_SP_DS_TEX_CONST_HI 0x0000a8ad 44552d756322SRob Clark 44562d756322SRob Clark #define REG_A6XX_SP_GS_TEX_CONST_LO 0x0000a8ae 44572d756322SRob Clark 44582d756322SRob Clark #define REG_A6XX_SP_GS_TEX_CONST_HI 0x0000a8af 44592d756322SRob Clark 44602d756322SRob Clark #define REG_A6XX_SP_FS_CTRL_REG0 0x0000a980 44612d756322SRob Clark #define A6XX_SP_FS_CTRL_REG0_HALFREGFOOTPRINT__MASK 0x0000007e 44622d756322SRob Clark #define A6XX_SP_FS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT 1 44632d756322SRob Clark static inline uint32_t A6XX_SP_FS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val) 44642d756322SRob Clark { 44652d756322SRob Clark return ((val) << A6XX_SP_FS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT) & A6XX_SP_FS_CTRL_REG0_HALFREGFOOTPRINT__MASK; 44662d756322SRob Clark } 44672d756322SRob Clark #define A6XX_SP_FS_CTRL_REG0_FULLREGFOOTPRINT__MASK 0x00001f80 44682d756322SRob Clark #define A6XX_SP_FS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT 7 44692d756322SRob Clark static inline uint32_t A6XX_SP_FS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val) 44702d756322SRob Clark { 44712d756322SRob Clark return ((val) << A6XX_SP_FS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT) & A6XX_SP_FS_CTRL_REG0_FULLREGFOOTPRINT__MASK; 44722d756322SRob Clark } 44732d756322SRob Clark #define A6XX_SP_FS_CTRL_REG0_BRANCHSTACK__MASK 0x000fc000 44742d756322SRob Clark #define A6XX_SP_FS_CTRL_REG0_BRANCHSTACK__SHIFT 14 44752d756322SRob Clark static inline uint32_t A6XX_SP_FS_CTRL_REG0_BRANCHSTACK(uint32_t val) 44762d756322SRob Clark { 44772d756322SRob Clark return ((val) << A6XX_SP_FS_CTRL_REG0_BRANCHSTACK__SHIFT) & A6XX_SP_FS_CTRL_REG0_BRANCHSTACK__MASK; 44782d756322SRob Clark } 44792d756322SRob Clark #define A6XX_SP_FS_CTRL_REG0_THREADSIZE__MASK 0x00100000 44802d756322SRob Clark #define A6XX_SP_FS_CTRL_REG0_THREADSIZE__SHIFT 20 44812d756322SRob Clark static inline uint32_t A6XX_SP_FS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val) 44822d756322SRob Clark { 44832d756322SRob Clark return ((val) << A6XX_SP_FS_CTRL_REG0_THREADSIZE__SHIFT) & A6XX_SP_FS_CTRL_REG0_THREADSIZE__MASK; 44842d756322SRob Clark } 44852d756322SRob Clark #define A6XX_SP_FS_CTRL_REG0_VARYING 0x00400000 44862d756322SRob Clark #define A6XX_SP_FS_CTRL_REG0_PIXLODENABLE 0x04000000 44872d756322SRob Clark #define A6XX_SP_FS_CTRL_REG0_MERGEDREGS 0x80000000 44882d756322SRob Clark 4489a69c5ed2SRob Clark #define REG_A6XX_SP_UNKNOWN_A982 0x0000a982 4490a69c5ed2SRob Clark 44912d756322SRob Clark #define REG_A6XX_SP_FS_OBJ_START_LO 0x0000a983 44922d756322SRob Clark 44932d756322SRob Clark #define REG_A6XX_SP_FS_OBJ_START_HI 0x0000a984 44942d756322SRob Clark 44952d756322SRob Clark #define REG_A6XX_SP_BLEND_CNTL 0x0000a989 44962d756322SRob Clark #define A6XX_SP_BLEND_CNTL_ENABLED 0x00000001 44972d756322SRob Clark #define A6XX_SP_BLEND_CNTL_UNK8 0x00000100 4498ccdf7e28SRob Clark #define A6XX_SP_BLEND_CNTL_ALPHA_TO_COVERAGE 0x00000400 44992d756322SRob Clark 45002d756322SRob Clark #define REG_A6XX_SP_SRGB_CNTL 0x0000a98a 45012d756322SRob Clark #define A6XX_SP_SRGB_CNTL_SRGB_MRT0 0x00000001 45022d756322SRob Clark #define A6XX_SP_SRGB_CNTL_SRGB_MRT1 0x00000002 45032d756322SRob Clark #define A6XX_SP_SRGB_CNTL_SRGB_MRT2 0x00000004 45042d756322SRob Clark #define A6XX_SP_SRGB_CNTL_SRGB_MRT3 0x00000008 45052d756322SRob Clark #define A6XX_SP_SRGB_CNTL_SRGB_MRT4 0x00000010 45062d756322SRob Clark #define A6XX_SP_SRGB_CNTL_SRGB_MRT5 0x00000020 45072d756322SRob Clark #define A6XX_SP_SRGB_CNTL_SRGB_MRT6 0x00000040 45082d756322SRob Clark #define A6XX_SP_SRGB_CNTL_SRGB_MRT7 0x00000080 45092d756322SRob Clark 45102d756322SRob Clark #define REG_A6XX_SP_FS_RENDER_COMPONENTS 0x0000a98b 45112d756322SRob Clark #define A6XX_SP_FS_RENDER_COMPONENTS_RT0__MASK 0x0000000f 45122d756322SRob Clark #define A6XX_SP_FS_RENDER_COMPONENTS_RT0__SHIFT 0 45132d756322SRob Clark static inline uint32_t A6XX_SP_FS_RENDER_COMPONENTS_RT0(uint32_t val) 45142d756322SRob Clark { 45152d756322SRob Clark return ((val) << A6XX_SP_FS_RENDER_COMPONENTS_RT0__SHIFT) & A6XX_SP_FS_RENDER_COMPONENTS_RT0__MASK; 45162d756322SRob Clark } 45172d756322SRob Clark #define A6XX_SP_FS_RENDER_COMPONENTS_RT1__MASK 0x000000f0 45182d756322SRob Clark #define A6XX_SP_FS_RENDER_COMPONENTS_RT1__SHIFT 4 45192d756322SRob Clark static inline uint32_t A6XX_SP_FS_RENDER_COMPONENTS_RT1(uint32_t val) 45202d756322SRob Clark { 45212d756322SRob Clark return ((val) << A6XX_SP_FS_RENDER_COMPONENTS_RT1__SHIFT) & A6XX_SP_FS_RENDER_COMPONENTS_RT1__MASK; 45222d756322SRob Clark } 45232d756322SRob Clark #define A6XX_SP_FS_RENDER_COMPONENTS_RT2__MASK 0x00000f00 45242d756322SRob Clark #define A6XX_SP_FS_RENDER_COMPONENTS_RT2__SHIFT 8 45252d756322SRob Clark static inline uint32_t A6XX_SP_FS_RENDER_COMPONENTS_RT2(uint32_t val) 45262d756322SRob Clark { 45272d756322SRob Clark return ((val) << A6XX_SP_FS_RENDER_COMPONENTS_RT2__SHIFT) & A6XX_SP_FS_RENDER_COMPONENTS_RT2__MASK; 45282d756322SRob Clark } 45292d756322SRob Clark #define A6XX_SP_FS_RENDER_COMPONENTS_RT3__MASK 0x0000f000 45302d756322SRob Clark #define A6XX_SP_FS_RENDER_COMPONENTS_RT3__SHIFT 12 45312d756322SRob Clark static inline uint32_t A6XX_SP_FS_RENDER_COMPONENTS_RT3(uint32_t val) 45322d756322SRob Clark { 45332d756322SRob Clark return ((val) << A6XX_SP_FS_RENDER_COMPONENTS_RT3__SHIFT) & A6XX_SP_FS_RENDER_COMPONENTS_RT3__MASK; 45342d756322SRob Clark } 45352d756322SRob Clark #define A6XX_SP_FS_RENDER_COMPONENTS_RT4__MASK 0x000f0000 45362d756322SRob Clark #define A6XX_SP_FS_RENDER_COMPONENTS_RT4__SHIFT 16 45372d756322SRob Clark static inline uint32_t A6XX_SP_FS_RENDER_COMPONENTS_RT4(uint32_t val) 45382d756322SRob Clark { 45392d756322SRob Clark return ((val) << A6XX_SP_FS_RENDER_COMPONENTS_RT4__SHIFT) & A6XX_SP_FS_RENDER_COMPONENTS_RT4__MASK; 45402d756322SRob Clark } 45412d756322SRob Clark #define A6XX_SP_FS_RENDER_COMPONENTS_RT5__MASK 0x00f00000 45422d756322SRob Clark #define A6XX_SP_FS_RENDER_COMPONENTS_RT5__SHIFT 20 45432d756322SRob Clark static inline uint32_t A6XX_SP_FS_RENDER_COMPONENTS_RT5(uint32_t val) 45442d756322SRob Clark { 45452d756322SRob Clark return ((val) << A6XX_SP_FS_RENDER_COMPONENTS_RT5__SHIFT) & A6XX_SP_FS_RENDER_COMPONENTS_RT5__MASK; 45462d756322SRob Clark } 45472d756322SRob Clark #define A6XX_SP_FS_RENDER_COMPONENTS_RT6__MASK 0x0f000000 45482d756322SRob Clark #define A6XX_SP_FS_RENDER_COMPONENTS_RT6__SHIFT 24 45492d756322SRob Clark static inline uint32_t A6XX_SP_FS_RENDER_COMPONENTS_RT6(uint32_t val) 45502d756322SRob Clark { 45512d756322SRob Clark return ((val) << A6XX_SP_FS_RENDER_COMPONENTS_RT6__SHIFT) & A6XX_SP_FS_RENDER_COMPONENTS_RT6__MASK; 45522d756322SRob Clark } 45532d756322SRob Clark #define A6XX_SP_FS_RENDER_COMPONENTS_RT7__MASK 0xf0000000 45542d756322SRob Clark #define A6XX_SP_FS_RENDER_COMPONENTS_RT7__SHIFT 28 45552d756322SRob Clark static inline uint32_t A6XX_SP_FS_RENDER_COMPONENTS_RT7(uint32_t val) 45562d756322SRob Clark { 45572d756322SRob Clark return ((val) << A6XX_SP_FS_RENDER_COMPONENTS_RT7__SHIFT) & A6XX_SP_FS_RENDER_COMPONENTS_RT7__MASK; 45582d756322SRob Clark } 45592d756322SRob Clark 45602d756322SRob Clark #define REG_A6XX_SP_FS_OUTPUT_CNTL0 0x0000a98c 45612d756322SRob Clark #define A6XX_SP_FS_OUTPUT_CNTL0_DEPTH_REGID__MASK 0x0000ff00 45622d756322SRob Clark #define A6XX_SP_FS_OUTPUT_CNTL0_DEPTH_REGID__SHIFT 8 45632d756322SRob Clark static inline uint32_t A6XX_SP_FS_OUTPUT_CNTL0_DEPTH_REGID(uint32_t val) 45642d756322SRob Clark { 45652d756322SRob Clark return ((val) << A6XX_SP_FS_OUTPUT_CNTL0_DEPTH_REGID__SHIFT) & A6XX_SP_FS_OUTPUT_CNTL0_DEPTH_REGID__MASK; 45662d756322SRob Clark } 45672d756322SRob Clark 45682d756322SRob Clark #define REG_A6XX_SP_FS_OUTPUT_CNTL1 0x0000a98d 45692d756322SRob Clark #define A6XX_SP_FS_OUTPUT_CNTL1_MRT__MASK 0x0000000f 45702d756322SRob Clark #define A6XX_SP_FS_OUTPUT_CNTL1_MRT__SHIFT 0 45712d756322SRob Clark static inline uint32_t A6XX_SP_FS_OUTPUT_CNTL1_MRT(uint32_t val) 45722d756322SRob Clark { 45732d756322SRob Clark return ((val) << A6XX_SP_FS_OUTPUT_CNTL1_MRT__SHIFT) & A6XX_SP_FS_OUTPUT_CNTL1_MRT__MASK; 45742d756322SRob Clark } 45752d756322SRob Clark 45762d756322SRob Clark static inline uint32_t REG_A6XX_SP_FS_MRT(uint32_t i0) { return 0x0000a996 + 0x1*i0; } 45772d756322SRob Clark 45782d756322SRob Clark static inline uint32_t REG_A6XX_SP_FS_MRT_REG(uint32_t i0) { return 0x0000a996 + 0x1*i0; } 45792d756322SRob Clark #define A6XX_SP_FS_MRT_REG_COLOR_FORMAT__MASK 0x000000ff 45802d756322SRob Clark #define A6XX_SP_FS_MRT_REG_COLOR_FORMAT__SHIFT 0 45812d756322SRob Clark static inline uint32_t A6XX_SP_FS_MRT_REG_COLOR_FORMAT(enum a6xx_color_fmt val) 45822d756322SRob Clark { 45832d756322SRob Clark return ((val) << A6XX_SP_FS_MRT_REG_COLOR_FORMAT__SHIFT) & A6XX_SP_FS_MRT_REG_COLOR_FORMAT__MASK; 45842d756322SRob Clark } 45852d756322SRob Clark #define A6XX_SP_FS_MRT_REG_COLOR_SINT 0x00000100 45862d756322SRob Clark #define A6XX_SP_FS_MRT_REG_COLOR_UINT 0x00000200 4587a69c5ed2SRob Clark 4588a69c5ed2SRob Clark #define REG_A6XX_SP_UNKNOWN_A99E 0x0000a99e 45892d756322SRob Clark 45902d756322SRob Clark #define REG_A6XX_SP_FS_TEX_COUNT 0x0000a9a7 45912d756322SRob Clark 45922d756322SRob Clark #define REG_A6XX_SP_UNKNOWN_A9A8 0x0000a9a8 45932d756322SRob Clark 45942d756322SRob Clark #define REG_A6XX_SP_FS_TEX_SAMP_LO 0x0000a9e0 45952d756322SRob Clark 45962d756322SRob Clark #define REG_A6XX_SP_FS_TEX_SAMP_HI 0x0000a9e1 45972d756322SRob Clark 45982d756322SRob Clark #define REG_A6XX_SP_CS_TEX_SAMP_LO 0x0000a9e2 45992d756322SRob Clark 46002d756322SRob Clark #define REG_A6XX_SP_CS_TEX_SAMP_HI 0x0000a9e3 46012d756322SRob Clark 46022d756322SRob Clark #define REG_A6XX_SP_FS_TEX_CONST_LO 0x0000a9e4 46032d756322SRob Clark 46042d756322SRob Clark #define REG_A6XX_SP_FS_TEX_CONST_HI 0x0000a9e5 46052d756322SRob Clark 46062d756322SRob Clark #define REG_A6XX_SP_CS_TEX_CONST_LO 0x0000a9e6 46072d756322SRob Clark 46082d756322SRob Clark #define REG_A6XX_SP_CS_TEX_CONST_HI 0x0000a9e7 46092d756322SRob Clark 46102d756322SRob Clark static inline uint32_t REG_A6XX_SP_FS_OUTPUT(uint32_t i0) { return 0x0000a98e + 0x1*i0; } 46112d756322SRob Clark 46122d756322SRob Clark static inline uint32_t REG_A6XX_SP_FS_OUTPUT_REG(uint32_t i0) { return 0x0000a98e + 0x1*i0; } 46132d756322SRob Clark #define A6XX_SP_FS_OUTPUT_REG_REGID__MASK 0x000000ff 46142d756322SRob Clark #define A6XX_SP_FS_OUTPUT_REG_REGID__SHIFT 0 46152d756322SRob Clark static inline uint32_t A6XX_SP_FS_OUTPUT_REG_REGID(uint32_t val) 46162d756322SRob Clark { 46172d756322SRob Clark return ((val) << A6XX_SP_FS_OUTPUT_REG_REGID__SHIFT) & A6XX_SP_FS_OUTPUT_REG_REGID__MASK; 46182d756322SRob Clark } 46192d756322SRob Clark #define A6XX_SP_FS_OUTPUT_REG_HALF_PRECISION 0x00000100 46202d756322SRob Clark 46212d756322SRob Clark #define REG_A6XX_SP_CS_CTRL_REG0 0x0000a9b0 46222d756322SRob Clark #define A6XX_SP_CS_CTRL_REG0_HALFREGFOOTPRINT__MASK 0x0000007e 46232d756322SRob Clark #define A6XX_SP_CS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT 1 46242d756322SRob Clark static inline uint32_t A6XX_SP_CS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val) 46252d756322SRob Clark { 46262d756322SRob Clark return ((val) << A6XX_SP_CS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT) & A6XX_SP_CS_CTRL_REG0_HALFREGFOOTPRINT__MASK; 46272d756322SRob Clark } 46282d756322SRob Clark #define A6XX_SP_CS_CTRL_REG0_FULLREGFOOTPRINT__MASK 0x00001f80 46292d756322SRob Clark #define A6XX_SP_CS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT 7 46302d756322SRob Clark static inline uint32_t A6XX_SP_CS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val) 46312d756322SRob Clark { 46322d756322SRob Clark return ((val) << A6XX_SP_CS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT) & A6XX_SP_CS_CTRL_REG0_FULLREGFOOTPRINT__MASK; 46332d756322SRob Clark } 46342d756322SRob Clark #define A6XX_SP_CS_CTRL_REG0_BRANCHSTACK__MASK 0x000fc000 46352d756322SRob Clark #define A6XX_SP_CS_CTRL_REG0_BRANCHSTACK__SHIFT 14 46362d756322SRob Clark static inline uint32_t A6XX_SP_CS_CTRL_REG0_BRANCHSTACK(uint32_t val) 46372d756322SRob Clark { 46382d756322SRob Clark return ((val) << A6XX_SP_CS_CTRL_REG0_BRANCHSTACK__SHIFT) & A6XX_SP_CS_CTRL_REG0_BRANCHSTACK__MASK; 46392d756322SRob Clark } 46402d756322SRob Clark #define A6XX_SP_CS_CTRL_REG0_THREADSIZE__MASK 0x00100000 46412d756322SRob Clark #define A6XX_SP_CS_CTRL_REG0_THREADSIZE__SHIFT 20 46422d756322SRob Clark static inline uint32_t A6XX_SP_CS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val) 46432d756322SRob Clark { 46442d756322SRob Clark return ((val) << A6XX_SP_CS_CTRL_REG0_THREADSIZE__SHIFT) & A6XX_SP_CS_CTRL_REG0_THREADSIZE__MASK; 46452d756322SRob Clark } 46462d756322SRob Clark #define A6XX_SP_CS_CTRL_REG0_VARYING 0x00400000 46472d756322SRob Clark #define A6XX_SP_CS_CTRL_REG0_PIXLODENABLE 0x04000000 46482d756322SRob Clark #define A6XX_SP_CS_CTRL_REG0_MERGEDREGS 0x80000000 46492d756322SRob Clark 46502d756322SRob Clark #define REG_A6XX_SP_CS_OBJ_START_LO 0x0000a9b4 46512d756322SRob Clark 46522d756322SRob Clark #define REG_A6XX_SP_CS_OBJ_START_HI 0x0000a9b5 46532d756322SRob Clark 46542d756322SRob Clark #define REG_A6XX_SP_CS_INSTRLEN 0x0000a9bc 46552d756322SRob Clark 46562d756322SRob Clark #define REG_A6XX_SP_UNKNOWN_AB00 0x0000ab00 46572d756322SRob Clark 46582d756322SRob Clark #define REG_A6XX_SP_FS_CONFIG 0x0000ab04 46592d756322SRob Clark #define A6XX_SP_FS_CONFIG_ENABLED 0x00000100 46602d756322SRob Clark #define A6XX_SP_FS_CONFIG_NTEX__MASK 0x0001fe00 46612d756322SRob Clark #define A6XX_SP_FS_CONFIG_NTEX__SHIFT 9 46622d756322SRob Clark static inline uint32_t A6XX_SP_FS_CONFIG_NTEX(uint32_t val) 46632d756322SRob Clark { 46642d756322SRob Clark return ((val) << A6XX_SP_FS_CONFIG_NTEX__SHIFT) & A6XX_SP_FS_CONFIG_NTEX__MASK; 46652d756322SRob Clark } 46662d756322SRob Clark #define A6XX_SP_FS_CONFIG_NSAMP__MASK 0x01fe0000 46672d756322SRob Clark #define A6XX_SP_FS_CONFIG_NSAMP__SHIFT 17 46682d756322SRob Clark static inline uint32_t A6XX_SP_FS_CONFIG_NSAMP(uint32_t val) 46692d756322SRob Clark { 46702d756322SRob Clark return ((val) << A6XX_SP_FS_CONFIG_NSAMP__SHIFT) & A6XX_SP_FS_CONFIG_NSAMP__MASK; 46712d756322SRob Clark } 46722d756322SRob Clark 46732d756322SRob Clark #define REG_A6XX_SP_FS_INSTRLEN 0x0000ab05 46742d756322SRob Clark 4675a69c5ed2SRob Clark #define REG_A6XX_SP_UNKNOWN_AB20 0x0000ab20 4676a69c5ed2SRob Clark 4677ccdf7e28SRob Clark #define REG_A6XX_SP_UNKNOWN_ACC0 0x0000acc0 4678ccdf7e28SRob Clark 46792d756322SRob Clark #define REG_A6XX_SP_UNKNOWN_AE00 0x0000ae00 46802d756322SRob Clark 4681a69c5ed2SRob Clark #define REG_A6XX_SP_UNKNOWN_AE03 0x0000ae03 4682a69c5ed2SRob Clark 46832d756322SRob Clark #define REG_A6XX_SP_UNKNOWN_AE04 0x0000ae04 46842d756322SRob Clark 46852d756322SRob Clark #define REG_A6XX_SP_UNKNOWN_AE0F 0x0000ae0f 46862d756322SRob Clark 46872d756322SRob Clark #define REG_A6XX_SP_UNKNOWN_B182 0x0000b182 46882d756322SRob Clark 4689a69c5ed2SRob Clark #define REG_A6XX_SP_UNKNOWN_B183 0x0000b183 4690a69c5ed2SRob Clark 46912d756322SRob Clark #define REG_A6XX_SP_TP_RAS_MSAA_CNTL 0x0000b300 46922d756322SRob Clark #define A6XX_SP_TP_RAS_MSAA_CNTL_SAMPLES__MASK 0x00000003 46932d756322SRob Clark #define A6XX_SP_TP_RAS_MSAA_CNTL_SAMPLES__SHIFT 0 46942d756322SRob Clark static inline uint32_t A6XX_SP_TP_RAS_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val) 46952d756322SRob Clark { 46962d756322SRob Clark return ((val) << A6XX_SP_TP_RAS_MSAA_CNTL_SAMPLES__SHIFT) & A6XX_SP_TP_RAS_MSAA_CNTL_SAMPLES__MASK; 46972d756322SRob Clark } 46982d756322SRob Clark 46992d756322SRob Clark #define REG_A6XX_SP_TP_DEST_MSAA_CNTL 0x0000b301 47002d756322SRob Clark #define A6XX_SP_TP_DEST_MSAA_CNTL_SAMPLES__MASK 0x00000003 47012d756322SRob Clark #define A6XX_SP_TP_DEST_MSAA_CNTL_SAMPLES__SHIFT 0 47022d756322SRob Clark static inline uint32_t A6XX_SP_TP_DEST_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val) 47032d756322SRob Clark { 47042d756322SRob Clark return ((val) << A6XX_SP_TP_DEST_MSAA_CNTL_SAMPLES__SHIFT) & A6XX_SP_TP_DEST_MSAA_CNTL_SAMPLES__MASK; 47052d756322SRob Clark } 47062d756322SRob Clark #define A6XX_SP_TP_DEST_MSAA_CNTL_MSAA_DISABLE 0x00000004 47072d756322SRob Clark 47082d756322SRob Clark #define REG_A6XX_SP_TP_BORDER_COLOR_BASE_ADDR_LO 0x0000b302 47092d756322SRob Clark 47102d756322SRob Clark #define REG_A6XX_SP_TP_BORDER_COLOR_BASE_ADDR_HI 0x0000b303 47112d756322SRob Clark 47122d756322SRob Clark #define REG_A6XX_SP_TP_UNKNOWN_B304 0x0000b304 47132d756322SRob Clark 4714a69c5ed2SRob Clark #define REG_A6XX_SP_TP_UNKNOWN_B309 0x0000b309 4715a69c5ed2SRob Clark 47162d756322SRob Clark #define REG_A6XX_SP_PS_2D_SRC_INFO 0x0000b4c0 47172d756322SRob Clark #define A6XX_SP_PS_2D_SRC_INFO_COLOR_FORMAT__MASK 0x000000ff 47182d756322SRob Clark #define A6XX_SP_PS_2D_SRC_INFO_COLOR_FORMAT__SHIFT 0 47192d756322SRob Clark static inline uint32_t A6XX_SP_PS_2D_SRC_INFO_COLOR_FORMAT(enum a6xx_color_fmt val) 47202d756322SRob Clark { 47212d756322SRob Clark return ((val) << A6XX_SP_PS_2D_SRC_INFO_COLOR_FORMAT__SHIFT) & A6XX_SP_PS_2D_SRC_INFO_COLOR_FORMAT__MASK; 47222d756322SRob Clark } 47232d756322SRob Clark #define A6XX_SP_PS_2D_SRC_INFO_TILE_MODE__MASK 0x00000300 47242d756322SRob Clark #define A6XX_SP_PS_2D_SRC_INFO_TILE_MODE__SHIFT 8 47252d756322SRob Clark static inline uint32_t A6XX_SP_PS_2D_SRC_INFO_TILE_MODE(enum a6xx_tile_mode val) 47262d756322SRob Clark { 47272d756322SRob Clark return ((val) << A6XX_SP_PS_2D_SRC_INFO_TILE_MODE__SHIFT) & A6XX_SP_PS_2D_SRC_INFO_TILE_MODE__MASK; 47282d756322SRob Clark } 47292d756322SRob Clark #define A6XX_SP_PS_2D_SRC_INFO_COLOR_SWAP__MASK 0x00000c00 47302d756322SRob Clark #define A6XX_SP_PS_2D_SRC_INFO_COLOR_SWAP__SHIFT 10 47312d756322SRob Clark static inline uint32_t A6XX_SP_PS_2D_SRC_INFO_COLOR_SWAP(enum a3xx_color_swap val) 47322d756322SRob Clark { 47332d756322SRob Clark return ((val) << A6XX_SP_PS_2D_SRC_INFO_COLOR_SWAP__SHIFT) & A6XX_SP_PS_2D_SRC_INFO_COLOR_SWAP__MASK; 47342d756322SRob Clark } 47352d756322SRob Clark #define A6XX_SP_PS_2D_SRC_INFO_FLAGS 0x00001000 4736ccdf7e28SRob Clark #define A6XX_SP_PS_2D_SRC_INFO_FILTER 0x00010000 4737ccdf7e28SRob Clark 4738ccdf7e28SRob Clark #define REG_A6XX_SP_PS_2D_SRC_SIZE 0x0000b4c1 4739ccdf7e28SRob Clark #define A6XX_SP_PS_2D_SRC_SIZE_WIDTH__MASK 0x00007fff 4740ccdf7e28SRob Clark #define A6XX_SP_PS_2D_SRC_SIZE_WIDTH__SHIFT 0 4741ccdf7e28SRob Clark static inline uint32_t A6XX_SP_PS_2D_SRC_SIZE_WIDTH(uint32_t val) 4742ccdf7e28SRob Clark { 4743ccdf7e28SRob Clark return ((val) << A6XX_SP_PS_2D_SRC_SIZE_WIDTH__SHIFT) & A6XX_SP_PS_2D_SRC_SIZE_WIDTH__MASK; 4744ccdf7e28SRob Clark } 4745ccdf7e28SRob Clark #define A6XX_SP_PS_2D_SRC_SIZE_HEIGHT__MASK 0x3fff8000 4746ccdf7e28SRob Clark #define A6XX_SP_PS_2D_SRC_SIZE_HEIGHT__SHIFT 15 4747ccdf7e28SRob Clark static inline uint32_t A6XX_SP_PS_2D_SRC_SIZE_HEIGHT(uint32_t val) 4748ccdf7e28SRob Clark { 4749ccdf7e28SRob Clark return ((val) << A6XX_SP_PS_2D_SRC_SIZE_HEIGHT__SHIFT) & A6XX_SP_PS_2D_SRC_SIZE_HEIGHT__MASK; 4750ccdf7e28SRob Clark } 47512d756322SRob Clark 47522d756322SRob Clark #define REG_A6XX_SP_PS_2D_SRC_LO 0x0000b4c2 47532d756322SRob Clark 47542d756322SRob Clark #define REG_A6XX_SP_PS_2D_SRC_HI 0x0000b4c3 47552d756322SRob Clark 4756ccdf7e28SRob Clark #define REG_A6XX_SP_PS_2D_SRC_PITCH 0x0000b4c4 4757ccdf7e28SRob Clark #define A6XX_SP_PS_2D_SRC_PITCH_PITCH__MASK 0x01fffe00 4758ccdf7e28SRob Clark #define A6XX_SP_PS_2D_SRC_PITCH_PITCH__SHIFT 9 4759ccdf7e28SRob Clark static inline uint32_t A6XX_SP_PS_2D_SRC_PITCH_PITCH(uint32_t val) 4760ccdf7e28SRob Clark { 4761ccdf7e28SRob Clark return ((val >> 6) << A6XX_SP_PS_2D_SRC_PITCH_PITCH__SHIFT) & A6XX_SP_PS_2D_SRC_PITCH_PITCH__MASK; 4762ccdf7e28SRob Clark } 4763ccdf7e28SRob Clark 47642d756322SRob Clark #define REG_A6XX_SP_PS_2D_SRC_FLAGS_LO 0x0000b4ca 47652d756322SRob Clark 47662d756322SRob Clark #define REG_A6XX_SP_PS_2D_SRC_FLAGS_HI 0x0000b4cb 47672d756322SRob Clark 47682d756322SRob Clark #define REG_A6XX_SP_UNKNOWN_B600 0x0000b600 47692d756322SRob Clark 47702d756322SRob Clark #define REG_A6XX_SP_UNKNOWN_B605 0x0000b605 47712d756322SRob Clark 47722d756322SRob Clark #define REG_A6XX_HLSQ_VS_CNTL 0x0000b800 47732d756322SRob Clark #define A6XX_HLSQ_VS_CNTL_CONSTLEN__MASK 0x000000ff 47742d756322SRob Clark #define A6XX_HLSQ_VS_CNTL_CONSTLEN__SHIFT 0 47752d756322SRob Clark static inline uint32_t A6XX_HLSQ_VS_CNTL_CONSTLEN(uint32_t val) 47762d756322SRob Clark { 47772d756322SRob Clark return ((val >> 2) << A6XX_HLSQ_VS_CNTL_CONSTLEN__SHIFT) & A6XX_HLSQ_VS_CNTL_CONSTLEN__MASK; 47782d756322SRob Clark } 47792d756322SRob Clark 47802d756322SRob Clark #define REG_A6XX_HLSQ_HS_CNTL 0x0000b801 47812d756322SRob Clark #define A6XX_HLSQ_HS_CNTL_CONSTLEN__MASK 0x000000ff 47822d756322SRob Clark #define A6XX_HLSQ_HS_CNTL_CONSTLEN__SHIFT 0 47832d756322SRob Clark static inline uint32_t A6XX_HLSQ_HS_CNTL_CONSTLEN(uint32_t val) 47842d756322SRob Clark { 47852d756322SRob Clark return ((val >> 2) << A6XX_HLSQ_HS_CNTL_CONSTLEN__SHIFT) & A6XX_HLSQ_HS_CNTL_CONSTLEN__MASK; 47862d756322SRob Clark } 47872d756322SRob Clark 47882d756322SRob Clark #define REG_A6XX_HLSQ_DS_CNTL 0x0000b802 47892d756322SRob Clark #define A6XX_HLSQ_DS_CNTL_CONSTLEN__MASK 0x000000ff 47902d756322SRob Clark #define A6XX_HLSQ_DS_CNTL_CONSTLEN__SHIFT 0 47912d756322SRob Clark static inline uint32_t A6XX_HLSQ_DS_CNTL_CONSTLEN(uint32_t val) 47922d756322SRob Clark { 47932d756322SRob Clark return ((val >> 2) << A6XX_HLSQ_DS_CNTL_CONSTLEN__SHIFT) & A6XX_HLSQ_DS_CNTL_CONSTLEN__MASK; 47942d756322SRob Clark } 47952d756322SRob Clark 47962d756322SRob Clark #define REG_A6XX_HLSQ_GS_CNTL 0x0000b803 47972d756322SRob Clark #define A6XX_HLSQ_GS_CNTL_CONSTLEN__MASK 0x000000ff 47982d756322SRob Clark #define A6XX_HLSQ_GS_CNTL_CONSTLEN__SHIFT 0 47992d756322SRob Clark static inline uint32_t A6XX_HLSQ_GS_CNTL_CONSTLEN(uint32_t val) 48002d756322SRob Clark { 48012d756322SRob Clark return ((val >> 2) << A6XX_HLSQ_GS_CNTL_CONSTLEN__SHIFT) & A6XX_HLSQ_GS_CNTL_CONSTLEN__MASK; 48022d756322SRob Clark } 48032d756322SRob Clark 4804a69c5ed2SRob Clark #define REG_A6XX_HLSQ_UNKNOWN_B980 0x0000b980 4805a69c5ed2SRob Clark 48062d756322SRob Clark #define REG_A6XX_HLSQ_CONTROL_1_REG 0x0000b982 48072d756322SRob Clark 48082d756322SRob Clark #define REG_A6XX_HLSQ_CONTROL_2_REG 0x0000b983 48092d756322SRob Clark #define A6XX_HLSQ_CONTROL_2_REG_FACEREGID__MASK 0x000000ff 48102d756322SRob Clark #define A6XX_HLSQ_CONTROL_2_REG_FACEREGID__SHIFT 0 48112d756322SRob Clark static inline uint32_t A6XX_HLSQ_CONTROL_2_REG_FACEREGID(uint32_t val) 48122d756322SRob Clark { 48132d756322SRob Clark return ((val) << A6XX_HLSQ_CONTROL_2_REG_FACEREGID__SHIFT) & A6XX_HLSQ_CONTROL_2_REG_FACEREGID__MASK; 48142d756322SRob Clark } 48152d756322SRob Clark #define A6XX_HLSQ_CONTROL_2_REG_SAMPLEID__MASK 0x0000ff00 48162d756322SRob Clark #define A6XX_HLSQ_CONTROL_2_REG_SAMPLEID__SHIFT 8 48172d756322SRob Clark static inline uint32_t A6XX_HLSQ_CONTROL_2_REG_SAMPLEID(uint32_t val) 48182d756322SRob Clark { 48192d756322SRob Clark return ((val) << A6XX_HLSQ_CONTROL_2_REG_SAMPLEID__SHIFT) & A6XX_HLSQ_CONTROL_2_REG_SAMPLEID__MASK; 48202d756322SRob Clark } 48212d756322SRob Clark #define A6XX_HLSQ_CONTROL_2_REG_SAMPLEMASK__MASK 0x00ff0000 48222d756322SRob Clark #define A6XX_HLSQ_CONTROL_2_REG_SAMPLEMASK__SHIFT 16 48232d756322SRob Clark static inline uint32_t A6XX_HLSQ_CONTROL_2_REG_SAMPLEMASK(uint32_t val) 48242d756322SRob Clark { 48252d756322SRob Clark return ((val) << A6XX_HLSQ_CONTROL_2_REG_SAMPLEMASK__SHIFT) & A6XX_HLSQ_CONTROL_2_REG_SAMPLEMASK__MASK; 48262d756322SRob Clark } 48272d756322SRob Clark 48282d756322SRob Clark #define REG_A6XX_HLSQ_CONTROL_3_REG 0x0000b984 48292d756322SRob Clark #define A6XX_HLSQ_CONTROL_3_REG_FRAGCOORDXYREGID__MASK 0x000000ff 48302d756322SRob Clark #define A6XX_HLSQ_CONTROL_3_REG_FRAGCOORDXYREGID__SHIFT 0 48312d756322SRob Clark static inline uint32_t A6XX_HLSQ_CONTROL_3_REG_FRAGCOORDXYREGID(uint32_t val) 48322d756322SRob Clark { 48332d756322SRob Clark return ((val) << A6XX_HLSQ_CONTROL_3_REG_FRAGCOORDXYREGID__SHIFT) & A6XX_HLSQ_CONTROL_3_REG_FRAGCOORDXYREGID__MASK; 48342d756322SRob Clark } 48352d756322SRob Clark 48362d756322SRob Clark #define REG_A6XX_HLSQ_CONTROL_4_REG 0x0000b985 48372d756322SRob Clark #define A6XX_HLSQ_CONTROL_4_REG_XYCOORDREGID__MASK 0x00ff0000 48382d756322SRob Clark #define A6XX_HLSQ_CONTROL_4_REG_XYCOORDREGID__SHIFT 16 48392d756322SRob Clark static inline uint32_t A6XX_HLSQ_CONTROL_4_REG_XYCOORDREGID(uint32_t val) 48402d756322SRob Clark { 48412d756322SRob Clark return ((val) << A6XX_HLSQ_CONTROL_4_REG_XYCOORDREGID__SHIFT) & A6XX_HLSQ_CONTROL_4_REG_XYCOORDREGID__MASK; 48422d756322SRob Clark } 48432d756322SRob Clark #define A6XX_HLSQ_CONTROL_4_REG_ZWCOORDREGID__MASK 0xff000000 48442d756322SRob Clark #define A6XX_HLSQ_CONTROL_4_REG_ZWCOORDREGID__SHIFT 24 48452d756322SRob Clark static inline uint32_t A6XX_HLSQ_CONTROL_4_REG_ZWCOORDREGID(uint32_t val) 48462d756322SRob Clark { 48472d756322SRob Clark return ((val) << A6XX_HLSQ_CONTROL_4_REG_ZWCOORDREGID__SHIFT) & A6XX_HLSQ_CONTROL_4_REG_ZWCOORDREGID__MASK; 48482d756322SRob Clark } 48492d756322SRob Clark 48502d756322SRob Clark #define REG_A6XX_HLSQ_CONTROL_5_REG 0x0000b986 48512d756322SRob Clark 48522d756322SRob Clark #define REG_A6XX_HLSQ_CS_NDRANGE_0 0x0000b990 48532d756322SRob Clark #define A6XX_HLSQ_CS_NDRANGE_0_KERNELDIM__MASK 0x00000003 48542d756322SRob Clark #define A6XX_HLSQ_CS_NDRANGE_0_KERNELDIM__SHIFT 0 48552d756322SRob Clark static inline uint32_t A6XX_HLSQ_CS_NDRANGE_0_KERNELDIM(uint32_t val) 48562d756322SRob Clark { 48572d756322SRob Clark return ((val) << A6XX_HLSQ_CS_NDRANGE_0_KERNELDIM__SHIFT) & A6XX_HLSQ_CS_NDRANGE_0_KERNELDIM__MASK; 48582d756322SRob Clark } 48592d756322SRob Clark #define A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEX__MASK 0x00000ffc 48602d756322SRob Clark #define A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEX__SHIFT 2 48612d756322SRob Clark static inline uint32_t A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEX(uint32_t val) 48622d756322SRob Clark { 48632d756322SRob Clark return ((val) << A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEX__SHIFT) & A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEX__MASK; 48642d756322SRob Clark } 48652d756322SRob Clark #define A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEY__MASK 0x003ff000 48662d756322SRob Clark #define A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEY__SHIFT 12 48672d756322SRob Clark static inline uint32_t A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEY(uint32_t val) 48682d756322SRob Clark { 48692d756322SRob Clark return ((val) << A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEY__SHIFT) & A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEY__MASK; 48702d756322SRob Clark } 48712d756322SRob Clark #define A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEZ__MASK 0xffc00000 48722d756322SRob Clark #define A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEZ__SHIFT 22 48732d756322SRob Clark static inline uint32_t A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEZ(uint32_t val) 48742d756322SRob Clark { 48752d756322SRob Clark return ((val) << A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEZ__SHIFT) & A6XX_HLSQ_CS_NDRANGE_0_LOCALSIZEZ__MASK; 48762d756322SRob Clark } 48772d756322SRob Clark 48782d756322SRob Clark #define REG_A6XX_HLSQ_CS_NDRANGE_1 0x0000b991 48792d756322SRob Clark #define A6XX_HLSQ_CS_NDRANGE_1_GLOBALSIZE_X__MASK 0xffffffff 48802d756322SRob Clark #define A6XX_HLSQ_CS_NDRANGE_1_GLOBALSIZE_X__SHIFT 0 48812d756322SRob Clark static inline uint32_t A6XX_HLSQ_CS_NDRANGE_1_GLOBALSIZE_X(uint32_t val) 48822d756322SRob Clark { 48832d756322SRob Clark return ((val) << A6XX_HLSQ_CS_NDRANGE_1_GLOBALSIZE_X__SHIFT) & A6XX_HLSQ_CS_NDRANGE_1_GLOBALSIZE_X__MASK; 48842d756322SRob Clark } 48852d756322SRob Clark 48862d756322SRob Clark #define REG_A6XX_HLSQ_CS_NDRANGE_2 0x0000b992 48872d756322SRob Clark #define A6XX_HLSQ_CS_NDRANGE_2_GLOBALOFF_X__MASK 0xffffffff 48882d756322SRob Clark #define A6XX_HLSQ_CS_NDRANGE_2_GLOBALOFF_X__SHIFT 0 48892d756322SRob Clark static inline uint32_t A6XX_HLSQ_CS_NDRANGE_2_GLOBALOFF_X(uint32_t val) 48902d756322SRob Clark { 48912d756322SRob Clark return ((val) << A6XX_HLSQ_CS_NDRANGE_2_GLOBALOFF_X__SHIFT) & A6XX_HLSQ_CS_NDRANGE_2_GLOBALOFF_X__MASK; 48922d756322SRob Clark } 48932d756322SRob Clark 48942d756322SRob Clark #define REG_A6XX_HLSQ_CS_NDRANGE_3 0x0000b993 48952d756322SRob Clark #define A6XX_HLSQ_CS_NDRANGE_3_GLOBALSIZE_Y__MASK 0xffffffff 48962d756322SRob Clark #define A6XX_HLSQ_CS_NDRANGE_3_GLOBALSIZE_Y__SHIFT 0 48972d756322SRob Clark static inline uint32_t A6XX_HLSQ_CS_NDRANGE_3_GLOBALSIZE_Y(uint32_t val) 48982d756322SRob Clark { 48992d756322SRob Clark return ((val) << A6XX_HLSQ_CS_NDRANGE_3_GLOBALSIZE_Y__SHIFT) & A6XX_HLSQ_CS_NDRANGE_3_GLOBALSIZE_Y__MASK; 49002d756322SRob Clark } 49012d756322SRob Clark 49022d756322SRob Clark #define REG_A6XX_HLSQ_CS_NDRANGE_4 0x0000b994 49032d756322SRob Clark #define A6XX_HLSQ_CS_NDRANGE_4_GLOBALOFF_Y__MASK 0xffffffff 49042d756322SRob Clark #define A6XX_HLSQ_CS_NDRANGE_4_GLOBALOFF_Y__SHIFT 0 49052d756322SRob Clark static inline uint32_t A6XX_HLSQ_CS_NDRANGE_4_GLOBALOFF_Y(uint32_t val) 49062d756322SRob Clark { 49072d756322SRob Clark return ((val) << A6XX_HLSQ_CS_NDRANGE_4_GLOBALOFF_Y__SHIFT) & A6XX_HLSQ_CS_NDRANGE_4_GLOBALOFF_Y__MASK; 49082d756322SRob Clark } 49092d756322SRob Clark 49102d756322SRob Clark #define REG_A6XX_HLSQ_CS_NDRANGE_5 0x0000b995 49112d756322SRob Clark #define A6XX_HLSQ_CS_NDRANGE_5_GLOBALSIZE_Z__MASK 0xffffffff 49122d756322SRob Clark #define A6XX_HLSQ_CS_NDRANGE_5_GLOBALSIZE_Z__SHIFT 0 49132d756322SRob Clark static inline uint32_t A6XX_HLSQ_CS_NDRANGE_5_GLOBALSIZE_Z(uint32_t val) 49142d756322SRob Clark { 49152d756322SRob Clark return ((val) << A6XX_HLSQ_CS_NDRANGE_5_GLOBALSIZE_Z__SHIFT) & A6XX_HLSQ_CS_NDRANGE_5_GLOBALSIZE_Z__MASK; 49162d756322SRob Clark } 49172d756322SRob Clark 49182d756322SRob Clark #define REG_A6XX_HLSQ_CS_NDRANGE_6 0x0000b996 49192d756322SRob Clark #define A6XX_HLSQ_CS_NDRANGE_6_GLOBALOFF_Z__MASK 0xffffffff 49202d756322SRob Clark #define A6XX_HLSQ_CS_NDRANGE_6_GLOBALOFF_Z__SHIFT 0 49212d756322SRob Clark static inline uint32_t A6XX_HLSQ_CS_NDRANGE_6_GLOBALOFF_Z(uint32_t val) 49222d756322SRob Clark { 49232d756322SRob Clark return ((val) << A6XX_HLSQ_CS_NDRANGE_6_GLOBALOFF_Z__SHIFT) & A6XX_HLSQ_CS_NDRANGE_6_GLOBALOFF_Z__MASK; 49242d756322SRob Clark } 49252d756322SRob Clark 49262d756322SRob Clark #define REG_A6XX_HLSQ_CS_CNTL_0 0x0000b997 49272d756322SRob Clark #define A6XX_HLSQ_CS_CNTL_0_WGIDCONSTID__MASK 0x000000ff 49282d756322SRob Clark #define A6XX_HLSQ_CS_CNTL_0_WGIDCONSTID__SHIFT 0 49292d756322SRob Clark static inline uint32_t A6XX_HLSQ_CS_CNTL_0_WGIDCONSTID(uint32_t val) 49302d756322SRob Clark { 49312d756322SRob Clark return ((val) << A6XX_HLSQ_CS_CNTL_0_WGIDCONSTID__SHIFT) & A6XX_HLSQ_CS_CNTL_0_WGIDCONSTID__MASK; 49322d756322SRob Clark } 49332d756322SRob Clark #define A6XX_HLSQ_CS_CNTL_0_UNK0__MASK 0x0000ff00 49342d756322SRob Clark #define A6XX_HLSQ_CS_CNTL_0_UNK0__SHIFT 8 49352d756322SRob Clark static inline uint32_t A6XX_HLSQ_CS_CNTL_0_UNK0(uint32_t val) 49362d756322SRob Clark { 49372d756322SRob Clark return ((val) << A6XX_HLSQ_CS_CNTL_0_UNK0__SHIFT) & A6XX_HLSQ_CS_CNTL_0_UNK0__MASK; 49382d756322SRob Clark } 49392d756322SRob Clark #define A6XX_HLSQ_CS_CNTL_0_UNK1__MASK 0x00ff0000 49402d756322SRob Clark #define A6XX_HLSQ_CS_CNTL_0_UNK1__SHIFT 16 49412d756322SRob Clark static inline uint32_t A6XX_HLSQ_CS_CNTL_0_UNK1(uint32_t val) 49422d756322SRob Clark { 49432d756322SRob Clark return ((val) << A6XX_HLSQ_CS_CNTL_0_UNK1__SHIFT) & A6XX_HLSQ_CS_CNTL_0_UNK1__MASK; 49442d756322SRob Clark } 49452d756322SRob Clark #define A6XX_HLSQ_CS_CNTL_0_LOCALIDREGID__MASK 0xff000000 49462d756322SRob Clark #define A6XX_HLSQ_CS_CNTL_0_LOCALIDREGID__SHIFT 24 49472d756322SRob Clark static inline uint32_t A6XX_HLSQ_CS_CNTL_0_LOCALIDREGID(uint32_t val) 49482d756322SRob Clark { 49492d756322SRob Clark return ((val) << A6XX_HLSQ_CS_CNTL_0_LOCALIDREGID__SHIFT) & A6XX_HLSQ_CS_CNTL_0_LOCALIDREGID__MASK; 49502d756322SRob Clark } 49512d756322SRob Clark 49522d756322SRob Clark #define REG_A6XX_HLSQ_CS_KERNEL_GROUP_X 0x0000b999 49532d756322SRob Clark 49542d756322SRob Clark #define REG_A6XX_HLSQ_CS_KERNEL_GROUP_Y 0x0000b99a 49552d756322SRob Clark 49562d756322SRob Clark #define REG_A6XX_HLSQ_CS_KERNEL_GROUP_Z 0x0000b99b 49572d756322SRob Clark 49582d756322SRob Clark #define REG_A6XX_HLSQ_UPDATE_CNTL 0x0000bb08 49592d756322SRob Clark 49602d756322SRob Clark #define REG_A6XX_HLSQ_FS_CNTL 0x0000bb10 49612d756322SRob Clark #define A6XX_HLSQ_FS_CNTL_CONSTLEN__MASK 0x000000ff 49622d756322SRob Clark #define A6XX_HLSQ_FS_CNTL_CONSTLEN__SHIFT 0 49632d756322SRob Clark static inline uint32_t A6XX_HLSQ_FS_CNTL_CONSTLEN(uint32_t val) 49642d756322SRob Clark { 49652d756322SRob Clark return ((val >> 2) << A6XX_HLSQ_FS_CNTL_CONSTLEN__SHIFT) & A6XX_HLSQ_FS_CNTL_CONSTLEN__MASK; 49662d756322SRob Clark } 49672d756322SRob Clark 49682d756322SRob Clark #define REG_A6XX_HLSQ_UNKNOWN_BB11 0x0000bb11 49692d756322SRob Clark 49702d756322SRob Clark #define REG_A6XX_HLSQ_UNKNOWN_BE00 0x0000be00 49712d756322SRob Clark 49722d756322SRob Clark #define REG_A6XX_HLSQ_UNKNOWN_BE01 0x0000be01 49732d756322SRob Clark 49742d756322SRob Clark #define REG_A6XX_HLSQ_UNKNOWN_BE04 0x0000be04 49752d756322SRob Clark 49762d756322SRob Clark #define REG_A6XX_TEX_SAMP_0 0x00000000 49772d756322SRob Clark #define A6XX_TEX_SAMP_0_MIPFILTER_LINEAR_NEAR 0x00000001 49782d756322SRob Clark #define A6XX_TEX_SAMP_0_XY_MAG__MASK 0x00000006 49792d756322SRob Clark #define A6XX_TEX_SAMP_0_XY_MAG__SHIFT 1 49802d756322SRob Clark static inline uint32_t A6XX_TEX_SAMP_0_XY_MAG(enum a6xx_tex_filter val) 49812d756322SRob Clark { 49822d756322SRob Clark return ((val) << A6XX_TEX_SAMP_0_XY_MAG__SHIFT) & A6XX_TEX_SAMP_0_XY_MAG__MASK; 49832d756322SRob Clark } 49842d756322SRob Clark #define A6XX_TEX_SAMP_0_XY_MIN__MASK 0x00000018 49852d756322SRob Clark #define A6XX_TEX_SAMP_0_XY_MIN__SHIFT 3 49862d756322SRob Clark static inline uint32_t A6XX_TEX_SAMP_0_XY_MIN(enum a6xx_tex_filter val) 49872d756322SRob Clark { 49882d756322SRob Clark return ((val) << A6XX_TEX_SAMP_0_XY_MIN__SHIFT) & A6XX_TEX_SAMP_0_XY_MIN__MASK; 49892d756322SRob Clark } 49902d756322SRob Clark #define A6XX_TEX_SAMP_0_WRAP_S__MASK 0x000000e0 49912d756322SRob Clark #define A6XX_TEX_SAMP_0_WRAP_S__SHIFT 5 49922d756322SRob Clark static inline uint32_t A6XX_TEX_SAMP_0_WRAP_S(enum a6xx_tex_clamp val) 49932d756322SRob Clark { 49942d756322SRob Clark return ((val) << A6XX_TEX_SAMP_0_WRAP_S__SHIFT) & A6XX_TEX_SAMP_0_WRAP_S__MASK; 49952d756322SRob Clark } 49962d756322SRob Clark #define A6XX_TEX_SAMP_0_WRAP_T__MASK 0x00000700 49972d756322SRob Clark #define A6XX_TEX_SAMP_0_WRAP_T__SHIFT 8 49982d756322SRob Clark static inline uint32_t A6XX_TEX_SAMP_0_WRAP_T(enum a6xx_tex_clamp val) 49992d756322SRob Clark { 50002d756322SRob Clark return ((val) << A6XX_TEX_SAMP_0_WRAP_T__SHIFT) & A6XX_TEX_SAMP_0_WRAP_T__MASK; 50012d756322SRob Clark } 50022d756322SRob Clark #define A6XX_TEX_SAMP_0_WRAP_R__MASK 0x00003800 50032d756322SRob Clark #define A6XX_TEX_SAMP_0_WRAP_R__SHIFT 11 50042d756322SRob Clark static inline uint32_t A6XX_TEX_SAMP_0_WRAP_R(enum a6xx_tex_clamp val) 50052d756322SRob Clark { 50062d756322SRob Clark return ((val) << A6XX_TEX_SAMP_0_WRAP_R__SHIFT) & A6XX_TEX_SAMP_0_WRAP_R__MASK; 50072d756322SRob Clark } 50082d756322SRob Clark #define A6XX_TEX_SAMP_0_ANISO__MASK 0x0001c000 50092d756322SRob Clark #define A6XX_TEX_SAMP_0_ANISO__SHIFT 14 50102d756322SRob Clark static inline uint32_t A6XX_TEX_SAMP_0_ANISO(enum a6xx_tex_aniso val) 50112d756322SRob Clark { 50122d756322SRob Clark return ((val) << A6XX_TEX_SAMP_0_ANISO__SHIFT) & A6XX_TEX_SAMP_0_ANISO__MASK; 50132d756322SRob Clark } 50142d756322SRob Clark #define A6XX_TEX_SAMP_0_LOD_BIAS__MASK 0xfff80000 50152d756322SRob Clark #define A6XX_TEX_SAMP_0_LOD_BIAS__SHIFT 19 50162d756322SRob Clark static inline uint32_t A6XX_TEX_SAMP_0_LOD_BIAS(float val) 50172d756322SRob Clark { 50182d756322SRob Clark return ((((int32_t)(val * 256.0))) << A6XX_TEX_SAMP_0_LOD_BIAS__SHIFT) & A6XX_TEX_SAMP_0_LOD_BIAS__MASK; 50192d756322SRob Clark } 50202d756322SRob Clark 50212d756322SRob Clark #define REG_A6XX_TEX_SAMP_1 0x00000001 50222d756322SRob Clark #define A6XX_TEX_SAMP_1_COMPARE_FUNC__MASK 0x0000000e 50232d756322SRob Clark #define A6XX_TEX_SAMP_1_COMPARE_FUNC__SHIFT 1 50242d756322SRob Clark static inline uint32_t A6XX_TEX_SAMP_1_COMPARE_FUNC(enum adreno_compare_func val) 50252d756322SRob Clark { 50262d756322SRob Clark return ((val) << A6XX_TEX_SAMP_1_COMPARE_FUNC__SHIFT) & A6XX_TEX_SAMP_1_COMPARE_FUNC__MASK; 50272d756322SRob Clark } 50282d756322SRob Clark #define A6XX_TEX_SAMP_1_CUBEMAPSEAMLESSFILTOFF 0x00000010 50292d756322SRob Clark #define A6XX_TEX_SAMP_1_UNNORM_COORDS 0x00000020 50302d756322SRob Clark #define A6XX_TEX_SAMP_1_MIPFILTER_LINEAR_FAR 0x00000040 50312d756322SRob Clark #define A6XX_TEX_SAMP_1_MAX_LOD__MASK 0x000fff00 50322d756322SRob Clark #define A6XX_TEX_SAMP_1_MAX_LOD__SHIFT 8 50332d756322SRob Clark static inline uint32_t A6XX_TEX_SAMP_1_MAX_LOD(float val) 50342d756322SRob Clark { 50352d756322SRob Clark return ((((uint32_t)(val * 256.0))) << A6XX_TEX_SAMP_1_MAX_LOD__SHIFT) & A6XX_TEX_SAMP_1_MAX_LOD__MASK; 50362d756322SRob Clark } 50372d756322SRob Clark #define A6XX_TEX_SAMP_1_MIN_LOD__MASK 0xfff00000 50382d756322SRob Clark #define A6XX_TEX_SAMP_1_MIN_LOD__SHIFT 20 50392d756322SRob Clark static inline uint32_t A6XX_TEX_SAMP_1_MIN_LOD(float val) 50402d756322SRob Clark { 50412d756322SRob Clark return ((((uint32_t)(val * 256.0))) << A6XX_TEX_SAMP_1_MIN_LOD__SHIFT) & A6XX_TEX_SAMP_1_MIN_LOD__MASK; 50422d756322SRob Clark } 50432d756322SRob Clark 50442d756322SRob Clark #define REG_A6XX_TEX_SAMP_2 0x00000002 50452d756322SRob Clark #define A6XX_TEX_SAMP_2_BCOLOR_OFFSET__MASK 0xfffffff0 50462d756322SRob Clark #define A6XX_TEX_SAMP_2_BCOLOR_OFFSET__SHIFT 4 50472d756322SRob Clark static inline uint32_t A6XX_TEX_SAMP_2_BCOLOR_OFFSET(uint32_t val) 50482d756322SRob Clark { 50492d756322SRob Clark return ((val) << A6XX_TEX_SAMP_2_BCOLOR_OFFSET__SHIFT) & A6XX_TEX_SAMP_2_BCOLOR_OFFSET__MASK; 50502d756322SRob Clark } 50512d756322SRob Clark 50522d756322SRob Clark #define REG_A6XX_TEX_SAMP_3 0x00000003 50532d756322SRob Clark 50542d756322SRob Clark #define REG_A6XX_TEX_CONST_0 0x00000000 50552d756322SRob Clark #define A6XX_TEX_CONST_0_TILE_MODE__MASK 0x00000003 50562d756322SRob Clark #define A6XX_TEX_CONST_0_TILE_MODE__SHIFT 0 50572d756322SRob Clark static inline uint32_t A6XX_TEX_CONST_0_TILE_MODE(enum a6xx_tile_mode val) 50582d756322SRob Clark { 50592d756322SRob Clark return ((val) << A6XX_TEX_CONST_0_TILE_MODE__SHIFT) & A6XX_TEX_CONST_0_TILE_MODE__MASK; 50602d756322SRob Clark } 50612d756322SRob Clark #define A6XX_TEX_CONST_0_SRGB 0x00000004 50622d756322SRob Clark #define A6XX_TEX_CONST_0_SWIZ_X__MASK 0x00000070 50632d756322SRob Clark #define A6XX_TEX_CONST_0_SWIZ_X__SHIFT 4 50642d756322SRob Clark static inline uint32_t A6XX_TEX_CONST_0_SWIZ_X(enum a6xx_tex_swiz val) 50652d756322SRob Clark { 50662d756322SRob Clark return ((val) << A6XX_TEX_CONST_0_SWIZ_X__SHIFT) & A6XX_TEX_CONST_0_SWIZ_X__MASK; 50672d756322SRob Clark } 50682d756322SRob Clark #define A6XX_TEX_CONST_0_SWIZ_Y__MASK 0x00000380 50692d756322SRob Clark #define A6XX_TEX_CONST_0_SWIZ_Y__SHIFT 7 50702d756322SRob Clark static inline uint32_t A6XX_TEX_CONST_0_SWIZ_Y(enum a6xx_tex_swiz val) 50712d756322SRob Clark { 50722d756322SRob Clark return ((val) << A6XX_TEX_CONST_0_SWIZ_Y__SHIFT) & A6XX_TEX_CONST_0_SWIZ_Y__MASK; 50732d756322SRob Clark } 50742d756322SRob Clark #define A6XX_TEX_CONST_0_SWIZ_Z__MASK 0x00001c00 50752d756322SRob Clark #define A6XX_TEX_CONST_0_SWIZ_Z__SHIFT 10 50762d756322SRob Clark static inline uint32_t A6XX_TEX_CONST_0_SWIZ_Z(enum a6xx_tex_swiz val) 50772d756322SRob Clark { 50782d756322SRob Clark return ((val) << A6XX_TEX_CONST_0_SWIZ_Z__SHIFT) & A6XX_TEX_CONST_0_SWIZ_Z__MASK; 50792d756322SRob Clark } 50802d756322SRob Clark #define A6XX_TEX_CONST_0_SWIZ_W__MASK 0x0000e000 50812d756322SRob Clark #define A6XX_TEX_CONST_0_SWIZ_W__SHIFT 13 50822d756322SRob Clark static inline uint32_t A6XX_TEX_CONST_0_SWIZ_W(enum a6xx_tex_swiz val) 50832d756322SRob Clark { 50842d756322SRob Clark return ((val) << A6XX_TEX_CONST_0_SWIZ_W__SHIFT) & A6XX_TEX_CONST_0_SWIZ_W__MASK; 50852d756322SRob Clark } 50862d756322SRob Clark #define A6XX_TEX_CONST_0_MIPLVLS__MASK 0x000f0000 50872d756322SRob Clark #define A6XX_TEX_CONST_0_MIPLVLS__SHIFT 16 50882d756322SRob Clark static inline uint32_t A6XX_TEX_CONST_0_MIPLVLS(uint32_t val) 50892d756322SRob Clark { 50902d756322SRob Clark return ((val) << A6XX_TEX_CONST_0_MIPLVLS__SHIFT) & A6XX_TEX_CONST_0_MIPLVLS__MASK; 50912d756322SRob Clark } 5092ccdf7e28SRob Clark #define A6XX_TEX_CONST_0_SAMPLES__MASK 0x00300000 5093ccdf7e28SRob Clark #define A6XX_TEX_CONST_0_SAMPLES__SHIFT 20 5094ccdf7e28SRob Clark static inline uint32_t A6XX_TEX_CONST_0_SAMPLES(enum a3xx_msaa_samples val) 5095ccdf7e28SRob Clark { 5096ccdf7e28SRob Clark return ((val) << A6XX_TEX_CONST_0_SAMPLES__SHIFT) & A6XX_TEX_CONST_0_SAMPLES__MASK; 5097ccdf7e28SRob Clark } 50982d756322SRob Clark #define A6XX_TEX_CONST_0_FMT__MASK 0x3fc00000 50992d756322SRob Clark #define A6XX_TEX_CONST_0_FMT__SHIFT 22 51002d756322SRob Clark static inline uint32_t A6XX_TEX_CONST_0_FMT(enum a6xx_tex_fmt val) 51012d756322SRob Clark { 51022d756322SRob Clark return ((val) << A6XX_TEX_CONST_0_FMT__SHIFT) & A6XX_TEX_CONST_0_FMT__MASK; 51032d756322SRob Clark } 51042d756322SRob Clark #define A6XX_TEX_CONST_0_SWAP__MASK 0xc0000000 51052d756322SRob Clark #define A6XX_TEX_CONST_0_SWAP__SHIFT 30 51062d756322SRob Clark static inline uint32_t A6XX_TEX_CONST_0_SWAP(enum a3xx_color_swap val) 51072d756322SRob Clark { 51082d756322SRob Clark return ((val) << A6XX_TEX_CONST_0_SWAP__SHIFT) & A6XX_TEX_CONST_0_SWAP__MASK; 51092d756322SRob Clark } 51102d756322SRob Clark 51112d756322SRob Clark #define REG_A6XX_TEX_CONST_1 0x00000001 51122d756322SRob Clark #define A6XX_TEX_CONST_1_WIDTH__MASK 0x00007fff 51132d756322SRob Clark #define A6XX_TEX_CONST_1_WIDTH__SHIFT 0 51142d756322SRob Clark static inline uint32_t A6XX_TEX_CONST_1_WIDTH(uint32_t val) 51152d756322SRob Clark { 51162d756322SRob Clark return ((val) << A6XX_TEX_CONST_1_WIDTH__SHIFT) & A6XX_TEX_CONST_1_WIDTH__MASK; 51172d756322SRob Clark } 51182d756322SRob Clark #define A6XX_TEX_CONST_1_HEIGHT__MASK 0x3fff8000 51192d756322SRob Clark #define A6XX_TEX_CONST_1_HEIGHT__SHIFT 15 51202d756322SRob Clark static inline uint32_t A6XX_TEX_CONST_1_HEIGHT(uint32_t val) 51212d756322SRob Clark { 51222d756322SRob Clark return ((val) << A6XX_TEX_CONST_1_HEIGHT__SHIFT) & A6XX_TEX_CONST_1_HEIGHT__MASK; 51232d756322SRob Clark } 51242d756322SRob Clark 51252d756322SRob Clark #define REG_A6XX_TEX_CONST_2 0x00000002 51262d756322SRob Clark #define A6XX_TEX_CONST_2_FETCHSIZE__MASK 0x0000000f 51272d756322SRob Clark #define A6XX_TEX_CONST_2_FETCHSIZE__SHIFT 0 51282d756322SRob Clark static inline uint32_t A6XX_TEX_CONST_2_FETCHSIZE(enum a6xx_tex_fetchsize val) 51292d756322SRob Clark { 51302d756322SRob Clark return ((val) << A6XX_TEX_CONST_2_FETCHSIZE__SHIFT) & A6XX_TEX_CONST_2_FETCHSIZE__MASK; 51312d756322SRob Clark } 51322d756322SRob Clark #define A6XX_TEX_CONST_2_PITCH__MASK 0x1fffff80 51332d756322SRob Clark #define A6XX_TEX_CONST_2_PITCH__SHIFT 7 51342d756322SRob Clark static inline uint32_t A6XX_TEX_CONST_2_PITCH(uint32_t val) 51352d756322SRob Clark { 51362d756322SRob Clark return ((val) << A6XX_TEX_CONST_2_PITCH__SHIFT) & A6XX_TEX_CONST_2_PITCH__MASK; 51372d756322SRob Clark } 51382d756322SRob Clark #define A6XX_TEX_CONST_2_TYPE__MASK 0x60000000 51392d756322SRob Clark #define A6XX_TEX_CONST_2_TYPE__SHIFT 29 51402d756322SRob Clark static inline uint32_t A6XX_TEX_CONST_2_TYPE(enum a6xx_tex_type val) 51412d756322SRob Clark { 51422d756322SRob Clark return ((val) << A6XX_TEX_CONST_2_TYPE__SHIFT) & A6XX_TEX_CONST_2_TYPE__MASK; 51432d756322SRob Clark } 51442d756322SRob Clark 51452d756322SRob Clark #define REG_A6XX_TEX_CONST_3 0x00000003 51462d756322SRob Clark #define A6XX_TEX_CONST_3_ARRAY_PITCH__MASK 0x00003fff 51472d756322SRob Clark #define A6XX_TEX_CONST_3_ARRAY_PITCH__SHIFT 0 51482d756322SRob Clark static inline uint32_t A6XX_TEX_CONST_3_ARRAY_PITCH(uint32_t val) 51492d756322SRob Clark { 51502d756322SRob Clark return ((val >> 12) << A6XX_TEX_CONST_3_ARRAY_PITCH__SHIFT) & A6XX_TEX_CONST_3_ARRAY_PITCH__MASK; 51512d756322SRob Clark } 51522d756322SRob Clark #define A6XX_TEX_CONST_3_FLAG 0x10000000 51532d756322SRob Clark 51542d756322SRob Clark #define REG_A6XX_TEX_CONST_4 0x00000004 51552d756322SRob Clark #define A6XX_TEX_CONST_4_BASE_LO__MASK 0xffffffe0 51562d756322SRob Clark #define A6XX_TEX_CONST_4_BASE_LO__SHIFT 5 51572d756322SRob Clark static inline uint32_t A6XX_TEX_CONST_4_BASE_LO(uint32_t val) 51582d756322SRob Clark { 51592d756322SRob Clark return ((val >> 5) << A6XX_TEX_CONST_4_BASE_LO__SHIFT) & A6XX_TEX_CONST_4_BASE_LO__MASK; 51602d756322SRob Clark } 51612d756322SRob Clark 51622d756322SRob Clark #define REG_A6XX_TEX_CONST_5 0x00000005 51632d756322SRob Clark #define A6XX_TEX_CONST_5_BASE_HI__MASK 0x0001ffff 51642d756322SRob Clark #define A6XX_TEX_CONST_5_BASE_HI__SHIFT 0 51652d756322SRob Clark static inline uint32_t A6XX_TEX_CONST_5_BASE_HI(uint32_t val) 51662d756322SRob Clark { 51672d756322SRob Clark return ((val) << A6XX_TEX_CONST_5_BASE_HI__SHIFT) & A6XX_TEX_CONST_5_BASE_HI__MASK; 51682d756322SRob Clark } 51692d756322SRob Clark #define A6XX_TEX_CONST_5_DEPTH__MASK 0x3ffe0000 51702d756322SRob Clark #define A6XX_TEX_CONST_5_DEPTH__SHIFT 17 51712d756322SRob Clark static inline uint32_t A6XX_TEX_CONST_5_DEPTH(uint32_t val) 51722d756322SRob Clark { 51732d756322SRob Clark return ((val) << A6XX_TEX_CONST_5_DEPTH__SHIFT) & A6XX_TEX_CONST_5_DEPTH__MASK; 51742d756322SRob Clark } 51752d756322SRob Clark 51762d756322SRob Clark #define REG_A6XX_TEX_CONST_6 0x00000006 51772d756322SRob Clark 51782d756322SRob Clark #define REG_A6XX_TEX_CONST_7 0x00000007 51792d756322SRob Clark #define A6XX_TEX_CONST_7_FLAG_LO__MASK 0xffffffe0 51802d756322SRob Clark #define A6XX_TEX_CONST_7_FLAG_LO__SHIFT 5 51812d756322SRob Clark static inline uint32_t A6XX_TEX_CONST_7_FLAG_LO(uint32_t val) 51822d756322SRob Clark { 51832d756322SRob Clark return ((val >> 5) << A6XX_TEX_CONST_7_FLAG_LO__SHIFT) & A6XX_TEX_CONST_7_FLAG_LO__MASK; 51842d756322SRob Clark } 51852d756322SRob Clark 51862d756322SRob Clark #define REG_A6XX_TEX_CONST_8 0x00000008 5187a69c5ed2SRob Clark #define A6XX_TEX_CONST_8_FLAG_HI__MASK 0x0001ffff 5188a69c5ed2SRob Clark #define A6XX_TEX_CONST_8_FLAG_HI__SHIFT 0 5189a69c5ed2SRob Clark static inline uint32_t A6XX_TEX_CONST_8_FLAG_HI(uint32_t val) 51902d756322SRob Clark { 5191a69c5ed2SRob Clark return ((val) << A6XX_TEX_CONST_8_FLAG_HI__SHIFT) & A6XX_TEX_CONST_8_FLAG_HI__MASK; 51922d756322SRob Clark } 51932d756322SRob Clark 51942d756322SRob Clark #define REG_A6XX_TEX_CONST_9 0x00000009 51952d756322SRob Clark 51962d756322SRob Clark #define REG_A6XX_TEX_CONST_10 0x0000000a 51972d756322SRob Clark 51982d756322SRob Clark #define REG_A6XX_TEX_CONST_11 0x0000000b 51992d756322SRob Clark 52002d756322SRob Clark #define REG_A6XX_TEX_CONST_12 0x0000000c 52012d756322SRob Clark 52022d756322SRob Clark #define REG_A6XX_TEX_CONST_13 0x0000000d 52032d756322SRob Clark 52042d756322SRob Clark #define REG_A6XX_TEX_CONST_14 0x0000000e 52052d756322SRob Clark 52062d756322SRob Clark #define REG_A6XX_TEX_CONST_15 0x0000000f 52072d756322SRob Clark 5208a69c5ed2SRob Clark #define REG_A6XX_PDC_GPU_ENABLE_PDC 0x00001140 5209a69c5ed2SRob Clark 5210a69c5ed2SRob Clark #define REG_A6XX_PDC_GPU_SEQ_START_ADDR 0x00001148 5211a69c5ed2SRob Clark 5212a69c5ed2SRob Clark #define REG_A6XX_PDC_GPU_TCS0_CONTROL 0x00001540 5213a69c5ed2SRob Clark 5214a69c5ed2SRob Clark #define REG_A6XX_PDC_GPU_TCS0_CMD_ENABLE_BANK 0x00001541 5215a69c5ed2SRob Clark 5216a69c5ed2SRob Clark #define REG_A6XX_PDC_GPU_TCS0_CMD_WAIT_FOR_CMPL_BANK 0x00001542 5217a69c5ed2SRob Clark 5218a69c5ed2SRob Clark #define REG_A6XX_PDC_GPU_TCS0_CMD0_MSGID 0x00001543 5219a69c5ed2SRob Clark 5220a69c5ed2SRob Clark #define REG_A6XX_PDC_GPU_TCS0_CMD0_ADDR 0x00001544 5221a69c5ed2SRob Clark 5222a69c5ed2SRob Clark #define REG_A6XX_PDC_GPU_TCS0_CMD0_DATA 0x00001545 5223a69c5ed2SRob Clark 5224a69c5ed2SRob Clark #define REG_A6XX_PDC_GPU_TCS1_CONTROL 0x00001572 5225a69c5ed2SRob Clark 5226a69c5ed2SRob Clark #define REG_A6XX_PDC_GPU_TCS1_CMD_ENABLE_BANK 0x00001573 5227a69c5ed2SRob Clark 5228a69c5ed2SRob Clark #define REG_A6XX_PDC_GPU_TCS1_CMD_WAIT_FOR_CMPL_BANK 0x00001574 5229a69c5ed2SRob Clark 5230a69c5ed2SRob Clark #define REG_A6XX_PDC_GPU_TCS1_CMD0_MSGID 0x00001575 5231a69c5ed2SRob Clark 5232a69c5ed2SRob Clark #define REG_A6XX_PDC_GPU_TCS1_CMD0_ADDR 0x00001576 5233a69c5ed2SRob Clark 5234a69c5ed2SRob Clark #define REG_A6XX_PDC_GPU_TCS1_CMD0_DATA 0x00001577 5235a69c5ed2SRob Clark 5236a69c5ed2SRob Clark #define REG_A6XX_PDC_GPU_TCS2_CONTROL 0x000015a4 5237a69c5ed2SRob Clark 5238a69c5ed2SRob Clark #define REG_A6XX_PDC_GPU_TCS2_CMD_ENABLE_BANK 0x000015a5 5239a69c5ed2SRob Clark 5240a69c5ed2SRob Clark #define REG_A6XX_PDC_GPU_TCS2_CMD_WAIT_FOR_CMPL_BANK 0x000015a6 5241a69c5ed2SRob Clark 5242a69c5ed2SRob Clark #define REG_A6XX_PDC_GPU_TCS2_CMD0_MSGID 0x000015a7 5243a69c5ed2SRob Clark 5244a69c5ed2SRob Clark #define REG_A6XX_PDC_GPU_TCS2_CMD0_ADDR 0x000015a8 5245a69c5ed2SRob Clark 5246a69c5ed2SRob Clark #define REG_A6XX_PDC_GPU_TCS2_CMD0_DATA 0x000015a9 5247a69c5ed2SRob Clark 5248a69c5ed2SRob Clark #define REG_A6XX_PDC_GPU_TCS3_CONTROL 0x000015d6 5249a69c5ed2SRob Clark 5250a69c5ed2SRob Clark #define REG_A6XX_PDC_GPU_TCS3_CMD_ENABLE_BANK 0x000015d7 5251a69c5ed2SRob Clark 5252a69c5ed2SRob Clark #define REG_A6XX_PDC_GPU_TCS3_CMD_WAIT_FOR_CMPL_BANK 0x000015d8 5253a69c5ed2SRob Clark 5254a69c5ed2SRob Clark #define REG_A6XX_PDC_GPU_TCS3_CMD0_MSGID 0x000015d9 5255a69c5ed2SRob Clark 5256a69c5ed2SRob Clark #define REG_A6XX_PDC_GPU_TCS3_CMD0_ADDR 0x000015da 5257a69c5ed2SRob Clark 5258a69c5ed2SRob Clark #define REG_A6XX_PDC_GPU_TCS3_CMD0_DATA 0x000015db 5259a69c5ed2SRob Clark 5260a69c5ed2SRob Clark #define REG_A6XX_PDC_GPU_SEQ_MEM_0 0x00000000 5261a69c5ed2SRob Clark 5262a69c5ed2SRob Clark #define REG_A6XX_CX_DBGC_CFG_DBGBUS_SEL_A 0x00000000 5263a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_SEL_A_PING_INDEX__MASK 0x000000ff 5264a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_SEL_A_PING_INDEX__SHIFT 0 5265a69c5ed2SRob Clark static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_SEL_A_PING_INDEX(uint32_t val) 5266a69c5ed2SRob Clark { 5267a69c5ed2SRob Clark return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_SEL_A_PING_INDEX__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_SEL_A_PING_INDEX__MASK; 5268a69c5ed2SRob Clark } 5269a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_SEL_A_PING_BLK_SEL__MASK 0x0000ff00 5270a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_SEL_A_PING_BLK_SEL__SHIFT 8 5271a69c5ed2SRob Clark static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_SEL_A_PING_BLK_SEL(uint32_t val) 5272a69c5ed2SRob Clark { 5273a69c5ed2SRob Clark return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_SEL_A_PING_BLK_SEL__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_SEL_A_PING_BLK_SEL__MASK; 5274a69c5ed2SRob Clark } 5275a69c5ed2SRob Clark 5276a69c5ed2SRob Clark #define REG_A6XX_CX_DBGC_CFG_DBGBUS_SEL_B 0x00000001 5277a69c5ed2SRob Clark 5278a69c5ed2SRob Clark #define REG_A6XX_CX_DBGC_CFG_DBGBUS_SEL_C 0x00000002 5279a69c5ed2SRob Clark 5280a69c5ed2SRob Clark #define REG_A6XX_CX_DBGC_CFG_DBGBUS_SEL_D 0x00000003 5281a69c5ed2SRob Clark 5282a69c5ed2SRob Clark #define REG_A6XX_CX_DBGC_CFG_DBGBUS_CNTLT 0x00000004 5283a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_TRACEEN__MASK 0x0000003f 5284a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_TRACEEN__SHIFT 0 5285a69c5ed2SRob Clark static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_TRACEEN(uint32_t val) 5286a69c5ed2SRob Clark { 5287a69c5ed2SRob Clark return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_TRACEEN__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_TRACEEN__MASK; 5288a69c5ed2SRob Clark } 5289a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_GRANU__MASK 0x00007000 5290a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_GRANU__SHIFT 12 5291a69c5ed2SRob Clark static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_GRANU(uint32_t val) 5292a69c5ed2SRob Clark { 5293a69c5ed2SRob Clark return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_GRANU__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_GRANU__MASK; 5294a69c5ed2SRob Clark } 5295a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_SEGT__MASK 0xf0000000 5296a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_SEGT__SHIFT 28 5297a69c5ed2SRob Clark static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_SEGT(uint32_t val) 5298a69c5ed2SRob Clark { 5299a69c5ed2SRob Clark return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_SEGT__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_CNTLT_SEGT__MASK; 5300a69c5ed2SRob Clark } 5301a69c5ed2SRob Clark 5302a69c5ed2SRob Clark #define REG_A6XX_CX_DBGC_CFG_DBGBUS_CNTLM 0x00000005 5303a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_CNTLM_ENABLE__MASK 0x0f000000 5304a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_CNTLM_ENABLE__SHIFT 24 5305a69c5ed2SRob Clark static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_CNTLM_ENABLE(uint32_t val) 5306a69c5ed2SRob Clark { 5307a69c5ed2SRob Clark return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_CNTLM_ENABLE__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_CNTLM_ENABLE__MASK; 5308a69c5ed2SRob Clark } 5309a69c5ed2SRob Clark 5310a69c5ed2SRob Clark #define REG_A6XX_CX_DBGC_CFG_DBGBUS_IVTL_0 0x00000008 5311a69c5ed2SRob Clark 5312a69c5ed2SRob Clark #define REG_A6XX_CX_DBGC_CFG_DBGBUS_IVTL_1 0x00000009 5313a69c5ed2SRob Clark 5314a69c5ed2SRob Clark #define REG_A6XX_CX_DBGC_CFG_DBGBUS_IVTL_2 0x0000000a 5315a69c5ed2SRob Clark 5316a69c5ed2SRob Clark #define REG_A6XX_CX_DBGC_CFG_DBGBUS_IVTL_3 0x0000000b 5317a69c5ed2SRob Clark 5318a69c5ed2SRob Clark #define REG_A6XX_CX_DBGC_CFG_DBGBUS_MASKL_0 0x0000000c 5319a69c5ed2SRob Clark 5320a69c5ed2SRob Clark #define REG_A6XX_CX_DBGC_CFG_DBGBUS_MASKL_1 0x0000000d 5321a69c5ed2SRob Clark 5322a69c5ed2SRob Clark #define REG_A6XX_CX_DBGC_CFG_DBGBUS_MASKL_2 0x0000000e 5323a69c5ed2SRob Clark 5324a69c5ed2SRob Clark #define REG_A6XX_CX_DBGC_CFG_DBGBUS_MASKL_3 0x0000000f 5325a69c5ed2SRob Clark 5326a69c5ed2SRob Clark #define REG_A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0 0x00000010 5327a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL0__MASK 0x0000000f 5328a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL0__SHIFT 0 5329a69c5ed2SRob Clark static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL0(uint32_t val) 5330a69c5ed2SRob Clark { 5331a69c5ed2SRob Clark return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL0__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL0__MASK; 5332a69c5ed2SRob Clark } 5333a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL1__MASK 0x000000f0 5334a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL1__SHIFT 4 5335a69c5ed2SRob Clark static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL1(uint32_t val) 5336a69c5ed2SRob Clark { 5337a69c5ed2SRob Clark return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL1__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL1__MASK; 5338a69c5ed2SRob Clark } 5339a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL2__MASK 0x00000f00 5340a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL2__SHIFT 8 5341a69c5ed2SRob Clark static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL2(uint32_t val) 5342a69c5ed2SRob Clark { 5343a69c5ed2SRob Clark return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL2__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL2__MASK; 5344a69c5ed2SRob Clark } 5345a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL3__MASK 0x0000f000 5346a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL3__SHIFT 12 5347a69c5ed2SRob Clark static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL3(uint32_t val) 5348a69c5ed2SRob Clark { 5349a69c5ed2SRob Clark return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL3__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL3__MASK; 5350a69c5ed2SRob Clark } 5351a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL4__MASK 0x000f0000 5352a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL4__SHIFT 16 5353a69c5ed2SRob Clark static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL4(uint32_t val) 5354a69c5ed2SRob Clark { 5355a69c5ed2SRob Clark return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL4__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL4__MASK; 5356a69c5ed2SRob Clark } 5357a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL5__MASK 0x00f00000 5358a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL5__SHIFT 20 5359a69c5ed2SRob Clark static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL5(uint32_t val) 5360a69c5ed2SRob Clark { 5361a69c5ed2SRob Clark return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL5__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL5__MASK; 5362a69c5ed2SRob Clark } 5363a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL6__MASK 0x0f000000 5364a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL6__SHIFT 24 5365a69c5ed2SRob Clark static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL6(uint32_t val) 5366a69c5ed2SRob Clark { 5367a69c5ed2SRob Clark return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL6__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL6__MASK; 5368a69c5ed2SRob Clark } 5369a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL7__MASK 0xf0000000 5370a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL7__SHIFT 28 5371a69c5ed2SRob Clark static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL7(uint32_t val) 5372a69c5ed2SRob Clark { 5373a69c5ed2SRob Clark return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL7__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_0_BYTEL7__MASK; 5374a69c5ed2SRob Clark } 5375a69c5ed2SRob Clark 5376a69c5ed2SRob Clark #define REG_A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1 0x00000011 5377a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL8__MASK 0x0000000f 5378a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL8__SHIFT 0 5379a69c5ed2SRob Clark static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL8(uint32_t val) 5380a69c5ed2SRob Clark { 5381a69c5ed2SRob Clark return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL8__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL8__MASK; 5382a69c5ed2SRob Clark } 5383a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL9__MASK 0x000000f0 5384a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL9__SHIFT 4 5385a69c5ed2SRob Clark static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL9(uint32_t val) 5386a69c5ed2SRob Clark { 5387a69c5ed2SRob Clark return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL9__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL9__MASK; 5388a69c5ed2SRob Clark } 5389a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL10__MASK 0x00000f00 5390a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL10__SHIFT 8 5391a69c5ed2SRob Clark static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL10(uint32_t val) 5392a69c5ed2SRob Clark { 5393a69c5ed2SRob Clark return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL10__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL10__MASK; 5394a69c5ed2SRob Clark } 5395a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL11__MASK 0x0000f000 5396a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL11__SHIFT 12 5397a69c5ed2SRob Clark static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL11(uint32_t val) 5398a69c5ed2SRob Clark { 5399a69c5ed2SRob Clark return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL11__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL11__MASK; 5400a69c5ed2SRob Clark } 5401a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL12__MASK 0x000f0000 5402a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL12__SHIFT 16 5403a69c5ed2SRob Clark static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL12(uint32_t val) 5404a69c5ed2SRob Clark { 5405a69c5ed2SRob Clark return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL12__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL12__MASK; 5406a69c5ed2SRob Clark } 5407a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL13__MASK 0x00f00000 5408a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL13__SHIFT 20 5409a69c5ed2SRob Clark static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL13(uint32_t val) 5410a69c5ed2SRob Clark { 5411a69c5ed2SRob Clark return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL13__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL13__MASK; 5412a69c5ed2SRob Clark } 5413a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL14__MASK 0x0f000000 5414a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL14__SHIFT 24 5415a69c5ed2SRob Clark static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL14(uint32_t val) 5416a69c5ed2SRob Clark { 5417a69c5ed2SRob Clark return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL14__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL14__MASK; 5418a69c5ed2SRob Clark } 5419a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL15__MASK 0xf0000000 5420a69c5ed2SRob Clark #define A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL15__SHIFT 28 5421a69c5ed2SRob Clark static inline uint32_t A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL15(uint32_t val) 5422a69c5ed2SRob Clark { 5423a69c5ed2SRob Clark return ((val) << A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL15__SHIFT) & A6XX_CX_DBGC_CFG_DBGBUS_BYTEL_1_BYTEL15__MASK; 5424a69c5ed2SRob Clark } 5425a69c5ed2SRob Clark 5426a69c5ed2SRob Clark #define REG_A6XX_CX_DBGC_CFG_DBGBUS_TRACE_BUF1 0x0000002f 5427a69c5ed2SRob Clark 5428a69c5ed2SRob Clark #define REG_A6XX_CX_DBGC_CFG_DBGBUS_TRACE_BUF2 0x00000030 5429a69c5ed2SRob Clark 5430ccdf7e28SRob Clark #define REG_A6XX_CX_MISC_SYSTEM_CACHE_CNTL_0 0x00000001 5431ccdf7e28SRob Clark 5432ccdf7e28SRob Clark #define REG_A6XX_CX_MISC_SYSTEM_CACHE_CNTL_1 0x00000002 5433ccdf7e28SRob Clark 54342d756322SRob Clark 54352d756322SRob Clark #endif /* A6XX_XML */ 5436