xref: /openbmc/linux/drivers/gpu/drm/msm/adreno/a5xx.xml.h (revision f73343fa)
1a26ae754SRob Clark #ifndef A5XX_XML
2a26ae754SRob Clark #define A5XX_XML
3a26ae754SRob Clark 
4a26ae754SRob Clark /* Autogenerated file, DO NOT EDIT manually!
5a26ae754SRob Clark 
6a26ae754SRob Clark This file was generated by the rules-ng-ng headergen tool in this git repository:
7a26ae754SRob Clark http://github.com/freedreno/envytools/
8a26ae754SRob Clark git clone https://github.com/freedreno/envytools.git
9a26ae754SRob Clark 
10a26ae754SRob Clark The rules-ng-ng source files this header was generated from are:
11*f73343faSRob Clark - /home/robclark/src/mesa/mesa/src/freedreno/registers/adreno.xml                     (    594 bytes, from 2023-03-10 18:32:52)
12*f73343faSRob Clark - /home/robclark/src/mesa/mesa/src/freedreno/registers/freedreno_copyright.xml        (   1572 bytes, from 2022-07-23 20:21:46)
13*f73343faSRob Clark - /home/robclark/src/mesa/mesa/src/freedreno/registers/adreno/a2xx.xml                (  91929 bytes, from 2023-02-28 23:52:27)
14*f73343faSRob Clark - /home/robclark/src/mesa/mesa/src/freedreno/registers/adreno/adreno_common.xml       (  15434 bytes, from 2023-03-10 18:32:53)
15*f73343faSRob Clark - /home/robclark/src/mesa/mesa/src/freedreno/registers/adreno/adreno_pm4.xml          (  74995 bytes, from 2023-03-20 18:06:23)
16*f73343faSRob Clark - /home/robclark/src/mesa/mesa/src/freedreno/registers/adreno/a3xx.xml                (  84231 bytes, from 2022-08-02 16:38:43)
17*f73343faSRob Clark - /home/robclark/src/mesa/mesa/src/freedreno/registers/adreno/a4xx.xml                ( 113474 bytes, from 2022-08-02 16:38:43)
18*f73343faSRob Clark - /home/robclark/src/mesa/mesa/src/freedreno/registers/adreno/a5xx.xml                ( 149590 bytes, from 2023-02-14 19:37:12)
19*f73343faSRob Clark - /home/robclark/src/mesa/mesa/src/freedreno/registers/adreno/a6xx.xml                ( 198949 bytes, from 2023-03-20 18:06:23)
20*f73343faSRob Clark - /home/robclark/src/mesa/mesa/src/freedreno/registers/adreno/a6xx_gmu.xml            (  11404 bytes, from 2023-03-10 18:32:53)
21*f73343faSRob Clark - /home/robclark/src/mesa/mesa/src/freedreno/registers/adreno/ocmem.xml               (   1773 bytes, from 2022-08-02 16:38:43)
22*f73343faSRob Clark - /home/robclark/src/mesa/mesa/src/freedreno/registers/adreno/adreno_control_regs.xml (   9055 bytes, from 2023-03-10 18:32:52)
23*f73343faSRob Clark - /home/robclark/src/mesa/mesa/src/freedreno/registers/adreno/adreno_pipe_regs.xml    (   2976 bytes, from 2023-03-10 18:32:52)
24a26ae754SRob Clark 
25*f73343faSRob Clark Copyright (C) 2013-2023 by the following authors:
26a26ae754SRob Clark - Rob Clark <robdclark@gmail.com> (robclark)
27a26ae754SRob Clark - Ilia Mirkin <imirkin@alum.mit.edu> (imirkin)
28a26ae754SRob Clark 
29a26ae754SRob Clark Permission is hereby granted, free of charge, to any person obtaining
30a26ae754SRob Clark a copy of this software and associated documentation files (the
31a26ae754SRob Clark "Software"), to deal in the Software without restriction, including
32a26ae754SRob Clark without limitation the rights to use, copy, modify, merge, publish,
33a26ae754SRob Clark distribute, sublicense, and/or sell copies of the Software, and to
34a26ae754SRob Clark permit persons to whom the Software is furnished to do so, subject to
35a26ae754SRob Clark the following conditions:
36a26ae754SRob Clark 
37a26ae754SRob Clark The above copyright notice and this permission notice (including the
38a26ae754SRob Clark next paragraph) shall be included in all copies or substantial
39a26ae754SRob Clark portions of the Software.
40a26ae754SRob Clark 
41a26ae754SRob Clark THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
42a26ae754SRob Clark EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
43a26ae754SRob Clark MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
44a26ae754SRob Clark IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
45a26ae754SRob Clark LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
46a26ae754SRob Clark OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
47a26ae754SRob Clark WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
48a26ae754SRob Clark */
49a26ae754SRob Clark 
50a26ae754SRob Clark 
51a26ae754SRob Clark enum a5xx_color_fmt {
5252260ae4SRob Clark 	RB5_A8_UNORM = 2,
53a26ae754SRob Clark 	RB5_R8_UNORM = 3,
5452260ae4SRob Clark 	RB5_R8_SNORM = 4,
5552260ae4SRob Clark 	RB5_R8_UINT = 5,
5652260ae4SRob Clark 	RB5_R8_SINT = 6,
57a26ae754SRob Clark 	RB5_R4G4B4A4_UNORM = 8,
58a26ae754SRob Clark 	RB5_R5G5B5A1_UNORM = 10,
59a26ae754SRob Clark 	RB5_R5G6B5_UNORM = 14,
6052260ae4SRob Clark 	RB5_R8G8_UNORM = 15,
6152260ae4SRob Clark 	RB5_R8G8_SNORM = 16,
6252260ae4SRob Clark 	RB5_R8G8_UINT = 17,
6352260ae4SRob Clark 	RB5_R8G8_SINT = 18,
6452260ae4SRob Clark 	RB5_R16_UNORM = 21,
6552260ae4SRob Clark 	RB5_R16_SNORM = 22,
66a26ae754SRob Clark 	RB5_R16_FLOAT = 23,
6752260ae4SRob Clark 	RB5_R16_UINT = 24,
6852260ae4SRob Clark 	RB5_R16_SINT = 25,
69a26ae754SRob Clark 	RB5_R8G8B8A8_UNORM = 48,
70a26ae754SRob Clark 	RB5_R8G8B8_UNORM = 49,
7152260ae4SRob Clark 	RB5_R8G8B8A8_SNORM = 50,
72a26ae754SRob Clark 	RB5_R8G8B8A8_UINT = 51,
7352260ae4SRob Clark 	RB5_R8G8B8A8_SINT = 52,
7452260ae4SRob Clark 	RB5_R10G10B10A2_UNORM = 55,
75a26ae754SRob Clark 	RB5_R10G10B10A2_UINT = 58,
7652260ae4SRob Clark 	RB5_R11G11B10_FLOAT = 66,
7752260ae4SRob Clark 	RB5_R16G16_UNORM = 67,
7852260ae4SRob Clark 	RB5_R16G16_SNORM = 68,
79a26ae754SRob Clark 	RB5_R16G16_FLOAT = 69,
8052260ae4SRob Clark 	RB5_R16G16_UINT = 70,
8152260ae4SRob Clark 	RB5_R16G16_SINT = 71,
82a26ae754SRob Clark 	RB5_R32_FLOAT = 74,
8352260ae4SRob Clark 	RB5_R32_UINT = 75,
8452260ae4SRob Clark 	RB5_R32_SINT = 76,
8552260ae4SRob Clark 	RB5_R16G16B16A16_UNORM = 96,
8652260ae4SRob Clark 	RB5_R16G16B16A16_SNORM = 97,
87a26ae754SRob Clark 	RB5_R16G16B16A16_FLOAT = 98,
8852260ae4SRob Clark 	RB5_R16G16B16A16_UINT = 99,
8952260ae4SRob Clark 	RB5_R16G16B16A16_SINT = 100,
90a26ae754SRob Clark 	RB5_R32G32_FLOAT = 103,
9152260ae4SRob Clark 	RB5_R32G32_UINT = 104,
9252260ae4SRob Clark 	RB5_R32G32_SINT = 105,
93a26ae754SRob Clark 	RB5_R32G32B32A32_FLOAT = 130,
9452260ae4SRob Clark 	RB5_R32G32B32A32_UINT = 131,
9552260ae4SRob Clark 	RB5_R32G32B32A32_SINT = 132,
96c28c82e9SRob Clark 	RB5_NONE = 255,
97a26ae754SRob Clark };
98a26ae754SRob Clark 
99a26ae754SRob Clark enum a5xx_tile_mode {
100a26ae754SRob Clark 	TILE5_LINEAR = 0,
101a26ae754SRob Clark 	TILE5_2 = 2,
102a26ae754SRob Clark 	TILE5_3 = 3,
103a26ae754SRob Clark };
104a26ae754SRob Clark 
105a26ae754SRob Clark enum a5xx_vtx_fmt {
106a26ae754SRob Clark 	VFMT5_8_UNORM = 3,
107a26ae754SRob Clark 	VFMT5_8_SNORM = 4,
108a26ae754SRob Clark 	VFMT5_8_UINT = 5,
109a26ae754SRob Clark 	VFMT5_8_SINT = 6,
110a26ae754SRob Clark 	VFMT5_8_8_UNORM = 15,
111a26ae754SRob Clark 	VFMT5_8_8_SNORM = 16,
112a26ae754SRob Clark 	VFMT5_8_8_UINT = 17,
113a26ae754SRob Clark 	VFMT5_8_8_SINT = 18,
114a26ae754SRob Clark 	VFMT5_16_UNORM = 21,
115a26ae754SRob Clark 	VFMT5_16_SNORM = 22,
116a26ae754SRob Clark 	VFMT5_16_FLOAT = 23,
117a26ae754SRob Clark 	VFMT5_16_UINT = 24,
118a26ae754SRob Clark 	VFMT5_16_SINT = 25,
119a26ae754SRob Clark 	VFMT5_8_8_8_UNORM = 33,
120a26ae754SRob Clark 	VFMT5_8_8_8_SNORM = 34,
121a26ae754SRob Clark 	VFMT5_8_8_8_UINT = 35,
122a26ae754SRob Clark 	VFMT5_8_8_8_SINT = 36,
123a26ae754SRob Clark 	VFMT5_8_8_8_8_UNORM = 48,
124a26ae754SRob Clark 	VFMT5_8_8_8_8_SNORM = 50,
125a26ae754SRob Clark 	VFMT5_8_8_8_8_UINT = 51,
126a26ae754SRob Clark 	VFMT5_8_8_8_8_SINT = 52,
1272d756322SRob Clark 	VFMT5_10_10_10_2_UNORM = 54,
1282d756322SRob Clark 	VFMT5_10_10_10_2_SNORM = 57,
1292d756322SRob Clark 	VFMT5_10_10_10_2_UINT = 58,
1302d756322SRob Clark 	VFMT5_10_10_10_2_SINT = 59,
1312d756322SRob Clark 	VFMT5_11_11_10_FLOAT = 66,
132a26ae754SRob Clark 	VFMT5_16_16_UNORM = 67,
133a26ae754SRob Clark 	VFMT5_16_16_SNORM = 68,
134a26ae754SRob Clark 	VFMT5_16_16_FLOAT = 69,
135a26ae754SRob Clark 	VFMT5_16_16_UINT = 70,
136a26ae754SRob Clark 	VFMT5_16_16_SINT = 71,
137a26ae754SRob Clark 	VFMT5_32_UNORM = 72,
138a26ae754SRob Clark 	VFMT5_32_SNORM = 73,
139a26ae754SRob Clark 	VFMT5_32_FLOAT = 74,
140a26ae754SRob Clark 	VFMT5_32_UINT = 75,
141a26ae754SRob Clark 	VFMT5_32_SINT = 76,
142a26ae754SRob Clark 	VFMT5_32_FIXED = 77,
143a26ae754SRob Clark 	VFMT5_16_16_16_UNORM = 88,
144a26ae754SRob Clark 	VFMT5_16_16_16_SNORM = 89,
145a26ae754SRob Clark 	VFMT5_16_16_16_FLOAT = 90,
146a26ae754SRob Clark 	VFMT5_16_16_16_UINT = 91,
147a26ae754SRob Clark 	VFMT5_16_16_16_SINT = 92,
148a26ae754SRob Clark 	VFMT5_16_16_16_16_UNORM = 96,
149a26ae754SRob Clark 	VFMT5_16_16_16_16_SNORM = 97,
150a26ae754SRob Clark 	VFMT5_16_16_16_16_FLOAT = 98,
151a26ae754SRob Clark 	VFMT5_16_16_16_16_UINT = 99,
152a26ae754SRob Clark 	VFMT5_16_16_16_16_SINT = 100,
153a26ae754SRob Clark 	VFMT5_32_32_UNORM = 101,
154a26ae754SRob Clark 	VFMT5_32_32_SNORM = 102,
155a26ae754SRob Clark 	VFMT5_32_32_FLOAT = 103,
156a26ae754SRob Clark 	VFMT5_32_32_UINT = 104,
157a26ae754SRob Clark 	VFMT5_32_32_SINT = 105,
158a26ae754SRob Clark 	VFMT5_32_32_FIXED = 106,
159a26ae754SRob Clark 	VFMT5_32_32_32_UNORM = 112,
160a26ae754SRob Clark 	VFMT5_32_32_32_SNORM = 113,
161a26ae754SRob Clark 	VFMT5_32_32_32_UINT = 114,
162a26ae754SRob Clark 	VFMT5_32_32_32_SINT = 115,
163a26ae754SRob Clark 	VFMT5_32_32_32_FLOAT = 116,
164a26ae754SRob Clark 	VFMT5_32_32_32_FIXED = 117,
165a26ae754SRob Clark 	VFMT5_32_32_32_32_UNORM = 128,
166a26ae754SRob Clark 	VFMT5_32_32_32_32_SNORM = 129,
167a26ae754SRob Clark 	VFMT5_32_32_32_32_FLOAT = 130,
168a26ae754SRob Clark 	VFMT5_32_32_32_32_UINT = 131,
169a26ae754SRob Clark 	VFMT5_32_32_32_32_SINT = 132,
170a26ae754SRob Clark 	VFMT5_32_32_32_32_FIXED = 133,
171c28c82e9SRob Clark 	VFMT5_NONE = 255,
172a26ae754SRob Clark };
173a26ae754SRob Clark 
174a26ae754SRob Clark enum a5xx_tex_fmt {
175a26ae754SRob Clark 	TFMT5_A8_UNORM = 2,
176a26ae754SRob Clark 	TFMT5_8_UNORM = 3,
17752260ae4SRob Clark 	TFMT5_8_SNORM = 4,
17852260ae4SRob Clark 	TFMT5_8_UINT = 5,
17952260ae4SRob Clark 	TFMT5_8_SINT = 6,
180a26ae754SRob Clark 	TFMT5_4_4_4_4_UNORM = 8,
181a26ae754SRob Clark 	TFMT5_5_5_5_1_UNORM = 10,
182a26ae754SRob Clark 	TFMT5_5_6_5_UNORM = 14,
183a26ae754SRob Clark 	TFMT5_8_8_UNORM = 15,
184a26ae754SRob Clark 	TFMT5_8_8_SNORM = 16,
18552260ae4SRob Clark 	TFMT5_8_8_UINT = 17,
18652260ae4SRob Clark 	TFMT5_8_8_SINT = 18,
187a26ae754SRob Clark 	TFMT5_L8_A8_UNORM = 19,
18852260ae4SRob Clark 	TFMT5_16_UNORM = 21,
18952260ae4SRob Clark 	TFMT5_16_SNORM = 22,
190a26ae754SRob Clark 	TFMT5_16_FLOAT = 23,
19152260ae4SRob Clark 	TFMT5_16_UINT = 24,
19252260ae4SRob Clark 	TFMT5_16_SINT = 25,
193a26ae754SRob Clark 	TFMT5_8_8_8_8_UNORM = 48,
194a26ae754SRob Clark 	TFMT5_8_8_8_UNORM = 49,
19552260ae4SRob Clark 	TFMT5_8_8_8_8_SNORM = 50,
19652260ae4SRob Clark 	TFMT5_8_8_8_8_UINT = 51,
19752260ae4SRob Clark 	TFMT5_8_8_8_8_SINT = 52,
198a26ae754SRob Clark 	TFMT5_9_9_9_E5_FLOAT = 53,
199a26ae754SRob Clark 	TFMT5_10_10_10_2_UNORM = 54,
20052260ae4SRob Clark 	TFMT5_10_10_10_2_UINT = 58,
201a26ae754SRob Clark 	TFMT5_11_11_10_FLOAT = 66,
20252260ae4SRob Clark 	TFMT5_16_16_UNORM = 67,
20352260ae4SRob Clark 	TFMT5_16_16_SNORM = 68,
204a26ae754SRob Clark 	TFMT5_16_16_FLOAT = 69,
20552260ae4SRob Clark 	TFMT5_16_16_UINT = 70,
20652260ae4SRob Clark 	TFMT5_16_16_SINT = 71,
207a26ae754SRob Clark 	TFMT5_32_FLOAT = 74,
20852260ae4SRob Clark 	TFMT5_32_UINT = 75,
20952260ae4SRob Clark 	TFMT5_32_SINT = 76,
21052260ae4SRob Clark 	TFMT5_16_16_16_16_UNORM = 96,
21152260ae4SRob Clark 	TFMT5_16_16_16_16_SNORM = 97,
212a26ae754SRob Clark 	TFMT5_16_16_16_16_FLOAT = 98,
21352260ae4SRob Clark 	TFMT5_16_16_16_16_UINT = 99,
21452260ae4SRob Clark 	TFMT5_16_16_16_16_SINT = 100,
215a26ae754SRob Clark 	TFMT5_32_32_FLOAT = 103,
21652260ae4SRob Clark 	TFMT5_32_32_UINT = 104,
21752260ae4SRob Clark 	TFMT5_32_32_SINT = 105,
2182d756322SRob Clark 	TFMT5_32_32_32_UINT = 114,
2192d756322SRob Clark 	TFMT5_32_32_32_SINT = 115,
2202d756322SRob Clark 	TFMT5_32_32_32_FLOAT = 116,
221a26ae754SRob Clark 	TFMT5_32_32_32_32_FLOAT = 130,
22252260ae4SRob Clark 	TFMT5_32_32_32_32_UINT = 131,
22352260ae4SRob Clark 	TFMT5_32_32_32_32_SINT = 132,
224a26ae754SRob Clark 	TFMT5_X8Z24_UNORM = 160,
2252d756322SRob Clark 	TFMT5_ETC2_RG11_UNORM = 171,
2262d756322SRob Clark 	TFMT5_ETC2_RG11_SNORM = 172,
2272d756322SRob Clark 	TFMT5_ETC2_R11_UNORM = 173,
2282d756322SRob Clark 	TFMT5_ETC2_R11_SNORM = 174,
2292d756322SRob Clark 	TFMT5_ETC1 = 175,
2302d756322SRob Clark 	TFMT5_ETC2_RGB8 = 176,
2312d756322SRob Clark 	TFMT5_ETC2_RGBA8 = 177,
2322d756322SRob Clark 	TFMT5_ETC2_RGB8A1 = 178,
2332d756322SRob Clark 	TFMT5_DXT1 = 179,
2342d756322SRob Clark 	TFMT5_DXT3 = 180,
2352d756322SRob Clark 	TFMT5_DXT5 = 181,
23652260ae4SRob Clark 	TFMT5_RGTC1_UNORM = 183,
23752260ae4SRob Clark 	TFMT5_RGTC1_SNORM = 184,
23852260ae4SRob Clark 	TFMT5_RGTC2_UNORM = 187,
23952260ae4SRob Clark 	TFMT5_RGTC2_SNORM = 188,
2402d756322SRob Clark 	TFMT5_BPTC_UFLOAT = 190,
2412d756322SRob Clark 	TFMT5_BPTC_FLOAT = 191,
2422d756322SRob Clark 	TFMT5_BPTC = 192,
2432d756322SRob Clark 	TFMT5_ASTC_4x4 = 193,
2442d756322SRob Clark 	TFMT5_ASTC_5x4 = 194,
2452d756322SRob Clark 	TFMT5_ASTC_5x5 = 195,
2462d756322SRob Clark 	TFMT5_ASTC_6x5 = 196,
2472d756322SRob Clark 	TFMT5_ASTC_6x6 = 197,
2482d756322SRob Clark 	TFMT5_ASTC_8x5 = 198,
2492d756322SRob Clark 	TFMT5_ASTC_8x6 = 199,
2502d756322SRob Clark 	TFMT5_ASTC_8x8 = 200,
2512d756322SRob Clark 	TFMT5_ASTC_10x5 = 201,
2522d756322SRob Clark 	TFMT5_ASTC_10x6 = 202,
2532d756322SRob Clark 	TFMT5_ASTC_10x8 = 203,
2542d756322SRob Clark 	TFMT5_ASTC_10x10 = 204,
2552d756322SRob Clark 	TFMT5_ASTC_12x10 = 205,
2562d756322SRob Clark 	TFMT5_ASTC_12x12 = 206,
257c28c82e9SRob Clark 	TFMT5_NONE = 255,
258a26ae754SRob Clark };
259a26ae754SRob Clark 
260a26ae754SRob Clark enum a5xx_depth_format {
261a26ae754SRob Clark 	DEPTH5_NONE = 0,
262a26ae754SRob Clark 	DEPTH5_16 = 1,
263a26ae754SRob Clark 	DEPTH5_24_8 = 2,
264a26ae754SRob Clark 	DEPTH5_32 = 4,
265a26ae754SRob Clark };
266a26ae754SRob Clark 
267a26ae754SRob Clark enum a5xx_blit_buf {
268a26ae754SRob Clark 	BLIT_MRT0 = 0,
269a26ae754SRob Clark 	BLIT_MRT1 = 1,
270a26ae754SRob Clark 	BLIT_MRT2 = 2,
271a26ae754SRob Clark 	BLIT_MRT3 = 3,
272a26ae754SRob Clark 	BLIT_MRT4 = 4,
273a26ae754SRob Clark 	BLIT_MRT5 = 5,
274a26ae754SRob Clark 	BLIT_MRT6 = 6,
275a26ae754SRob Clark 	BLIT_MRT7 = 7,
276a26ae754SRob Clark 	BLIT_ZS = 8,
2772d756322SRob Clark 	BLIT_S = 9,
278a26ae754SRob Clark };
279a26ae754SRob Clark 
28052260ae4SRob Clark enum a5xx_cp_perfcounter_select {
28152260ae4SRob Clark 	PERF_CP_ALWAYS_COUNT = 0,
28252260ae4SRob Clark 	PERF_CP_BUSY_GFX_CORE_IDLE = 1,
28352260ae4SRob Clark 	PERF_CP_BUSY_CYCLES = 2,
28452260ae4SRob Clark 	PERF_CP_PFP_IDLE = 3,
28552260ae4SRob Clark 	PERF_CP_PFP_BUSY_WORKING = 4,
28652260ae4SRob Clark 	PERF_CP_PFP_STALL_CYCLES_ANY = 5,
28752260ae4SRob Clark 	PERF_CP_PFP_STARVE_CYCLES_ANY = 6,
28852260ae4SRob Clark 	PERF_CP_PFP_ICACHE_MISS = 7,
28952260ae4SRob Clark 	PERF_CP_PFP_ICACHE_HIT = 8,
29052260ae4SRob Clark 	PERF_CP_PFP_MATCH_PM4_PKT_PROFILE = 9,
29152260ae4SRob Clark 	PERF_CP_ME_BUSY_WORKING = 10,
29252260ae4SRob Clark 	PERF_CP_ME_IDLE = 11,
29352260ae4SRob Clark 	PERF_CP_ME_STARVE_CYCLES_ANY = 12,
29452260ae4SRob Clark 	PERF_CP_ME_FIFO_EMPTY_PFP_IDLE = 13,
29552260ae4SRob Clark 	PERF_CP_ME_FIFO_EMPTY_PFP_BUSY = 14,
29652260ae4SRob Clark 	PERF_CP_ME_FIFO_FULL_ME_BUSY = 15,
29752260ae4SRob Clark 	PERF_CP_ME_FIFO_FULL_ME_NON_WORKING = 16,
29852260ae4SRob Clark 	PERF_CP_ME_STALL_CYCLES_ANY = 17,
29952260ae4SRob Clark 	PERF_CP_ME_ICACHE_MISS = 18,
30052260ae4SRob Clark 	PERF_CP_ME_ICACHE_HIT = 19,
30152260ae4SRob Clark 	PERF_CP_NUM_PREEMPTIONS = 20,
30252260ae4SRob Clark 	PERF_CP_PREEMPTION_REACTION_DELAY = 21,
30352260ae4SRob Clark 	PERF_CP_PREEMPTION_SWITCH_OUT_TIME = 22,
30452260ae4SRob Clark 	PERF_CP_PREEMPTION_SWITCH_IN_TIME = 23,
30552260ae4SRob Clark 	PERF_CP_DEAD_DRAWS_IN_BIN_RENDER = 24,
30652260ae4SRob Clark 	PERF_CP_PREDICATED_DRAWS_KILLED = 25,
30752260ae4SRob Clark 	PERF_CP_MODE_SWITCH = 26,
30852260ae4SRob Clark 	PERF_CP_ZPASS_DONE = 27,
30952260ae4SRob Clark 	PERF_CP_CONTEXT_DONE = 28,
31052260ae4SRob Clark 	PERF_CP_CACHE_FLUSH = 29,
31152260ae4SRob Clark 	PERF_CP_LONG_PREEMPTIONS = 30,
31252260ae4SRob Clark };
31352260ae4SRob Clark 
31452260ae4SRob Clark enum a5xx_rbbm_perfcounter_select {
31552260ae4SRob Clark 	PERF_RBBM_ALWAYS_COUNT = 0,
31652260ae4SRob Clark 	PERF_RBBM_ALWAYS_ON = 1,
31752260ae4SRob Clark 	PERF_RBBM_TSE_BUSY = 2,
31852260ae4SRob Clark 	PERF_RBBM_RAS_BUSY = 3,
31952260ae4SRob Clark 	PERF_RBBM_PC_DCALL_BUSY = 4,
32052260ae4SRob Clark 	PERF_RBBM_PC_VSD_BUSY = 5,
32152260ae4SRob Clark 	PERF_RBBM_STATUS_MASKED = 6,
32252260ae4SRob Clark 	PERF_RBBM_COM_BUSY = 7,
32352260ae4SRob Clark 	PERF_RBBM_DCOM_BUSY = 8,
32452260ae4SRob Clark 	PERF_RBBM_VBIF_BUSY = 9,
32552260ae4SRob Clark 	PERF_RBBM_VSC_BUSY = 10,
32652260ae4SRob Clark 	PERF_RBBM_TESS_BUSY = 11,
32752260ae4SRob Clark 	PERF_RBBM_UCHE_BUSY = 12,
32852260ae4SRob Clark 	PERF_RBBM_HLSQ_BUSY = 13,
32952260ae4SRob Clark };
33052260ae4SRob Clark 
33152260ae4SRob Clark enum a5xx_pc_perfcounter_select {
33252260ae4SRob Clark 	PERF_PC_BUSY_CYCLES = 0,
33352260ae4SRob Clark 	PERF_PC_WORKING_CYCLES = 1,
33452260ae4SRob Clark 	PERF_PC_STALL_CYCLES_VFD = 2,
33552260ae4SRob Clark 	PERF_PC_STALL_CYCLES_TSE = 3,
33652260ae4SRob Clark 	PERF_PC_STALL_CYCLES_VPC = 4,
33752260ae4SRob Clark 	PERF_PC_STALL_CYCLES_UCHE = 5,
33852260ae4SRob Clark 	PERF_PC_STALL_CYCLES_TESS = 6,
33952260ae4SRob Clark 	PERF_PC_STALL_CYCLES_TSE_ONLY = 7,
34052260ae4SRob Clark 	PERF_PC_STALL_CYCLES_VPC_ONLY = 8,
34152260ae4SRob Clark 	PERF_PC_PASS1_TF_STALL_CYCLES = 9,
34252260ae4SRob Clark 	PERF_PC_STARVE_CYCLES_FOR_INDEX = 10,
34352260ae4SRob Clark 	PERF_PC_STARVE_CYCLES_FOR_TESS_FACTOR = 11,
34452260ae4SRob Clark 	PERF_PC_STARVE_CYCLES_FOR_VIZ_STREAM = 12,
34552260ae4SRob Clark 	PERF_PC_STARVE_CYCLES_FOR_POSITION = 13,
34652260ae4SRob Clark 	PERF_PC_STARVE_CYCLES_DI = 14,
34752260ae4SRob Clark 	PERF_PC_VIS_STREAMS_LOADED = 15,
34852260ae4SRob Clark 	PERF_PC_INSTANCES = 16,
34952260ae4SRob Clark 	PERF_PC_VPC_PRIMITIVES = 17,
35052260ae4SRob Clark 	PERF_PC_DEAD_PRIM = 18,
35152260ae4SRob Clark 	PERF_PC_LIVE_PRIM = 19,
35252260ae4SRob Clark 	PERF_PC_VERTEX_HITS = 20,
35352260ae4SRob Clark 	PERF_PC_IA_VERTICES = 21,
35452260ae4SRob Clark 	PERF_PC_IA_PRIMITIVES = 22,
35552260ae4SRob Clark 	PERF_PC_GS_PRIMITIVES = 23,
35652260ae4SRob Clark 	PERF_PC_HS_INVOCATIONS = 24,
35752260ae4SRob Clark 	PERF_PC_DS_INVOCATIONS = 25,
35852260ae4SRob Clark 	PERF_PC_VS_INVOCATIONS = 26,
35952260ae4SRob Clark 	PERF_PC_GS_INVOCATIONS = 27,
36052260ae4SRob Clark 	PERF_PC_DS_PRIMITIVES = 28,
36152260ae4SRob Clark 	PERF_PC_VPC_POS_DATA_TRANSACTION = 29,
36252260ae4SRob Clark 	PERF_PC_3D_DRAWCALLS = 30,
36352260ae4SRob Clark 	PERF_PC_2D_DRAWCALLS = 31,
36452260ae4SRob Clark 	PERF_PC_NON_DRAWCALL_GLOBAL_EVENTS = 32,
36552260ae4SRob Clark 	PERF_TESS_BUSY_CYCLES = 33,
36652260ae4SRob Clark 	PERF_TESS_WORKING_CYCLES = 34,
36752260ae4SRob Clark 	PERF_TESS_STALL_CYCLES_PC = 35,
36852260ae4SRob Clark 	PERF_TESS_STARVE_CYCLES_PC = 36,
36952260ae4SRob Clark };
37052260ae4SRob Clark 
37152260ae4SRob Clark enum a5xx_vfd_perfcounter_select {
37252260ae4SRob Clark 	PERF_VFD_BUSY_CYCLES = 0,
37352260ae4SRob Clark 	PERF_VFD_STALL_CYCLES_UCHE = 1,
37452260ae4SRob Clark 	PERF_VFD_STALL_CYCLES_VPC_ALLOC = 2,
37552260ae4SRob Clark 	PERF_VFD_STALL_CYCLES_MISS_VB = 3,
37652260ae4SRob Clark 	PERF_VFD_STALL_CYCLES_MISS_Q = 4,
37752260ae4SRob Clark 	PERF_VFD_STALL_CYCLES_SP_INFO = 5,
37852260ae4SRob Clark 	PERF_VFD_STALL_CYCLES_SP_ATTR = 6,
37952260ae4SRob Clark 	PERF_VFD_STALL_CYCLES_VFDP_VB = 7,
38052260ae4SRob Clark 	PERF_VFD_STALL_CYCLES_VFDP_Q = 8,
38152260ae4SRob Clark 	PERF_VFD_DECODER_PACKER_STALL = 9,
38252260ae4SRob Clark 	PERF_VFD_STARVE_CYCLES_UCHE = 10,
38352260ae4SRob Clark 	PERF_VFD_RBUFFER_FULL = 11,
38452260ae4SRob Clark 	PERF_VFD_ATTR_INFO_FIFO_FULL = 12,
38552260ae4SRob Clark 	PERF_VFD_DECODED_ATTRIBUTE_BYTES = 13,
38652260ae4SRob Clark 	PERF_VFD_NUM_ATTRIBUTES = 14,
38752260ae4SRob Clark 	PERF_VFD_INSTRUCTIONS = 15,
38852260ae4SRob Clark 	PERF_VFD_UPPER_SHADER_FIBERS = 16,
38952260ae4SRob Clark 	PERF_VFD_LOWER_SHADER_FIBERS = 17,
39052260ae4SRob Clark 	PERF_VFD_MODE_0_FIBERS = 18,
39152260ae4SRob Clark 	PERF_VFD_MODE_1_FIBERS = 19,
39252260ae4SRob Clark 	PERF_VFD_MODE_2_FIBERS = 20,
39352260ae4SRob Clark 	PERF_VFD_MODE_3_FIBERS = 21,
39452260ae4SRob Clark 	PERF_VFD_MODE_4_FIBERS = 22,
39552260ae4SRob Clark 	PERF_VFD_TOTAL_VERTICES = 23,
39652260ae4SRob Clark 	PERF_VFD_NUM_ATTR_MISS = 24,
39752260ae4SRob Clark 	PERF_VFD_1_BURST_REQ = 25,
39852260ae4SRob Clark 	PERF_VFDP_STALL_CYCLES_VFD = 26,
39952260ae4SRob Clark 	PERF_VFDP_STALL_CYCLES_VFD_INDEX = 27,
40052260ae4SRob Clark 	PERF_VFDP_STALL_CYCLES_VFD_PROG = 28,
40152260ae4SRob Clark 	PERF_VFDP_STARVE_CYCLES_PC = 29,
40252260ae4SRob Clark 	PERF_VFDP_VS_STAGE_32_WAVES = 30,
40352260ae4SRob Clark };
40452260ae4SRob Clark 
40552260ae4SRob Clark enum a5xx_hlsq_perfcounter_select {
40652260ae4SRob Clark 	PERF_HLSQ_BUSY_CYCLES = 0,
40752260ae4SRob Clark 	PERF_HLSQ_STALL_CYCLES_UCHE = 1,
40852260ae4SRob Clark 	PERF_HLSQ_STALL_CYCLES_SP_STATE = 2,
40952260ae4SRob Clark 	PERF_HLSQ_STALL_CYCLES_SP_FS_STAGE = 3,
41052260ae4SRob Clark 	PERF_HLSQ_UCHE_LATENCY_CYCLES = 4,
41152260ae4SRob Clark 	PERF_HLSQ_UCHE_LATENCY_COUNT = 5,
41252260ae4SRob Clark 	PERF_HLSQ_FS_STAGE_32_WAVES = 6,
41352260ae4SRob Clark 	PERF_HLSQ_FS_STAGE_64_WAVES = 7,
41452260ae4SRob Clark 	PERF_HLSQ_QUADS = 8,
41552260ae4SRob Clark 	PERF_HLSQ_SP_STATE_COPY_TRANS_FS_STAGE = 9,
41652260ae4SRob Clark 	PERF_HLSQ_SP_STATE_COPY_TRANS_VS_STAGE = 10,
41752260ae4SRob Clark 	PERF_HLSQ_TP_STATE_COPY_TRANS_FS_STAGE = 11,
41852260ae4SRob Clark 	PERF_HLSQ_TP_STATE_COPY_TRANS_VS_STAGE = 12,
41952260ae4SRob Clark 	PERF_HLSQ_CS_INVOCATIONS = 13,
42052260ae4SRob Clark 	PERF_HLSQ_COMPUTE_DRAWCALLS = 14,
42152260ae4SRob Clark };
42252260ae4SRob Clark 
42352260ae4SRob Clark enum a5xx_vpc_perfcounter_select {
42452260ae4SRob Clark 	PERF_VPC_BUSY_CYCLES = 0,
42552260ae4SRob Clark 	PERF_VPC_WORKING_CYCLES = 1,
42652260ae4SRob Clark 	PERF_VPC_STALL_CYCLES_UCHE = 2,
42752260ae4SRob Clark 	PERF_VPC_STALL_CYCLES_VFD_WACK = 3,
42852260ae4SRob Clark 	PERF_VPC_STALL_CYCLES_HLSQ_PRIM_ALLOC = 4,
42952260ae4SRob Clark 	PERF_VPC_STALL_CYCLES_PC = 5,
43052260ae4SRob Clark 	PERF_VPC_STALL_CYCLES_SP_LM = 6,
43152260ae4SRob Clark 	PERF_VPC_POS_EXPORT_STALL_CYCLES = 7,
43252260ae4SRob Clark 	PERF_VPC_STARVE_CYCLES_SP = 8,
43352260ae4SRob Clark 	PERF_VPC_STARVE_CYCLES_LRZ = 9,
43452260ae4SRob Clark 	PERF_VPC_PC_PRIMITIVES = 10,
43552260ae4SRob Clark 	PERF_VPC_SP_COMPONENTS = 11,
43652260ae4SRob Clark 	PERF_VPC_SP_LM_PRIMITIVES = 12,
43752260ae4SRob Clark 	PERF_VPC_SP_LM_COMPONENTS = 13,
43852260ae4SRob Clark 	PERF_VPC_SP_LM_DWORDS = 14,
43952260ae4SRob Clark 	PERF_VPC_STREAMOUT_COMPONENTS = 15,
44052260ae4SRob Clark 	PERF_VPC_GRANT_PHASES = 16,
44152260ae4SRob Clark };
44252260ae4SRob Clark 
44352260ae4SRob Clark enum a5xx_tse_perfcounter_select {
44452260ae4SRob Clark 	PERF_TSE_BUSY_CYCLES = 0,
44552260ae4SRob Clark 	PERF_TSE_CLIPPING_CYCLES = 1,
44652260ae4SRob Clark 	PERF_TSE_STALL_CYCLES_RAS = 2,
44752260ae4SRob Clark 	PERF_TSE_STALL_CYCLES_LRZ_BARYPLANE = 3,
44852260ae4SRob Clark 	PERF_TSE_STALL_CYCLES_LRZ_ZPLANE = 4,
44952260ae4SRob Clark 	PERF_TSE_STARVE_CYCLES_PC = 5,
45052260ae4SRob Clark 	PERF_TSE_INPUT_PRIM = 6,
45152260ae4SRob Clark 	PERF_TSE_INPUT_NULL_PRIM = 7,
45252260ae4SRob Clark 	PERF_TSE_TRIVAL_REJ_PRIM = 8,
45352260ae4SRob Clark 	PERF_TSE_CLIPPED_PRIM = 9,
45452260ae4SRob Clark 	PERF_TSE_ZERO_AREA_PRIM = 10,
45552260ae4SRob Clark 	PERF_TSE_FACENESS_CULLED_PRIM = 11,
45652260ae4SRob Clark 	PERF_TSE_ZERO_PIXEL_PRIM = 12,
45752260ae4SRob Clark 	PERF_TSE_OUTPUT_NULL_PRIM = 13,
45852260ae4SRob Clark 	PERF_TSE_OUTPUT_VISIBLE_PRIM = 14,
45952260ae4SRob Clark 	PERF_TSE_CINVOCATION = 15,
46052260ae4SRob Clark 	PERF_TSE_CPRIMITIVES = 16,
46152260ae4SRob Clark 	PERF_TSE_2D_INPUT_PRIM = 17,
46252260ae4SRob Clark 	PERF_TSE_2D_ALIVE_CLCLES = 18,
46352260ae4SRob Clark };
46452260ae4SRob Clark 
46552260ae4SRob Clark enum a5xx_ras_perfcounter_select {
46652260ae4SRob Clark 	PERF_RAS_BUSY_CYCLES = 0,
46752260ae4SRob Clark 	PERF_RAS_SUPERTILE_ACTIVE_CYCLES = 1,
46852260ae4SRob Clark 	PERF_RAS_STALL_CYCLES_LRZ = 2,
46952260ae4SRob Clark 	PERF_RAS_STARVE_CYCLES_TSE = 3,
47052260ae4SRob Clark 	PERF_RAS_SUPER_TILES = 4,
47152260ae4SRob Clark 	PERF_RAS_8X4_TILES = 5,
47252260ae4SRob Clark 	PERF_RAS_MASKGEN_ACTIVE = 6,
47352260ae4SRob Clark 	PERF_RAS_FULLY_COVERED_SUPER_TILES = 7,
47452260ae4SRob Clark 	PERF_RAS_FULLY_COVERED_8X4_TILES = 8,
47552260ae4SRob Clark 	PERF_RAS_PRIM_KILLED_INVISILBE = 9,
47652260ae4SRob Clark };
47752260ae4SRob Clark 
47852260ae4SRob Clark enum a5xx_lrz_perfcounter_select {
47952260ae4SRob Clark 	PERF_LRZ_BUSY_CYCLES = 0,
48052260ae4SRob Clark 	PERF_LRZ_STARVE_CYCLES_RAS = 1,
48152260ae4SRob Clark 	PERF_LRZ_STALL_CYCLES_RB = 2,
48252260ae4SRob Clark 	PERF_LRZ_STALL_CYCLES_VSC = 3,
48352260ae4SRob Clark 	PERF_LRZ_STALL_CYCLES_VPC = 4,
48452260ae4SRob Clark 	PERF_LRZ_STALL_CYCLES_FLAG_PREFETCH = 5,
48552260ae4SRob Clark 	PERF_LRZ_STALL_CYCLES_UCHE = 6,
48652260ae4SRob Clark 	PERF_LRZ_LRZ_READ = 7,
48752260ae4SRob Clark 	PERF_LRZ_LRZ_WRITE = 8,
48852260ae4SRob Clark 	PERF_LRZ_READ_LATENCY = 9,
48952260ae4SRob Clark 	PERF_LRZ_MERGE_CACHE_UPDATING = 10,
49052260ae4SRob Clark 	PERF_LRZ_PRIM_KILLED_BY_MASKGEN = 11,
49152260ae4SRob Clark 	PERF_LRZ_PRIM_KILLED_BY_LRZ = 12,
49252260ae4SRob Clark 	PERF_LRZ_VISIBLE_PRIM_AFTER_LRZ = 13,
49352260ae4SRob Clark 	PERF_LRZ_FULL_8X8_TILES = 14,
49452260ae4SRob Clark 	PERF_LRZ_PARTIAL_8X8_TILES = 15,
49552260ae4SRob Clark 	PERF_LRZ_TILE_KILLED = 16,
49652260ae4SRob Clark 	PERF_LRZ_TOTAL_PIXEL = 17,
49752260ae4SRob Clark 	PERF_LRZ_VISIBLE_PIXEL_AFTER_LRZ = 18,
49852260ae4SRob Clark };
49952260ae4SRob Clark 
50052260ae4SRob Clark enum a5xx_uche_perfcounter_select {
50152260ae4SRob Clark 	PERF_UCHE_BUSY_CYCLES = 0,
50252260ae4SRob Clark 	PERF_UCHE_STALL_CYCLES_VBIF = 1,
50352260ae4SRob Clark 	PERF_UCHE_VBIF_LATENCY_CYCLES = 2,
50452260ae4SRob Clark 	PERF_UCHE_VBIF_LATENCY_SAMPLES = 3,
50552260ae4SRob Clark 	PERF_UCHE_VBIF_READ_BEATS_TP = 4,
50652260ae4SRob Clark 	PERF_UCHE_VBIF_READ_BEATS_VFD = 5,
50752260ae4SRob Clark 	PERF_UCHE_VBIF_READ_BEATS_HLSQ = 6,
50852260ae4SRob Clark 	PERF_UCHE_VBIF_READ_BEATS_LRZ = 7,
50952260ae4SRob Clark 	PERF_UCHE_VBIF_READ_BEATS_SP = 8,
51052260ae4SRob Clark 	PERF_UCHE_READ_REQUESTS_TP = 9,
51152260ae4SRob Clark 	PERF_UCHE_READ_REQUESTS_VFD = 10,
51252260ae4SRob Clark 	PERF_UCHE_READ_REQUESTS_HLSQ = 11,
51352260ae4SRob Clark 	PERF_UCHE_READ_REQUESTS_LRZ = 12,
51452260ae4SRob Clark 	PERF_UCHE_READ_REQUESTS_SP = 13,
51552260ae4SRob Clark 	PERF_UCHE_WRITE_REQUESTS_LRZ = 14,
51652260ae4SRob Clark 	PERF_UCHE_WRITE_REQUESTS_SP = 15,
51752260ae4SRob Clark 	PERF_UCHE_WRITE_REQUESTS_VPC = 16,
51852260ae4SRob Clark 	PERF_UCHE_WRITE_REQUESTS_VSC = 17,
51952260ae4SRob Clark 	PERF_UCHE_EVICTS = 18,
52052260ae4SRob Clark 	PERF_UCHE_BANK_REQ0 = 19,
52152260ae4SRob Clark 	PERF_UCHE_BANK_REQ1 = 20,
52252260ae4SRob Clark 	PERF_UCHE_BANK_REQ2 = 21,
52352260ae4SRob Clark 	PERF_UCHE_BANK_REQ3 = 22,
52452260ae4SRob Clark 	PERF_UCHE_BANK_REQ4 = 23,
52552260ae4SRob Clark 	PERF_UCHE_BANK_REQ5 = 24,
52652260ae4SRob Clark 	PERF_UCHE_BANK_REQ6 = 25,
52752260ae4SRob Clark 	PERF_UCHE_BANK_REQ7 = 26,
52852260ae4SRob Clark 	PERF_UCHE_VBIF_READ_BEATS_CH0 = 27,
52952260ae4SRob Clark 	PERF_UCHE_VBIF_READ_BEATS_CH1 = 28,
53052260ae4SRob Clark 	PERF_UCHE_GMEM_READ_BEATS = 29,
53152260ae4SRob Clark 	PERF_UCHE_FLAG_COUNT = 30,
53252260ae4SRob Clark };
53352260ae4SRob Clark 
53452260ae4SRob Clark enum a5xx_tp_perfcounter_select {
53552260ae4SRob Clark 	PERF_TP_BUSY_CYCLES = 0,
53652260ae4SRob Clark 	PERF_TP_STALL_CYCLES_UCHE = 1,
53752260ae4SRob Clark 	PERF_TP_LATENCY_CYCLES = 2,
53852260ae4SRob Clark 	PERF_TP_LATENCY_TRANS = 3,
53952260ae4SRob Clark 	PERF_TP_FLAG_CACHE_REQUEST_SAMPLES = 4,
54052260ae4SRob Clark 	PERF_TP_FLAG_CACHE_REQUEST_LATENCY = 5,
54152260ae4SRob Clark 	PERF_TP_L1_CACHELINE_REQUESTS = 6,
54252260ae4SRob Clark 	PERF_TP_L1_CACHELINE_MISSES = 7,
54352260ae4SRob Clark 	PERF_TP_SP_TP_TRANS = 8,
54452260ae4SRob Clark 	PERF_TP_TP_SP_TRANS = 9,
54552260ae4SRob Clark 	PERF_TP_OUTPUT_PIXELS = 10,
54652260ae4SRob Clark 	PERF_TP_FILTER_WORKLOAD_16BIT = 11,
54752260ae4SRob Clark 	PERF_TP_FILTER_WORKLOAD_32BIT = 12,
54852260ae4SRob Clark 	PERF_TP_QUADS_RECEIVED = 13,
54952260ae4SRob Clark 	PERF_TP_QUADS_OFFSET = 14,
55052260ae4SRob Clark 	PERF_TP_QUADS_SHADOW = 15,
55152260ae4SRob Clark 	PERF_TP_QUADS_ARRAY = 16,
55252260ae4SRob Clark 	PERF_TP_QUADS_GRADIENT = 17,
55352260ae4SRob Clark 	PERF_TP_QUADS_1D = 18,
55452260ae4SRob Clark 	PERF_TP_QUADS_2D = 19,
55552260ae4SRob Clark 	PERF_TP_QUADS_BUFFER = 20,
55652260ae4SRob Clark 	PERF_TP_QUADS_3D = 21,
55752260ae4SRob Clark 	PERF_TP_QUADS_CUBE = 22,
55852260ae4SRob Clark 	PERF_TP_STATE_CACHE_REQUESTS = 23,
55952260ae4SRob Clark 	PERF_TP_STATE_CACHE_MISSES = 24,
56052260ae4SRob Clark 	PERF_TP_DIVERGENT_QUADS_RECEIVED = 25,
56152260ae4SRob Clark 	PERF_TP_BINDLESS_STATE_CACHE_REQUESTS = 26,
56252260ae4SRob Clark 	PERF_TP_BINDLESS_STATE_CACHE_MISSES = 27,
56352260ae4SRob Clark 	PERF_TP_PRT_NON_RESIDENT_EVENTS = 28,
56452260ae4SRob Clark 	PERF_TP_OUTPUT_PIXELS_POINT = 29,
56552260ae4SRob Clark 	PERF_TP_OUTPUT_PIXELS_BILINEAR = 30,
56652260ae4SRob Clark 	PERF_TP_OUTPUT_PIXELS_MIP = 31,
56752260ae4SRob Clark 	PERF_TP_OUTPUT_PIXELS_ANISO = 32,
56852260ae4SRob Clark 	PERF_TP_OUTPUT_PIXELS_ZERO_LOD = 33,
56952260ae4SRob Clark 	PERF_TP_FLAG_CACHE_REQUESTS = 34,
57052260ae4SRob Clark 	PERF_TP_FLAG_CACHE_MISSES = 35,
57152260ae4SRob Clark 	PERF_TP_L1_5_L2_REQUESTS = 36,
57252260ae4SRob Clark 	PERF_TP_2D_OUTPUT_PIXELS = 37,
57352260ae4SRob Clark 	PERF_TP_2D_OUTPUT_PIXELS_POINT = 38,
57452260ae4SRob Clark 	PERF_TP_2D_OUTPUT_PIXELS_BILINEAR = 39,
57552260ae4SRob Clark 	PERF_TP_2D_FILTER_WORKLOAD_16BIT = 40,
57652260ae4SRob Clark 	PERF_TP_2D_FILTER_WORKLOAD_32BIT = 41,
57752260ae4SRob Clark };
57852260ae4SRob Clark 
57952260ae4SRob Clark enum a5xx_sp_perfcounter_select {
58052260ae4SRob Clark 	PERF_SP_BUSY_CYCLES = 0,
58152260ae4SRob Clark 	PERF_SP_ALU_WORKING_CYCLES = 1,
58252260ae4SRob Clark 	PERF_SP_EFU_WORKING_CYCLES = 2,
58352260ae4SRob Clark 	PERF_SP_STALL_CYCLES_VPC = 3,
58452260ae4SRob Clark 	PERF_SP_STALL_CYCLES_TP = 4,
58552260ae4SRob Clark 	PERF_SP_STALL_CYCLES_UCHE = 5,
58652260ae4SRob Clark 	PERF_SP_STALL_CYCLES_RB = 6,
58752260ae4SRob Clark 	PERF_SP_SCHEDULER_NON_WORKING = 7,
58852260ae4SRob Clark 	PERF_SP_WAVE_CONTEXTS = 8,
58952260ae4SRob Clark 	PERF_SP_WAVE_CONTEXT_CYCLES = 9,
59052260ae4SRob Clark 	PERF_SP_FS_STAGE_WAVE_CYCLES = 10,
59152260ae4SRob Clark 	PERF_SP_FS_STAGE_WAVE_SAMPLES = 11,
59252260ae4SRob Clark 	PERF_SP_VS_STAGE_WAVE_CYCLES = 12,
59352260ae4SRob Clark 	PERF_SP_VS_STAGE_WAVE_SAMPLES = 13,
59452260ae4SRob Clark 	PERF_SP_FS_STAGE_DURATION_CYCLES = 14,
59552260ae4SRob Clark 	PERF_SP_VS_STAGE_DURATION_CYCLES = 15,
59652260ae4SRob Clark 	PERF_SP_WAVE_CTRL_CYCLES = 16,
59752260ae4SRob Clark 	PERF_SP_WAVE_LOAD_CYCLES = 17,
59852260ae4SRob Clark 	PERF_SP_WAVE_EMIT_CYCLES = 18,
59952260ae4SRob Clark 	PERF_SP_WAVE_NOP_CYCLES = 19,
60052260ae4SRob Clark 	PERF_SP_WAVE_WAIT_CYCLES = 20,
60152260ae4SRob Clark 	PERF_SP_WAVE_FETCH_CYCLES = 21,
60252260ae4SRob Clark 	PERF_SP_WAVE_IDLE_CYCLES = 22,
60352260ae4SRob Clark 	PERF_SP_WAVE_END_CYCLES = 23,
60452260ae4SRob Clark 	PERF_SP_WAVE_LONG_SYNC_CYCLES = 24,
60552260ae4SRob Clark 	PERF_SP_WAVE_SHORT_SYNC_CYCLES = 25,
60652260ae4SRob Clark 	PERF_SP_WAVE_JOIN_CYCLES = 26,
60752260ae4SRob Clark 	PERF_SP_LM_LOAD_INSTRUCTIONS = 27,
60852260ae4SRob Clark 	PERF_SP_LM_STORE_INSTRUCTIONS = 28,
60952260ae4SRob Clark 	PERF_SP_LM_ATOMICS = 29,
61052260ae4SRob Clark 	PERF_SP_GM_LOAD_INSTRUCTIONS = 30,
61152260ae4SRob Clark 	PERF_SP_GM_STORE_INSTRUCTIONS = 31,
61252260ae4SRob Clark 	PERF_SP_GM_ATOMICS = 32,
61352260ae4SRob Clark 	PERF_SP_VS_STAGE_TEX_INSTRUCTIONS = 33,
61452260ae4SRob Clark 	PERF_SP_VS_STAGE_CFLOW_INSTRUCTIONS = 34,
61552260ae4SRob Clark 	PERF_SP_VS_STAGE_EFU_INSTRUCTIONS = 35,
61652260ae4SRob Clark 	PERF_SP_VS_STAGE_FULL_ALU_INSTRUCTIONS = 36,
61752260ae4SRob Clark 	PERF_SP_VS_STAGE_HALF_ALU_INSTRUCTIONS = 37,
61852260ae4SRob Clark 	PERF_SP_FS_STAGE_TEX_INSTRUCTIONS = 38,
61952260ae4SRob Clark 	PERF_SP_FS_STAGE_CFLOW_INSTRUCTIONS = 39,
62052260ae4SRob Clark 	PERF_SP_FS_STAGE_EFU_INSTRUCTIONS = 40,
62152260ae4SRob Clark 	PERF_SP_FS_STAGE_FULL_ALU_INSTRUCTIONS = 41,
62252260ae4SRob Clark 	PERF_SP_FS_STAGE_HALF_ALU_INSTRUCTIONS = 42,
62352260ae4SRob Clark 	PERF_SP_FS_STAGE_BARY_INSTRUCTIONS = 43,
62452260ae4SRob Clark 	PERF_SP_VS_INSTRUCTIONS = 44,
62552260ae4SRob Clark 	PERF_SP_FS_INSTRUCTIONS = 45,
62652260ae4SRob Clark 	PERF_SP_ADDR_LOCK_COUNT = 46,
62752260ae4SRob Clark 	PERF_SP_UCHE_READ_TRANS = 47,
62852260ae4SRob Clark 	PERF_SP_UCHE_WRITE_TRANS = 48,
62952260ae4SRob Clark 	PERF_SP_EXPORT_VPC_TRANS = 49,
63052260ae4SRob Clark 	PERF_SP_EXPORT_RB_TRANS = 50,
63152260ae4SRob Clark 	PERF_SP_PIXELS_KILLED = 51,
63252260ae4SRob Clark 	PERF_SP_ICL1_REQUESTS = 52,
63352260ae4SRob Clark 	PERF_SP_ICL1_MISSES = 53,
63452260ae4SRob Clark 	PERF_SP_ICL0_REQUESTS = 54,
63552260ae4SRob Clark 	PERF_SP_ICL0_MISSES = 55,
63652260ae4SRob Clark 	PERF_SP_HS_INSTRUCTIONS = 56,
63752260ae4SRob Clark 	PERF_SP_DS_INSTRUCTIONS = 57,
63852260ae4SRob Clark 	PERF_SP_GS_INSTRUCTIONS = 58,
63952260ae4SRob Clark 	PERF_SP_CS_INSTRUCTIONS = 59,
64052260ae4SRob Clark 	PERF_SP_GPR_READ = 60,
64152260ae4SRob Clark 	PERF_SP_GPR_WRITE = 61,
64252260ae4SRob Clark 	PERF_SP_LM_CH0_REQUESTS = 62,
64352260ae4SRob Clark 	PERF_SP_LM_CH1_REQUESTS = 63,
64452260ae4SRob Clark 	PERF_SP_LM_BANK_CONFLICTS = 64,
64552260ae4SRob Clark };
64652260ae4SRob Clark 
64752260ae4SRob Clark enum a5xx_rb_perfcounter_select {
64852260ae4SRob Clark 	PERF_RB_BUSY_CYCLES = 0,
64952260ae4SRob Clark 	PERF_RB_STALL_CYCLES_CCU = 1,
65052260ae4SRob Clark 	PERF_RB_STALL_CYCLES_HLSQ = 2,
65152260ae4SRob Clark 	PERF_RB_STALL_CYCLES_FIFO0_FULL = 3,
65252260ae4SRob Clark 	PERF_RB_STALL_CYCLES_FIFO1_FULL = 4,
65352260ae4SRob Clark 	PERF_RB_STALL_CYCLES_FIFO2_FULL = 5,
65452260ae4SRob Clark 	PERF_RB_STARVE_CYCLES_SP = 6,
65552260ae4SRob Clark 	PERF_RB_STARVE_CYCLES_LRZ_TILE = 7,
65652260ae4SRob Clark 	PERF_RB_STARVE_CYCLES_CCU = 8,
65752260ae4SRob Clark 	PERF_RB_STARVE_CYCLES_Z_PLANE = 9,
65852260ae4SRob Clark 	PERF_RB_STARVE_CYCLES_BARY_PLANE = 10,
65952260ae4SRob Clark 	PERF_RB_Z_WORKLOAD = 11,
66052260ae4SRob Clark 	PERF_RB_HLSQ_ACTIVE = 12,
66152260ae4SRob Clark 	PERF_RB_Z_READ = 13,
66252260ae4SRob Clark 	PERF_RB_Z_WRITE = 14,
66352260ae4SRob Clark 	PERF_RB_C_READ = 15,
66452260ae4SRob Clark 	PERF_RB_C_WRITE = 16,
66552260ae4SRob Clark 	PERF_RB_TOTAL_PASS = 17,
66652260ae4SRob Clark 	PERF_RB_Z_PASS = 18,
66752260ae4SRob Clark 	PERF_RB_Z_FAIL = 19,
66852260ae4SRob Clark 	PERF_RB_S_FAIL = 20,
66952260ae4SRob Clark 	PERF_RB_BLENDED_FXP_COMPONENTS = 21,
67052260ae4SRob Clark 	PERF_RB_BLENDED_FP16_COMPONENTS = 22,
67152260ae4SRob Clark 	RB_RESERVED = 23,
67252260ae4SRob Clark 	PERF_RB_2D_ALIVE_CYCLES = 24,
67352260ae4SRob Clark 	PERF_RB_2D_STALL_CYCLES_A2D = 25,
67452260ae4SRob Clark 	PERF_RB_2D_STARVE_CYCLES_SRC = 26,
67552260ae4SRob Clark 	PERF_RB_2D_STARVE_CYCLES_SP = 27,
67652260ae4SRob Clark 	PERF_RB_2D_STARVE_CYCLES_DST = 28,
67752260ae4SRob Clark 	PERF_RB_2D_VALID_PIXELS = 29,
67852260ae4SRob Clark };
67952260ae4SRob Clark 
68052260ae4SRob Clark enum a5xx_rb_samples_perfcounter_select {
68152260ae4SRob Clark 	TOTAL_SAMPLES = 0,
68252260ae4SRob Clark 	ZPASS_SAMPLES = 1,
68352260ae4SRob Clark 	ZFAIL_SAMPLES = 2,
68452260ae4SRob Clark 	SFAIL_SAMPLES = 3,
68552260ae4SRob Clark };
68652260ae4SRob Clark 
68752260ae4SRob Clark enum a5xx_vsc_perfcounter_select {
68852260ae4SRob Clark 	PERF_VSC_BUSY_CYCLES = 0,
68952260ae4SRob Clark 	PERF_VSC_WORKING_CYCLES = 1,
69052260ae4SRob Clark 	PERF_VSC_STALL_CYCLES_UCHE = 2,
69152260ae4SRob Clark 	PERF_VSC_EOT_NUM = 3,
69252260ae4SRob Clark };
69352260ae4SRob Clark 
69452260ae4SRob Clark enum a5xx_ccu_perfcounter_select {
69552260ae4SRob Clark 	PERF_CCU_BUSY_CYCLES = 0,
69652260ae4SRob Clark 	PERF_CCU_STALL_CYCLES_RB_DEPTH_RETURN = 1,
69752260ae4SRob Clark 	PERF_CCU_STALL_CYCLES_RB_COLOR_RETURN = 2,
69852260ae4SRob Clark 	PERF_CCU_STARVE_CYCLES_FLAG_RETURN = 3,
69952260ae4SRob Clark 	PERF_CCU_DEPTH_BLOCKS = 4,
70052260ae4SRob Clark 	PERF_CCU_COLOR_BLOCKS = 5,
70152260ae4SRob Clark 	PERF_CCU_DEPTH_BLOCK_HIT = 6,
70252260ae4SRob Clark 	PERF_CCU_COLOR_BLOCK_HIT = 7,
70352260ae4SRob Clark 	PERF_CCU_PARTIAL_BLOCK_READ = 8,
70452260ae4SRob Clark 	PERF_CCU_GMEM_READ = 9,
70552260ae4SRob Clark 	PERF_CCU_GMEM_WRITE = 10,
70652260ae4SRob Clark 	PERF_CCU_DEPTH_READ_FLAG0_COUNT = 11,
70752260ae4SRob Clark 	PERF_CCU_DEPTH_READ_FLAG1_COUNT = 12,
70852260ae4SRob Clark 	PERF_CCU_DEPTH_READ_FLAG2_COUNT = 13,
70952260ae4SRob Clark 	PERF_CCU_DEPTH_READ_FLAG3_COUNT = 14,
71052260ae4SRob Clark 	PERF_CCU_DEPTH_READ_FLAG4_COUNT = 15,
71152260ae4SRob Clark 	PERF_CCU_COLOR_READ_FLAG0_COUNT = 16,
71252260ae4SRob Clark 	PERF_CCU_COLOR_READ_FLAG1_COUNT = 17,
71352260ae4SRob Clark 	PERF_CCU_COLOR_READ_FLAG2_COUNT = 18,
71452260ae4SRob Clark 	PERF_CCU_COLOR_READ_FLAG3_COUNT = 19,
71552260ae4SRob Clark 	PERF_CCU_COLOR_READ_FLAG4_COUNT = 20,
71652260ae4SRob Clark 	PERF_CCU_2D_BUSY_CYCLES = 21,
71752260ae4SRob Clark 	PERF_CCU_2D_RD_REQ = 22,
71852260ae4SRob Clark 	PERF_CCU_2D_WR_REQ = 23,
71952260ae4SRob Clark 	PERF_CCU_2D_REORDER_STARVE_CYCLES = 24,
72052260ae4SRob Clark 	PERF_CCU_2D_PIXELS = 25,
72152260ae4SRob Clark };
72252260ae4SRob Clark 
72352260ae4SRob Clark enum a5xx_cmp_perfcounter_select {
72452260ae4SRob Clark 	PERF_CMPDECMP_STALL_CYCLES_VBIF = 0,
72552260ae4SRob Clark 	PERF_CMPDECMP_VBIF_LATENCY_CYCLES = 1,
72652260ae4SRob Clark 	PERF_CMPDECMP_VBIF_LATENCY_SAMPLES = 2,
72752260ae4SRob Clark 	PERF_CMPDECMP_VBIF_READ_DATA_CCU = 3,
72852260ae4SRob Clark 	PERF_CMPDECMP_VBIF_WRITE_DATA_CCU = 4,
72952260ae4SRob Clark 	PERF_CMPDECMP_VBIF_READ_REQUEST = 5,
73052260ae4SRob Clark 	PERF_CMPDECMP_VBIF_WRITE_REQUEST = 6,
73152260ae4SRob Clark 	PERF_CMPDECMP_VBIF_READ_DATA = 7,
73252260ae4SRob Clark 	PERF_CMPDECMP_VBIF_WRITE_DATA = 8,
73352260ae4SRob Clark 	PERF_CMPDECMP_FLAG_FETCH_CYCLES = 9,
73452260ae4SRob Clark 	PERF_CMPDECMP_FLAG_FETCH_SAMPLES = 10,
73552260ae4SRob Clark 	PERF_CMPDECMP_DEPTH_WRITE_FLAG1_COUNT = 11,
73652260ae4SRob Clark 	PERF_CMPDECMP_DEPTH_WRITE_FLAG2_COUNT = 12,
73752260ae4SRob Clark 	PERF_CMPDECMP_DEPTH_WRITE_FLAG3_COUNT = 13,
73852260ae4SRob Clark 	PERF_CMPDECMP_DEPTH_WRITE_FLAG4_COUNT = 14,
73952260ae4SRob Clark 	PERF_CMPDECMP_COLOR_WRITE_FLAG1_COUNT = 15,
74052260ae4SRob Clark 	PERF_CMPDECMP_COLOR_WRITE_FLAG2_COUNT = 16,
74152260ae4SRob Clark 	PERF_CMPDECMP_COLOR_WRITE_FLAG3_COUNT = 17,
74252260ae4SRob Clark 	PERF_CMPDECMP_COLOR_WRITE_FLAG4_COUNT = 18,
74352260ae4SRob Clark 	PERF_CMPDECMP_2D_STALL_CYCLES_VBIF_REQ = 19,
74452260ae4SRob Clark 	PERF_CMPDECMP_2D_STALL_CYCLES_VBIF_WR = 20,
74552260ae4SRob Clark 	PERF_CMPDECMP_2D_STALL_CYCLES_VBIF_RETURN = 21,
74652260ae4SRob Clark 	PERF_CMPDECMP_2D_RD_DATA = 22,
74752260ae4SRob Clark 	PERF_CMPDECMP_2D_WR_DATA = 23,
74852260ae4SRob Clark };
74952260ae4SRob Clark 
75052260ae4SRob Clark enum a5xx_vbif_perfcounter_select {
75152260ae4SRob Clark 	AXI_READ_REQUESTS_ID_0 = 0,
75252260ae4SRob Clark 	AXI_READ_REQUESTS_ID_1 = 1,
75352260ae4SRob Clark 	AXI_READ_REQUESTS_ID_2 = 2,
75452260ae4SRob Clark 	AXI_READ_REQUESTS_ID_3 = 3,
75552260ae4SRob Clark 	AXI_READ_REQUESTS_ID_4 = 4,
75652260ae4SRob Clark 	AXI_READ_REQUESTS_ID_5 = 5,
75752260ae4SRob Clark 	AXI_READ_REQUESTS_ID_6 = 6,
75852260ae4SRob Clark 	AXI_READ_REQUESTS_ID_7 = 7,
75952260ae4SRob Clark 	AXI_READ_REQUESTS_ID_8 = 8,
76052260ae4SRob Clark 	AXI_READ_REQUESTS_ID_9 = 9,
76152260ae4SRob Clark 	AXI_READ_REQUESTS_ID_10 = 10,
76252260ae4SRob Clark 	AXI_READ_REQUESTS_ID_11 = 11,
76352260ae4SRob Clark 	AXI_READ_REQUESTS_ID_12 = 12,
76452260ae4SRob Clark 	AXI_READ_REQUESTS_ID_13 = 13,
76552260ae4SRob Clark 	AXI_READ_REQUESTS_ID_14 = 14,
76652260ae4SRob Clark 	AXI_READ_REQUESTS_ID_15 = 15,
76752260ae4SRob Clark 	AXI0_READ_REQUESTS_TOTAL = 16,
76852260ae4SRob Clark 	AXI1_READ_REQUESTS_TOTAL = 17,
76952260ae4SRob Clark 	AXI2_READ_REQUESTS_TOTAL = 18,
77052260ae4SRob Clark 	AXI3_READ_REQUESTS_TOTAL = 19,
77152260ae4SRob Clark 	AXI_READ_REQUESTS_TOTAL = 20,
77252260ae4SRob Clark 	AXI_WRITE_REQUESTS_ID_0 = 21,
77352260ae4SRob Clark 	AXI_WRITE_REQUESTS_ID_1 = 22,
77452260ae4SRob Clark 	AXI_WRITE_REQUESTS_ID_2 = 23,
77552260ae4SRob Clark 	AXI_WRITE_REQUESTS_ID_3 = 24,
77652260ae4SRob Clark 	AXI_WRITE_REQUESTS_ID_4 = 25,
77752260ae4SRob Clark 	AXI_WRITE_REQUESTS_ID_5 = 26,
77852260ae4SRob Clark 	AXI_WRITE_REQUESTS_ID_6 = 27,
77952260ae4SRob Clark 	AXI_WRITE_REQUESTS_ID_7 = 28,
78052260ae4SRob Clark 	AXI_WRITE_REQUESTS_ID_8 = 29,
78152260ae4SRob Clark 	AXI_WRITE_REQUESTS_ID_9 = 30,
78252260ae4SRob Clark 	AXI_WRITE_REQUESTS_ID_10 = 31,
78352260ae4SRob Clark 	AXI_WRITE_REQUESTS_ID_11 = 32,
78452260ae4SRob Clark 	AXI_WRITE_REQUESTS_ID_12 = 33,
78552260ae4SRob Clark 	AXI_WRITE_REQUESTS_ID_13 = 34,
78652260ae4SRob Clark 	AXI_WRITE_REQUESTS_ID_14 = 35,
78752260ae4SRob Clark 	AXI_WRITE_REQUESTS_ID_15 = 36,
78852260ae4SRob Clark 	AXI0_WRITE_REQUESTS_TOTAL = 37,
78952260ae4SRob Clark 	AXI1_WRITE_REQUESTS_TOTAL = 38,
79052260ae4SRob Clark 	AXI2_WRITE_REQUESTS_TOTAL = 39,
79152260ae4SRob Clark 	AXI3_WRITE_REQUESTS_TOTAL = 40,
79252260ae4SRob Clark 	AXI_WRITE_REQUESTS_TOTAL = 41,
79352260ae4SRob Clark 	AXI_TOTAL_REQUESTS = 42,
79452260ae4SRob Clark 	AXI_READ_DATA_BEATS_ID_0 = 43,
79552260ae4SRob Clark 	AXI_READ_DATA_BEATS_ID_1 = 44,
79652260ae4SRob Clark 	AXI_READ_DATA_BEATS_ID_2 = 45,
79752260ae4SRob Clark 	AXI_READ_DATA_BEATS_ID_3 = 46,
79852260ae4SRob Clark 	AXI_READ_DATA_BEATS_ID_4 = 47,
79952260ae4SRob Clark 	AXI_READ_DATA_BEATS_ID_5 = 48,
80052260ae4SRob Clark 	AXI_READ_DATA_BEATS_ID_6 = 49,
80152260ae4SRob Clark 	AXI_READ_DATA_BEATS_ID_7 = 50,
80252260ae4SRob Clark 	AXI_READ_DATA_BEATS_ID_8 = 51,
80352260ae4SRob Clark 	AXI_READ_DATA_BEATS_ID_9 = 52,
80452260ae4SRob Clark 	AXI_READ_DATA_BEATS_ID_10 = 53,
80552260ae4SRob Clark 	AXI_READ_DATA_BEATS_ID_11 = 54,
80652260ae4SRob Clark 	AXI_READ_DATA_BEATS_ID_12 = 55,
80752260ae4SRob Clark 	AXI_READ_DATA_BEATS_ID_13 = 56,
80852260ae4SRob Clark 	AXI_READ_DATA_BEATS_ID_14 = 57,
80952260ae4SRob Clark 	AXI_READ_DATA_BEATS_ID_15 = 58,
81052260ae4SRob Clark 	AXI0_READ_DATA_BEATS_TOTAL = 59,
81152260ae4SRob Clark 	AXI1_READ_DATA_BEATS_TOTAL = 60,
81252260ae4SRob Clark 	AXI2_READ_DATA_BEATS_TOTAL = 61,
81352260ae4SRob Clark 	AXI3_READ_DATA_BEATS_TOTAL = 62,
81452260ae4SRob Clark 	AXI_READ_DATA_BEATS_TOTAL = 63,
81552260ae4SRob Clark 	AXI_WRITE_DATA_BEATS_ID_0 = 64,
81652260ae4SRob Clark 	AXI_WRITE_DATA_BEATS_ID_1 = 65,
81752260ae4SRob Clark 	AXI_WRITE_DATA_BEATS_ID_2 = 66,
81852260ae4SRob Clark 	AXI_WRITE_DATA_BEATS_ID_3 = 67,
81952260ae4SRob Clark 	AXI_WRITE_DATA_BEATS_ID_4 = 68,
82052260ae4SRob Clark 	AXI_WRITE_DATA_BEATS_ID_5 = 69,
82152260ae4SRob Clark 	AXI_WRITE_DATA_BEATS_ID_6 = 70,
82252260ae4SRob Clark 	AXI_WRITE_DATA_BEATS_ID_7 = 71,
82352260ae4SRob Clark 	AXI_WRITE_DATA_BEATS_ID_8 = 72,
82452260ae4SRob Clark 	AXI_WRITE_DATA_BEATS_ID_9 = 73,
82552260ae4SRob Clark 	AXI_WRITE_DATA_BEATS_ID_10 = 74,
82652260ae4SRob Clark 	AXI_WRITE_DATA_BEATS_ID_11 = 75,
82752260ae4SRob Clark 	AXI_WRITE_DATA_BEATS_ID_12 = 76,
82852260ae4SRob Clark 	AXI_WRITE_DATA_BEATS_ID_13 = 77,
82952260ae4SRob Clark 	AXI_WRITE_DATA_BEATS_ID_14 = 78,
83052260ae4SRob Clark 	AXI_WRITE_DATA_BEATS_ID_15 = 79,
83152260ae4SRob Clark 	AXI0_WRITE_DATA_BEATS_TOTAL = 80,
83252260ae4SRob Clark 	AXI1_WRITE_DATA_BEATS_TOTAL = 81,
83352260ae4SRob Clark 	AXI2_WRITE_DATA_BEATS_TOTAL = 82,
83452260ae4SRob Clark 	AXI3_WRITE_DATA_BEATS_TOTAL = 83,
83552260ae4SRob Clark 	AXI_WRITE_DATA_BEATS_TOTAL = 84,
83652260ae4SRob Clark 	AXI_DATA_BEATS_TOTAL = 85,
83752260ae4SRob Clark };
83852260ae4SRob Clark 
839a26ae754SRob Clark enum a5xx_tex_filter {
840a26ae754SRob Clark 	A5XX_TEX_NEAREST = 0,
841a26ae754SRob Clark 	A5XX_TEX_LINEAR = 1,
842a26ae754SRob Clark 	A5XX_TEX_ANISO = 2,
843a26ae754SRob Clark };
844a26ae754SRob Clark 
845a26ae754SRob Clark enum a5xx_tex_clamp {
846a26ae754SRob Clark 	A5XX_TEX_REPEAT = 0,
847a26ae754SRob Clark 	A5XX_TEX_CLAMP_TO_EDGE = 1,
848a26ae754SRob Clark 	A5XX_TEX_MIRROR_REPEAT = 2,
849a26ae754SRob Clark 	A5XX_TEX_CLAMP_TO_BORDER = 3,
850a26ae754SRob Clark 	A5XX_TEX_MIRROR_CLAMP = 4,
851a26ae754SRob Clark };
852a26ae754SRob Clark 
853a26ae754SRob Clark enum a5xx_tex_aniso {
854a26ae754SRob Clark 	A5XX_TEX_ANISO_1 = 0,
855a26ae754SRob Clark 	A5XX_TEX_ANISO_2 = 1,
856a26ae754SRob Clark 	A5XX_TEX_ANISO_4 = 2,
857a26ae754SRob Clark 	A5XX_TEX_ANISO_8 = 3,
858a26ae754SRob Clark 	A5XX_TEX_ANISO_16 = 4,
859a26ae754SRob Clark };
860a26ae754SRob Clark 
861a26ae754SRob Clark enum a5xx_tex_swiz {
862a26ae754SRob Clark 	A5XX_TEX_X = 0,
863a26ae754SRob Clark 	A5XX_TEX_Y = 1,
864a26ae754SRob Clark 	A5XX_TEX_Z = 2,
865a26ae754SRob Clark 	A5XX_TEX_W = 3,
866a26ae754SRob Clark 	A5XX_TEX_ZERO = 4,
867a26ae754SRob Clark 	A5XX_TEX_ONE = 5,
868a26ae754SRob Clark };
869a26ae754SRob Clark 
870a26ae754SRob Clark enum a5xx_tex_type {
871a26ae754SRob Clark 	A5XX_TEX_1D = 0,
872a26ae754SRob Clark 	A5XX_TEX_2D = 1,
873a26ae754SRob Clark 	A5XX_TEX_CUBE = 2,
874a26ae754SRob Clark 	A5XX_TEX_3D = 3,
87557cfe41cSRob Clark 	A5XX_TEX_BUFFER = 4,
876a26ae754SRob Clark };
877a26ae754SRob Clark 
878a26ae754SRob Clark #define A5XX_INT0_RBBM_GPU_IDLE					0x00000001
879a26ae754SRob Clark #define A5XX_INT0_RBBM_AHB_ERROR				0x00000002
880a26ae754SRob Clark #define A5XX_INT0_RBBM_TRANSFER_TIMEOUT				0x00000004
881a26ae754SRob Clark #define A5XX_INT0_RBBM_ME_MS_TIMEOUT				0x00000008
882a26ae754SRob Clark #define A5XX_INT0_RBBM_PFP_MS_TIMEOUT				0x00000010
883a26ae754SRob Clark #define A5XX_INT0_RBBM_ETS_MS_TIMEOUT				0x00000020
884a26ae754SRob Clark #define A5XX_INT0_RBBM_ATB_ASYNC_OVERFLOW			0x00000040
885a26ae754SRob Clark #define A5XX_INT0_RBBM_GPC_ERROR				0x00000080
886a26ae754SRob Clark #define A5XX_INT0_CP_SW						0x00000100
887a26ae754SRob Clark #define A5XX_INT0_CP_HW_ERROR					0x00000200
888a26ae754SRob Clark #define A5XX_INT0_CP_CCU_FLUSH_DEPTH_TS				0x00000400
889a26ae754SRob Clark #define A5XX_INT0_CP_CCU_FLUSH_COLOR_TS				0x00000800
890a26ae754SRob Clark #define A5XX_INT0_CP_CCU_RESOLVE_TS				0x00001000
891a26ae754SRob Clark #define A5XX_INT0_CP_IB2					0x00002000
892a26ae754SRob Clark #define A5XX_INT0_CP_IB1					0x00004000
893a26ae754SRob Clark #define A5XX_INT0_CP_RB						0x00008000
894a26ae754SRob Clark #define A5XX_INT0_CP_UNUSED_1					0x00010000
895a26ae754SRob Clark #define A5XX_INT0_CP_RB_DONE_TS					0x00020000
896a26ae754SRob Clark #define A5XX_INT0_CP_WT_DONE_TS					0x00040000
897a26ae754SRob Clark #define A5XX_INT0_UNKNOWN_1					0x00080000
898a26ae754SRob Clark #define A5XX_INT0_CP_CACHE_FLUSH_TS				0x00100000
899a26ae754SRob Clark #define A5XX_INT0_UNUSED_2					0x00200000
900a26ae754SRob Clark #define A5XX_INT0_RBBM_ATB_BUS_OVERFLOW				0x00400000
901a26ae754SRob Clark #define A5XX_INT0_MISC_HANG_DETECT				0x00800000
902a26ae754SRob Clark #define A5XX_INT0_UCHE_OOB_ACCESS				0x01000000
903a26ae754SRob Clark #define A5XX_INT0_UCHE_TRAP_INTR				0x02000000
904a26ae754SRob Clark #define A5XX_INT0_DEBBUS_INTR_0					0x04000000
905a26ae754SRob Clark #define A5XX_INT0_DEBBUS_INTR_1					0x08000000
906a26ae754SRob Clark #define A5XX_INT0_GPMU_VOLTAGE_DROOP				0x10000000
907a26ae754SRob Clark #define A5XX_INT0_GPMU_FIRMWARE					0x20000000
908a26ae754SRob Clark #define A5XX_INT0_ISDB_CPU_IRQ					0x40000000
909a26ae754SRob Clark #define A5XX_INT0_ISDB_UNDER_DEBUG				0x80000000
910a26ae754SRob Clark #define A5XX_CP_INT_CP_OPCODE_ERROR				0x00000001
911a26ae754SRob Clark #define A5XX_CP_INT_CP_RESERVED_BIT_ERROR			0x00000002
912a26ae754SRob Clark #define A5XX_CP_INT_CP_HW_FAULT_ERROR				0x00000004
913a26ae754SRob Clark #define A5XX_CP_INT_CP_DMA_ERROR				0x00000008
914a26ae754SRob Clark #define A5XX_CP_INT_CP_REGISTER_PROTECTION_ERROR		0x00000010
915a26ae754SRob Clark #define A5XX_CP_INT_CP_AHB_ERROR				0x00000020
916a26ae754SRob Clark #define REG_A5XX_CP_RB_BASE					0x00000800
917a26ae754SRob Clark 
918a26ae754SRob Clark #define REG_A5XX_CP_RB_BASE_HI					0x00000801
919a26ae754SRob Clark 
920a26ae754SRob Clark #define REG_A5XX_CP_RB_CNTL					0x00000802
921a26ae754SRob Clark 
922a26ae754SRob Clark #define REG_A5XX_CP_RB_RPTR_ADDR				0x00000804
923a26ae754SRob Clark 
924a26ae754SRob Clark #define REG_A5XX_CP_RB_RPTR_ADDR_HI				0x00000805
925a26ae754SRob Clark 
926a26ae754SRob Clark #define REG_A5XX_CP_RB_RPTR					0x00000806
927a26ae754SRob Clark 
928a26ae754SRob Clark #define REG_A5XX_CP_RB_WPTR					0x00000807
929a26ae754SRob Clark 
930a26ae754SRob Clark #define REG_A5XX_CP_PFP_STAT_ADDR				0x00000808
931a26ae754SRob Clark 
932a26ae754SRob Clark #define REG_A5XX_CP_PFP_STAT_DATA				0x00000809
933a26ae754SRob Clark 
934a26ae754SRob Clark #define REG_A5XX_CP_DRAW_STATE_ADDR				0x0000080b
935a26ae754SRob Clark 
936a26ae754SRob Clark #define REG_A5XX_CP_DRAW_STATE_DATA				0x0000080c
937a26ae754SRob Clark 
9382d756322SRob Clark #define REG_A5XX_CP_ME_NRT_ADDR_LO				0x0000080d
9392d756322SRob Clark 
9402d756322SRob Clark #define REG_A5XX_CP_ME_NRT_ADDR_HI				0x0000080e
9412d756322SRob Clark 
9422d756322SRob Clark #define REG_A5XX_CP_ME_NRT_DATA					0x00000810
9432d756322SRob Clark 
944a26ae754SRob Clark #define REG_A5XX_CP_CRASH_SCRIPT_BASE_LO			0x00000817
945a26ae754SRob Clark 
946a26ae754SRob Clark #define REG_A5XX_CP_CRASH_SCRIPT_BASE_HI			0x00000818
947a26ae754SRob Clark 
948a26ae754SRob Clark #define REG_A5XX_CP_CRASH_DUMP_CNTL				0x00000819
949a26ae754SRob Clark 
950a26ae754SRob Clark #define REG_A5XX_CP_ME_STAT_ADDR				0x0000081a
951a26ae754SRob Clark 
952a26ae754SRob Clark #define REG_A5XX_CP_ROQ_THRESHOLDS_1				0x0000081f
953a26ae754SRob Clark 
954a26ae754SRob Clark #define REG_A5XX_CP_ROQ_THRESHOLDS_2				0x00000820
955a26ae754SRob Clark 
956a26ae754SRob Clark #define REG_A5XX_CP_ROQ_DBG_ADDR				0x00000821
957a26ae754SRob Clark 
958a26ae754SRob Clark #define REG_A5XX_CP_ROQ_DBG_DATA				0x00000822
959a26ae754SRob Clark 
960a26ae754SRob Clark #define REG_A5XX_CP_MEQ_DBG_ADDR				0x00000823
961a26ae754SRob Clark 
962a26ae754SRob Clark #define REG_A5XX_CP_MEQ_DBG_DATA				0x00000824
963a26ae754SRob Clark 
964a26ae754SRob Clark #define REG_A5XX_CP_MEQ_THRESHOLDS				0x00000825
965a26ae754SRob Clark 
966a26ae754SRob Clark #define REG_A5XX_CP_MERCIU_SIZE					0x00000826
967a26ae754SRob Clark 
968a26ae754SRob Clark #define REG_A5XX_CP_MERCIU_DBG_ADDR				0x00000827
969a26ae754SRob Clark 
970a26ae754SRob Clark #define REG_A5XX_CP_MERCIU_DBG_DATA_1				0x00000828
971a26ae754SRob Clark 
972a26ae754SRob Clark #define REG_A5XX_CP_MERCIU_DBG_DATA_2				0x00000829
973a26ae754SRob Clark 
974a26ae754SRob Clark #define REG_A5XX_CP_PFP_UCODE_DBG_ADDR				0x0000082a
975a26ae754SRob Clark 
976a26ae754SRob Clark #define REG_A5XX_CP_PFP_UCODE_DBG_DATA				0x0000082b
977a26ae754SRob Clark 
978a26ae754SRob Clark #define REG_A5XX_CP_ME_UCODE_DBG_ADDR				0x0000082f
979a26ae754SRob Clark 
980a26ae754SRob Clark #define REG_A5XX_CP_ME_UCODE_DBG_DATA				0x00000830
981a26ae754SRob Clark 
982a26ae754SRob Clark #define REG_A5XX_CP_CNTL					0x00000831
983a26ae754SRob Clark 
984a26ae754SRob Clark #define REG_A5XX_CP_PFP_ME_CNTL					0x00000832
985a26ae754SRob Clark 
986a26ae754SRob Clark #define REG_A5XX_CP_CHICKEN_DBG					0x00000833
987a26ae754SRob Clark 
988a26ae754SRob Clark #define REG_A5XX_CP_PFP_INSTR_BASE_LO				0x00000835
989a26ae754SRob Clark 
990a26ae754SRob Clark #define REG_A5XX_CP_PFP_INSTR_BASE_HI				0x00000836
991a26ae754SRob Clark 
992a26ae754SRob Clark #define REG_A5XX_CP_ME_INSTR_BASE_LO				0x00000838
993a26ae754SRob Clark 
994a26ae754SRob Clark #define REG_A5XX_CP_ME_INSTR_BASE_HI				0x00000839
995a26ae754SRob Clark 
996a26ae754SRob Clark #define REG_A5XX_CP_CONTEXT_SWITCH_CNTL				0x0000083b
997a26ae754SRob Clark 
998a26ae754SRob Clark #define REG_A5XX_CP_CONTEXT_SWITCH_RESTORE_ADDR_LO		0x0000083c
999a26ae754SRob Clark 
1000a26ae754SRob Clark #define REG_A5XX_CP_CONTEXT_SWITCH_RESTORE_ADDR_HI		0x0000083d
1001a26ae754SRob Clark 
1002a26ae754SRob Clark #define REG_A5XX_CP_CONTEXT_SWITCH_SAVE_ADDR_LO			0x0000083e
1003a26ae754SRob Clark 
1004a26ae754SRob Clark #define REG_A5XX_CP_CONTEXT_SWITCH_SAVE_ADDR_HI			0x0000083f
1005a26ae754SRob Clark 
1006a26ae754SRob Clark #define REG_A5XX_CP_CONTEXT_SWITCH_SMMU_INFO_LO			0x00000840
1007a26ae754SRob Clark 
1008a26ae754SRob Clark #define REG_A5XX_CP_CONTEXT_SWITCH_SMMU_INFO_HI			0x00000841
1009a26ae754SRob Clark 
1010a26ae754SRob Clark #define REG_A5XX_CP_ADDR_MODE_CNTL				0x00000860
1011a26ae754SRob Clark 
1012a26ae754SRob Clark #define REG_A5XX_CP_ME_STAT_DATA				0x00000b14
1013a26ae754SRob Clark 
1014a26ae754SRob Clark #define REG_A5XX_CP_WFI_PEND_CTR				0x00000b15
1015a26ae754SRob Clark 
1016a26ae754SRob Clark #define REG_A5XX_CP_INTERRUPT_STATUS				0x00000b18
1017a26ae754SRob Clark 
1018a26ae754SRob Clark #define REG_A5XX_CP_HW_FAULT					0x00000b1a
1019a26ae754SRob Clark 
1020a26ae754SRob Clark #define REG_A5XX_CP_PROTECT_STATUS				0x00000b1c
1021a26ae754SRob Clark 
1022a26ae754SRob Clark #define REG_A5XX_CP_IB1_BASE					0x00000b1f
1023a26ae754SRob Clark 
1024a26ae754SRob Clark #define REG_A5XX_CP_IB1_BASE_HI					0x00000b20
1025a26ae754SRob Clark 
1026a26ae754SRob Clark #define REG_A5XX_CP_IB1_BUFSZ					0x00000b21
1027a26ae754SRob Clark 
1028a26ae754SRob Clark #define REG_A5XX_CP_IB2_BASE					0x00000b22
1029a26ae754SRob Clark 
1030a26ae754SRob Clark #define REG_A5XX_CP_IB2_BASE_HI					0x00000b23
1031a26ae754SRob Clark 
1032a26ae754SRob Clark #define REG_A5XX_CP_IB2_BUFSZ					0x00000b24
1033a26ae754SRob Clark 
REG_A5XX_CP_SCRATCH(uint32_t i0)1034a26ae754SRob Clark static inline uint32_t REG_A5XX_CP_SCRATCH(uint32_t i0) { return 0x00000b78 + 0x1*i0; }
1035a26ae754SRob Clark 
REG_A5XX_CP_SCRATCH_REG(uint32_t i0)1036a26ae754SRob Clark static inline uint32_t REG_A5XX_CP_SCRATCH_REG(uint32_t i0) { return 0x00000b78 + 0x1*i0; }
1037a26ae754SRob Clark 
REG_A5XX_CP_PROTECT(uint32_t i0)1038a26ae754SRob Clark static inline uint32_t REG_A5XX_CP_PROTECT(uint32_t i0) { return 0x00000880 + 0x1*i0; }
1039a26ae754SRob Clark 
REG_A5XX_CP_PROTECT_REG(uint32_t i0)1040a26ae754SRob Clark static inline uint32_t REG_A5XX_CP_PROTECT_REG(uint32_t i0) { return 0x00000880 + 0x1*i0; }
1041a26ae754SRob Clark #define A5XX_CP_PROTECT_REG_BASE_ADDR__MASK			0x0001ffff
1042a26ae754SRob Clark #define A5XX_CP_PROTECT_REG_BASE_ADDR__SHIFT			0
A5XX_CP_PROTECT_REG_BASE_ADDR(uint32_t val)1043a26ae754SRob Clark static inline uint32_t A5XX_CP_PROTECT_REG_BASE_ADDR(uint32_t val)
1044a26ae754SRob Clark {
1045a26ae754SRob Clark 	return ((val) << A5XX_CP_PROTECT_REG_BASE_ADDR__SHIFT) & A5XX_CP_PROTECT_REG_BASE_ADDR__MASK;
1046a26ae754SRob Clark }
1047a26ae754SRob Clark #define A5XX_CP_PROTECT_REG_MASK_LEN__MASK			0x1f000000
1048a26ae754SRob Clark #define A5XX_CP_PROTECT_REG_MASK_LEN__SHIFT			24
A5XX_CP_PROTECT_REG_MASK_LEN(uint32_t val)1049a26ae754SRob Clark static inline uint32_t A5XX_CP_PROTECT_REG_MASK_LEN(uint32_t val)
1050a26ae754SRob Clark {
1051a26ae754SRob Clark 	return ((val) << A5XX_CP_PROTECT_REG_MASK_LEN__SHIFT) & A5XX_CP_PROTECT_REG_MASK_LEN__MASK;
1052a26ae754SRob Clark }
1053c28c82e9SRob Clark #define A5XX_CP_PROTECT_REG_TRAP_WRITE__MASK			0x20000000
1054c28c82e9SRob Clark #define A5XX_CP_PROTECT_REG_TRAP_WRITE__SHIFT			29
A5XX_CP_PROTECT_REG_TRAP_WRITE(uint32_t val)1055c28c82e9SRob Clark static inline uint32_t A5XX_CP_PROTECT_REG_TRAP_WRITE(uint32_t val)
1056c28c82e9SRob Clark {
1057c28c82e9SRob Clark 	return ((val) << A5XX_CP_PROTECT_REG_TRAP_WRITE__SHIFT) & A5XX_CP_PROTECT_REG_TRAP_WRITE__MASK;
1058c28c82e9SRob Clark }
1059c28c82e9SRob Clark #define A5XX_CP_PROTECT_REG_TRAP_READ__MASK			0x40000000
1060c28c82e9SRob Clark #define A5XX_CP_PROTECT_REG_TRAP_READ__SHIFT			30
A5XX_CP_PROTECT_REG_TRAP_READ(uint32_t val)1061c28c82e9SRob Clark static inline uint32_t A5XX_CP_PROTECT_REG_TRAP_READ(uint32_t val)
1062c28c82e9SRob Clark {
1063c28c82e9SRob Clark 	return ((val) << A5XX_CP_PROTECT_REG_TRAP_READ__SHIFT) & A5XX_CP_PROTECT_REG_TRAP_READ__MASK;
1064c28c82e9SRob Clark }
1065a26ae754SRob Clark 
1066a26ae754SRob Clark #define REG_A5XX_CP_PROTECT_CNTL				0x000008a0
1067a26ae754SRob Clark 
1068a26ae754SRob Clark #define REG_A5XX_CP_AHB_FAULT					0x00000b1b
1069a26ae754SRob Clark 
1070a26ae754SRob Clark #define REG_A5XX_CP_PERFCTR_CP_SEL_0				0x00000bb0
1071a26ae754SRob Clark 
1072a26ae754SRob Clark #define REG_A5XX_CP_PERFCTR_CP_SEL_1				0x00000bb1
1073a26ae754SRob Clark 
1074a26ae754SRob Clark #define REG_A5XX_CP_PERFCTR_CP_SEL_2				0x00000bb2
1075a26ae754SRob Clark 
1076a26ae754SRob Clark #define REG_A5XX_CP_PERFCTR_CP_SEL_3				0x00000bb3
1077a26ae754SRob Clark 
1078a26ae754SRob Clark #define REG_A5XX_CP_PERFCTR_CP_SEL_4				0x00000bb4
1079a26ae754SRob Clark 
1080a26ae754SRob Clark #define REG_A5XX_CP_PERFCTR_CP_SEL_5				0x00000bb5
1081a26ae754SRob Clark 
1082a26ae754SRob Clark #define REG_A5XX_CP_PERFCTR_CP_SEL_6				0x00000bb6
1083a26ae754SRob Clark 
1084a26ae754SRob Clark #define REG_A5XX_CP_PERFCTR_CP_SEL_7				0x00000bb7
1085a26ae754SRob Clark 
1086a26ae754SRob Clark #define REG_A5XX_VSC_ADDR_MODE_CNTL				0x00000bc1
1087a26ae754SRob Clark 
1088a26ae754SRob Clark #define REG_A5XX_CP_POWERCTR_CP_SEL_0				0x00000bba
1089a26ae754SRob Clark 
1090a26ae754SRob Clark #define REG_A5XX_CP_POWERCTR_CP_SEL_1				0x00000bbb
1091a26ae754SRob Clark 
1092a26ae754SRob Clark #define REG_A5XX_CP_POWERCTR_CP_SEL_2				0x00000bbc
1093a26ae754SRob Clark 
1094a26ae754SRob Clark #define REG_A5XX_CP_POWERCTR_CP_SEL_3				0x00000bbd
1095a26ae754SRob Clark 
1096a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_SEL_A				0x00000004
1097a26ae754SRob Clark 
1098a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_SEL_B				0x00000005
1099a26ae754SRob Clark 
1100a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_SEL_C				0x00000006
1101a26ae754SRob Clark 
1102a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_SEL_D				0x00000007
1103a26ae754SRob Clark 
1104a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_CNTLT				0x00000008
1105a26ae754SRob Clark 
1106a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_CNTLM				0x00000009
1107a26ae754SRob Clark 
1108a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DEBBUS_CTLTM_ENABLE_SHIFT		0x00000018
1109a26ae754SRob Clark 
1110a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_OPL				0x0000000a
1111a26ae754SRob Clark 
1112a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_OPE				0x0000000b
1113a26ae754SRob Clark 
1114a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_IVTL_0				0x0000000c
1115a26ae754SRob Clark 
1116a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_IVTL_1				0x0000000d
1117a26ae754SRob Clark 
1118a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_IVTL_2				0x0000000e
1119a26ae754SRob Clark 
1120a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_IVTL_3				0x0000000f
1121a26ae754SRob Clark 
1122a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_MASKL_0			0x00000010
1123a26ae754SRob Clark 
1124a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_MASKL_1			0x00000011
1125a26ae754SRob Clark 
1126a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_MASKL_2			0x00000012
1127a26ae754SRob Clark 
1128a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_MASKL_3			0x00000013
1129a26ae754SRob Clark 
1130a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_BYTEL_0			0x00000014
1131a26ae754SRob Clark 
1132a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_BYTEL_1			0x00000015
1133a26ae754SRob Clark 
1134a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_IVTE_0				0x00000016
1135a26ae754SRob Clark 
1136a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_IVTE_1				0x00000017
1137a26ae754SRob Clark 
1138a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_IVTE_2				0x00000018
1139a26ae754SRob Clark 
1140a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_IVTE_3				0x00000019
1141a26ae754SRob Clark 
1142a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_MASKE_0			0x0000001a
1143a26ae754SRob Clark 
1144a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_MASKE_1			0x0000001b
1145a26ae754SRob Clark 
1146a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_MASKE_2			0x0000001c
1147a26ae754SRob Clark 
1148a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_MASKE_3			0x0000001d
1149a26ae754SRob Clark 
1150a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_NIBBLEE			0x0000001e
1151a26ae754SRob Clark 
1152a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_PTRC0				0x0000001f
1153a26ae754SRob Clark 
1154a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_PTRC1				0x00000020
1155a26ae754SRob Clark 
1156a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_LOADREG			0x00000021
1157a26ae754SRob Clark 
1158a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_IDX				0x00000022
1159a26ae754SRob Clark 
1160a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_CLRC				0x00000023
1161a26ae754SRob Clark 
1162a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_LOADIVT			0x00000024
1163a26ae754SRob Clark 
1164a26ae754SRob Clark #define REG_A5XX_RBBM_INTERFACE_HANG_INT_CNTL			0x0000002f
1165a26ae754SRob Clark 
1166a26ae754SRob Clark #define REG_A5XX_RBBM_INT_CLEAR_CMD				0x00000037
1167a26ae754SRob Clark 
1168a26ae754SRob Clark #define REG_A5XX_RBBM_INT_0_MASK				0x00000038
1169a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_RBBM_GPU_IDLE			0x00000001
1170a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_RBBM_AHB_ERROR			0x00000002
1171a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_RBBM_TRANSFER_TIMEOUT		0x00000004
1172a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_RBBM_ME_MS_TIMEOUT			0x00000008
1173a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_RBBM_PFP_MS_TIMEOUT		0x00000010
1174a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_RBBM_ETS_MS_TIMEOUT		0x00000020
1175a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_RBBM_ATB_ASYNC_OVERFLOW		0x00000040
1176a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_RBBM_GPC_ERROR			0x00000080
1177a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_CP_SW				0x00000100
1178a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_CP_HW_ERROR			0x00000200
1179a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_CP_CCU_FLUSH_DEPTH_TS		0x00000400
1180a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_CP_CCU_FLUSH_COLOR_TS		0x00000800
1181a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_CP_CCU_RESOLVE_TS			0x00001000
1182a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_CP_IB2				0x00002000
1183a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_CP_IB1				0x00004000
1184a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_CP_RB				0x00008000
1185a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_CP_RB_DONE_TS			0x00020000
1186a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_CP_WT_DONE_TS			0x00040000
1187a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_CP_CACHE_FLUSH_TS			0x00100000
1188a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_RBBM_ATB_BUS_OVERFLOW		0x00400000
1189a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_MISC_HANG_DETECT			0x00800000
1190a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_UCHE_OOB_ACCESS			0x01000000
1191a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_UCHE_TRAP_INTR			0x02000000
1192a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_DEBBUS_INTR_0			0x04000000
1193a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_DEBBUS_INTR_1			0x08000000
1194a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_GPMU_VOLTAGE_DROOP			0x10000000
1195a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_GPMU_FIRMWARE			0x20000000
1196a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_ISDB_CPU_IRQ			0x40000000
1197a26ae754SRob Clark #define A5XX_RBBM_INT_0_MASK_ISDB_UNDER_DEBUG			0x80000000
1198a26ae754SRob Clark 
1199a26ae754SRob Clark #define REG_A5XX_RBBM_AHB_DBG_CNTL				0x0000003f
1200a26ae754SRob Clark 
1201a26ae754SRob Clark #define REG_A5XX_RBBM_EXT_VBIF_DBG_CNTL				0x00000041
1202a26ae754SRob Clark 
1203a26ae754SRob Clark #define REG_A5XX_RBBM_SW_RESET_CMD				0x00000043
1204a26ae754SRob Clark 
1205a26ae754SRob Clark #define REG_A5XX_RBBM_BLOCK_SW_RESET_CMD			0x00000045
1206a26ae754SRob Clark 
1207a26ae754SRob Clark #define REG_A5XX_RBBM_BLOCK_SW_RESET_CMD2			0x00000046
1208a26ae754SRob Clark 
1209a26ae754SRob Clark #define REG_A5XX_RBBM_DBG_LO_HI_GPIO				0x00000048
1210a26ae754SRob Clark 
1211a26ae754SRob Clark #define REG_A5XX_RBBM_EXT_TRACE_BUS_CNTL			0x00000049
1212a26ae754SRob Clark 
1213a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL_TP0				0x0000004a
1214a26ae754SRob Clark 
1215a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL_TP1				0x0000004b
1216a26ae754SRob Clark 
1217a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL_TP2				0x0000004c
1218a26ae754SRob Clark 
1219a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL_TP3				0x0000004d
1220a26ae754SRob Clark 
1221a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL2_TP0				0x0000004e
1222a26ae754SRob Clark 
1223a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL2_TP1				0x0000004f
1224a26ae754SRob Clark 
1225a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL2_TP2				0x00000050
1226a26ae754SRob Clark 
1227a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL2_TP3				0x00000051
1228a26ae754SRob Clark 
1229a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL3_TP0				0x00000052
1230a26ae754SRob Clark 
1231a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL3_TP1				0x00000053
1232a26ae754SRob Clark 
1233a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL3_TP2				0x00000054
1234a26ae754SRob Clark 
1235a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL3_TP3				0x00000055
1236a26ae754SRob Clark 
1237a26ae754SRob Clark #define REG_A5XX_RBBM_READ_AHB_THROUGH_DBG			0x00000059
1238a26ae754SRob Clark 
1239a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL_UCHE				0x0000005a
1240a26ae754SRob Clark 
1241a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL2_UCHE				0x0000005b
1242a26ae754SRob Clark 
1243a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL3_UCHE				0x0000005c
1244a26ae754SRob Clark 
1245a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL4_UCHE				0x0000005d
1246a26ae754SRob Clark 
1247a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST_UCHE				0x0000005e
1248a26ae754SRob Clark 
1249a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY_UCHE				0x0000005f
1250a26ae754SRob Clark 
1251a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_MODE_GPC				0x00000060
1252a26ae754SRob Clark 
1253a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY_GPC				0x00000061
1254a26ae754SRob Clark 
1255a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST_GPC				0x00000062
1256a26ae754SRob Clark 
1257a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL_TSE_RAS_RBBM			0x00000063
1258a26ae754SRob Clark 
1259a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST_TSE_RAS_RBBM			0x00000064
1260a26ae754SRob Clark 
1261a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY_TSE_RAS_RBBM			0x00000065
1262a26ae754SRob Clark 
1263a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY_HLSQ				0x00000066
1264a26ae754SRob Clark 
1265a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL				0x00000067
1266a26ae754SRob Clark 
1267a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL_SP0				0x00000068
1268a26ae754SRob Clark 
1269a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL_SP1				0x00000069
1270a26ae754SRob Clark 
1271a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL_SP2				0x0000006a
1272a26ae754SRob Clark 
1273a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL_SP3				0x0000006b
1274a26ae754SRob Clark 
1275a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL2_SP0				0x0000006c
1276a26ae754SRob Clark 
1277a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL2_SP1				0x0000006d
1278a26ae754SRob Clark 
1279a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL2_SP2				0x0000006e
1280a26ae754SRob Clark 
1281a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL2_SP3				0x0000006f
1282a26ae754SRob Clark 
1283a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST_SP0				0x00000070
1284a26ae754SRob Clark 
1285a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST_SP1				0x00000071
1286a26ae754SRob Clark 
1287a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST_SP2				0x00000072
1288a26ae754SRob Clark 
1289a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST_SP3				0x00000073
1290a26ae754SRob Clark 
1291a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY_SP0				0x00000074
1292a26ae754SRob Clark 
1293a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY_SP1				0x00000075
1294a26ae754SRob Clark 
1295a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY_SP2				0x00000076
1296a26ae754SRob Clark 
1297a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY_SP3				0x00000077
1298a26ae754SRob Clark 
1299a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL_RB0				0x00000078
1300a26ae754SRob Clark 
1301a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL_RB1				0x00000079
1302a26ae754SRob Clark 
1303a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL_RB2				0x0000007a
1304a26ae754SRob Clark 
1305a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL_RB3				0x0000007b
1306a26ae754SRob Clark 
1307a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL2_RB0				0x0000007c
1308a26ae754SRob Clark 
1309a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL2_RB1				0x0000007d
1310a26ae754SRob Clark 
1311a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL2_RB2				0x0000007e
1312a26ae754SRob Clark 
1313a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL2_RB3				0x0000007f
1314a26ae754SRob Clark 
1315a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST_RAC				0x00000080
1316a26ae754SRob Clark 
1317a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY_RAC				0x00000081
1318a26ae754SRob Clark 
1319a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL_CCU0				0x00000082
1320a26ae754SRob Clark 
1321a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL_CCU1				0x00000083
1322a26ae754SRob Clark 
1323a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL_CCU2				0x00000084
1324a26ae754SRob Clark 
1325a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL_CCU3				0x00000085
1326a26ae754SRob Clark 
1327a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST_RB_CCU0			0x00000086
1328a26ae754SRob Clark 
1329a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST_RB_CCU1			0x00000087
1330a26ae754SRob Clark 
1331a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST_RB_CCU2			0x00000088
1332a26ae754SRob Clark 
1333a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST_RB_CCU3			0x00000089
1334a26ae754SRob Clark 
1335a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL_RAC				0x0000008a
1336a26ae754SRob Clark 
1337a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL2_RAC				0x0000008b
1338a26ae754SRob Clark 
1339a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY_RB_CCU_L1_0			0x0000008c
1340a26ae754SRob Clark 
1341a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY_RB_CCU_L1_1			0x0000008d
1342a26ae754SRob Clark 
1343a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY_RB_CCU_L1_2			0x0000008e
1344a26ae754SRob Clark 
1345a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY_RB_CCU_L1_3			0x0000008f
1346a26ae754SRob Clark 
1347a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST_VFD				0x00000090
1348a26ae754SRob Clark 
1349a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_MODE_VFD				0x00000091
1350a26ae754SRob Clark 
1351a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY_VFD				0x00000092
1352a26ae754SRob Clark 
1353a26ae754SRob Clark #define REG_A5XX_RBBM_AHB_CNTL0					0x00000093
1354a26ae754SRob Clark 
1355a26ae754SRob Clark #define REG_A5XX_RBBM_AHB_CNTL1					0x00000094
1356a26ae754SRob Clark 
1357a26ae754SRob Clark #define REG_A5XX_RBBM_AHB_CNTL2					0x00000095
1358a26ae754SRob Clark 
1359a26ae754SRob Clark #define REG_A5XX_RBBM_AHB_CMD					0x00000096
1360a26ae754SRob Clark 
1361a26ae754SRob Clark #define REG_A5XX_RBBM_INTERFACE_HANG_MASK_CNTL11		0x0000009c
1362a26ae754SRob Clark 
1363a26ae754SRob Clark #define REG_A5XX_RBBM_INTERFACE_HANG_MASK_CNTL12		0x0000009d
1364a26ae754SRob Clark 
1365a26ae754SRob Clark #define REG_A5XX_RBBM_INTERFACE_HANG_MASK_CNTL13		0x0000009e
1366a26ae754SRob Clark 
1367a26ae754SRob Clark #define REG_A5XX_RBBM_INTERFACE_HANG_MASK_CNTL14		0x0000009f
1368a26ae754SRob Clark 
1369a26ae754SRob Clark #define REG_A5XX_RBBM_INTERFACE_HANG_MASK_CNTL15		0x000000a0
1370a26ae754SRob Clark 
1371a26ae754SRob Clark #define REG_A5XX_RBBM_INTERFACE_HANG_MASK_CNTL16		0x000000a1
1372a26ae754SRob Clark 
1373a26ae754SRob Clark #define REG_A5XX_RBBM_INTERFACE_HANG_MASK_CNTL17		0x000000a2
1374a26ae754SRob Clark 
1375a26ae754SRob Clark #define REG_A5XX_RBBM_INTERFACE_HANG_MASK_CNTL18		0x000000a3
1376a26ae754SRob Clark 
1377a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY_TP0				0x000000a4
1378a26ae754SRob Clark 
1379a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY_TP1				0x000000a5
1380a26ae754SRob Clark 
1381a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY_TP2				0x000000a6
1382a26ae754SRob Clark 
1383a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY_TP3				0x000000a7
1384a26ae754SRob Clark 
1385a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY2_TP0				0x000000a8
1386a26ae754SRob Clark 
1387a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY2_TP1				0x000000a9
1388a26ae754SRob Clark 
1389a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY2_TP2				0x000000aa
1390a26ae754SRob Clark 
1391a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY2_TP3				0x000000ab
1392a26ae754SRob Clark 
1393a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY3_TP0				0x000000ac
1394a26ae754SRob Clark 
1395a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY3_TP1				0x000000ad
1396a26ae754SRob Clark 
1397a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY3_TP2				0x000000ae
1398a26ae754SRob Clark 
1399a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY3_TP3				0x000000af
1400a26ae754SRob Clark 
1401a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST_TP0				0x000000b0
1402a26ae754SRob Clark 
1403a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST_TP1				0x000000b1
1404a26ae754SRob Clark 
1405a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST_TP2				0x000000b2
1406a26ae754SRob Clark 
1407a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST_TP3				0x000000b3
1408a26ae754SRob Clark 
1409a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST2_TP0				0x000000b4
1410a26ae754SRob Clark 
1411a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST2_TP1				0x000000b5
1412a26ae754SRob Clark 
1413a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST2_TP2				0x000000b6
1414a26ae754SRob Clark 
1415a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST2_TP3				0x000000b7
1416a26ae754SRob Clark 
1417a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST3_TP0				0x000000b8
1418a26ae754SRob Clark 
1419a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST3_TP1				0x000000b9
1420a26ae754SRob Clark 
1421a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST3_TP2				0x000000ba
1422a26ae754SRob Clark 
1423a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST3_TP3				0x000000bb
1424a26ae754SRob Clark 
1425a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_CNTL_GPMU				0x000000c8
1426a26ae754SRob Clark 
1427a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_DELAY_GPMU				0x000000c9
1428a26ae754SRob Clark 
1429a26ae754SRob Clark #define REG_A5XX_RBBM_CLOCK_HYST_GPMU				0x000000ca
1430a26ae754SRob Clark 
1431a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CP_0_LO				0x000003a0
1432a26ae754SRob Clark 
1433a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CP_0_HI				0x000003a1
1434a26ae754SRob Clark 
1435a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CP_1_LO				0x000003a2
1436a26ae754SRob Clark 
1437a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CP_1_HI				0x000003a3
1438a26ae754SRob Clark 
1439a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CP_2_LO				0x000003a4
1440a26ae754SRob Clark 
1441a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CP_2_HI				0x000003a5
1442a26ae754SRob Clark 
1443a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CP_3_LO				0x000003a6
1444a26ae754SRob Clark 
1445a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CP_3_HI				0x000003a7
1446a26ae754SRob Clark 
1447a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CP_4_LO				0x000003a8
1448a26ae754SRob Clark 
1449a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CP_4_HI				0x000003a9
1450a26ae754SRob Clark 
1451a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CP_5_LO				0x000003aa
1452a26ae754SRob Clark 
1453a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CP_5_HI				0x000003ab
1454a26ae754SRob Clark 
1455a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CP_6_LO				0x000003ac
1456a26ae754SRob Clark 
1457a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CP_6_HI				0x000003ad
1458a26ae754SRob Clark 
1459a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CP_7_LO				0x000003ae
1460a26ae754SRob Clark 
1461a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CP_7_HI				0x000003af
1462a26ae754SRob Clark 
1463a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RBBM_0_LO				0x000003b0
1464a26ae754SRob Clark 
1465a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RBBM_0_HI				0x000003b1
1466a26ae754SRob Clark 
1467a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RBBM_1_LO				0x000003b2
1468a26ae754SRob Clark 
1469a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RBBM_1_HI				0x000003b3
1470a26ae754SRob Clark 
1471a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RBBM_2_LO				0x000003b4
1472a26ae754SRob Clark 
1473a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RBBM_2_HI				0x000003b5
1474a26ae754SRob Clark 
1475a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RBBM_3_LO				0x000003b6
1476a26ae754SRob Clark 
1477a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RBBM_3_HI				0x000003b7
1478a26ae754SRob Clark 
1479a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_PC_0_LO				0x000003b8
1480a26ae754SRob Clark 
1481a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_PC_0_HI				0x000003b9
1482a26ae754SRob Clark 
1483a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_PC_1_LO				0x000003ba
1484a26ae754SRob Clark 
1485a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_PC_1_HI				0x000003bb
1486a26ae754SRob Clark 
1487a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_PC_2_LO				0x000003bc
1488a26ae754SRob Clark 
1489a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_PC_2_HI				0x000003bd
1490a26ae754SRob Clark 
1491a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_PC_3_LO				0x000003be
1492a26ae754SRob Clark 
1493a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_PC_3_HI				0x000003bf
1494a26ae754SRob Clark 
1495a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_PC_4_LO				0x000003c0
1496a26ae754SRob Clark 
1497a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_PC_4_HI				0x000003c1
1498a26ae754SRob Clark 
1499a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_PC_5_LO				0x000003c2
1500a26ae754SRob Clark 
1501a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_PC_5_HI				0x000003c3
1502a26ae754SRob Clark 
1503a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_PC_6_LO				0x000003c4
1504a26ae754SRob Clark 
1505a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_PC_6_HI				0x000003c5
1506a26ae754SRob Clark 
1507a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_PC_7_LO				0x000003c6
1508a26ae754SRob Clark 
1509a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_PC_7_HI				0x000003c7
1510a26ae754SRob Clark 
1511a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VFD_0_LO				0x000003c8
1512a26ae754SRob Clark 
1513a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VFD_0_HI				0x000003c9
1514a26ae754SRob Clark 
1515a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VFD_1_LO				0x000003ca
1516a26ae754SRob Clark 
1517a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VFD_1_HI				0x000003cb
1518a26ae754SRob Clark 
1519a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VFD_2_LO				0x000003cc
1520a26ae754SRob Clark 
1521a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VFD_2_HI				0x000003cd
1522a26ae754SRob Clark 
1523a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VFD_3_LO				0x000003ce
1524a26ae754SRob Clark 
1525a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VFD_3_HI				0x000003cf
1526a26ae754SRob Clark 
1527a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VFD_4_LO				0x000003d0
1528a26ae754SRob Clark 
1529a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VFD_4_HI				0x000003d1
1530a26ae754SRob Clark 
1531a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VFD_5_LO				0x000003d2
1532a26ae754SRob Clark 
1533a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VFD_5_HI				0x000003d3
1534a26ae754SRob Clark 
1535a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VFD_6_LO				0x000003d4
1536a26ae754SRob Clark 
1537a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VFD_6_HI				0x000003d5
1538a26ae754SRob Clark 
1539a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VFD_7_LO				0x000003d6
1540a26ae754SRob Clark 
1541a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VFD_7_HI				0x000003d7
1542a26ae754SRob Clark 
1543a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_HLSQ_0_LO				0x000003d8
1544a26ae754SRob Clark 
1545a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_HLSQ_0_HI				0x000003d9
1546a26ae754SRob Clark 
1547a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_HLSQ_1_LO				0x000003da
1548a26ae754SRob Clark 
1549a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_HLSQ_1_HI				0x000003db
1550a26ae754SRob Clark 
1551a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_HLSQ_2_LO				0x000003dc
1552a26ae754SRob Clark 
1553a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_HLSQ_2_HI				0x000003dd
1554a26ae754SRob Clark 
1555a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_HLSQ_3_LO				0x000003de
1556a26ae754SRob Clark 
1557a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_HLSQ_3_HI				0x000003df
1558a26ae754SRob Clark 
1559a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_HLSQ_4_LO				0x000003e0
1560a26ae754SRob Clark 
1561a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_HLSQ_4_HI				0x000003e1
1562a26ae754SRob Clark 
1563a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_HLSQ_5_LO				0x000003e2
1564a26ae754SRob Clark 
1565a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_HLSQ_5_HI				0x000003e3
1566a26ae754SRob Clark 
1567a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_HLSQ_6_LO				0x000003e4
1568a26ae754SRob Clark 
1569a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_HLSQ_6_HI				0x000003e5
1570a26ae754SRob Clark 
1571a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_HLSQ_7_LO				0x000003e6
1572a26ae754SRob Clark 
1573a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_HLSQ_7_HI				0x000003e7
1574a26ae754SRob Clark 
1575a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VPC_0_LO				0x000003e8
1576a26ae754SRob Clark 
1577a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VPC_0_HI				0x000003e9
1578a26ae754SRob Clark 
1579a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VPC_1_LO				0x000003ea
1580a26ae754SRob Clark 
1581a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VPC_1_HI				0x000003eb
1582a26ae754SRob Clark 
1583a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VPC_2_LO				0x000003ec
1584a26ae754SRob Clark 
1585a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VPC_2_HI				0x000003ed
1586a26ae754SRob Clark 
1587a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VPC_3_LO				0x000003ee
1588a26ae754SRob Clark 
1589a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VPC_3_HI				0x000003ef
1590a26ae754SRob Clark 
1591a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CCU_0_LO				0x000003f0
1592a26ae754SRob Clark 
1593a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CCU_0_HI				0x000003f1
1594a26ae754SRob Clark 
1595a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CCU_1_LO				0x000003f2
1596a26ae754SRob Clark 
1597a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CCU_1_HI				0x000003f3
1598a26ae754SRob Clark 
1599a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CCU_2_LO				0x000003f4
1600a26ae754SRob Clark 
1601a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CCU_2_HI				0x000003f5
1602a26ae754SRob Clark 
1603a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CCU_3_LO				0x000003f6
1604a26ae754SRob Clark 
1605a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CCU_3_HI				0x000003f7
1606a26ae754SRob Clark 
1607a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TSE_0_LO				0x000003f8
1608a26ae754SRob Clark 
1609a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TSE_0_HI				0x000003f9
1610a26ae754SRob Clark 
1611a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TSE_1_LO				0x000003fa
1612a26ae754SRob Clark 
1613a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TSE_1_HI				0x000003fb
1614a26ae754SRob Clark 
1615a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TSE_2_LO				0x000003fc
1616a26ae754SRob Clark 
1617a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TSE_2_HI				0x000003fd
1618a26ae754SRob Clark 
1619a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TSE_3_LO				0x000003fe
1620a26ae754SRob Clark 
1621a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TSE_3_HI				0x000003ff
1622a26ae754SRob Clark 
1623a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RAS_0_LO				0x00000400
1624a26ae754SRob Clark 
1625a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RAS_0_HI				0x00000401
1626a26ae754SRob Clark 
1627a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RAS_1_LO				0x00000402
1628a26ae754SRob Clark 
1629a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RAS_1_HI				0x00000403
1630a26ae754SRob Clark 
1631a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RAS_2_LO				0x00000404
1632a26ae754SRob Clark 
1633a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RAS_2_HI				0x00000405
1634a26ae754SRob Clark 
1635a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RAS_3_LO				0x00000406
1636a26ae754SRob Clark 
1637a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RAS_3_HI				0x00000407
1638a26ae754SRob Clark 
1639a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_UCHE_0_LO				0x00000408
1640a26ae754SRob Clark 
1641a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_UCHE_0_HI				0x00000409
1642a26ae754SRob Clark 
1643a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_UCHE_1_LO				0x0000040a
1644a26ae754SRob Clark 
1645a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_UCHE_1_HI				0x0000040b
1646a26ae754SRob Clark 
1647a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_UCHE_2_LO				0x0000040c
1648a26ae754SRob Clark 
1649a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_UCHE_2_HI				0x0000040d
1650a26ae754SRob Clark 
1651a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_UCHE_3_LO				0x0000040e
1652a26ae754SRob Clark 
1653a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_UCHE_3_HI				0x0000040f
1654a26ae754SRob Clark 
1655a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_UCHE_4_LO				0x00000410
1656a26ae754SRob Clark 
1657a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_UCHE_4_HI				0x00000411
1658a26ae754SRob Clark 
1659a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_UCHE_5_LO				0x00000412
1660a26ae754SRob Clark 
1661a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_UCHE_5_HI				0x00000413
1662a26ae754SRob Clark 
1663a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_UCHE_6_LO				0x00000414
1664a26ae754SRob Clark 
1665a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_UCHE_6_HI				0x00000415
1666a26ae754SRob Clark 
1667a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_UCHE_7_LO				0x00000416
1668a26ae754SRob Clark 
1669a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_UCHE_7_HI				0x00000417
1670a26ae754SRob Clark 
1671a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TP_0_LO				0x00000418
1672a26ae754SRob Clark 
1673a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TP_0_HI				0x00000419
1674a26ae754SRob Clark 
1675a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TP_1_LO				0x0000041a
1676a26ae754SRob Clark 
1677a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TP_1_HI				0x0000041b
1678a26ae754SRob Clark 
1679a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TP_2_LO				0x0000041c
1680a26ae754SRob Clark 
1681a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TP_2_HI				0x0000041d
1682a26ae754SRob Clark 
1683a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TP_3_LO				0x0000041e
1684a26ae754SRob Clark 
1685a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TP_3_HI				0x0000041f
1686a26ae754SRob Clark 
1687a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TP_4_LO				0x00000420
1688a26ae754SRob Clark 
1689a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TP_4_HI				0x00000421
1690a26ae754SRob Clark 
1691a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TP_5_LO				0x00000422
1692a26ae754SRob Clark 
1693a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TP_5_HI				0x00000423
1694a26ae754SRob Clark 
1695a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TP_6_LO				0x00000424
1696a26ae754SRob Clark 
1697a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TP_6_HI				0x00000425
1698a26ae754SRob Clark 
1699a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TP_7_LO				0x00000426
1700a26ae754SRob Clark 
1701a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_TP_7_HI				0x00000427
1702a26ae754SRob Clark 
1703a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_0_LO				0x00000428
1704a26ae754SRob Clark 
1705a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_0_HI				0x00000429
1706a26ae754SRob Clark 
1707a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_1_LO				0x0000042a
1708a26ae754SRob Clark 
1709a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_1_HI				0x0000042b
1710a26ae754SRob Clark 
1711a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_2_LO				0x0000042c
1712a26ae754SRob Clark 
1713a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_2_HI				0x0000042d
1714a26ae754SRob Clark 
1715a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_3_LO				0x0000042e
1716a26ae754SRob Clark 
1717a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_3_HI				0x0000042f
1718a26ae754SRob Clark 
1719a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_4_LO				0x00000430
1720a26ae754SRob Clark 
1721a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_4_HI				0x00000431
1722a26ae754SRob Clark 
1723a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_5_LO				0x00000432
1724a26ae754SRob Clark 
1725a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_5_HI				0x00000433
1726a26ae754SRob Clark 
1727a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_6_LO				0x00000434
1728a26ae754SRob Clark 
1729a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_6_HI				0x00000435
1730a26ae754SRob Clark 
1731a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_7_LO				0x00000436
1732a26ae754SRob Clark 
1733a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_7_HI				0x00000437
1734a26ae754SRob Clark 
1735a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_8_LO				0x00000438
1736a26ae754SRob Clark 
1737a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_8_HI				0x00000439
1738a26ae754SRob Clark 
1739a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_9_LO				0x0000043a
1740a26ae754SRob Clark 
1741a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_9_HI				0x0000043b
1742a26ae754SRob Clark 
1743a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_10_LO				0x0000043c
1744a26ae754SRob Clark 
1745a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_10_HI				0x0000043d
1746a26ae754SRob Clark 
1747a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_11_LO				0x0000043e
1748a26ae754SRob Clark 
1749a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_SP_11_HI				0x0000043f
1750a26ae754SRob Clark 
1751a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RB_0_LO				0x00000440
1752a26ae754SRob Clark 
1753a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RB_0_HI				0x00000441
1754a26ae754SRob Clark 
1755a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RB_1_LO				0x00000442
1756a26ae754SRob Clark 
1757a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RB_1_HI				0x00000443
1758a26ae754SRob Clark 
1759a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RB_2_LO				0x00000444
1760a26ae754SRob Clark 
1761a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RB_2_HI				0x00000445
1762a26ae754SRob Clark 
1763a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RB_3_LO				0x00000446
1764a26ae754SRob Clark 
1765a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RB_3_HI				0x00000447
1766a26ae754SRob Clark 
1767a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RB_4_LO				0x00000448
1768a26ae754SRob Clark 
1769a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RB_4_HI				0x00000449
1770a26ae754SRob Clark 
1771a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RB_5_LO				0x0000044a
1772a26ae754SRob Clark 
1773a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RB_5_HI				0x0000044b
1774a26ae754SRob Clark 
1775a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RB_6_LO				0x0000044c
1776a26ae754SRob Clark 
1777a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RB_6_HI				0x0000044d
1778a26ae754SRob Clark 
1779a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RB_7_LO				0x0000044e
1780a26ae754SRob Clark 
1781a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RB_7_HI				0x0000044f
1782a26ae754SRob Clark 
1783a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VSC_0_LO				0x00000450
1784a26ae754SRob Clark 
1785a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VSC_0_HI				0x00000451
1786a26ae754SRob Clark 
1787a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VSC_1_LO				0x00000452
1788a26ae754SRob Clark 
1789a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_VSC_1_HI				0x00000453
1790a26ae754SRob Clark 
1791a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_LRZ_0_LO				0x00000454
1792a26ae754SRob Clark 
1793a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_LRZ_0_HI				0x00000455
1794a26ae754SRob Clark 
1795a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_LRZ_1_LO				0x00000456
1796a26ae754SRob Clark 
1797a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_LRZ_1_HI				0x00000457
1798a26ae754SRob Clark 
1799a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_LRZ_2_LO				0x00000458
1800a26ae754SRob Clark 
1801a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_LRZ_2_HI				0x00000459
1802a26ae754SRob Clark 
1803a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_LRZ_3_LO				0x0000045a
1804a26ae754SRob Clark 
1805a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_LRZ_3_HI				0x0000045b
1806a26ae754SRob Clark 
1807a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CMP_0_LO				0x0000045c
1808a26ae754SRob Clark 
1809a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CMP_0_HI				0x0000045d
1810a26ae754SRob Clark 
1811a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CMP_1_LO				0x0000045e
1812a26ae754SRob Clark 
1813a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CMP_1_HI				0x0000045f
1814a26ae754SRob Clark 
1815a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CMP_2_LO				0x00000460
1816a26ae754SRob Clark 
1817a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CMP_2_HI				0x00000461
1818a26ae754SRob Clark 
1819a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CMP_3_LO				0x00000462
1820a26ae754SRob Clark 
1821a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CMP_3_HI				0x00000463
1822a26ae754SRob Clark 
1823a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RBBM_SEL_0			0x0000046b
1824a26ae754SRob Clark 
1825a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RBBM_SEL_1			0x0000046c
1826a26ae754SRob Clark 
1827a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RBBM_SEL_2			0x0000046d
1828a26ae754SRob Clark 
1829a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_RBBM_SEL_3			0x0000046e
1830a26ae754SRob Clark 
1831a26ae754SRob Clark #define REG_A5XX_RBBM_ALWAYSON_COUNTER_LO			0x000004d2
1832a26ae754SRob Clark 
1833a26ae754SRob Clark #define REG_A5XX_RBBM_ALWAYSON_COUNTER_HI			0x000004d3
1834a26ae754SRob Clark 
1835a26ae754SRob Clark #define REG_A5XX_RBBM_STATUS					0x000004f5
1836c28c82e9SRob Clark #define A5XX_RBBM_STATUS_GPU_BUSY_IGN_AHB__MASK			0x80000000
1837c28c82e9SRob Clark #define A5XX_RBBM_STATUS_GPU_BUSY_IGN_AHB__SHIFT		31
A5XX_RBBM_STATUS_GPU_BUSY_IGN_AHB(uint32_t val)1838c28c82e9SRob Clark static inline uint32_t A5XX_RBBM_STATUS_GPU_BUSY_IGN_AHB(uint32_t val)
1839c28c82e9SRob Clark {
1840c28c82e9SRob Clark 	return ((val) << A5XX_RBBM_STATUS_GPU_BUSY_IGN_AHB__SHIFT) & A5XX_RBBM_STATUS_GPU_BUSY_IGN_AHB__MASK;
1841c28c82e9SRob Clark }
1842c28c82e9SRob Clark #define A5XX_RBBM_STATUS_GPU_BUSY_IGN_AHB_CP__MASK		0x40000000
1843c28c82e9SRob Clark #define A5XX_RBBM_STATUS_GPU_BUSY_IGN_AHB_CP__SHIFT		30
A5XX_RBBM_STATUS_GPU_BUSY_IGN_AHB_CP(uint32_t val)1844c28c82e9SRob Clark static inline uint32_t A5XX_RBBM_STATUS_GPU_BUSY_IGN_AHB_CP(uint32_t val)
1845c28c82e9SRob Clark {
1846c28c82e9SRob Clark 	return ((val) << A5XX_RBBM_STATUS_GPU_BUSY_IGN_AHB_CP__SHIFT) & A5XX_RBBM_STATUS_GPU_BUSY_IGN_AHB_CP__MASK;
1847c28c82e9SRob Clark }
1848c28c82e9SRob Clark #define A5XX_RBBM_STATUS_HLSQ_BUSY__MASK			0x20000000
1849c28c82e9SRob Clark #define A5XX_RBBM_STATUS_HLSQ_BUSY__SHIFT			29
A5XX_RBBM_STATUS_HLSQ_BUSY(uint32_t val)1850c28c82e9SRob Clark static inline uint32_t A5XX_RBBM_STATUS_HLSQ_BUSY(uint32_t val)
1851c28c82e9SRob Clark {
1852c28c82e9SRob Clark 	return ((val) << A5XX_RBBM_STATUS_HLSQ_BUSY__SHIFT) & A5XX_RBBM_STATUS_HLSQ_BUSY__MASK;
1853c28c82e9SRob Clark }
1854c28c82e9SRob Clark #define A5XX_RBBM_STATUS_VSC_BUSY__MASK				0x10000000
1855c28c82e9SRob Clark #define A5XX_RBBM_STATUS_VSC_BUSY__SHIFT			28
A5XX_RBBM_STATUS_VSC_BUSY(uint32_t val)1856c28c82e9SRob Clark static inline uint32_t A5XX_RBBM_STATUS_VSC_BUSY(uint32_t val)
1857c28c82e9SRob Clark {
1858c28c82e9SRob Clark 	return ((val) << A5XX_RBBM_STATUS_VSC_BUSY__SHIFT) & A5XX_RBBM_STATUS_VSC_BUSY__MASK;
1859c28c82e9SRob Clark }
1860c28c82e9SRob Clark #define A5XX_RBBM_STATUS_TPL1_BUSY__MASK			0x08000000
1861c28c82e9SRob Clark #define A5XX_RBBM_STATUS_TPL1_BUSY__SHIFT			27
A5XX_RBBM_STATUS_TPL1_BUSY(uint32_t val)1862c28c82e9SRob Clark static inline uint32_t A5XX_RBBM_STATUS_TPL1_BUSY(uint32_t val)
1863c28c82e9SRob Clark {
1864c28c82e9SRob Clark 	return ((val) << A5XX_RBBM_STATUS_TPL1_BUSY__SHIFT) & A5XX_RBBM_STATUS_TPL1_BUSY__MASK;
1865c28c82e9SRob Clark }
1866c28c82e9SRob Clark #define A5XX_RBBM_STATUS_SP_BUSY__MASK				0x04000000
1867c28c82e9SRob Clark #define A5XX_RBBM_STATUS_SP_BUSY__SHIFT				26
A5XX_RBBM_STATUS_SP_BUSY(uint32_t val)1868c28c82e9SRob Clark static inline uint32_t A5XX_RBBM_STATUS_SP_BUSY(uint32_t val)
1869c28c82e9SRob Clark {
1870c28c82e9SRob Clark 	return ((val) << A5XX_RBBM_STATUS_SP_BUSY__SHIFT) & A5XX_RBBM_STATUS_SP_BUSY__MASK;
1871c28c82e9SRob Clark }
1872c28c82e9SRob Clark #define A5XX_RBBM_STATUS_UCHE_BUSY__MASK			0x02000000
1873c28c82e9SRob Clark #define A5XX_RBBM_STATUS_UCHE_BUSY__SHIFT			25
A5XX_RBBM_STATUS_UCHE_BUSY(uint32_t val)1874c28c82e9SRob Clark static inline uint32_t A5XX_RBBM_STATUS_UCHE_BUSY(uint32_t val)
1875c28c82e9SRob Clark {
1876c28c82e9SRob Clark 	return ((val) << A5XX_RBBM_STATUS_UCHE_BUSY__SHIFT) & A5XX_RBBM_STATUS_UCHE_BUSY__MASK;
1877c28c82e9SRob Clark }
1878c28c82e9SRob Clark #define A5XX_RBBM_STATUS_VPC_BUSY__MASK				0x01000000
1879c28c82e9SRob Clark #define A5XX_RBBM_STATUS_VPC_BUSY__SHIFT			24
A5XX_RBBM_STATUS_VPC_BUSY(uint32_t val)1880c28c82e9SRob Clark static inline uint32_t A5XX_RBBM_STATUS_VPC_BUSY(uint32_t val)
1881c28c82e9SRob Clark {
1882c28c82e9SRob Clark 	return ((val) << A5XX_RBBM_STATUS_VPC_BUSY__SHIFT) & A5XX_RBBM_STATUS_VPC_BUSY__MASK;
1883c28c82e9SRob Clark }
1884c28c82e9SRob Clark #define A5XX_RBBM_STATUS_VFDP_BUSY__MASK			0x00800000
1885c28c82e9SRob Clark #define A5XX_RBBM_STATUS_VFDP_BUSY__SHIFT			23
A5XX_RBBM_STATUS_VFDP_BUSY(uint32_t val)1886c28c82e9SRob Clark static inline uint32_t A5XX_RBBM_STATUS_VFDP_BUSY(uint32_t val)
1887c28c82e9SRob Clark {
1888c28c82e9SRob Clark 	return ((val) << A5XX_RBBM_STATUS_VFDP_BUSY__SHIFT) & A5XX_RBBM_STATUS_VFDP_BUSY__MASK;
1889c28c82e9SRob Clark }
1890c28c82e9SRob Clark #define A5XX_RBBM_STATUS_VFD_BUSY__MASK				0x00400000
1891c28c82e9SRob Clark #define A5XX_RBBM_STATUS_VFD_BUSY__SHIFT			22
A5XX_RBBM_STATUS_VFD_BUSY(uint32_t val)1892c28c82e9SRob Clark static inline uint32_t A5XX_RBBM_STATUS_VFD_BUSY(uint32_t val)
1893c28c82e9SRob Clark {
1894c28c82e9SRob Clark 	return ((val) << A5XX_RBBM_STATUS_VFD_BUSY__SHIFT) & A5XX_RBBM_STATUS_VFD_BUSY__MASK;
1895c28c82e9SRob Clark }
1896c28c82e9SRob Clark #define A5XX_RBBM_STATUS_TESS_BUSY__MASK			0x00200000
1897c28c82e9SRob Clark #define A5XX_RBBM_STATUS_TESS_BUSY__SHIFT			21
A5XX_RBBM_STATUS_TESS_BUSY(uint32_t val)1898c28c82e9SRob Clark static inline uint32_t A5XX_RBBM_STATUS_TESS_BUSY(uint32_t val)
1899c28c82e9SRob Clark {
1900c28c82e9SRob Clark 	return ((val) << A5XX_RBBM_STATUS_TESS_BUSY__SHIFT) & A5XX_RBBM_STATUS_TESS_BUSY__MASK;
1901c28c82e9SRob Clark }
1902c28c82e9SRob Clark #define A5XX_RBBM_STATUS_PC_VSD_BUSY__MASK			0x00100000
1903c28c82e9SRob Clark #define A5XX_RBBM_STATUS_PC_VSD_BUSY__SHIFT			20
A5XX_RBBM_STATUS_PC_VSD_BUSY(uint32_t val)1904c28c82e9SRob Clark static inline uint32_t A5XX_RBBM_STATUS_PC_VSD_BUSY(uint32_t val)
1905c28c82e9SRob Clark {
1906c28c82e9SRob Clark 	return ((val) << A5XX_RBBM_STATUS_PC_VSD_BUSY__SHIFT) & A5XX_RBBM_STATUS_PC_VSD_BUSY__MASK;
1907c28c82e9SRob Clark }
1908c28c82e9SRob Clark #define A5XX_RBBM_STATUS_PC_DCALL_BUSY__MASK			0x00080000
1909c28c82e9SRob Clark #define A5XX_RBBM_STATUS_PC_DCALL_BUSY__SHIFT			19
A5XX_RBBM_STATUS_PC_DCALL_BUSY(uint32_t val)1910c28c82e9SRob Clark static inline uint32_t A5XX_RBBM_STATUS_PC_DCALL_BUSY(uint32_t val)
1911c28c82e9SRob Clark {
1912c28c82e9SRob Clark 	return ((val) << A5XX_RBBM_STATUS_PC_DCALL_BUSY__SHIFT) & A5XX_RBBM_STATUS_PC_DCALL_BUSY__MASK;
1913c28c82e9SRob Clark }
1914c28c82e9SRob Clark #define A5XX_RBBM_STATUS_GPMU_SLAVE_BUSY__MASK			0x00040000
1915c28c82e9SRob Clark #define A5XX_RBBM_STATUS_GPMU_SLAVE_BUSY__SHIFT			18
A5XX_RBBM_STATUS_GPMU_SLAVE_BUSY(uint32_t val)1916c28c82e9SRob Clark static inline uint32_t A5XX_RBBM_STATUS_GPMU_SLAVE_BUSY(uint32_t val)
1917c28c82e9SRob Clark {
1918c28c82e9SRob Clark 	return ((val) << A5XX_RBBM_STATUS_GPMU_SLAVE_BUSY__SHIFT) & A5XX_RBBM_STATUS_GPMU_SLAVE_BUSY__MASK;
1919c28c82e9SRob Clark }
1920c28c82e9SRob Clark #define A5XX_RBBM_STATUS_DCOM_BUSY__MASK			0x00020000
1921c28c82e9SRob Clark #define A5XX_RBBM_STATUS_DCOM_BUSY__SHIFT			17
A5XX_RBBM_STATUS_DCOM_BUSY(uint32_t val)1922c28c82e9SRob Clark static inline uint32_t A5XX_RBBM_STATUS_DCOM_BUSY(uint32_t val)
1923c28c82e9SRob Clark {
1924c28c82e9SRob Clark 	return ((val) << A5XX_RBBM_STATUS_DCOM_BUSY__SHIFT) & A5XX_RBBM_STATUS_DCOM_BUSY__MASK;
1925c28c82e9SRob Clark }
1926c28c82e9SRob Clark #define A5XX_RBBM_STATUS_COM_BUSY__MASK				0x00010000
1927c28c82e9SRob Clark #define A5XX_RBBM_STATUS_COM_BUSY__SHIFT			16
A5XX_RBBM_STATUS_COM_BUSY(uint32_t val)1928c28c82e9SRob Clark static inline uint32_t A5XX_RBBM_STATUS_COM_BUSY(uint32_t val)
1929c28c82e9SRob Clark {
1930c28c82e9SRob Clark 	return ((val) << A5XX_RBBM_STATUS_COM_BUSY__SHIFT) & A5XX_RBBM_STATUS_COM_BUSY__MASK;
1931c28c82e9SRob Clark }
1932c28c82e9SRob Clark #define A5XX_RBBM_STATUS_LRZ_BUZY__MASK				0x00008000
1933c28c82e9SRob Clark #define A5XX_RBBM_STATUS_LRZ_BUZY__SHIFT			15
A5XX_RBBM_STATUS_LRZ_BUZY(uint32_t val)1934c28c82e9SRob Clark static inline uint32_t A5XX_RBBM_STATUS_LRZ_BUZY(uint32_t val)
1935c28c82e9SRob Clark {
1936c28c82e9SRob Clark 	return ((val) << A5XX_RBBM_STATUS_LRZ_BUZY__SHIFT) & A5XX_RBBM_STATUS_LRZ_BUZY__MASK;
1937c28c82e9SRob Clark }
1938c28c82e9SRob Clark #define A5XX_RBBM_STATUS_A2D_DSP_BUSY__MASK			0x00004000
1939c28c82e9SRob Clark #define A5XX_RBBM_STATUS_A2D_DSP_BUSY__SHIFT			14
A5XX_RBBM_STATUS_A2D_DSP_BUSY(uint32_t val)1940c28c82e9SRob Clark static inline uint32_t A5XX_RBBM_STATUS_A2D_DSP_BUSY(uint32_t val)
1941c28c82e9SRob Clark {
1942c28c82e9SRob Clark 	return ((val) << A5XX_RBBM_STATUS_A2D_DSP_BUSY__SHIFT) & A5XX_RBBM_STATUS_A2D_DSP_BUSY__MASK;
1943c28c82e9SRob Clark }
1944c28c82e9SRob Clark #define A5XX_RBBM_STATUS_CCUFCHE_BUSY__MASK			0x00002000
1945c28c82e9SRob Clark #define A5XX_RBBM_STATUS_CCUFCHE_BUSY__SHIFT			13
A5XX_RBBM_STATUS_CCUFCHE_BUSY(uint32_t val)1946c28c82e9SRob Clark static inline uint32_t A5XX_RBBM_STATUS_CCUFCHE_BUSY(uint32_t val)
1947c28c82e9SRob Clark {
1948c28c82e9SRob Clark 	return ((val) << A5XX_RBBM_STATUS_CCUFCHE_BUSY__SHIFT) & A5XX_RBBM_STATUS_CCUFCHE_BUSY__MASK;
1949c28c82e9SRob Clark }
1950c28c82e9SRob Clark #define A5XX_RBBM_STATUS_RB_BUSY__MASK				0x00001000
1951c28c82e9SRob Clark #define A5XX_RBBM_STATUS_RB_BUSY__SHIFT				12
A5XX_RBBM_STATUS_RB_BUSY(uint32_t val)1952c28c82e9SRob Clark static inline uint32_t A5XX_RBBM_STATUS_RB_BUSY(uint32_t val)
1953c28c82e9SRob Clark {
1954c28c82e9SRob Clark 	return ((val) << A5XX_RBBM_STATUS_RB_BUSY__SHIFT) & A5XX_RBBM_STATUS_RB_BUSY__MASK;
1955c28c82e9SRob Clark }
1956c28c82e9SRob Clark #define A5XX_RBBM_STATUS_RAS_BUSY__MASK				0x00000800
1957c28c82e9SRob Clark #define A5XX_RBBM_STATUS_RAS_BUSY__SHIFT			11
A5XX_RBBM_STATUS_RAS_BUSY(uint32_t val)1958c28c82e9SRob Clark static inline uint32_t A5XX_RBBM_STATUS_RAS_BUSY(uint32_t val)
1959c28c82e9SRob Clark {
1960c28c82e9SRob Clark 	return ((val) << A5XX_RBBM_STATUS_RAS_BUSY__SHIFT) & A5XX_RBBM_STATUS_RAS_BUSY__MASK;
1961c28c82e9SRob Clark }
1962c28c82e9SRob Clark #define A5XX_RBBM_STATUS_TSE_BUSY__MASK				0x00000400
1963c28c82e9SRob Clark #define A5XX_RBBM_STATUS_TSE_BUSY__SHIFT			10
A5XX_RBBM_STATUS_TSE_BUSY(uint32_t val)1964c28c82e9SRob Clark static inline uint32_t A5XX_RBBM_STATUS_TSE_BUSY(uint32_t val)
1965c28c82e9SRob Clark {
1966c28c82e9SRob Clark 	return ((val) << A5XX_RBBM_STATUS_TSE_BUSY__SHIFT) & A5XX_RBBM_STATUS_TSE_BUSY__MASK;
1967c28c82e9SRob Clark }
1968c28c82e9SRob Clark #define A5XX_RBBM_STATUS_VBIF_BUSY__MASK			0x00000200
1969c28c82e9SRob Clark #define A5XX_RBBM_STATUS_VBIF_BUSY__SHIFT			9
A5XX_RBBM_STATUS_VBIF_BUSY(uint32_t val)1970c28c82e9SRob Clark static inline uint32_t A5XX_RBBM_STATUS_VBIF_BUSY(uint32_t val)
1971c28c82e9SRob Clark {
1972c28c82e9SRob Clark 	return ((val) << A5XX_RBBM_STATUS_VBIF_BUSY__SHIFT) & A5XX_RBBM_STATUS_VBIF_BUSY__MASK;
1973c28c82e9SRob Clark }
1974c28c82e9SRob Clark #define A5XX_RBBM_STATUS_GPU_BUSY_IGN_AHB_HYST__MASK		0x00000100
1975c28c82e9SRob Clark #define A5XX_RBBM_STATUS_GPU_BUSY_IGN_AHB_HYST__SHIFT		8
A5XX_RBBM_STATUS_GPU_BUSY_IGN_AHB_HYST(uint32_t val)1976c28c82e9SRob Clark static inline uint32_t A5XX_RBBM_STATUS_GPU_BUSY_IGN_AHB_HYST(uint32_t val)
1977c28c82e9SRob Clark {
1978c28c82e9SRob Clark 	return ((val) << A5XX_RBBM_STATUS_GPU_BUSY_IGN_AHB_HYST__SHIFT) & A5XX_RBBM_STATUS_GPU_BUSY_IGN_AHB_HYST__MASK;
1979c28c82e9SRob Clark }
1980c28c82e9SRob Clark #define A5XX_RBBM_STATUS_CP_BUSY_IGN_HYST__MASK			0x00000080
1981c28c82e9SRob Clark #define A5XX_RBBM_STATUS_CP_BUSY_IGN_HYST__SHIFT		7
A5XX_RBBM_STATUS_CP_BUSY_IGN_HYST(uint32_t val)1982c28c82e9SRob Clark static inline uint32_t A5XX_RBBM_STATUS_CP_BUSY_IGN_HYST(uint32_t val)
1983c28c82e9SRob Clark {
1984c28c82e9SRob Clark 	return ((val) << A5XX_RBBM_STATUS_CP_BUSY_IGN_HYST__SHIFT) & A5XX_RBBM_STATUS_CP_BUSY_IGN_HYST__MASK;
1985c28c82e9SRob Clark }
1986c28c82e9SRob Clark #define A5XX_RBBM_STATUS_CP_BUSY__MASK				0x00000040
1987c28c82e9SRob Clark #define A5XX_RBBM_STATUS_CP_BUSY__SHIFT				6
A5XX_RBBM_STATUS_CP_BUSY(uint32_t val)1988c28c82e9SRob Clark static inline uint32_t A5XX_RBBM_STATUS_CP_BUSY(uint32_t val)
1989c28c82e9SRob Clark {
1990c28c82e9SRob Clark 	return ((val) << A5XX_RBBM_STATUS_CP_BUSY__SHIFT) & A5XX_RBBM_STATUS_CP_BUSY__MASK;
1991c28c82e9SRob Clark }
1992c28c82e9SRob Clark #define A5XX_RBBM_STATUS_GPMU_MASTER_BUSY__MASK			0x00000020
1993c28c82e9SRob Clark #define A5XX_RBBM_STATUS_GPMU_MASTER_BUSY__SHIFT		5
A5XX_RBBM_STATUS_GPMU_MASTER_BUSY(uint32_t val)1994c28c82e9SRob Clark static inline uint32_t A5XX_RBBM_STATUS_GPMU_MASTER_BUSY(uint32_t val)
1995c28c82e9SRob Clark {
1996c28c82e9SRob Clark 	return ((val) << A5XX_RBBM_STATUS_GPMU_MASTER_BUSY__SHIFT) & A5XX_RBBM_STATUS_GPMU_MASTER_BUSY__MASK;
1997c28c82e9SRob Clark }
1998c28c82e9SRob Clark #define A5XX_RBBM_STATUS_CP_CRASH_BUSY__MASK			0x00000010
1999c28c82e9SRob Clark #define A5XX_RBBM_STATUS_CP_CRASH_BUSY__SHIFT			4
A5XX_RBBM_STATUS_CP_CRASH_BUSY(uint32_t val)2000c28c82e9SRob Clark static inline uint32_t A5XX_RBBM_STATUS_CP_CRASH_BUSY(uint32_t val)
2001c28c82e9SRob Clark {
2002c28c82e9SRob Clark 	return ((val) << A5XX_RBBM_STATUS_CP_CRASH_BUSY__SHIFT) & A5XX_RBBM_STATUS_CP_CRASH_BUSY__MASK;
2003c28c82e9SRob Clark }
2004c28c82e9SRob Clark #define A5XX_RBBM_STATUS_CP_ETS_BUSY__MASK			0x00000008
2005c28c82e9SRob Clark #define A5XX_RBBM_STATUS_CP_ETS_BUSY__SHIFT			3
A5XX_RBBM_STATUS_CP_ETS_BUSY(uint32_t val)2006c28c82e9SRob Clark static inline uint32_t A5XX_RBBM_STATUS_CP_ETS_BUSY(uint32_t val)
2007c28c82e9SRob Clark {
2008c28c82e9SRob Clark 	return ((val) << A5XX_RBBM_STATUS_CP_ETS_BUSY__SHIFT) & A5XX_RBBM_STATUS_CP_ETS_BUSY__MASK;
2009c28c82e9SRob Clark }
2010c28c82e9SRob Clark #define A5XX_RBBM_STATUS_CP_PFP_BUSY__MASK			0x00000004
2011c28c82e9SRob Clark #define A5XX_RBBM_STATUS_CP_PFP_BUSY__SHIFT			2
A5XX_RBBM_STATUS_CP_PFP_BUSY(uint32_t val)2012c28c82e9SRob Clark static inline uint32_t A5XX_RBBM_STATUS_CP_PFP_BUSY(uint32_t val)
2013c28c82e9SRob Clark {
2014c28c82e9SRob Clark 	return ((val) << A5XX_RBBM_STATUS_CP_PFP_BUSY__SHIFT) & A5XX_RBBM_STATUS_CP_PFP_BUSY__MASK;
2015c28c82e9SRob Clark }
2016c28c82e9SRob Clark #define A5XX_RBBM_STATUS_CP_ME_BUSY__MASK			0x00000002
2017c28c82e9SRob Clark #define A5XX_RBBM_STATUS_CP_ME_BUSY__SHIFT			1
A5XX_RBBM_STATUS_CP_ME_BUSY(uint32_t val)2018c28c82e9SRob Clark static inline uint32_t A5XX_RBBM_STATUS_CP_ME_BUSY(uint32_t val)
2019c28c82e9SRob Clark {
2020c28c82e9SRob Clark 	return ((val) << A5XX_RBBM_STATUS_CP_ME_BUSY__SHIFT) & A5XX_RBBM_STATUS_CP_ME_BUSY__MASK;
2021c28c82e9SRob Clark }
2022a26ae754SRob Clark #define A5XX_RBBM_STATUS_HI_BUSY				0x00000001
2023a26ae754SRob Clark 
2024a26ae754SRob Clark #define REG_A5XX_RBBM_STATUS3					0x00000530
2025cc4c26d4SRob Clark #define A5XX_RBBM_STATUS3_SMMU_STALLED_ON_FAULT			0x01000000
2026a26ae754SRob Clark 
2027a26ae754SRob Clark #define REG_A5XX_RBBM_INT_0_STATUS				0x000004e1
2028a26ae754SRob Clark 
2029a26ae754SRob Clark #define REG_A5XX_RBBM_AHB_ME_SPLIT_STATUS			0x000004f0
2030a26ae754SRob Clark 
2031a26ae754SRob Clark #define REG_A5XX_RBBM_AHB_PFP_SPLIT_STATUS			0x000004f1
2032a26ae754SRob Clark 
2033a26ae754SRob Clark #define REG_A5XX_RBBM_AHB_ETS_SPLIT_STATUS			0x000004f3
2034a26ae754SRob Clark 
2035a26ae754SRob Clark #define REG_A5XX_RBBM_AHB_ERROR_STATUS				0x000004f4
2036a26ae754SRob Clark 
2037a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_CNTL				0x00000464
2038a26ae754SRob Clark 
2039a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_LOAD_CMD0				0x00000465
2040a26ae754SRob Clark 
2041a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_LOAD_CMD1				0x00000466
2042a26ae754SRob Clark 
2043a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_LOAD_CMD2				0x00000467
2044a26ae754SRob Clark 
2045a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_LOAD_CMD3				0x00000468
2046a26ae754SRob Clark 
2047a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_LOAD_VALUE_LO			0x00000469
2048a26ae754SRob Clark 
2049a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_LOAD_VALUE_HI			0x0000046a
2050a26ae754SRob Clark 
2051a26ae754SRob Clark #define REG_A5XX_RBBM_PERFCTR_GPU_BUSY_MASKED			0x0000046f
2052a26ae754SRob Clark 
2053a26ae754SRob Clark #define REG_A5XX_RBBM_AHB_ERROR					0x000004ed
2054a26ae754SRob Clark 
2055a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_EVENT_LOGIC			0x00000504
2056a26ae754SRob Clark 
2057a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_OVER				0x00000505
2058a26ae754SRob Clark 
2059a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_COUNT0				0x00000506
2060a26ae754SRob Clark 
2061a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_COUNT1				0x00000507
2062a26ae754SRob Clark 
2063a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_COUNT2				0x00000508
2064a26ae754SRob Clark 
2065a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_COUNT3				0x00000509
2066a26ae754SRob Clark 
2067a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_COUNT4				0x0000050a
2068a26ae754SRob Clark 
2069a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_COUNT5				0x0000050b
2070a26ae754SRob Clark 
2071a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_TRACE_ADDR			0x0000050c
2072a26ae754SRob Clark 
2073a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_TRACE_BUF0			0x0000050d
2074a26ae754SRob Clark 
2075a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_TRACE_BUF1			0x0000050e
2076a26ae754SRob Clark 
2077a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_TRACE_BUF2			0x0000050f
2078a26ae754SRob Clark 
2079a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_TRACE_BUF3			0x00000510
2080a26ae754SRob Clark 
2081a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_TRACE_BUF4			0x00000511
2082a26ae754SRob Clark 
2083a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_MISR0				0x00000512
2084a26ae754SRob Clark 
2085a26ae754SRob Clark #define REG_A5XX_RBBM_CFG_DBGBUS_MISR1				0x00000513
2086a26ae754SRob Clark 
2087a26ae754SRob Clark #define REG_A5XX_RBBM_ISDB_CNT					0x00000533
2088a26ae754SRob Clark 
2089a26ae754SRob Clark #define REG_A5XX_RBBM_SECVID_TRUST_CONFIG			0x0000f000
2090a26ae754SRob Clark 
2091a26ae754SRob Clark #define REG_A5XX_RBBM_SECVID_TRUST_CNTL				0x0000f400
2092a26ae754SRob Clark 
2093a26ae754SRob Clark #define REG_A5XX_RBBM_SECVID_TSB_TRUSTED_BASE_LO		0x0000f800
2094a26ae754SRob Clark 
2095a26ae754SRob Clark #define REG_A5XX_RBBM_SECVID_TSB_TRUSTED_BASE_HI		0x0000f801
2096a26ae754SRob Clark 
2097a26ae754SRob Clark #define REG_A5XX_RBBM_SECVID_TSB_TRUSTED_SIZE			0x0000f802
2098a26ae754SRob Clark 
2099a26ae754SRob Clark #define REG_A5XX_RBBM_SECVID_TSB_CNTL				0x0000f803
2100a26ae754SRob Clark 
2101a26ae754SRob Clark #define REG_A5XX_RBBM_SECVID_TSB_COMP_STATUS_LO			0x0000f804
2102a26ae754SRob Clark 
2103a26ae754SRob Clark #define REG_A5XX_RBBM_SECVID_TSB_COMP_STATUS_HI			0x0000f805
2104a26ae754SRob Clark 
2105a26ae754SRob Clark #define REG_A5XX_RBBM_SECVID_TSB_UCHE_STATUS_LO			0x0000f806
2106a26ae754SRob Clark 
2107a26ae754SRob Clark #define REG_A5XX_RBBM_SECVID_TSB_UCHE_STATUS_HI			0x0000f807
2108a26ae754SRob Clark 
2109a26ae754SRob Clark #define REG_A5XX_RBBM_SECVID_TSB_ADDR_MODE_CNTL			0x0000f810
2110a26ae754SRob Clark 
211152260ae4SRob Clark #define REG_A5XX_VSC_BIN_SIZE					0x00000bc2
211252260ae4SRob Clark #define A5XX_VSC_BIN_SIZE_WIDTH__MASK				0x000000ff
211352260ae4SRob Clark #define A5XX_VSC_BIN_SIZE_WIDTH__SHIFT				0
A5XX_VSC_BIN_SIZE_WIDTH(uint32_t val)211452260ae4SRob Clark static inline uint32_t A5XX_VSC_BIN_SIZE_WIDTH(uint32_t val)
211552260ae4SRob Clark {
211652260ae4SRob Clark 	return ((val >> 5) << A5XX_VSC_BIN_SIZE_WIDTH__SHIFT) & A5XX_VSC_BIN_SIZE_WIDTH__MASK;
211752260ae4SRob Clark }
211852260ae4SRob Clark #define A5XX_VSC_BIN_SIZE_HEIGHT__MASK				0x0001fe00
211952260ae4SRob Clark #define A5XX_VSC_BIN_SIZE_HEIGHT__SHIFT				9
A5XX_VSC_BIN_SIZE_HEIGHT(uint32_t val)212052260ae4SRob Clark static inline uint32_t A5XX_VSC_BIN_SIZE_HEIGHT(uint32_t val)
212152260ae4SRob Clark {
212252260ae4SRob Clark 	return ((val >> 5) << A5XX_VSC_BIN_SIZE_HEIGHT__SHIFT) & A5XX_VSC_BIN_SIZE_HEIGHT__MASK;
212352260ae4SRob Clark }
212452260ae4SRob Clark 
212552260ae4SRob Clark #define REG_A5XX_VSC_SIZE_ADDRESS_LO				0x00000bc3
212652260ae4SRob Clark 
212752260ae4SRob Clark #define REG_A5XX_VSC_SIZE_ADDRESS_HI				0x00000bc4
212852260ae4SRob Clark 
212952260ae4SRob Clark #define REG_A5XX_UNKNOWN_0BC5					0x00000bc5
213052260ae4SRob Clark 
213152260ae4SRob Clark #define REG_A5XX_UNKNOWN_0BC6					0x00000bc6
213252260ae4SRob Clark 
REG_A5XX_VSC_PIPE_CONFIG(uint32_t i0)213352260ae4SRob Clark static inline uint32_t REG_A5XX_VSC_PIPE_CONFIG(uint32_t i0) { return 0x00000bd0 + 0x1*i0; }
213452260ae4SRob Clark 
REG_A5XX_VSC_PIPE_CONFIG_REG(uint32_t i0)213552260ae4SRob Clark static inline uint32_t REG_A5XX_VSC_PIPE_CONFIG_REG(uint32_t i0) { return 0x00000bd0 + 0x1*i0; }
213652260ae4SRob Clark #define A5XX_VSC_PIPE_CONFIG_REG_X__MASK			0x000003ff
213752260ae4SRob Clark #define A5XX_VSC_PIPE_CONFIG_REG_X__SHIFT			0
A5XX_VSC_PIPE_CONFIG_REG_X(uint32_t val)213852260ae4SRob Clark static inline uint32_t A5XX_VSC_PIPE_CONFIG_REG_X(uint32_t val)
213952260ae4SRob Clark {
214052260ae4SRob Clark 	return ((val) << A5XX_VSC_PIPE_CONFIG_REG_X__SHIFT) & A5XX_VSC_PIPE_CONFIG_REG_X__MASK;
214152260ae4SRob Clark }
214252260ae4SRob Clark #define A5XX_VSC_PIPE_CONFIG_REG_Y__MASK			0x000ffc00
214352260ae4SRob Clark #define A5XX_VSC_PIPE_CONFIG_REG_Y__SHIFT			10
A5XX_VSC_PIPE_CONFIG_REG_Y(uint32_t val)214452260ae4SRob Clark static inline uint32_t A5XX_VSC_PIPE_CONFIG_REG_Y(uint32_t val)
214552260ae4SRob Clark {
214652260ae4SRob Clark 	return ((val) << A5XX_VSC_PIPE_CONFIG_REG_Y__SHIFT) & A5XX_VSC_PIPE_CONFIG_REG_Y__MASK;
214752260ae4SRob Clark }
214852260ae4SRob Clark #define A5XX_VSC_PIPE_CONFIG_REG_W__MASK			0x00f00000
214952260ae4SRob Clark #define A5XX_VSC_PIPE_CONFIG_REG_W__SHIFT			20
A5XX_VSC_PIPE_CONFIG_REG_W(uint32_t val)215052260ae4SRob Clark static inline uint32_t A5XX_VSC_PIPE_CONFIG_REG_W(uint32_t val)
215152260ae4SRob Clark {
215252260ae4SRob Clark 	return ((val) << A5XX_VSC_PIPE_CONFIG_REG_W__SHIFT) & A5XX_VSC_PIPE_CONFIG_REG_W__MASK;
215352260ae4SRob Clark }
215452260ae4SRob Clark #define A5XX_VSC_PIPE_CONFIG_REG_H__MASK			0x0f000000
215552260ae4SRob Clark #define A5XX_VSC_PIPE_CONFIG_REG_H__SHIFT			24
A5XX_VSC_PIPE_CONFIG_REG_H(uint32_t val)215652260ae4SRob Clark static inline uint32_t A5XX_VSC_PIPE_CONFIG_REG_H(uint32_t val)
215752260ae4SRob Clark {
215852260ae4SRob Clark 	return ((val) << A5XX_VSC_PIPE_CONFIG_REG_H__SHIFT) & A5XX_VSC_PIPE_CONFIG_REG_H__MASK;
215952260ae4SRob Clark }
216052260ae4SRob Clark 
REG_A5XX_VSC_PIPE_DATA_ADDRESS(uint32_t i0)216152260ae4SRob Clark static inline uint32_t REG_A5XX_VSC_PIPE_DATA_ADDRESS(uint32_t i0) { return 0x00000be0 + 0x2*i0; }
216252260ae4SRob Clark 
REG_A5XX_VSC_PIPE_DATA_ADDRESS_LO(uint32_t i0)216352260ae4SRob Clark static inline uint32_t REG_A5XX_VSC_PIPE_DATA_ADDRESS_LO(uint32_t i0) { return 0x00000be0 + 0x2*i0; }
216452260ae4SRob Clark 
REG_A5XX_VSC_PIPE_DATA_ADDRESS_HI(uint32_t i0)216552260ae4SRob Clark static inline uint32_t REG_A5XX_VSC_PIPE_DATA_ADDRESS_HI(uint32_t i0) { return 0x00000be1 + 0x2*i0; }
216652260ae4SRob Clark 
REG_A5XX_VSC_PIPE_DATA_LENGTH(uint32_t i0)216752260ae4SRob Clark static inline uint32_t REG_A5XX_VSC_PIPE_DATA_LENGTH(uint32_t i0) { return 0x00000c00 + 0x1*i0; }
216852260ae4SRob Clark 
REG_A5XX_VSC_PIPE_DATA_LENGTH_REG(uint32_t i0)216952260ae4SRob Clark static inline uint32_t REG_A5XX_VSC_PIPE_DATA_LENGTH_REG(uint32_t i0) { return 0x00000c00 + 0x1*i0; }
2170a26ae754SRob Clark 
2171a26ae754SRob Clark #define REG_A5XX_VSC_PERFCTR_VSC_SEL_0				0x00000c60
2172a26ae754SRob Clark 
2173a26ae754SRob Clark #define REG_A5XX_VSC_PERFCTR_VSC_SEL_1				0x00000c61
2174a26ae754SRob Clark 
217552260ae4SRob Clark #define REG_A5XX_VSC_RESOLVE_CNTL				0x00000cdd
217652260ae4SRob Clark #define A5XX_VSC_RESOLVE_CNTL_WINDOW_OFFSET_DISABLE		0x80000000
217752260ae4SRob Clark #define A5XX_VSC_RESOLVE_CNTL_X__MASK				0x00007fff
217852260ae4SRob Clark #define A5XX_VSC_RESOLVE_CNTL_X__SHIFT				0
A5XX_VSC_RESOLVE_CNTL_X(uint32_t val)217952260ae4SRob Clark static inline uint32_t A5XX_VSC_RESOLVE_CNTL_X(uint32_t val)
2180a26ae754SRob Clark {
218152260ae4SRob Clark 	return ((val) << A5XX_VSC_RESOLVE_CNTL_X__SHIFT) & A5XX_VSC_RESOLVE_CNTL_X__MASK;
2182a26ae754SRob Clark }
218352260ae4SRob Clark #define A5XX_VSC_RESOLVE_CNTL_Y__MASK				0x7fff0000
218452260ae4SRob Clark #define A5XX_VSC_RESOLVE_CNTL_Y__SHIFT				16
A5XX_VSC_RESOLVE_CNTL_Y(uint32_t val)218552260ae4SRob Clark static inline uint32_t A5XX_VSC_RESOLVE_CNTL_Y(uint32_t val)
2186a26ae754SRob Clark {
218752260ae4SRob Clark 	return ((val) << A5XX_VSC_RESOLVE_CNTL_Y__SHIFT) & A5XX_VSC_RESOLVE_CNTL_Y__MASK;
2188a26ae754SRob Clark }
2189a26ae754SRob Clark 
2190a26ae754SRob Clark #define REG_A5XX_GRAS_ADDR_MODE_CNTL				0x00000c81
2191a26ae754SRob Clark 
2192a26ae754SRob Clark #define REG_A5XX_GRAS_PERFCTR_TSE_SEL_0				0x00000c90
2193a26ae754SRob Clark 
2194a26ae754SRob Clark #define REG_A5XX_GRAS_PERFCTR_TSE_SEL_1				0x00000c91
2195a26ae754SRob Clark 
2196a26ae754SRob Clark #define REG_A5XX_GRAS_PERFCTR_TSE_SEL_2				0x00000c92
2197a26ae754SRob Clark 
2198a26ae754SRob Clark #define REG_A5XX_GRAS_PERFCTR_TSE_SEL_3				0x00000c93
2199a26ae754SRob Clark 
2200a26ae754SRob Clark #define REG_A5XX_GRAS_PERFCTR_RAS_SEL_0				0x00000c94
2201a26ae754SRob Clark 
2202a26ae754SRob Clark #define REG_A5XX_GRAS_PERFCTR_RAS_SEL_1				0x00000c95
2203a26ae754SRob Clark 
2204a26ae754SRob Clark #define REG_A5XX_GRAS_PERFCTR_RAS_SEL_2				0x00000c96
2205a26ae754SRob Clark 
2206a26ae754SRob Clark #define REG_A5XX_GRAS_PERFCTR_RAS_SEL_3				0x00000c97
2207a26ae754SRob Clark 
2208a26ae754SRob Clark #define REG_A5XX_GRAS_PERFCTR_LRZ_SEL_0				0x00000c98
2209a26ae754SRob Clark 
2210a26ae754SRob Clark #define REG_A5XX_GRAS_PERFCTR_LRZ_SEL_1				0x00000c99
2211a26ae754SRob Clark 
2212a26ae754SRob Clark #define REG_A5XX_GRAS_PERFCTR_LRZ_SEL_2				0x00000c9a
2213a26ae754SRob Clark 
2214a26ae754SRob Clark #define REG_A5XX_GRAS_PERFCTR_LRZ_SEL_3				0x00000c9b
2215a26ae754SRob Clark 
2216a26ae754SRob Clark #define REG_A5XX_RB_DBG_ECO_CNTL				0x00000cc4
2217a26ae754SRob Clark 
2218a26ae754SRob Clark #define REG_A5XX_RB_ADDR_MODE_CNTL				0x00000cc5
2219a26ae754SRob Clark 
2220a26ae754SRob Clark #define REG_A5XX_RB_MODE_CNTL					0x00000cc6
2221a26ae754SRob Clark 
2222a26ae754SRob Clark #define REG_A5XX_RB_CCU_CNTL					0x00000cc7
2223a26ae754SRob Clark 
2224a26ae754SRob Clark #define REG_A5XX_RB_PERFCTR_RB_SEL_0				0x00000cd0
2225a26ae754SRob Clark 
2226a26ae754SRob Clark #define REG_A5XX_RB_PERFCTR_RB_SEL_1				0x00000cd1
2227a26ae754SRob Clark 
2228a26ae754SRob Clark #define REG_A5XX_RB_PERFCTR_RB_SEL_2				0x00000cd2
2229a26ae754SRob Clark 
2230a26ae754SRob Clark #define REG_A5XX_RB_PERFCTR_RB_SEL_3				0x00000cd3
2231a26ae754SRob Clark 
2232a26ae754SRob Clark #define REG_A5XX_RB_PERFCTR_RB_SEL_4				0x00000cd4
2233a26ae754SRob Clark 
2234a26ae754SRob Clark #define REG_A5XX_RB_PERFCTR_RB_SEL_5				0x00000cd5
2235a26ae754SRob Clark 
2236a26ae754SRob Clark #define REG_A5XX_RB_PERFCTR_RB_SEL_6				0x00000cd6
2237a26ae754SRob Clark 
2238a26ae754SRob Clark #define REG_A5XX_RB_PERFCTR_RB_SEL_7				0x00000cd7
2239a26ae754SRob Clark 
2240a26ae754SRob Clark #define REG_A5XX_RB_PERFCTR_CCU_SEL_0				0x00000cd8
2241a26ae754SRob Clark 
2242a26ae754SRob Clark #define REG_A5XX_RB_PERFCTR_CCU_SEL_1				0x00000cd9
2243a26ae754SRob Clark 
2244a26ae754SRob Clark #define REG_A5XX_RB_PERFCTR_CCU_SEL_2				0x00000cda
2245a26ae754SRob Clark 
2246a26ae754SRob Clark #define REG_A5XX_RB_PERFCTR_CCU_SEL_3				0x00000cdb
2247a26ae754SRob Clark 
2248a26ae754SRob Clark #define REG_A5XX_RB_POWERCTR_RB_SEL_0				0x00000ce0
2249a26ae754SRob Clark 
2250a26ae754SRob Clark #define REG_A5XX_RB_POWERCTR_RB_SEL_1				0x00000ce1
2251a26ae754SRob Clark 
2252a26ae754SRob Clark #define REG_A5XX_RB_POWERCTR_RB_SEL_2				0x00000ce2
2253a26ae754SRob Clark 
2254a26ae754SRob Clark #define REG_A5XX_RB_POWERCTR_RB_SEL_3				0x00000ce3
2255a26ae754SRob Clark 
2256a26ae754SRob Clark #define REG_A5XX_RB_POWERCTR_CCU_SEL_0				0x00000ce4
2257a26ae754SRob Clark 
2258a26ae754SRob Clark #define REG_A5XX_RB_POWERCTR_CCU_SEL_1				0x00000ce5
2259a26ae754SRob Clark 
2260a26ae754SRob Clark #define REG_A5XX_RB_PERFCTR_CMP_SEL_0				0x00000cec
2261a26ae754SRob Clark 
2262a26ae754SRob Clark #define REG_A5XX_RB_PERFCTR_CMP_SEL_1				0x00000ced
2263a26ae754SRob Clark 
2264a26ae754SRob Clark #define REG_A5XX_RB_PERFCTR_CMP_SEL_2				0x00000cee
2265a26ae754SRob Clark 
2266a26ae754SRob Clark #define REG_A5XX_RB_PERFCTR_CMP_SEL_3				0x00000cef
2267a26ae754SRob Clark 
2268a26ae754SRob Clark #define REG_A5XX_PC_DBG_ECO_CNTL				0x00000d00
2269a26ae754SRob Clark #define A5XX_PC_DBG_ECO_CNTL_TWOPASSUSEWFI			0x00000100
2270a26ae754SRob Clark 
2271a26ae754SRob Clark #define REG_A5XX_PC_ADDR_MODE_CNTL				0x00000d01
2272a26ae754SRob Clark 
2273a26ae754SRob Clark #define REG_A5XX_PC_MODE_CNTL					0x00000d02
2274a26ae754SRob Clark 
22752d756322SRob Clark #define REG_A5XX_PC_INDEX_BUF_LO				0x00000d04
2276a26ae754SRob Clark 
22772d756322SRob Clark #define REG_A5XX_PC_INDEX_BUF_HI				0x00000d05
22782d756322SRob Clark 
22792d756322SRob Clark #define REG_A5XX_PC_START_INDEX					0x00000d06
22802d756322SRob Clark 
22812d756322SRob Clark #define REG_A5XX_PC_MAX_INDEX					0x00000d07
22822d756322SRob Clark 
22832d756322SRob Clark #define REG_A5XX_PC_TESSFACTOR_ADDR_LO				0x00000d08
22842d756322SRob Clark 
22852d756322SRob Clark #define REG_A5XX_PC_TESSFACTOR_ADDR_HI				0x00000d09
2286a26ae754SRob Clark 
2287a26ae754SRob Clark #define REG_A5XX_PC_PERFCTR_PC_SEL_0				0x00000d10
2288a26ae754SRob Clark 
2289a26ae754SRob Clark #define REG_A5XX_PC_PERFCTR_PC_SEL_1				0x00000d11
2290a26ae754SRob Clark 
2291a26ae754SRob Clark #define REG_A5XX_PC_PERFCTR_PC_SEL_2				0x00000d12
2292a26ae754SRob Clark 
2293a26ae754SRob Clark #define REG_A5XX_PC_PERFCTR_PC_SEL_3				0x00000d13
2294a26ae754SRob Clark 
2295a26ae754SRob Clark #define REG_A5XX_PC_PERFCTR_PC_SEL_4				0x00000d14
2296a26ae754SRob Clark 
2297a26ae754SRob Clark #define REG_A5XX_PC_PERFCTR_PC_SEL_5				0x00000d15
2298a26ae754SRob Clark 
2299a26ae754SRob Clark #define REG_A5XX_PC_PERFCTR_PC_SEL_6				0x00000d16
2300a26ae754SRob Clark 
2301a26ae754SRob Clark #define REG_A5XX_PC_PERFCTR_PC_SEL_7				0x00000d17
2302a26ae754SRob Clark 
2303a26ae754SRob Clark #define REG_A5XX_HLSQ_TIMEOUT_THRESHOLD_0			0x00000e00
2304a26ae754SRob Clark 
2305a26ae754SRob Clark #define REG_A5XX_HLSQ_TIMEOUT_THRESHOLD_1			0x00000e01
2306a26ae754SRob Clark 
2307370063eeSJeffrey Hugo #define REG_A5XX_HLSQ_DBG_ECO_CNTL				0x00000e04
2308370063eeSJeffrey Hugo 
2309a26ae754SRob Clark #define REG_A5XX_HLSQ_ADDR_MODE_CNTL				0x00000e05
2310a26ae754SRob Clark 
2311a26ae754SRob Clark #define REG_A5XX_HLSQ_MODE_CNTL					0x00000e06
2312a26ae754SRob Clark 
2313a26ae754SRob Clark #define REG_A5XX_HLSQ_PERFCTR_HLSQ_SEL_0			0x00000e10
2314a26ae754SRob Clark 
2315a26ae754SRob Clark #define REG_A5XX_HLSQ_PERFCTR_HLSQ_SEL_1			0x00000e11
2316a26ae754SRob Clark 
2317a26ae754SRob Clark #define REG_A5XX_HLSQ_PERFCTR_HLSQ_SEL_2			0x00000e12
2318a26ae754SRob Clark 
2319a26ae754SRob Clark #define REG_A5XX_HLSQ_PERFCTR_HLSQ_SEL_3			0x00000e13
2320a26ae754SRob Clark 
2321a26ae754SRob Clark #define REG_A5XX_HLSQ_PERFCTR_HLSQ_SEL_4			0x00000e14
2322a26ae754SRob Clark 
2323a26ae754SRob Clark #define REG_A5XX_HLSQ_PERFCTR_HLSQ_SEL_5			0x00000e15
2324a26ae754SRob Clark 
2325a26ae754SRob Clark #define REG_A5XX_HLSQ_PERFCTR_HLSQ_SEL_6			0x00000e16
2326a26ae754SRob Clark 
2327a26ae754SRob Clark #define REG_A5XX_HLSQ_PERFCTR_HLSQ_SEL_7			0x00000e17
2328a26ae754SRob Clark 
2329a26ae754SRob Clark #define REG_A5XX_HLSQ_SPTP_RDSEL				0x00000f08
2330a26ae754SRob Clark 
2331a26ae754SRob Clark #define REG_A5XX_HLSQ_DBG_READ_SEL				0x0000bc00
2332a26ae754SRob Clark 
2333a26ae754SRob Clark #define REG_A5XX_HLSQ_DBG_AHB_READ_APERTURE			0x0000a000
2334a26ae754SRob Clark 
2335a26ae754SRob Clark #define REG_A5XX_VFD_ADDR_MODE_CNTL				0x00000e41
2336a26ae754SRob Clark 
2337a26ae754SRob Clark #define REG_A5XX_VFD_MODE_CNTL					0x00000e42
2338a26ae754SRob Clark 
2339a26ae754SRob Clark #define REG_A5XX_VFD_PERFCTR_VFD_SEL_0				0x00000e50
2340a26ae754SRob Clark 
2341a26ae754SRob Clark #define REG_A5XX_VFD_PERFCTR_VFD_SEL_1				0x00000e51
2342a26ae754SRob Clark 
2343a26ae754SRob Clark #define REG_A5XX_VFD_PERFCTR_VFD_SEL_2				0x00000e52
2344a26ae754SRob Clark 
2345a26ae754SRob Clark #define REG_A5XX_VFD_PERFCTR_VFD_SEL_3				0x00000e53
2346a26ae754SRob Clark 
2347a26ae754SRob Clark #define REG_A5XX_VFD_PERFCTR_VFD_SEL_4				0x00000e54
2348a26ae754SRob Clark 
2349a26ae754SRob Clark #define REG_A5XX_VFD_PERFCTR_VFD_SEL_5				0x00000e55
2350a26ae754SRob Clark 
2351a26ae754SRob Clark #define REG_A5XX_VFD_PERFCTR_VFD_SEL_6				0x00000e56
2352a26ae754SRob Clark 
2353a26ae754SRob Clark #define REG_A5XX_VFD_PERFCTR_VFD_SEL_7				0x00000e57
2354a26ae754SRob Clark 
2355a26ae754SRob Clark #define REG_A5XX_VPC_DBG_ECO_CNTL				0x00000e60
2356cc4c26d4SRob Clark #define A5XX_VPC_DBG_ECO_CNTL_ALLFLATOPTDIS			0x00000400
2357a26ae754SRob Clark 
2358a26ae754SRob Clark #define REG_A5XX_VPC_ADDR_MODE_CNTL				0x00000e61
2359a26ae754SRob Clark 
2360a26ae754SRob Clark #define REG_A5XX_VPC_MODE_CNTL					0x00000e62
236152260ae4SRob Clark #define A5XX_VPC_MODE_CNTL_BINNING_PASS				0x00000001
2362a26ae754SRob Clark 
2363a26ae754SRob Clark #define REG_A5XX_VPC_PERFCTR_VPC_SEL_0				0x00000e64
2364a26ae754SRob Clark 
2365a26ae754SRob Clark #define REG_A5XX_VPC_PERFCTR_VPC_SEL_1				0x00000e65
2366a26ae754SRob Clark 
2367a26ae754SRob Clark #define REG_A5XX_VPC_PERFCTR_VPC_SEL_2				0x00000e66
2368a26ae754SRob Clark 
2369a26ae754SRob Clark #define REG_A5XX_VPC_PERFCTR_VPC_SEL_3				0x00000e67
2370a26ae754SRob Clark 
2371a26ae754SRob Clark #define REG_A5XX_UCHE_ADDR_MODE_CNTL				0x00000e80
2372a26ae754SRob Clark 
23733f2bc385SKonrad Dybcio #define REG_A5XX_UCHE_MODE_CNTL					0x00000e81
23743f2bc385SKonrad Dybcio 
2375a26ae754SRob Clark #define REG_A5XX_UCHE_SVM_CNTL					0x00000e82
2376a26ae754SRob Clark 
2377a26ae754SRob Clark #define REG_A5XX_UCHE_WRITE_THRU_BASE_LO			0x00000e87
2378a26ae754SRob Clark 
2379a26ae754SRob Clark #define REG_A5XX_UCHE_WRITE_THRU_BASE_HI			0x00000e88
2380a26ae754SRob Clark 
2381a26ae754SRob Clark #define REG_A5XX_UCHE_TRAP_BASE_LO				0x00000e89
2382a26ae754SRob Clark 
2383a26ae754SRob Clark #define REG_A5XX_UCHE_TRAP_BASE_HI				0x00000e8a
2384a26ae754SRob Clark 
2385a26ae754SRob Clark #define REG_A5XX_UCHE_GMEM_RANGE_MIN_LO				0x00000e8b
2386a26ae754SRob Clark 
2387a26ae754SRob Clark #define REG_A5XX_UCHE_GMEM_RANGE_MIN_HI				0x00000e8c
2388a26ae754SRob Clark 
2389a26ae754SRob Clark #define REG_A5XX_UCHE_GMEM_RANGE_MAX_LO				0x00000e8d
2390a26ae754SRob Clark 
2391a26ae754SRob Clark #define REG_A5XX_UCHE_GMEM_RANGE_MAX_HI				0x00000e8e
2392a26ae754SRob Clark 
2393a26ae754SRob Clark #define REG_A5XX_UCHE_DBG_ECO_CNTL_2				0x00000e8f
2394a26ae754SRob Clark 
2395a26ae754SRob Clark #define REG_A5XX_UCHE_DBG_ECO_CNTL				0x00000e90
2396a26ae754SRob Clark 
2397a26ae754SRob Clark #define REG_A5XX_UCHE_CACHE_INVALIDATE_MIN_LO			0x00000e91
2398a26ae754SRob Clark 
2399a26ae754SRob Clark #define REG_A5XX_UCHE_CACHE_INVALIDATE_MIN_HI			0x00000e92
2400a26ae754SRob Clark 
2401a26ae754SRob Clark #define REG_A5XX_UCHE_CACHE_INVALIDATE_MAX_LO			0x00000e93
2402a26ae754SRob Clark 
2403a26ae754SRob Clark #define REG_A5XX_UCHE_CACHE_INVALIDATE_MAX_HI			0x00000e94
2404a26ae754SRob Clark 
2405a26ae754SRob Clark #define REG_A5XX_UCHE_CACHE_INVALIDATE				0x00000e95
2406a26ae754SRob Clark 
2407a26ae754SRob Clark #define REG_A5XX_UCHE_CACHE_WAYS				0x00000e96
2408a26ae754SRob Clark 
2409a26ae754SRob Clark #define REG_A5XX_UCHE_PERFCTR_UCHE_SEL_0			0x00000ea0
2410a26ae754SRob Clark 
2411a26ae754SRob Clark #define REG_A5XX_UCHE_PERFCTR_UCHE_SEL_1			0x00000ea1
2412a26ae754SRob Clark 
2413a26ae754SRob Clark #define REG_A5XX_UCHE_PERFCTR_UCHE_SEL_2			0x00000ea2
2414a26ae754SRob Clark 
2415a26ae754SRob Clark #define REG_A5XX_UCHE_PERFCTR_UCHE_SEL_3			0x00000ea3
2416a26ae754SRob Clark 
2417a26ae754SRob Clark #define REG_A5XX_UCHE_PERFCTR_UCHE_SEL_4			0x00000ea4
2418a26ae754SRob Clark 
2419a26ae754SRob Clark #define REG_A5XX_UCHE_PERFCTR_UCHE_SEL_5			0x00000ea5
2420a26ae754SRob Clark 
2421a26ae754SRob Clark #define REG_A5XX_UCHE_PERFCTR_UCHE_SEL_6			0x00000ea6
2422a26ae754SRob Clark 
2423a26ae754SRob Clark #define REG_A5XX_UCHE_PERFCTR_UCHE_SEL_7			0x00000ea7
2424a26ae754SRob Clark 
2425a26ae754SRob Clark #define REG_A5XX_UCHE_POWERCTR_UCHE_SEL_0			0x00000ea8
2426a26ae754SRob Clark 
2427a26ae754SRob Clark #define REG_A5XX_UCHE_POWERCTR_UCHE_SEL_1			0x00000ea9
2428a26ae754SRob Clark 
2429a26ae754SRob Clark #define REG_A5XX_UCHE_POWERCTR_UCHE_SEL_2			0x00000eaa
2430a26ae754SRob Clark 
2431a26ae754SRob Clark #define REG_A5XX_UCHE_POWERCTR_UCHE_SEL_3			0x00000eab
2432a26ae754SRob Clark 
2433a26ae754SRob Clark #define REG_A5XX_UCHE_TRAP_LOG_LO				0x00000eb1
2434a26ae754SRob Clark 
2435a26ae754SRob Clark #define REG_A5XX_UCHE_TRAP_LOG_HI				0x00000eb2
2436a26ae754SRob Clark 
2437a26ae754SRob Clark #define REG_A5XX_SP_DBG_ECO_CNTL				0x00000ec0
2438a26ae754SRob Clark 
2439a26ae754SRob Clark #define REG_A5XX_SP_ADDR_MODE_CNTL				0x00000ec1
2440a26ae754SRob Clark 
2441a26ae754SRob Clark #define REG_A5XX_SP_MODE_CNTL					0x00000ec2
2442a26ae754SRob Clark 
2443a26ae754SRob Clark #define REG_A5XX_SP_PERFCTR_SP_SEL_0				0x00000ed0
2444a26ae754SRob Clark 
2445a26ae754SRob Clark #define REG_A5XX_SP_PERFCTR_SP_SEL_1				0x00000ed1
2446a26ae754SRob Clark 
2447a26ae754SRob Clark #define REG_A5XX_SP_PERFCTR_SP_SEL_2				0x00000ed2
2448a26ae754SRob Clark 
2449a26ae754SRob Clark #define REG_A5XX_SP_PERFCTR_SP_SEL_3				0x00000ed3
2450a26ae754SRob Clark 
2451a26ae754SRob Clark #define REG_A5XX_SP_PERFCTR_SP_SEL_4				0x00000ed4
2452a26ae754SRob Clark 
2453a26ae754SRob Clark #define REG_A5XX_SP_PERFCTR_SP_SEL_5				0x00000ed5
2454a26ae754SRob Clark 
2455a26ae754SRob Clark #define REG_A5XX_SP_PERFCTR_SP_SEL_6				0x00000ed6
2456a26ae754SRob Clark 
2457a26ae754SRob Clark #define REG_A5XX_SP_PERFCTR_SP_SEL_7				0x00000ed7
2458a26ae754SRob Clark 
2459a26ae754SRob Clark #define REG_A5XX_SP_PERFCTR_SP_SEL_8				0x00000ed8
2460a26ae754SRob Clark 
2461a26ae754SRob Clark #define REG_A5XX_SP_PERFCTR_SP_SEL_9				0x00000ed9
2462a26ae754SRob Clark 
2463a26ae754SRob Clark #define REG_A5XX_SP_PERFCTR_SP_SEL_10				0x00000eda
2464a26ae754SRob Clark 
2465a26ae754SRob Clark #define REG_A5XX_SP_PERFCTR_SP_SEL_11				0x00000edb
2466a26ae754SRob Clark 
2467a26ae754SRob Clark #define REG_A5XX_SP_POWERCTR_SP_SEL_0				0x00000edc
2468a26ae754SRob Clark 
2469a26ae754SRob Clark #define REG_A5XX_SP_POWERCTR_SP_SEL_1				0x00000edd
2470a26ae754SRob Clark 
2471a26ae754SRob Clark #define REG_A5XX_SP_POWERCTR_SP_SEL_2				0x00000ede
2472a26ae754SRob Clark 
2473a26ae754SRob Clark #define REG_A5XX_SP_POWERCTR_SP_SEL_3				0x00000edf
2474a26ae754SRob Clark 
2475a26ae754SRob Clark #define REG_A5XX_TPL1_ADDR_MODE_CNTL				0x00000f01
2476a26ae754SRob Clark 
2477a26ae754SRob Clark #define REG_A5XX_TPL1_MODE_CNTL					0x00000f02
2478a26ae754SRob Clark 
2479a26ae754SRob Clark #define REG_A5XX_TPL1_PERFCTR_TP_SEL_0				0x00000f10
2480a26ae754SRob Clark 
2481a26ae754SRob Clark #define REG_A5XX_TPL1_PERFCTR_TP_SEL_1				0x00000f11
2482a26ae754SRob Clark 
2483a26ae754SRob Clark #define REG_A5XX_TPL1_PERFCTR_TP_SEL_2				0x00000f12
2484a26ae754SRob Clark 
2485a26ae754SRob Clark #define REG_A5XX_TPL1_PERFCTR_TP_SEL_3				0x00000f13
2486a26ae754SRob Clark 
2487a26ae754SRob Clark #define REG_A5XX_TPL1_PERFCTR_TP_SEL_4				0x00000f14
2488a26ae754SRob Clark 
2489a26ae754SRob Clark #define REG_A5XX_TPL1_PERFCTR_TP_SEL_5				0x00000f15
2490a26ae754SRob Clark 
2491a26ae754SRob Clark #define REG_A5XX_TPL1_PERFCTR_TP_SEL_6				0x00000f16
2492a26ae754SRob Clark 
2493a26ae754SRob Clark #define REG_A5XX_TPL1_PERFCTR_TP_SEL_7				0x00000f17
2494a26ae754SRob Clark 
2495a26ae754SRob Clark #define REG_A5XX_TPL1_POWERCTR_TP_SEL_0				0x00000f18
2496a26ae754SRob Clark 
2497a26ae754SRob Clark #define REG_A5XX_TPL1_POWERCTR_TP_SEL_1				0x00000f19
2498a26ae754SRob Clark 
2499a26ae754SRob Clark #define REG_A5XX_TPL1_POWERCTR_TP_SEL_2				0x00000f1a
2500a26ae754SRob Clark 
2501a26ae754SRob Clark #define REG_A5XX_TPL1_POWERCTR_TP_SEL_3				0x00000f1b
2502a26ae754SRob Clark 
2503a26ae754SRob Clark #define REG_A5XX_VBIF_VERSION					0x00003000
2504a26ae754SRob Clark 
2505a26ae754SRob Clark #define REG_A5XX_VBIF_CLKON					0x00003001
2506a26ae754SRob Clark 
2507a26ae754SRob Clark #define REG_A5XX_VBIF_ABIT_SORT					0x00003028
2508a26ae754SRob Clark 
2509a26ae754SRob Clark #define REG_A5XX_VBIF_ABIT_SORT_CONF				0x00003029
2510a26ae754SRob Clark 
2511a26ae754SRob Clark #define REG_A5XX_VBIF_ROUND_ROBIN_QOS_ARB			0x00003049
2512a26ae754SRob Clark 
2513a26ae754SRob Clark #define REG_A5XX_VBIF_GATE_OFF_WRREQ_EN				0x0000302a
2514a26ae754SRob Clark 
2515a26ae754SRob Clark #define REG_A5XX_VBIF_IN_RD_LIM_CONF0				0x0000302c
2516a26ae754SRob Clark 
2517a26ae754SRob Clark #define REG_A5XX_VBIF_IN_RD_LIM_CONF1				0x0000302d
2518a26ae754SRob Clark 
2519a26ae754SRob Clark #define REG_A5XX_VBIF_XIN_HALT_CTRL0				0x00003080
2520a26ae754SRob Clark 
2521a26ae754SRob Clark #define REG_A5XX_VBIF_XIN_HALT_CTRL1				0x00003081
2522a26ae754SRob Clark 
2523a26ae754SRob Clark #define REG_A5XX_VBIF_TEST_BUS_OUT_CTRL				0x00003084
2524a26ae754SRob Clark 
2525a26ae754SRob Clark #define REG_A5XX_VBIF_TEST_BUS1_CTRL0				0x00003085
2526a26ae754SRob Clark 
2527a26ae754SRob Clark #define REG_A5XX_VBIF_TEST_BUS1_CTRL1				0x00003086
2528a26ae754SRob Clark 
2529a26ae754SRob Clark #define REG_A5XX_VBIF_TEST_BUS2_CTRL0				0x00003087
2530a26ae754SRob Clark 
2531a26ae754SRob Clark #define REG_A5XX_VBIF_TEST_BUS2_CTRL1				0x00003088
2532a26ae754SRob Clark 
2533a26ae754SRob Clark #define REG_A5XX_VBIF_TEST_BUS_OUT				0x0000308c
2534a26ae754SRob Clark 
253552260ae4SRob Clark #define REG_A5XX_VBIF_PERF_CNT_EN0				0x000030c0
253652260ae4SRob Clark 
253752260ae4SRob Clark #define REG_A5XX_VBIF_PERF_CNT_EN1				0x000030c1
253852260ae4SRob Clark 
253952260ae4SRob Clark #define REG_A5XX_VBIF_PERF_CNT_EN2				0x000030c2
254052260ae4SRob Clark 
254152260ae4SRob Clark #define REG_A5XX_VBIF_PERF_CNT_EN3				0x000030c3
254252260ae4SRob Clark 
25432d756322SRob Clark #define REG_A5XX_VBIF_PERF_CNT_CLR0				0x000030c8
25442d756322SRob Clark 
25452d756322SRob Clark #define REG_A5XX_VBIF_PERF_CNT_CLR1				0x000030c9
25462d756322SRob Clark 
25472d756322SRob Clark #define REG_A5XX_VBIF_PERF_CNT_CLR2				0x000030ca
25482d756322SRob Clark 
25492d756322SRob Clark #define REG_A5XX_VBIF_PERF_CNT_CLR3				0x000030cb
25502d756322SRob Clark 
2551a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_CNT_SEL0				0x000030d0
2552a26ae754SRob Clark 
2553a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_CNT_SEL1				0x000030d1
2554a26ae754SRob Clark 
2555a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_CNT_SEL2				0x000030d2
2556a26ae754SRob Clark 
2557a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_CNT_SEL3				0x000030d3
2558a26ae754SRob Clark 
2559a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_CNT_LOW0				0x000030d8
2560a26ae754SRob Clark 
2561a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_CNT_LOW1				0x000030d9
2562a26ae754SRob Clark 
2563a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_CNT_LOW2				0x000030da
2564a26ae754SRob Clark 
2565a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_CNT_LOW3				0x000030db
2566a26ae754SRob Clark 
2567a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_CNT_HIGH0				0x000030e0
2568a26ae754SRob Clark 
2569a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_CNT_HIGH1				0x000030e1
2570a26ae754SRob Clark 
2571a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_CNT_HIGH2				0x000030e2
2572a26ae754SRob Clark 
2573a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_CNT_HIGH3				0x000030e3
2574a26ae754SRob Clark 
2575a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_PWR_CNT_EN0				0x00003100
2576a26ae754SRob Clark 
2577a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_PWR_CNT_EN1				0x00003101
2578a26ae754SRob Clark 
2579a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_PWR_CNT_EN2				0x00003102
2580a26ae754SRob Clark 
2581a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_PWR_CNT_LOW0				0x00003110
2582a26ae754SRob Clark 
2583a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_PWR_CNT_LOW1				0x00003111
2584a26ae754SRob Clark 
2585a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_PWR_CNT_LOW2				0x00003112
2586a26ae754SRob Clark 
2587a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_PWR_CNT_HIGH0			0x00003118
2588a26ae754SRob Clark 
2589a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_PWR_CNT_HIGH1			0x00003119
2590a26ae754SRob Clark 
2591a26ae754SRob Clark #define REG_A5XX_VBIF_PERF_PWR_CNT_HIGH2			0x0000311a
2592a26ae754SRob Clark 
2593a26ae754SRob Clark #define REG_A5XX_GPMU_INST_RAM_BASE				0x00008800
2594a26ae754SRob Clark 
2595a26ae754SRob Clark #define REG_A5XX_GPMU_DATA_RAM_BASE				0x00009800
2596a26ae754SRob Clark 
2597a26ae754SRob Clark #define REG_A5XX_GPMU_SP_POWER_CNTL				0x0000a881
2598a26ae754SRob Clark 
2599a26ae754SRob Clark #define REG_A5XX_GPMU_RBCCU_CLOCK_CNTL				0x0000a886
2600a26ae754SRob Clark 
2601a26ae754SRob Clark #define REG_A5XX_GPMU_RBCCU_POWER_CNTL				0x0000a887
2602a26ae754SRob Clark 
2603a26ae754SRob Clark #define REG_A5XX_GPMU_SP_PWR_CLK_STATUS				0x0000a88b
2604a26ae754SRob Clark #define A5XX_GPMU_SP_PWR_CLK_STATUS_PWR_ON			0x00100000
2605a26ae754SRob Clark 
2606a26ae754SRob Clark #define REG_A5XX_GPMU_RBCCU_PWR_CLK_STATUS			0x0000a88d
2607a26ae754SRob Clark #define A5XX_GPMU_RBCCU_PWR_CLK_STATUS_PWR_ON			0x00100000
2608a26ae754SRob Clark 
2609a26ae754SRob Clark #define REG_A5XX_GPMU_PWR_COL_STAGGER_DELAY			0x0000a891
2610a26ae754SRob Clark 
2611a26ae754SRob Clark #define REG_A5XX_GPMU_PWR_COL_INTER_FRAME_CTRL			0x0000a892
2612a26ae754SRob Clark 
2613a26ae754SRob Clark #define REG_A5XX_GPMU_PWR_COL_INTER_FRAME_HYST			0x0000a893
2614a26ae754SRob Clark 
2615a26ae754SRob Clark #define REG_A5XX_GPMU_PWR_COL_BINNING_CTRL			0x0000a894
2616a26ae754SRob Clark 
2617a26ae754SRob Clark #define REG_A5XX_GPMU_WFI_CONFIG				0x0000a8c1
2618a26ae754SRob Clark 
2619a26ae754SRob Clark #define REG_A5XX_GPMU_RBBM_INTR_INFO				0x0000a8d6
2620a26ae754SRob Clark 
2621a26ae754SRob Clark #define REG_A5XX_GPMU_CM3_SYSRESET				0x0000a8d8
2622a26ae754SRob Clark 
2623a26ae754SRob Clark #define REG_A5XX_GPMU_GENERAL_0					0x0000a8e0
2624a26ae754SRob Clark 
2625a26ae754SRob Clark #define REG_A5XX_GPMU_GENERAL_1					0x0000a8e1
2626a26ae754SRob Clark 
2627a26ae754SRob Clark #define REG_A5XX_SP_POWER_COUNTER_0_LO				0x0000a840
2628a26ae754SRob Clark 
2629a26ae754SRob Clark #define REG_A5XX_SP_POWER_COUNTER_0_HI				0x0000a841
2630a26ae754SRob Clark 
2631a26ae754SRob Clark #define REG_A5XX_SP_POWER_COUNTER_1_LO				0x0000a842
2632a26ae754SRob Clark 
2633a26ae754SRob Clark #define REG_A5XX_SP_POWER_COUNTER_1_HI				0x0000a843
2634a26ae754SRob Clark 
2635a26ae754SRob Clark #define REG_A5XX_SP_POWER_COUNTER_2_LO				0x0000a844
2636a26ae754SRob Clark 
2637a26ae754SRob Clark #define REG_A5XX_SP_POWER_COUNTER_2_HI				0x0000a845
2638a26ae754SRob Clark 
2639a26ae754SRob Clark #define REG_A5XX_SP_POWER_COUNTER_3_LO				0x0000a846
2640a26ae754SRob Clark 
2641a26ae754SRob Clark #define REG_A5XX_SP_POWER_COUNTER_3_HI				0x0000a847
2642a26ae754SRob Clark 
2643a26ae754SRob Clark #define REG_A5XX_TP_POWER_COUNTER_0_LO				0x0000a848
2644a26ae754SRob Clark 
2645a26ae754SRob Clark #define REG_A5XX_TP_POWER_COUNTER_0_HI				0x0000a849
2646a26ae754SRob Clark 
2647a26ae754SRob Clark #define REG_A5XX_TP_POWER_COUNTER_1_LO				0x0000a84a
2648a26ae754SRob Clark 
2649a26ae754SRob Clark #define REG_A5XX_TP_POWER_COUNTER_1_HI				0x0000a84b
2650a26ae754SRob Clark 
2651a26ae754SRob Clark #define REG_A5XX_TP_POWER_COUNTER_2_LO				0x0000a84c
2652a26ae754SRob Clark 
2653a26ae754SRob Clark #define REG_A5XX_TP_POWER_COUNTER_2_HI				0x0000a84d
2654a26ae754SRob Clark 
2655a26ae754SRob Clark #define REG_A5XX_TP_POWER_COUNTER_3_LO				0x0000a84e
2656a26ae754SRob Clark 
2657a26ae754SRob Clark #define REG_A5XX_TP_POWER_COUNTER_3_HI				0x0000a84f
2658a26ae754SRob Clark 
2659a26ae754SRob Clark #define REG_A5XX_RB_POWER_COUNTER_0_LO				0x0000a850
2660a26ae754SRob Clark 
2661a26ae754SRob Clark #define REG_A5XX_RB_POWER_COUNTER_0_HI				0x0000a851
2662a26ae754SRob Clark 
2663a26ae754SRob Clark #define REG_A5XX_RB_POWER_COUNTER_1_LO				0x0000a852
2664a26ae754SRob Clark 
2665a26ae754SRob Clark #define REG_A5XX_RB_POWER_COUNTER_1_HI				0x0000a853
2666a26ae754SRob Clark 
2667a26ae754SRob Clark #define REG_A5XX_RB_POWER_COUNTER_2_LO				0x0000a854
2668a26ae754SRob Clark 
2669a26ae754SRob Clark #define REG_A5XX_RB_POWER_COUNTER_2_HI				0x0000a855
2670a26ae754SRob Clark 
2671a26ae754SRob Clark #define REG_A5XX_RB_POWER_COUNTER_3_LO				0x0000a856
2672a26ae754SRob Clark 
2673a26ae754SRob Clark #define REG_A5XX_RB_POWER_COUNTER_3_HI				0x0000a857
2674a26ae754SRob Clark 
2675a26ae754SRob Clark #define REG_A5XX_CCU_POWER_COUNTER_0_LO				0x0000a858
2676a26ae754SRob Clark 
2677a26ae754SRob Clark #define REG_A5XX_CCU_POWER_COUNTER_0_HI				0x0000a859
2678a26ae754SRob Clark 
2679a26ae754SRob Clark #define REG_A5XX_CCU_POWER_COUNTER_1_LO				0x0000a85a
2680a26ae754SRob Clark 
2681a26ae754SRob Clark #define REG_A5XX_CCU_POWER_COUNTER_1_HI				0x0000a85b
2682a26ae754SRob Clark 
2683a26ae754SRob Clark #define REG_A5XX_UCHE_POWER_COUNTER_0_LO			0x0000a85c
2684a26ae754SRob Clark 
2685a26ae754SRob Clark #define REG_A5XX_UCHE_POWER_COUNTER_0_HI			0x0000a85d
2686a26ae754SRob Clark 
2687a26ae754SRob Clark #define REG_A5XX_UCHE_POWER_COUNTER_1_LO			0x0000a85e
2688a26ae754SRob Clark 
2689a26ae754SRob Clark #define REG_A5XX_UCHE_POWER_COUNTER_1_HI			0x0000a85f
2690a26ae754SRob Clark 
2691a26ae754SRob Clark #define REG_A5XX_UCHE_POWER_COUNTER_2_LO			0x0000a860
2692a26ae754SRob Clark 
2693a26ae754SRob Clark #define REG_A5XX_UCHE_POWER_COUNTER_2_HI			0x0000a861
2694a26ae754SRob Clark 
2695a26ae754SRob Clark #define REG_A5XX_UCHE_POWER_COUNTER_3_LO			0x0000a862
2696a26ae754SRob Clark 
2697a26ae754SRob Clark #define REG_A5XX_UCHE_POWER_COUNTER_3_HI			0x0000a863
2698a26ae754SRob Clark 
2699a26ae754SRob Clark #define REG_A5XX_CP_POWER_COUNTER_0_LO				0x0000a864
2700a26ae754SRob Clark 
2701a26ae754SRob Clark #define REG_A5XX_CP_POWER_COUNTER_0_HI				0x0000a865
2702a26ae754SRob Clark 
2703a26ae754SRob Clark #define REG_A5XX_CP_POWER_COUNTER_1_LO				0x0000a866
2704a26ae754SRob Clark 
2705a26ae754SRob Clark #define REG_A5XX_CP_POWER_COUNTER_1_HI				0x0000a867
2706a26ae754SRob Clark 
2707a26ae754SRob Clark #define REG_A5XX_CP_POWER_COUNTER_2_LO				0x0000a868
2708a26ae754SRob Clark 
2709a26ae754SRob Clark #define REG_A5XX_CP_POWER_COUNTER_2_HI				0x0000a869
2710a26ae754SRob Clark 
2711a26ae754SRob Clark #define REG_A5XX_CP_POWER_COUNTER_3_LO				0x0000a86a
2712a26ae754SRob Clark 
2713a26ae754SRob Clark #define REG_A5XX_CP_POWER_COUNTER_3_HI				0x0000a86b
2714a26ae754SRob Clark 
2715a26ae754SRob Clark #define REG_A5XX_GPMU_POWER_COUNTER_0_LO			0x0000a86c
2716a26ae754SRob Clark 
2717a26ae754SRob Clark #define REG_A5XX_GPMU_POWER_COUNTER_0_HI			0x0000a86d
2718a26ae754SRob Clark 
2719a26ae754SRob Clark #define REG_A5XX_GPMU_POWER_COUNTER_1_LO			0x0000a86e
2720a26ae754SRob Clark 
2721a26ae754SRob Clark #define REG_A5XX_GPMU_POWER_COUNTER_1_HI			0x0000a86f
2722a26ae754SRob Clark 
2723a26ae754SRob Clark #define REG_A5XX_GPMU_POWER_COUNTER_2_LO			0x0000a870
2724a26ae754SRob Clark 
2725a26ae754SRob Clark #define REG_A5XX_GPMU_POWER_COUNTER_2_HI			0x0000a871
2726a26ae754SRob Clark 
2727a26ae754SRob Clark #define REG_A5XX_GPMU_POWER_COUNTER_3_LO			0x0000a872
2728a26ae754SRob Clark 
2729a26ae754SRob Clark #define REG_A5XX_GPMU_POWER_COUNTER_3_HI			0x0000a873
2730a26ae754SRob Clark 
2731a26ae754SRob Clark #define REG_A5XX_GPMU_POWER_COUNTER_4_LO			0x0000a874
2732a26ae754SRob Clark 
2733a26ae754SRob Clark #define REG_A5XX_GPMU_POWER_COUNTER_4_HI			0x0000a875
2734a26ae754SRob Clark 
2735a26ae754SRob Clark #define REG_A5XX_GPMU_POWER_COUNTER_5_LO			0x0000a876
2736a26ae754SRob Clark 
2737a26ae754SRob Clark #define REG_A5XX_GPMU_POWER_COUNTER_5_HI			0x0000a877
2738a26ae754SRob Clark 
2739a26ae754SRob Clark #define REG_A5XX_GPMU_POWER_COUNTER_ENABLE			0x0000a878
2740a26ae754SRob Clark 
2741a26ae754SRob Clark #define REG_A5XX_GPMU_ALWAYS_ON_COUNTER_LO			0x0000a879
2742a26ae754SRob Clark 
2743a26ae754SRob Clark #define REG_A5XX_GPMU_ALWAYS_ON_COUNTER_HI			0x0000a87a
2744a26ae754SRob Clark 
2745a26ae754SRob Clark #define REG_A5XX_GPMU_ALWAYS_ON_COUNTER_RESET			0x0000a87b
2746a26ae754SRob Clark 
2747a26ae754SRob Clark #define REG_A5XX_GPMU_POWER_COUNTER_SELECT_0			0x0000a87c
2748a26ae754SRob Clark 
2749a26ae754SRob Clark #define REG_A5XX_GPMU_POWER_COUNTER_SELECT_1			0x0000a87d
2750a26ae754SRob Clark 
2751a26ae754SRob Clark #define REG_A5XX_GPMU_CLOCK_THROTTLE_CTRL			0x0000a8a3
2752a26ae754SRob Clark 
2753a26ae754SRob Clark #define REG_A5XX_GPMU_THROTTLE_UNMASK_FORCE_CTRL		0x0000a8a8
2754a26ae754SRob Clark 
2755a26ae754SRob Clark #define REG_A5XX_GPMU_TEMP_SENSOR_ID				0x0000ac00
2756a26ae754SRob Clark 
2757a26ae754SRob Clark #define REG_A5XX_GPMU_TEMP_SENSOR_CONFIG			0x0000ac01
2758a26ae754SRob Clark 
2759a26ae754SRob Clark #define REG_A5XX_GPMU_TEMP_VAL					0x0000ac02
2760a26ae754SRob Clark 
2761a26ae754SRob Clark #define REG_A5XX_GPMU_DELTA_TEMP_THRESHOLD			0x0000ac03
2762a26ae754SRob Clark 
2763a26ae754SRob Clark #define REG_A5XX_GPMU_TEMP_THRESHOLD_INTR_STATUS		0x0000ac05
2764a26ae754SRob Clark 
2765a26ae754SRob Clark #define REG_A5XX_GPMU_TEMP_THRESHOLD_INTR_EN_MASK		0x0000ac06
2766a26ae754SRob Clark 
2767a26ae754SRob Clark #define REG_A5XX_GPMU_LEAKAGE_TEMP_COEFF_0_1			0x0000ac40
2768a26ae754SRob Clark 
2769a26ae754SRob Clark #define REG_A5XX_GPMU_LEAKAGE_TEMP_COEFF_2_3			0x0000ac41
2770a26ae754SRob Clark 
2771a26ae754SRob Clark #define REG_A5XX_GPMU_LEAKAGE_VTG_COEFF_0_1			0x0000ac42
2772a26ae754SRob Clark 
2773a26ae754SRob Clark #define REG_A5XX_GPMU_LEAKAGE_VTG_COEFF_2_3			0x0000ac43
2774a26ae754SRob Clark 
2775a26ae754SRob Clark #define REG_A5XX_GPMU_BASE_LEAKAGE				0x0000ac46
2776a26ae754SRob Clark 
2777a26ae754SRob Clark #define REG_A5XX_GPMU_GPMU_VOLTAGE				0x0000ac60
2778a26ae754SRob Clark 
2779a26ae754SRob Clark #define REG_A5XX_GPMU_GPMU_VOLTAGE_INTR_STATUS			0x0000ac61
2780a26ae754SRob Clark 
2781a26ae754SRob Clark #define REG_A5XX_GPMU_GPMU_VOLTAGE_INTR_EN_MASK			0x0000ac62
2782a26ae754SRob Clark 
2783a26ae754SRob Clark #define REG_A5XX_GPMU_GPMU_PWR_THRESHOLD			0x0000ac80
2784a26ae754SRob Clark 
2785a26ae754SRob Clark #define REG_A5XX_GPMU_GPMU_LLM_GLM_SLEEP_CTRL			0x0000acc4
2786a26ae754SRob Clark 
2787a26ae754SRob Clark #define REG_A5XX_GPMU_GPMU_LLM_GLM_SLEEP_STATUS			0x0000acc5
2788a26ae754SRob Clark 
2789a26ae754SRob Clark #define REG_A5XX_GDPM_CONFIG1					0x0000b80c
2790a26ae754SRob Clark 
2791a26ae754SRob Clark #define REG_A5XX_GDPM_CONFIG2					0x0000b80d
2792a26ae754SRob Clark 
2793a26ae754SRob Clark #define REG_A5XX_GDPM_INT_EN					0x0000b80f
2794a26ae754SRob Clark 
2795a26ae754SRob Clark #define REG_A5XX_GDPM_INT_MASK					0x0000b811
2796a26ae754SRob Clark 
2797a26ae754SRob Clark #define REG_A5XX_GPMU_BEC_ENABLE				0x0000b9a0
2798a26ae754SRob Clark 
2799a26ae754SRob Clark #define REG_A5XX_GPU_CS_SENSOR_GENERAL_STATUS			0x0000c41a
2800a26ae754SRob Clark 
2801a26ae754SRob Clark #define REG_A5XX_GPU_CS_AMP_CALIBRATION_STATUS1_0		0x0000c41d
2802a26ae754SRob Clark 
2803a26ae754SRob Clark #define REG_A5XX_GPU_CS_AMP_CALIBRATION_STATUS1_2		0x0000c41f
2804a26ae754SRob Clark 
2805a26ae754SRob Clark #define REG_A5XX_GPU_CS_AMP_CALIBRATION_STATUS1_4		0x0000c421
2806a26ae754SRob Clark 
2807a26ae754SRob Clark #define REG_A5XX_GPU_CS_ENABLE_REG				0x0000c520
2808a26ae754SRob Clark 
2809a26ae754SRob Clark #define REG_A5XX_GPU_CS_AMP_CALIBRATION_CONTROL1		0x0000c557
2810a26ae754SRob Clark 
2811a26ae754SRob Clark #define REG_A5XX_GRAS_CL_CNTL					0x0000e000
28122d756322SRob Clark #define A5XX_GRAS_CL_CNTL_ZERO_GB_SCALE_Z			0x00000040
2813a26ae754SRob Clark 
2814cc4c26d4SRob Clark #define REG_A5XX_GRAS_VS_CL_CNTL				0x0000e001
2815cc4c26d4SRob Clark #define A5XX_GRAS_VS_CL_CNTL_CLIP_MASK__MASK			0x000000ff
2816cc4c26d4SRob Clark #define A5XX_GRAS_VS_CL_CNTL_CLIP_MASK__SHIFT			0
A5XX_GRAS_VS_CL_CNTL_CLIP_MASK(uint32_t val)2817cc4c26d4SRob Clark static inline uint32_t A5XX_GRAS_VS_CL_CNTL_CLIP_MASK(uint32_t val)
2818cc4c26d4SRob Clark {
2819cc4c26d4SRob Clark 	return ((val) << A5XX_GRAS_VS_CL_CNTL_CLIP_MASK__SHIFT) & A5XX_GRAS_VS_CL_CNTL_CLIP_MASK__MASK;
2820cc4c26d4SRob Clark }
2821cc4c26d4SRob Clark #define A5XX_GRAS_VS_CL_CNTL_CULL_MASK__MASK			0x0000ff00
2822cc4c26d4SRob Clark #define A5XX_GRAS_VS_CL_CNTL_CULL_MASK__SHIFT			8
A5XX_GRAS_VS_CL_CNTL_CULL_MASK(uint32_t val)2823cc4c26d4SRob Clark static inline uint32_t A5XX_GRAS_VS_CL_CNTL_CULL_MASK(uint32_t val)
2824cc4c26d4SRob Clark {
2825cc4c26d4SRob Clark 	return ((val) << A5XX_GRAS_VS_CL_CNTL_CULL_MASK__SHIFT) & A5XX_GRAS_VS_CL_CNTL_CULL_MASK__MASK;
2826cc4c26d4SRob Clark }
2827a26ae754SRob Clark 
2828a26ae754SRob Clark #define REG_A5XX_UNKNOWN_E004					0x0000e004
2829a26ae754SRob Clark 
2830a26ae754SRob Clark #define REG_A5XX_GRAS_CNTL					0x0000e005
2831c28c82e9SRob Clark #define A5XX_GRAS_CNTL_IJ_PERSP_PIXEL				0x00000001
2832c28c82e9SRob Clark #define A5XX_GRAS_CNTL_IJ_PERSP_CENTROID			0x00000002
2833c28c82e9SRob Clark #define A5XX_GRAS_CNTL_IJ_PERSP_SAMPLE				0x00000004
283457cfe41cSRob Clark #define A5XX_GRAS_CNTL_IJ_LINEAR_PIXEL				0x00000008
283557cfe41cSRob Clark #define A5XX_GRAS_CNTL_IJ_LINEAR_CENTROID			0x00000010
283657cfe41cSRob Clark #define A5XX_GRAS_CNTL_IJ_LINEAR_SAMPLE				0x00000020
2837c28c82e9SRob Clark #define A5XX_GRAS_CNTL_COORD_MASK__MASK				0x000003c0
2838c28c82e9SRob Clark #define A5XX_GRAS_CNTL_COORD_MASK__SHIFT			6
A5XX_GRAS_CNTL_COORD_MASK(uint32_t val)2839c28c82e9SRob Clark static inline uint32_t A5XX_GRAS_CNTL_COORD_MASK(uint32_t val)
2840c28c82e9SRob Clark {
2841c28c82e9SRob Clark 	return ((val) << A5XX_GRAS_CNTL_COORD_MASK__SHIFT) & A5XX_GRAS_CNTL_COORD_MASK__MASK;
2842c28c82e9SRob Clark }
2843a26ae754SRob Clark 
2844a26ae754SRob Clark #define REG_A5XX_GRAS_CL_GUARDBAND_CLIP_ADJ			0x0000e006
2845a26ae754SRob Clark #define A5XX_GRAS_CL_GUARDBAND_CLIP_ADJ_HORZ__MASK		0x000003ff
2846a26ae754SRob Clark #define A5XX_GRAS_CL_GUARDBAND_CLIP_ADJ_HORZ__SHIFT		0
A5XX_GRAS_CL_GUARDBAND_CLIP_ADJ_HORZ(uint32_t val)2847a26ae754SRob Clark static inline uint32_t A5XX_GRAS_CL_GUARDBAND_CLIP_ADJ_HORZ(uint32_t val)
2848a26ae754SRob Clark {
2849a26ae754SRob Clark 	return ((val) << A5XX_GRAS_CL_GUARDBAND_CLIP_ADJ_HORZ__SHIFT) & A5XX_GRAS_CL_GUARDBAND_CLIP_ADJ_HORZ__MASK;
2850a26ae754SRob Clark }
2851a26ae754SRob Clark #define A5XX_GRAS_CL_GUARDBAND_CLIP_ADJ_VERT__MASK		0x000ffc00
2852a26ae754SRob Clark #define A5XX_GRAS_CL_GUARDBAND_CLIP_ADJ_VERT__SHIFT		10
A5XX_GRAS_CL_GUARDBAND_CLIP_ADJ_VERT(uint32_t val)2853a26ae754SRob Clark static inline uint32_t A5XX_GRAS_CL_GUARDBAND_CLIP_ADJ_VERT(uint32_t val)
2854a26ae754SRob Clark {
2855a26ae754SRob Clark 	return ((val) << A5XX_GRAS_CL_GUARDBAND_CLIP_ADJ_VERT__SHIFT) & A5XX_GRAS_CL_GUARDBAND_CLIP_ADJ_VERT__MASK;
2856a26ae754SRob Clark }
2857a26ae754SRob Clark 
2858a26ae754SRob Clark #define REG_A5XX_GRAS_CL_VPORT_XOFFSET_0			0x0000e010
2859a26ae754SRob Clark #define A5XX_GRAS_CL_VPORT_XOFFSET_0__MASK			0xffffffff
2860a26ae754SRob Clark #define A5XX_GRAS_CL_VPORT_XOFFSET_0__SHIFT			0
A5XX_GRAS_CL_VPORT_XOFFSET_0(float val)2861a26ae754SRob Clark static inline uint32_t A5XX_GRAS_CL_VPORT_XOFFSET_0(float val)
2862a26ae754SRob Clark {
2863a26ae754SRob Clark 	return ((fui(val)) << A5XX_GRAS_CL_VPORT_XOFFSET_0__SHIFT) & A5XX_GRAS_CL_VPORT_XOFFSET_0__MASK;
2864a26ae754SRob Clark }
2865a26ae754SRob Clark 
2866a26ae754SRob Clark #define REG_A5XX_GRAS_CL_VPORT_XSCALE_0				0x0000e011
2867a26ae754SRob Clark #define A5XX_GRAS_CL_VPORT_XSCALE_0__MASK			0xffffffff
2868a26ae754SRob Clark #define A5XX_GRAS_CL_VPORT_XSCALE_0__SHIFT			0
A5XX_GRAS_CL_VPORT_XSCALE_0(float val)2869a26ae754SRob Clark static inline uint32_t A5XX_GRAS_CL_VPORT_XSCALE_0(float val)
2870a26ae754SRob Clark {
2871a26ae754SRob Clark 	return ((fui(val)) << A5XX_GRAS_CL_VPORT_XSCALE_0__SHIFT) & A5XX_GRAS_CL_VPORT_XSCALE_0__MASK;
2872a26ae754SRob Clark }
2873a26ae754SRob Clark 
2874a26ae754SRob Clark #define REG_A5XX_GRAS_CL_VPORT_YOFFSET_0			0x0000e012
2875a26ae754SRob Clark #define A5XX_GRAS_CL_VPORT_YOFFSET_0__MASK			0xffffffff
2876a26ae754SRob Clark #define A5XX_GRAS_CL_VPORT_YOFFSET_0__SHIFT			0
A5XX_GRAS_CL_VPORT_YOFFSET_0(float val)2877a26ae754SRob Clark static inline uint32_t A5XX_GRAS_CL_VPORT_YOFFSET_0(float val)
2878a26ae754SRob Clark {
2879a26ae754SRob Clark 	return ((fui(val)) << A5XX_GRAS_CL_VPORT_YOFFSET_0__SHIFT) & A5XX_GRAS_CL_VPORT_YOFFSET_0__MASK;
2880a26ae754SRob Clark }
2881a26ae754SRob Clark 
2882a26ae754SRob Clark #define REG_A5XX_GRAS_CL_VPORT_YSCALE_0				0x0000e013
2883a26ae754SRob Clark #define A5XX_GRAS_CL_VPORT_YSCALE_0__MASK			0xffffffff
2884a26ae754SRob Clark #define A5XX_GRAS_CL_VPORT_YSCALE_0__SHIFT			0
A5XX_GRAS_CL_VPORT_YSCALE_0(float val)2885a26ae754SRob Clark static inline uint32_t A5XX_GRAS_CL_VPORT_YSCALE_0(float val)
2886a26ae754SRob Clark {
2887a26ae754SRob Clark 	return ((fui(val)) << A5XX_GRAS_CL_VPORT_YSCALE_0__SHIFT) & A5XX_GRAS_CL_VPORT_YSCALE_0__MASK;
2888a26ae754SRob Clark }
2889a26ae754SRob Clark 
2890a26ae754SRob Clark #define REG_A5XX_GRAS_CL_VPORT_ZOFFSET_0			0x0000e014
2891a26ae754SRob Clark #define A5XX_GRAS_CL_VPORT_ZOFFSET_0__MASK			0xffffffff
2892a26ae754SRob Clark #define A5XX_GRAS_CL_VPORT_ZOFFSET_0__SHIFT			0
A5XX_GRAS_CL_VPORT_ZOFFSET_0(float val)2893a26ae754SRob Clark static inline uint32_t A5XX_GRAS_CL_VPORT_ZOFFSET_0(float val)
2894a26ae754SRob Clark {
2895a26ae754SRob Clark 	return ((fui(val)) << A5XX_GRAS_CL_VPORT_ZOFFSET_0__SHIFT) & A5XX_GRAS_CL_VPORT_ZOFFSET_0__MASK;
2896a26ae754SRob Clark }
2897a26ae754SRob Clark 
2898a26ae754SRob Clark #define REG_A5XX_GRAS_CL_VPORT_ZSCALE_0				0x0000e015
2899a26ae754SRob Clark #define A5XX_GRAS_CL_VPORT_ZSCALE_0__MASK			0xffffffff
2900a26ae754SRob Clark #define A5XX_GRAS_CL_VPORT_ZSCALE_0__SHIFT			0
A5XX_GRAS_CL_VPORT_ZSCALE_0(float val)2901a26ae754SRob Clark static inline uint32_t A5XX_GRAS_CL_VPORT_ZSCALE_0(float val)
2902a26ae754SRob Clark {
2903a26ae754SRob Clark 	return ((fui(val)) << A5XX_GRAS_CL_VPORT_ZSCALE_0__SHIFT) & A5XX_GRAS_CL_VPORT_ZSCALE_0__MASK;
2904a26ae754SRob Clark }
2905a26ae754SRob Clark 
2906a26ae754SRob Clark #define REG_A5XX_GRAS_SU_CNTL					0x0000e090
290752260ae4SRob Clark #define A5XX_GRAS_SU_CNTL_CULL_FRONT				0x00000001
290852260ae4SRob Clark #define A5XX_GRAS_SU_CNTL_CULL_BACK				0x00000002
2909a26ae754SRob Clark #define A5XX_GRAS_SU_CNTL_FRONT_CW				0x00000004
2910a26ae754SRob Clark #define A5XX_GRAS_SU_CNTL_LINEHALFWIDTH__MASK			0x000007f8
2911a26ae754SRob Clark #define A5XX_GRAS_SU_CNTL_LINEHALFWIDTH__SHIFT			3
A5XX_GRAS_SU_CNTL_LINEHALFWIDTH(float val)2912a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SU_CNTL_LINEHALFWIDTH(float val)
2913a26ae754SRob Clark {
2914a26ae754SRob Clark 	return ((((int32_t)(val * 4.0))) << A5XX_GRAS_SU_CNTL_LINEHALFWIDTH__SHIFT) & A5XX_GRAS_SU_CNTL_LINEHALFWIDTH__MASK;
2915a26ae754SRob Clark }
2916a26ae754SRob Clark #define A5XX_GRAS_SU_CNTL_POLY_OFFSET				0x00000800
291757cfe41cSRob Clark #define A5XX_GRAS_SU_CNTL_LINE_MODE__MASK			0x00002000
291857cfe41cSRob Clark #define A5XX_GRAS_SU_CNTL_LINE_MODE__SHIFT			13
A5XX_GRAS_SU_CNTL_LINE_MODE(enum a5xx_line_mode val)291957cfe41cSRob Clark static inline uint32_t A5XX_GRAS_SU_CNTL_LINE_MODE(enum a5xx_line_mode val)
292057cfe41cSRob Clark {
292157cfe41cSRob Clark 	return ((val) << A5XX_GRAS_SU_CNTL_LINE_MODE__SHIFT) & A5XX_GRAS_SU_CNTL_LINE_MODE__MASK;
292257cfe41cSRob Clark }
2923a26ae754SRob Clark 
2924a26ae754SRob Clark #define REG_A5XX_GRAS_SU_POINT_MINMAX				0x0000e091
2925a26ae754SRob Clark #define A5XX_GRAS_SU_POINT_MINMAX_MIN__MASK			0x0000ffff
2926a26ae754SRob Clark #define A5XX_GRAS_SU_POINT_MINMAX_MIN__SHIFT			0
A5XX_GRAS_SU_POINT_MINMAX_MIN(float val)2927a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SU_POINT_MINMAX_MIN(float val)
2928a26ae754SRob Clark {
2929a26ae754SRob Clark 	return ((((uint32_t)(val * 16.0))) << A5XX_GRAS_SU_POINT_MINMAX_MIN__SHIFT) & A5XX_GRAS_SU_POINT_MINMAX_MIN__MASK;
2930a26ae754SRob Clark }
2931a26ae754SRob Clark #define A5XX_GRAS_SU_POINT_MINMAX_MAX__MASK			0xffff0000
2932a26ae754SRob Clark #define A5XX_GRAS_SU_POINT_MINMAX_MAX__SHIFT			16
A5XX_GRAS_SU_POINT_MINMAX_MAX(float val)2933a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SU_POINT_MINMAX_MAX(float val)
2934a26ae754SRob Clark {
2935a26ae754SRob Clark 	return ((((uint32_t)(val * 16.0))) << A5XX_GRAS_SU_POINT_MINMAX_MAX__SHIFT) & A5XX_GRAS_SU_POINT_MINMAX_MAX__MASK;
2936a26ae754SRob Clark }
2937a26ae754SRob Clark 
2938a26ae754SRob Clark #define REG_A5XX_GRAS_SU_POINT_SIZE				0x0000e092
2939a26ae754SRob Clark #define A5XX_GRAS_SU_POINT_SIZE__MASK				0xffffffff
2940a26ae754SRob Clark #define A5XX_GRAS_SU_POINT_SIZE__SHIFT				0
A5XX_GRAS_SU_POINT_SIZE(float val)2941a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SU_POINT_SIZE(float val)
2942a26ae754SRob Clark {
2943a26ae754SRob Clark 	return ((((int32_t)(val * 16.0))) << A5XX_GRAS_SU_POINT_SIZE__SHIFT) & A5XX_GRAS_SU_POINT_SIZE__MASK;
2944a26ae754SRob Clark }
2945a26ae754SRob Clark 
29462d756322SRob Clark #define REG_A5XX_GRAS_SU_LAYERED				0x0000e093
2947a26ae754SRob Clark 
2948a26ae754SRob Clark #define REG_A5XX_GRAS_SU_DEPTH_PLANE_CNTL			0x0000e094
294952260ae4SRob Clark #define A5XX_GRAS_SU_DEPTH_PLANE_CNTL_FRAG_WRITES_Z		0x00000001
295052260ae4SRob Clark #define A5XX_GRAS_SU_DEPTH_PLANE_CNTL_UNK1			0x00000002
2951a26ae754SRob Clark 
2952a26ae754SRob Clark #define REG_A5XX_GRAS_SU_POLY_OFFSET_SCALE			0x0000e095
2953a26ae754SRob Clark #define A5XX_GRAS_SU_POLY_OFFSET_SCALE__MASK			0xffffffff
2954a26ae754SRob Clark #define A5XX_GRAS_SU_POLY_OFFSET_SCALE__SHIFT			0
A5XX_GRAS_SU_POLY_OFFSET_SCALE(float val)2955a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SU_POLY_OFFSET_SCALE(float val)
2956a26ae754SRob Clark {
2957a26ae754SRob Clark 	return ((fui(val)) << A5XX_GRAS_SU_POLY_OFFSET_SCALE__SHIFT) & A5XX_GRAS_SU_POLY_OFFSET_SCALE__MASK;
2958a26ae754SRob Clark }
2959a26ae754SRob Clark 
2960a26ae754SRob Clark #define REG_A5XX_GRAS_SU_POLY_OFFSET_OFFSET			0x0000e096
2961a26ae754SRob Clark #define A5XX_GRAS_SU_POLY_OFFSET_OFFSET__MASK			0xffffffff
2962a26ae754SRob Clark #define A5XX_GRAS_SU_POLY_OFFSET_OFFSET__SHIFT			0
A5XX_GRAS_SU_POLY_OFFSET_OFFSET(float val)2963a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SU_POLY_OFFSET_OFFSET(float val)
2964a26ae754SRob Clark {
2965a26ae754SRob Clark 	return ((fui(val)) << A5XX_GRAS_SU_POLY_OFFSET_OFFSET__SHIFT) & A5XX_GRAS_SU_POLY_OFFSET_OFFSET__MASK;
2966a26ae754SRob Clark }
2967a26ae754SRob Clark 
2968a26ae754SRob Clark #define REG_A5XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP		0x0000e097
2969a26ae754SRob Clark #define A5XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP__MASK		0xffffffff
2970a26ae754SRob Clark #define A5XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP__SHIFT		0
A5XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP(float val)2971a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP(float val)
2972a26ae754SRob Clark {
2973a26ae754SRob Clark 	return ((fui(val)) << A5XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP__SHIFT) & A5XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP__MASK;
2974a26ae754SRob Clark }
2975a26ae754SRob Clark 
2976a26ae754SRob Clark #define REG_A5XX_GRAS_SU_DEPTH_BUFFER_INFO			0x0000e098
2977a26ae754SRob Clark #define A5XX_GRAS_SU_DEPTH_BUFFER_INFO_DEPTH_FORMAT__MASK	0x00000007
2978a26ae754SRob Clark #define A5XX_GRAS_SU_DEPTH_BUFFER_INFO_DEPTH_FORMAT__SHIFT	0
A5XX_GRAS_SU_DEPTH_BUFFER_INFO_DEPTH_FORMAT(enum a5xx_depth_format val)2979a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SU_DEPTH_BUFFER_INFO_DEPTH_FORMAT(enum a5xx_depth_format val)
2980a26ae754SRob Clark {
2981a26ae754SRob Clark 	return ((val) << A5XX_GRAS_SU_DEPTH_BUFFER_INFO_DEPTH_FORMAT__SHIFT) & A5XX_GRAS_SU_DEPTH_BUFFER_INFO_DEPTH_FORMAT__MASK;
2982a26ae754SRob Clark }
2983a26ae754SRob Clark 
2984a26ae754SRob Clark #define REG_A5XX_GRAS_SU_CONSERVATIVE_RAS_CNTL			0x0000e099
2985a26ae754SRob Clark 
2986a26ae754SRob Clark #define REG_A5XX_GRAS_SC_CNTL					0x0000e0a0
298752260ae4SRob Clark #define A5XX_GRAS_SC_CNTL_BINNING_PASS				0x00000001
2988a26ae754SRob Clark #define A5XX_GRAS_SC_CNTL_SAMPLES_PASSED			0x00008000
2989a26ae754SRob Clark 
2990a26ae754SRob Clark #define REG_A5XX_GRAS_SC_BIN_CNTL				0x0000e0a1
2991a26ae754SRob Clark 
2992a26ae754SRob Clark #define REG_A5XX_GRAS_SC_RAS_MSAA_CNTL				0x0000e0a2
2993a26ae754SRob Clark #define A5XX_GRAS_SC_RAS_MSAA_CNTL_SAMPLES__MASK		0x00000003
2994a26ae754SRob Clark #define A5XX_GRAS_SC_RAS_MSAA_CNTL_SAMPLES__SHIFT		0
A5XX_GRAS_SC_RAS_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)2995a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SC_RAS_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)
2996a26ae754SRob Clark {
2997a26ae754SRob Clark 	return ((val) << A5XX_GRAS_SC_RAS_MSAA_CNTL_SAMPLES__SHIFT) & A5XX_GRAS_SC_RAS_MSAA_CNTL_SAMPLES__MASK;
2998a26ae754SRob Clark }
2999a26ae754SRob Clark 
3000a26ae754SRob Clark #define REG_A5XX_GRAS_SC_DEST_MSAA_CNTL				0x0000e0a3
3001a26ae754SRob Clark #define A5XX_GRAS_SC_DEST_MSAA_CNTL_SAMPLES__MASK		0x00000003
3002a26ae754SRob Clark #define A5XX_GRAS_SC_DEST_MSAA_CNTL_SAMPLES__SHIFT		0
A5XX_GRAS_SC_DEST_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)3003a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SC_DEST_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)
3004a26ae754SRob Clark {
3005a26ae754SRob Clark 	return ((val) << A5XX_GRAS_SC_DEST_MSAA_CNTL_SAMPLES__SHIFT) & A5XX_GRAS_SC_DEST_MSAA_CNTL_SAMPLES__MASK;
3006a26ae754SRob Clark }
3007a26ae754SRob Clark #define A5XX_GRAS_SC_DEST_MSAA_CNTL_MSAA_DISABLE		0x00000004
3008a26ae754SRob Clark 
3009a26ae754SRob Clark #define REG_A5XX_GRAS_SC_SCREEN_SCISSOR_CNTL			0x0000e0a4
3010a26ae754SRob Clark 
3011a26ae754SRob Clark #define REG_A5XX_GRAS_SC_SCREEN_SCISSOR_TL_0			0x0000e0aa
3012a26ae754SRob Clark #define A5XX_GRAS_SC_SCREEN_SCISSOR_TL_0_WINDOW_OFFSET_DISABLE	0x80000000
3013a26ae754SRob Clark #define A5XX_GRAS_SC_SCREEN_SCISSOR_TL_0_X__MASK		0x00007fff
3014a26ae754SRob Clark #define A5XX_GRAS_SC_SCREEN_SCISSOR_TL_0_X__SHIFT		0
A5XX_GRAS_SC_SCREEN_SCISSOR_TL_0_X(uint32_t val)3015a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SC_SCREEN_SCISSOR_TL_0_X(uint32_t val)
3016a26ae754SRob Clark {
3017a26ae754SRob Clark 	return ((val) << A5XX_GRAS_SC_SCREEN_SCISSOR_TL_0_X__SHIFT) & A5XX_GRAS_SC_SCREEN_SCISSOR_TL_0_X__MASK;
3018a26ae754SRob Clark }
3019a26ae754SRob Clark #define A5XX_GRAS_SC_SCREEN_SCISSOR_TL_0_Y__MASK		0x7fff0000
3020a26ae754SRob Clark #define A5XX_GRAS_SC_SCREEN_SCISSOR_TL_0_Y__SHIFT		16
A5XX_GRAS_SC_SCREEN_SCISSOR_TL_0_Y(uint32_t val)3021a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SC_SCREEN_SCISSOR_TL_0_Y(uint32_t val)
3022a26ae754SRob Clark {
3023a26ae754SRob Clark 	return ((val) << A5XX_GRAS_SC_SCREEN_SCISSOR_TL_0_Y__SHIFT) & A5XX_GRAS_SC_SCREEN_SCISSOR_TL_0_Y__MASK;
3024a26ae754SRob Clark }
3025a26ae754SRob Clark 
3026a26ae754SRob Clark #define REG_A5XX_GRAS_SC_SCREEN_SCISSOR_BR_0			0x0000e0ab
3027a26ae754SRob Clark #define A5XX_GRAS_SC_SCREEN_SCISSOR_BR_0_WINDOW_OFFSET_DISABLE	0x80000000
3028a26ae754SRob Clark #define A5XX_GRAS_SC_SCREEN_SCISSOR_BR_0_X__MASK		0x00007fff
3029a26ae754SRob Clark #define A5XX_GRAS_SC_SCREEN_SCISSOR_BR_0_X__SHIFT		0
A5XX_GRAS_SC_SCREEN_SCISSOR_BR_0_X(uint32_t val)3030a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SC_SCREEN_SCISSOR_BR_0_X(uint32_t val)
3031a26ae754SRob Clark {
3032a26ae754SRob Clark 	return ((val) << A5XX_GRAS_SC_SCREEN_SCISSOR_BR_0_X__SHIFT) & A5XX_GRAS_SC_SCREEN_SCISSOR_BR_0_X__MASK;
3033a26ae754SRob Clark }
3034a26ae754SRob Clark #define A5XX_GRAS_SC_SCREEN_SCISSOR_BR_0_Y__MASK		0x7fff0000
3035a26ae754SRob Clark #define A5XX_GRAS_SC_SCREEN_SCISSOR_BR_0_Y__SHIFT		16
A5XX_GRAS_SC_SCREEN_SCISSOR_BR_0_Y(uint32_t val)3036a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SC_SCREEN_SCISSOR_BR_0_Y(uint32_t val)
3037a26ae754SRob Clark {
3038a26ae754SRob Clark 	return ((val) << A5XX_GRAS_SC_SCREEN_SCISSOR_BR_0_Y__SHIFT) & A5XX_GRAS_SC_SCREEN_SCISSOR_BR_0_Y__MASK;
3039a26ae754SRob Clark }
3040a26ae754SRob Clark 
3041a26ae754SRob Clark #define REG_A5XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0			0x0000e0ca
3042a26ae754SRob Clark #define A5XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_WINDOW_OFFSET_DISABLE	0x80000000
3043a26ae754SRob Clark #define A5XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_X__MASK		0x00007fff
3044a26ae754SRob Clark #define A5XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_X__SHIFT		0
A5XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_X(uint32_t val)3045a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_X(uint32_t val)
3046a26ae754SRob Clark {
3047a26ae754SRob Clark 	return ((val) << A5XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_X__SHIFT) & A5XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_X__MASK;
3048a26ae754SRob Clark }
3049a26ae754SRob Clark #define A5XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_Y__MASK		0x7fff0000
3050a26ae754SRob Clark #define A5XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_Y__SHIFT		16
A5XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_Y(uint32_t val)3051a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_Y(uint32_t val)
3052a26ae754SRob Clark {
3053a26ae754SRob Clark 	return ((val) << A5XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_Y__SHIFT) & A5XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_Y__MASK;
3054a26ae754SRob Clark }
3055a26ae754SRob Clark 
3056a26ae754SRob Clark #define REG_A5XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0			0x0000e0cb
3057a26ae754SRob Clark #define A5XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_WINDOW_OFFSET_DISABLE	0x80000000
3058a26ae754SRob Clark #define A5XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_X__MASK		0x00007fff
3059a26ae754SRob Clark #define A5XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_X__SHIFT		0
A5XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_X(uint32_t val)3060a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_X(uint32_t val)
3061a26ae754SRob Clark {
3062a26ae754SRob Clark 	return ((val) << A5XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_X__SHIFT) & A5XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_X__MASK;
3063a26ae754SRob Clark }
3064a26ae754SRob Clark #define A5XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_Y__MASK		0x7fff0000
3065a26ae754SRob Clark #define A5XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_Y__SHIFT		16
A5XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_Y(uint32_t val)3066a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_Y(uint32_t val)
3067a26ae754SRob Clark {
3068a26ae754SRob Clark 	return ((val) << A5XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_Y__SHIFT) & A5XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_Y__MASK;
3069a26ae754SRob Clark }
3070a26ae754SRob Clark 
3071a26ae754SRob Clark #define REG_A5XX_GRAS_SC_WINDOW_SCISSOR_TL			0x0000e0ea
3072a26ae754SRob Clark #define A5XX_GRAS_SC_WINDOW_SCISSOR_TL_WINDOW_OFFSET_DISABLE	0x80000000
3073a26ae754SRob Clark #define A5XX_GRAS_SC_WINDOW_SCISSOR_TL_X__MASK			0x00007fff
3074a26ae754SRob Clark #define A5XX_GRAS_SC_WINDOW_SCISSOR_TL_X__SHIFT			0
A5XX_GRAS_SC_WINDOW_SCISSOR_TL_X(uint32_t val)3075a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SC_WINDOW_SCISSOR_TL_X(uint32_t val)
3076a26ae754SRob Clark {
3077a26ae754SRob Clark 	return ((val) << A5XX_GRAS_SC_WINDOW_SCISSOR_TL_X__SHIFT) & A5XX_GRAS_SC_WINDOW_SCISSOR_TL_X__MASK;
3078a26ae754SRob Clark }
3079a26ae754SRob Clark #define A5XX_GRAS_SC_WINDOW_SCISSOR_TL_Y__MASK			0x7fff0000
3080a26ae754SRob Clark #define A5XX_GRAS_SC_WINDOW_SCISSOR_TL_Y__SHIFT			16
A5XX_GRAS_SC_WINDOW_SCISSOR_TL_Y(uint32_t val)3081a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SC_WINDOW_SCISSOR_TL_Y(uint32_t val)
3082a26ae754SRob Clark {
3083a26ae754SRob Clark 	return ((val) << A5XX_GRAS_SC_WINDOW_SCISSOR_TL_Y__SHIFT) & A5XX_GRAS_SC_WINDOW_SCISSOR_TL_Y__MASK;
3084a26ae754SRob Clark }
3085a26ae754SRob Clark 
3086a26ae754SRob Clark #define REG_A5XX_GRAS_SC_WINDOW_SCISSOR_BR			0x0000e0eb
3087a26ae754SRob Clark #define A5XX_GRAS_SC_WINDOW_SCISSOR_BR_WINDOW_OFFSET_DISABLE	0x80000000
3088a26ae754SRob Clark #define A5XX_GRAS_SC_WINDOW_SCISSOR_BR_X__MASK			0x00007fff
3089a26ae754SRob Clark #define A5XX_GRAS_SC_WINDOW_SCISSOR_BR_X__SHIFT			0
A5XX_GRAS_SC_WINDOW_SCISSOR_BR_X(uint32_t val)3090a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SC_WINDOW_SCISSOR_BR_X(uint32_t val)
3091a26ae754SRob Clark {
3092a26ae754SRob Clark 	return ((val) << A5XX_GRAS_SC_WINDOW_SCISSOR_BR_X__SHIFT) & A5XX_GRAS_SC_WINDOW_SCISSOR_BR_X__MASK;
3093a26ae754SRob Clark }
3094a26ae754SRob Clark #define A5XX_GRAS_SC_WINDOW_SCISSOR_BR_Y__MASK			0x7fff0000
3095a26ae754SRob Clark #define A5XX_GRAS_SC_WINDOW_SCISSOR_BR_Y__SHIFT			16
A5XX_GRAS_SC_WINDOW_SCISSOR_BR_Y(uint32_t val)3096a26ae754SRob Clark static inline uint32_t A5XX_GRAS_SC_WINDOW_SCISSOR_BR_Y(uint32_t val)
3097a26ae754SRob Clark {
3098a26ae754SRob Clark 	return ((val) << A5XX_GRAS_SC_WINDOW_SCISSOR_BR_Y__SHIFT) & A5XX_GRAS_SC_WINDOW_SCISSOR_BR_Y__MASK;
3099a26ae754SRob Clark }
3100a26ae754SRob Clark 
3101a26ae754SRob Clark #define REG_A5XX_GRAS_LRZ_CNTL					0x0000e100
310252260ae4SRob Clark #define A5XX_GRAS_LRZ_CNTL_ENABLE				0x00000001
310352260ae4SRob Clark #define A5XX_GRAS_LRZ_CNTL_LRZ_WRITE				0x00000002
310452260ae4SRob Clark #define A5XX_GRAS_LRZ_CNTL_GREATER				0x00000004
3105a26ae754SRob Clark 
3106a26ae754SRob Clark #define REG_A5XX_GRAS_LRZ_BUFFER_BASE_LO			0x0000e101
3107a26ae754SRob Clark 
3108a26ae754SRob Clark #define REG_A5XX_GRAS_LRZ_BUFFER_BASE_HI			0x0000e102
3109a26ae754SRob Clark 
3110a26ae754SRob Clark #define REG_A5XX_GRAS_LRZ_BUFFER_PITCH				0x0000e103
311152260ae4SRob Clark #define A5XX_GRAS_LRZ_BUFFER_PITCH__MASK			0xffffffff
311252260ae4SRob Clark #define A5XX_GRAS_LRZ_BUFFER_PITCH__SHIFT			0
A5XX_GRAS_LRZ_BUFFER_PITCH(uint32_t val)311352260ae4SRob Clark static inline uint32_t A5XX_GRAS_LRZ_BUFFER_PITCH(uint32_t val)
311452260ae4SRob Clark {
311552260ae4SRob Clark 	return ((val >> 5) << A5XX_GRAS_LRZ_BUFFER_PITCH__SHIFT) & A5XX_GRAS_LRZ_BUFFER_PITCH__MASK;
311652260ae4SRob Clark }
3117a26ae754SRob Clark 
3118a26ae754SRob Clark #define REG_A5XX_GRAS_LRZ_FAST_CLEAR_BUFFER_BASE_LO		0x0000e104
3119a26ae754SRob Clark 
3120a26ae754SRob Clark #define REG_A5XX_GRAS_LRZ_FAST_CLEAR_BUFFER_BASE_HI		0x0000e105
3121a26ae754SRob Clark 
3122a26ae754SRob Clark #define REG_A5XX_RB_CNTL					0x0000e140
3123a26ae754SRob Clark #define A5XX_RB_CNTL_WIDTH__MASK				0x000000ff
3124a26ae754SRob Clark #define A5XX_RB_CNTL_WIDTH__SHIFT				0
A5XX_RB_CNTL_WIDTH(uint32_t val)3125a26ae754SRob Clark static inline uint32_t A5XX_RB_CNTL_WIDTH(uint32_t val)
3126a26ae754SRob Clark {
3127a26ae754SRob Clark 	return ((val >> 5) << A5XX_RB_CNTL_WIDTH__SHIFT) & A5XX_RB_CNTL_WIDTH__MASK;
3128a26ae754SRob Clark }
3129a26ae754SRob Clark #define A5XX_RB_CNTL_HEIGHT__MASK				0x0001fe00
3130a26ae754SRob Clark #define A5XX_RB_CNTL_HEIGHT__SHIFT				9
A5XX_RB_CNTL_HEIGHT(uint32_t val)3131a26ae754SRob Clark static inline uint32_t A5XX_RB_CNTL_HEIGHT(uint32_t val)
3132a26ae754SRob Clark {
3133a26ae754SRob Clark 	return ((val >> 5) << A5XX_RB_CNTL_HEIGHT__SHIFT) & A5XX_RB_CNTL_HEIGHT__MASK;
3134a26ae754SRob Clark }
3135a26ae754SRob Clark #define A5XX_RB_CNTL_BYPASS					0x00020000
3136a26ae754SRob Clark 
3137a26ae754SRob Clark #define REG_A5XX_RB_RENDER_CNTL					0x0000e141
313852260ae4SRob Clark #define A5XX_RB_RENDER_CNTL_BINNING_PASS			0x00000001
3139a26ae754SRob Clark #define A5XX_RB_RENDER_CNTL_SAMPLES_PASSED			0x00000040
314052260ae4SRob Clark #define A5XX_RB_RENDER_CNTL_DISABLE_COLOR_PIPE			0x00000080
3141a26ae754SRob Clark #define A5XX_RB_RENDER_CNTL_FLAG_DEPTH				0x00004000
3142a26ae754SRob Clark #define A5XX_RB_RENDER_CNTL_FLAG_DEPTH2				0x00008000
3143a26ae754SRob Clark #define A5XX_RB_RENDER_CNTL_FLAG_MRTS__MASK			0x00ff0000
3144a26ae754SRob Clark #define A5XX_RB_RENDER_CNTL_FLAG_MRTS__SHIFT			16
A5XX_RB_RENDER_CNTL_FLAG_MRTS(uint32_t val)3145a26ae754SRob Clark static inline uint32_t A5XX_RB_RENDER_CNTL_FLAG_MRTS(uint32_t val)
3146a26ae754SRob Clark {
3147a26ae754SRob Clark 	return ((val) << A5XX_RB_RENDER_CNTL_FLAG_MRTS__SHIFT) & A5XX_RB_RENDER_CNTL_FLAG_MRTS__MASK;
3148a26ae754SRob Clark }
3149a26ae754SRob Clark #define A5XX_RB_RENDER_CNTL_FLAG_MRTS2__MASK			0xff000000
3150a26ae754SRob Clark #define A5XX_RB_RENDER_CNTL_FLAG_MRTS2__SHIFT			24
A5XX_RB_RENDER_CNTL_FLAG_MRTS2(uint32_t val)3151a26ae754SRob Clark static inline uint32_t A5XX_RB_RENDER_CNTL_FLAG_MRTS2(uint32_t val)
3152a26ae754SRob Clark {
3153a26ae754SRob Clark 	return ((val) << A5XX_RB_RENDER_CNTL_FLAG_MRTS2__SHIFT) & A5XX_RB_RENDER_CNTL_FLAG_MRTS2__MASK;
3154a26ae754SRob Clark }
3155a26ae754SRob Clark 
3156a26ae754SRob Clark #define REG_A5XX_RB_RAS_MSAA_CNTL				0x0000e142
3157a26ae754SRob Clark #define A5XX_RB_RAS_MSAA_CNTL_SAMPLES__MASK			0x00000003
3158a26ae754SRob Clark #define A5XX_RB_RAS_MSAA_CNTL_SAMPLES__SHIFT			0
A5XX_RB_RAS_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)3159a26ae754SRob Clark static inline uint32_t A5XX_RB_RAS_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)
3160a26ae754SRob Clark {
3161a26ae754SRob Clark 	return ((val) << A5XX_RB_RAS_MSAA_CNTL_SAMPLES__SHIFT) & A5XX_RB_RAS_MSAA_CNTL_SAMPLES__MASK;
3162a26ae754SRob Clark }
3163a26ae754SRob Clark 
3164a26ae754SRob Clark #define REG_A5XX_RB_DEST_MSAA_CNTL				0x0000e143
3165a26ae754SRob Clark #define A5XX_RB_DEST_MSAA_CNTL_SAMPLES__MASK			0x00000003
3166a26ae754SRob Clark #define A5XX_RB_DEST_MSAA_CNTL_SAMPLES__SHIFT			0
A5XX_RB_DEST_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)3167a26ae754SRob Clark static inline uint32_t A5XX_RB_DEST_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)
3168a26ae754SRob Clark {
3169a26ae754SRob Clark 	return ((val) << A5XX_RB_DEST_MSAA_CNTL_SAMPLES__SHIFT) & A5XX_RB_DEST_MSAA_CNTL_SAMPLES__MASK;
3170a26ae754SRob Clark }
3171a26ae754SRob Clark #define A5XX_RB_DEST_MSAA_CNTL_MSAA_DISABLE			0x00000004
3172a26ae754SRob Clark 
3173a26ae754SRob Clark #define REG_A5XX_RB_RENDER_CONTROL0				0x0000e144
3174c28c82e9SRob Clark #define A5XX_RB_RENDER_CONTROL0_IJ_PERSP_PIXEL			0x00000001
3175c28c82e9SRob Clark #define A5XX_RB_RENDER_CONTROL0_IJ_PERSP_CENTROID		0x00000002
3176c28c82e9SRob Clark #define A5XX_RB_RENDER_CONTROL0_IJ_PERSP_SAMPLE			0x00000004
317757cfe41cSRob Clark #define A5XX_RB_RENDER_CONTROL0_IJ_LINEAR_PIXEL			0x00000008
317857cfe41cSRob Clark #define A5XX_RB_RENDER_CONTROL0_IJ_LINEAR_CENTROID		0x00000010
317957cfe41cSRob Clark #define A5XX_RB_RENDER_CONTROL0_IJ_LINEAR_SAMPLE		0x00000020
3180c28c82e9SRob Clark #define A5XX_RB_RENDER_CONTROL0_COORD_MASK__MASK		0x000003c0
3181c28c82e9SRob Clark #define A5XX_RB_RENDER_CONTROL0_COORD_MASK__SHIFT		6
A5XX_RB_RENDER_CONTROL0_COORD_MASK(uint32_t val)3182c28c82e9SRob Clark static inline uint32_t A5XX_RB_RENDER_CONTROL0_COORD_MASK(uint32_t val)
3183c28c82e9SRob Clark {
3184c28c82e9SRob Clark 	return ((val) << A5XX_RB_RENDER_CONTROL0_COORD_MASK__SHIFT) & A5XX_RB_RENDER_CONTROL0_COORD_MASK__MASK;
3185c28c82e9SRob Clark }
3186a26ae754SRob Clark 
3187a26ae754SRob Clark #define REG_A5XX_RB_RENDER_CONTROL1				0x0000e145
31882d756322SRob Clark #define A5XX_RB_RENDER_CONTROL1_SAMPLEMASK			0x00000001
3189a26ae754SRob Clark #define A5XX_RB_RENDER_CONTROL1_FACENESS			0x00000002
31902d756322SRob Clark #define A5XX_RB_RENDER_CONTROL1_SAMPLEID			0x00000004
3191a26ae754SRob Clark 
3192a26ae754SRob Clark #define REG_A5XX_RB_FS_OUTPUT_CNTL				0x0000e146
3193a26ae754SRob Clark #define A5XX_RB_FS_OUTPUT_CNTL_MRT__MASK			0x0000000f
3194a26ae754SRob Clark #define A5XX_RB_FS_OUTPUT_CNTL_MRT__SHIFT			0
A5XX_RB_FS_OUTPUT_CNTL_MRT(uint32_t val)3195a26ae754SRob Clark static inline uint32_t A5XX_RB_FS_OUTPUT_CNTL_MRT(uint32_t val)
3196a26ae754SRob Clark {
3197a26ae754SRob Clark 	return ((val) << A5XX_RB_FS_OUTPUT_CNTL_MRT__SHIFT) & A5XX_RB_FS_OUTPUT_CNTL_MRT__MASK;
3198a26ae754SRob Clark }
3199a26ae754SRob Clark #define A5XX_RB_FS_OUTPUT_CNTL_FRAG_WRITES_Z			0x00000020
3200a26ae754SRob Clark 
3201a26ae754SRob Clark #define REG_A5XX_RB_RENDER_COMPONENTS				0x0000e147
3202a26ae754SRob Clark #define A5XX_RB_RENDER_COMPONENTS_RT0__MASK			0x0000000f
3203a26ae754SRob Clark #define A5XX_RB_RENDER_COMPONENTS_RT0__SHIFT			0
A5XX_RB_RENDER_COMPONENTS_RT0(uint32_t val)3204a26ae754SRob Clark static inline uint32_t A5XX_RB_RENDER_COMPONENTS_RT0(uint32_t val)
3205a26ae754SRob Clark {
3206a26ae754SRob Clark 	return ((val) << A5XX_RB_RENDER_COMPONENTS_RT0__SHIFT) & A5XX_RB_RENDER_COMPONENTS_RT0__MASK;
3207a26ae754SRob Clark }
3208a26ae754SRob Clark #define A5XX_RB_RENDER_COMPONENTS_RT1__MASK			0x000000f0
3209a26ae754SRob Clark #define A5XX_RB_RENDER_COMPONENTS_RT1__SHIFT			4
A5XX_RB_RENDER_COMPONENTS_RT1(uint32_t val)3210a26ae754SRob Clark static inline uint32_t A5XX_RB_RENDER_COMPONENTS_RT1(uint32_t val)
3211a26ae754SRob Clark {
3212a26ae754SRob Clark 	return ((val) << A5XX_RB_RENDER_COMPONENTS_RT1__SHIFT) & A5XX_RB_RENDER_COMPONENTS_RT1__MASK;
3213a26ae754SRob Clark }
3214a26ae754SRob Clark #define A5XX_RB_RENDER_COMPONENTS_RT2__MASK			0x00000f00
3215a26ae754SRob Clark #define A5XX_RB_RENDER_COMPONENTS_RT2__SHIFT			8
A5XX_RB_RENDER_COMPONENTS_RT2(uint32_t val)3216a26ae754SRob Clark static inline uint32_t A5XX_RB_RENDER_COMPONENTS_RT2(uint32_t val)
3217a26ae754SRob Clark {
3218a26ae754SRob Clark 	return ((val) << A5XX_RB_RENDER_COMPONENTS_RT2__SHIFT) & A5XX_RB_RENDER_COMPONENTS_RT2__MASK;
3219a26ae754SRob Clark }
3220a26ae754SRob Clark #define A5XX_RB_RENDER_COMPONENTS_RT3__MASK			0x0000f000
3221a26ae754SRob Clark #define A5XX_RB_RENDER_COMPONENTS_RT3__SHIFT			12
A5XX_RB_RENDER_COMPONENTS_RT3(uint32_t val)3222a26ae754SRob Clark static inline uint32_t A5XX_RB_RENDER_COMPONENTS_RT3(uint32_t val)
3223a26ae754SRob Clark {
3224a26ae754SRob Clark 	return ((val) << A5XX_RB_RENDER_COMPONENTS_RT3__SHIFT) & A5XX_RB_RENDER_COMPONENTS_RT3__MASK;
3225a26ae754SRob Clark }
3226a26ae754SRob Clark #define A5XX_RB_RENDER_COMPONENTS_RT4__MASK			0x000f0000
3227a26ae754SRob Clark #define A5XX_RB_RENDER_COMPONENTS_RT4__SHIFT			16
A5XX_RB_RENDER_COMPONENTS_RT4(uint32_t val)3228a26ae754SRob Clark static inline uint32_t A5XX_RB_RENDER_COMPONENTS_RT4(uint32_t val)
3229a26ae754SRob Clark {
3230a26ae754SRob Clark 	return ((val) << A5XX_RB_RENDER_COMPONENTS_RT4__SHIFT) & A5XX_RB_RENDER_COMPONENTS_RT4__MASK;
3231a26ae754SRob Clark }
3232a26ae754SRob Clark #define A5XX_RB_RENDER_COMPONENTS_RT5__MASK			0x00f00000
3233a26ae754SRob Clark #define A5XX_RB_RENDER_COMPONENTS_RT5__SHIFT			20
A5XX_RB_RENDER_COMPONENTS_RT5(uint32_t val)3234a26ae754SRob Clark static inline uint32_t A5XX_RB_RENDER_COMPONENTS_RT5(uint32_t val)
3235a26ae754SRob Clark {
3236a26ae754SRob Clark 	return ((val) << A5XX_RB_RENDER_COMPONENTS_RT5__SHIFT) & A5XX_RB_RENDER_COMPONENTS_RT5__MASK;
3237a26ae754SRob Clark }
3238a26ae754SRob Clark #define A5XX_RB_RENDER_COMPONENTS_RT6__MASK			0x0f000000
3239a26ae754SRob Clark #define A5XX_RB_RENDER_COMPONENTS_RT6__SHIFT			24
A5XX_RB_RENDER_COMPONENTS_RT6(uint32_t val)3240a26ae754SRob Clark static inline uint32_t A5XX_RB_RENDER_COMPONENTS_RT6(uint32_t val)
3241a26ae754SRob Clark {
3242a26ae754SRob Clark 	return ((val) << A5XX_RB_RENDER_COMPONENTS_RT6__SHIFT) & A5XX_RB_RENDER_COMPONENTS_RT6__MASK;
3243a26ae754SRob Clark }
3244a26ae754SRob Clark #define A5XX_RB_RENDER_COMPONENTS_RT7__MASK			0xf0000000
3245a26ae754SRob Clark #define A5XX_RB_RENDER_COMPONENTS_RT7__SHIFT			28
A5XX_RB_RENDER_COMPONENTS_RT7(uint32_t val)3246a26ae754SRob Clark static inline uint32_t A5XX_RB_RENDER_COMPONENTS_RT7(uint32_t val)
3247a26ae754SRob Clark {
3248a26ae754SRob Clark 	return ((val) << A5XX_RB_RENDER_COMPONENTS_RT7__SHIFT) & A5XX_RB_RENDER_COMPONENTS_RT7__MASK;
3249a26ae754SRob Clark }
3250a26ae754SRob Clark 
REG_A5XX_RB_MRT(uint32_t i0)3251a26ae754SRob Clark static inline uint32_t REG_A5XX_RB_MRT(uint32_t i0) { return 0x0000e150 + 0x7*i0; }
3252a26ae754SRob Clark 
REG_A5XX_RB_MRT_CONTROL(uint32_t i0)3253a26ae754SRob Clark static inline uint32_t REG_A5XX_RB_MRT_CONTROL(uint32_t i0) { return 0x0000e150 + 0x7*i0; }
3254a26ae754SRob Clark #define A5XX_RB_MRT_CONTROL_BLEND				0x00000001
3255a26ae754SRob Clark #define A5XX_RB_MRT_CONTROL_BLEND2				0x00000002
32562d756322SRob Clark #define A5XX_RB_MRT_CONTROL_ROP_ENABLE				0x00000004
32572d756322SRob Clark #define A5XX_RB_MRT_CONTROL_ROP_CODE__MASK			0x00000078
32582d756322SRob Clark #define A5XX_RB_MRT_CONTROL_ROP_CODE__SHIFT			3
A5XX_RB_MRT_CONTROL_ROP_CODE(enum a3xx_rop_code val)32592d756322SRob Clark static inline uint32_t A5XX_RB_MRT_CONTROL_ROP_CODE(enum a3xx_rop_code val)
32602d756322SRob Clark {
32612d756322SRob Clark 	return ((val) << A5XX_RB_MRT_CONTROL_ROP_CODE__SHIFT) & A5XX_RB_MRT_CONTROL_ROP_CODE__MASK;
32622d756322SRob Clark }
3263a26ae754SRob Clark #define A5XX_RB_MRT_CONTROL_COMPONENT_ENABLE__MASK		0x00000780
3264a26ae754SRob Clark #define A5XX_RB_MRT_CONTROL_COMPONENT_ENABLE__SHIFT		7
A5XX_RB_MRT_CONTROL_COMPONENT_ENABLE(uint32_t val)3265a26ae754SRob Clark static inline uint32_t A5XX_RB_MRT_CONTROL_COMPONENT_ENABLE(uint32_t val)
3266a26ae754SRob Clark {
3267a26ae754SRob Clark 	return ((val) << A5XX_RB_MRT_CONTROL_COMPONENT_ENABLE__SHIFT) & A5XX_RB_MRT_CONTROL_COMPONENT_ENABLE__MASK;
3268a26ae754SRob Clark }
3269a26ae754SRob Clark 
REG_A5XX_RB_MRT_BLEND_CONTROL(uint32_t i0)3270a26ae754SRob Clark static inline uint32_t REG_A5XX_RB_MRT_BLEND_CONTROL(uint32_t i0) { return 0x0000e151 + 0x7*i0; }
3271a26ae754SRob Clark #define A5XX_RB_MRT_BLEND_CONTROL_RGB_SRC_FACTOR__MASK		0x0000001f
3272a26ae754SRob Clark #define A5XX_RB_MRT_BLEND_CONTROL_RGB_SRC_FACTOR__SHIFT		0
A5XX_RB_MRT_BLEND_CONTROL_RGB_SRC_FACTOR(enum adreno_rb_blend_factor val)3273a26ae754SRob Clark static inline uint32_t A5XX_RB_MRT_BLEND_CONTROL_RGB_SRC_FACTOR(enum adreno_rb_blend_factor val)
3274a26ae754SRob Clark {
3275a26ae754SRob Clark 	return ((val) << A5XX_RB_MRT_BLEND_CONTROL_RGB_SRC_FACTOR__SHIFT) & A5XX_RB_MRT_BLEND_CONTROL_RGB_SRC_FACTOR__MASK;
3276a26ae754SRob Clark }
3277a26ae754SRob Clark #define A5XX_RB_MRT_BLEND_CONTROL_RGB_BLEND_OPCODE__MASK	0x000000e0
3278a26ae754SRob Clark #define A5XX_RB_MRT_BLEND_CONTROL_RGB_BLEND_OPCODE__SHIFT	5
A5XX_RB_MRT_BLEND_CONTROL_RGB_BLEND_OPCODE(enum a3xx_rb_blend_opcode val)3279a26ae754SRob Clark static inline uint32_t A5XX_RB_MRT_BLEND_CONTROL_RGB_BLEND_OPCODE(enum a3xx_rb_blend_opcode val)
3280a26ae754SRob Clark {
3281a26ae754SRob Clark 	return ((val) << A5XX_RB_MRT_BLEND_CONTROL_RGB_BLEND_OPCODE__SHIFT) & A5XX_RB_MRT_BLEND_CONTROL_RGB_BLEND_OPCODE__MASK;
3282a26ae754SRob Clark }
3283a26ae754SRob Clark #define A5XX_RB_MRT_BLEND_CONTROL_RGB_DEST_FACTOR__MASK		0x00001f00
3284a26ae754SRob Clark #define A5XX_RB_MRT_BLEND_CONTROL_RGB_DEST_FACTOR__SHIFT	8
A5XX_RB_MRT_BLEND_CONTROL_RGB_DEST_FACTOR(enum adreno_rb_blend_factor val)3285a26ae754SRob Clark static inline uint32_t A5XX_RB_MRT_BLEND_CONTROL_RGB_DEST_FACTOR(enum adreno_rb_blend_factor val)
3286a26ae754SRob Clark {
3287a26ae754SRob Clark 	return ((val) << A5XX_RB_MRT_BLEND_CONTROL_RGB_DEST_FACTOR__SHIFT) & A5XX_RB_MRT_BLEND_CONTROL_RGB_DEST_FACTOR__MASK;
3288a26ae754SRob Clark }
3289a26ae754SRob Clark #define A5XX_RB_MRT_BLEND_CONTROL_ALPHA_SRC_FACTOR__MASK	0x001f0000
3290a26ae754SRob Clark #define A5XX_RB_MRT_BLEND_CONTROL_ALPHA_SRC_FACTOR__SHIFT	16
A5XX_RB_MRT_BLEND_CONTROL_ALPHA_SRC_FACTOR(enum adreno_rb_blend_factor val)3291a26ae754SRob Clark static inline uint32_t A5XX_RB_MRT_BLEND_CONTROL_ALPHA_SRC_FACTOR(enum adreno_rb_blend_factor val)
3292a26ae754SRob Clark {
3293a26ae754SRob Clark 	return ((val) << A5XX_RB_MRT_BLEND_CONTROL_ALPHA_SRC_FACTOR__SHIFT) & A5XX_RB_MRT_BLEND_CONTROL_ALPHA_SRC_FACTOR__MASK;
3294a26ae754SRob Clark }
3295a26ae754SRob Clark #define A5XX_RB_MRT_BLEND_CONTROL_ALPHA_BLEND_OPCODE__MASK	0x00e00000
3296a26ae754SRob Clark #define A5XX_RB_MRT_BLEND_CONTROL_ALPHA_BLEND_OPCODE__SHIFT	21
A5XX_RB_MRT_BLEND_CONTROL_ALPHA_BLEND_OPCODE(enum a3xx_rb_blend_opcode val)3297a26ae754SRob Clark static inline uint32_t A5XX_RB_MRT_BLEND_CONTROL_ALPHA_BLEND_OPCODE(enum a3xx_rb_blend_opcode val)
3298a26ae754SRob Clark {
3299a26ae754SRob Clark 	return ((val) << A5XX_RB_MRT_BLEND_CONTROL_ALPHA_BLEND_OPCODE__SHIFT) & A5XX_RB_MRT_BLEND_CONTROL_ALPHA_BLEND_OPCODE__MASK;
3300a26ae754SRob Clark }
3301a26ae754SRob Clark #define A5XX_RB_MRT_BLEND_CONTROL_ALPHA_DEST_FACTOR__MASK	0x1f000000
3302a26ae754SRob Clark #define A5XX_RB_MRT_BLEND_CONTROL_ALPHA_DEST_FACTOR__SHIFT	24
A5XX_RB_MRT_BLEND_CONTROL_ALPHA_DEST_FACTOR(enum adreno_rb_blend_factor val)3303a26ae754SRob Clark static inline uint32_t A5XX_RB_MRT_BLEND_CONTROL_ALPHA_DEST_FACTOR(enum adreno_rb_blend_factor val)
3304a26ae754SRob Clark {
3305a26ae754SRob Clark 	return ((val) << A5XX_RB_MRT_BLEND_CONTROL_ALPHA_DEST_FACTOR__SHIFT) & A5XX_RB_MRT_BLEND_CONTROL_ALPHA_DEST_FACTOR__MASK;
3306a26ae754SRob Clark }
3307a26ae754SRob Clark 
REG_A5XX_RB_MRT_BUF_INFO(uint32_t i0)3308a26ae754SRob Clark static inline uint32_t REG_A5XX_RB_MRT_BUF_INFO(uint32_t i0) { return 0x0000e152 + 0x7*i0; }
3309a26ae754SRob Clark #define A5XX_RB_MRT_BUF_INFO_COLOR_FORMAT__MASK			0x000000ff
3310a26ae754SRob Clark #define A5XX_RB_MRT_BUF_INFO_COLOR_FORMAT__SHIFT		0
A5XX_RB_MRT_BUF_INFO_COLOR_FORMAT(enum a5xx_color_fmt val)3311a26ae754SRob Clark static inline uint32_t A5XX_RB_MRT_BUF_INFO_COLOR_FORMAT(enum a5xx_color_fmt val)
3312a26ae754SRob Clark {
3313a26ae754SRob Clark 	return ((val) << A5XX_RB_MRT_BUF_INFO_COLOR_FORMAT__SHIFT) & A5XX_RB_MRT_BUF_INFO_COLOR_FORMAT__MASK;
3314a26ae754SRob Clark }
3315a26ae754SRob Clark #define A5XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE__MASK		0x00000300
3316a26ae754SRob Clark #define A5XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE__SHIFT		8
A5XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE(enum a5xx_tile_mode val)3317a26ae754SRob Clark static inline uint32_t A5XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE(enum a5xx_tile_mode val)
3318a26ae754SRob Clark {
3319a26ae754SRob Clark 	return ((val) << A5XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE__SHIFT) & A5XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE__MASK;
3320a26ae754SRob Clark }
33212d756322SRob Clark #define A5XX_RB_MRT_BUF_INFO_DITHER_MODE__MASK			0x00001800
33222d756322SRob Clark #define A5XX_RB_MRT_BUF_INFO_DITHER_MODE__SHIFT			11
A5XX_RB_MRT_BUF_INFO_DITHER_MODE(enum adreno_rb_dither_mode val)33232d756322SRob Clark static inline uint32_t A5XX_RB_MRT_BUF_INFO_DITHER_MODE(enum adreno_rb_dither_mode val)
33242d756322SRob Clark {
33252d756322SRob Clark 	return ((val) << A5XX_RB_MRT_BUF_INFO_DITHER_MODE__SHIFT) & A5XX_RB_MRT_BUF_INFO_DITHER_MODE__MASK;
33262d756322SRob Clark }
3327a26ae754SRob Clark #define A5XX_RB_MRT_BUF_INFO_COLOR_SWAP__MASK			0x00006000
3328a26ae754SRob Clark #define A5XX_RB_MRT_BUF_INFO_COLOR_SWAP__SHIFT			13
A5XX_RB_MRT_BUF_INFO_COLOR_SWAP(enum a3xx_color_swap val)3329a26ae754SRob Clark static inline uint32_t A5XX_RB_MRT_BUF_INFO_COLOR_SWAP(enum a3xx_color_swap val)
3330a26ae754SRob Clark {
3331a26ae754SRob Clark 	return ((val) << A5XX_RB_MRT_BUF_INFO_COLOR_SWAP__SHIFT) & A5XX_RB_MRT_BUF_INFO_COLOR_SWAP__MASK;
3332a26ae754SRob Clark }
3333a26ae754SRob Clark #define A5XX_RB_MRT_BUF_INFO_COLOR_SRGB				0x00008000
3334a26ae754SRob Clark 
REG_A5XX_RB_MRT_PITCH(uint32_t i0)3335a26ae754SRob Clark static inline uint32_t REG_A5XX_RB_MRT_PITCH(uint32_t i0) { return 0x0000e153 + 0x7*i0; }
3336a26ae754SRob Clark #define A5XX_RB_MRT_PITCH__MASK					0xffffffff
3337a26ae754SRob Clark #define A5XX_RB_MRT_PITCH__SHIFT				0
A5XX_RB_MRT_PITCH(uint32_t val)3338a26ae754SRob Clark static inline uint32_t A5XX_RB_MRT_PITCH(uint32_t val)
3339a26ae754SRob Clark {
3340a26ae754SRob Clark 	return ((val >> 6) << A5XX_RB_MRT_PITCH__SHIFT) & A5XX_RB_MRT_PITCH__MASK;
3341a26ae754SRob Clark }
3342a26ae754SRob Clark 
REG_A5XX_RB_MRT_ARRAY_PITCH(uint32_t i0)3343a26ae754SRob Clark static inline uint32_t REG_A5XX_RB_MRT_ARRAY_PITCH(uint32_t i0) { return 0x0000e154 + 0x7*i0; }
3344a26ae754SRob Clark #define A5XX_RB_MRT_ARRAY_PITCH__MASK				0xffffffff
3345a26ae754SRob Clark #define A5XX_RB_MRT_ARRAY_PITCH__SHIFT				0
A5XX_RB_MRT_ARRAY_PITCH(uint32_t val)3346a26ae754SRob Clark static inline uint32_t A5XX_RB_MRT_ARRAY_PITCH(uint32_t val)
3347a26ae754SRob Clark {
3348a26ae754SRob Clark 	return ((val >> 6) << A5XX_RB_MRT_ARRAY_PITCH__SHIFT) & A5XX_RB_MRT_ARRAY_PITCH__MASK;
3349a26ae754SRob Clark }
3350a26ae754SRob Clark 
REG_A5XX_RB_MRT_BASE_LO(uint32_t i0)3351a26ae754SRob Clark static inline uint32_t REG_A5XX_RB_MRT_BASE_LO(uint32_t i0) { return 0x0000e155 + 0x7*i0; }
3352a26ae754SRob Clark 
REG_A5XX_RB_MRT_BASE_HI(uint32_t i0)3353a26ae754SRob Clark static inline uint32_t REG_A5XX_RB_MRT_BASE_HI(uint32_t i0) { return 0x0000e156 + 0x7*i0; }
3354a26ae754SRob Clark 
3355a26ae754SRob Clark #define REG_A5XX_RB_BLEND_RED					0x0000e1a0
3356a26ae754SRob Clark #define A5XX_RB_BLEND_RED_UINT__MASK				0x000000ff
3357a26ae754SRob Clark #define A5XX_RB_BLEND_RED_UINT__SHIFT				0
A5XX_RB_BLEND_RED_UINT(uint32_t val)3358a26ae754SRob Clark static inline uint32_t A5XX_RB_BLEND_RED_UINT(uint32_t val)
3359a26ae754SRob Clark {
3360a26ae754SRob Clark 	return ((val) << A5XX_RB_BLEND_RED_UINT__SHIFT) & A5XX_RB_BLEND_RED_UINT__MASK;
3361a26ae754SRob Clark }
3362a26ae754SRob Clark #define A5XX_RB_BLEND_RED_SINT__MASK				0x0000ff00
3363a26ae754SRob Clark #define A5XX_RB_BLEND_RED_SINT__SHIFT				8
A5XX_RB_BLEND_RED_SINT(uint32_t val)3364a26ae754SRob Clark static inline uint32_t A5XX_RB_BLEND_RED_SINT(uint32_t val)
3365a26ae754SRob Clark {
3366a26ae754SRob Clark 	return ((val) << A5XX_RB_BLEND_RED_SINT__SHIFT) & A5XX_RB_BLEND_RED_SINT__MASK;
3367a26ae754SRob Clark }
3368a26ae754SRob Clark #define A5XX_RB_BLEND_RED_FLOAT__MASK				0xffff0000
3369a26ae754SRob Clark #define A5XX_RB_BLEND_RED_FLOAT__SHIFT				16
A5XX_RB_BLEND_RED_FLOAT(float val)3370a26ae754SRob Clark static inline uint32_t A5XX_RB_BLEND_RED_FLOAT(float val)
3371a26ae754SRob Clark {
3372cc4c26d4SRob Clark 	return ((_mesa_float_to_half(val)) << A5XX_RB_BLEND_RED_FLOAT__SHIFT) & A5XX_RB_BLEND_RED_FLOAT__MASK;
3373a26ae754SRob Clark }
3374a26ae754SRob Clark 
3375a26ae754SRob Clark #define REG_A5XX_RB_BLEND_RED_F32				0x0000e1a1
3376a26ae754SRob Clark #define A5XX_RB_BLEND_RED_F32__MASK				0xffffffff
3377a26ae754SRob Clark #define A5XX_RB_BLEND_RED_F32__SHIFT				0
A5XX_RB_BLEND_RED_F32(float val)3378a26ae754SRob Clark static inline uint32_t A5XX_RB_BLEND_RED_F32(float val)
3379a26ae754SRob Clark {
3380a26ae754SRob Clark 	return ((fui(val)) << A5XX_RB_BLEND_RED_F32__SHIFT) & A5XX_RB_BLEND_RED_F32__MASK;
3381a26ae754SRob Clark }
3382a26ae754SRob Clark 
3383a26ae754SRob Clark #define REG_A5XX_RB_BLEND_GREEN					0x0000e1a2
3384a26ae754SRob Clark #define A5XX_RB_BLEND_GREEN_UINT__MASK				0x000000ff
3385a26ae754SRob Clark #define A5XX_RB_BLEND_GREEN_UINT__SHIFT				0
A5XX_RB_BLEND_GREEN_UINT(uint32_t val)3386a26ae754SRob Clark static inline uint32_t A5XX_RB_BLEND_GREEN_UINT(uint32_t val)
3387a26ae754SRob Clark {
3388a26ae754SRob Clark 	return ((val) << A5XX_RB_BLEND_GREEN_UINT__SHIFT) & A5XX_RB_BLEND_GREEN_UINT__MASK;
3389a26ae754SRob Clark }
3390a26ae754SRob Clark #define A5XX_RB_BLEND_GREEN_SINT__MASK				0x0000ff00
3391a26ae754SRob Clark #define A5XX_RB_BLEND_GREEN_SINT__SHIFT				8
A5XX_RB_BLEND_GREEN_SINT(uint32_t val)3392a26ae754SRob Clark static inline uint32_t A5XX_RB_BLEND_GREEN_SINT(uint32_t val)
3393a26ae754SRob Clark {
3394a26ae754SRob Clark 	return ((val) << A5XX_RB_BLEND_GREEN_SINT__SHIFT) & A5XX_RB_BLEND_GREEN_SINT__MASK;
3395a26ae754SRob Clark }
3396a26ae754SRob Clark #define A5XX_RB_BLEND_GREEN_FLOAT__MASK				0xffff0000
3397a26ae754SRob Clark #define A5XX_RB_BLEND_GREEN_FLOAT__SHIFT			16
A5XX_RB_BLEND_GREEN_FLOAT(float val)3398a26ae754SRob Clark static inline uint32_t A5XX_RB_BLEND_GREEN_FLOAT(float val)
3399a26ae754SRob Clark {
3400cc4c26d4SRob Clark 	return ((_mesa_float_to_half(val)) << A5XX_RB_BLEND_GREEN_FLOAT__SHIFT) & A5XX_RB_BLEND_GREEN_FLOAT__MASK;
3401a26ae754SRob Clark }
3402a26ae754SRob Clark 
3403a26ae754SRob Clark #define REG_A5XX_RB_BLEND_GREEN_F32				0x0000e1a3
3404a26ae754SRob Clark #define A5XX_RB_BLEND_GREEN_F32__MASK				0xffffffff
3405a26ae754SRob Clark #define A5XX_RB_BLEND_GREEN_F32__SHIFT				0
A5XX_RB_BLEND_GREEN_F32(float val)3406a26ae754SRob Clark static inline uint32_t A5XX_RB_BLEND_GREEN_F32(float val)
3407a26ae754SRob Clark {
3408a26ae754SRob Clark 	return ((fui(val)) << A5XX_RB_BLEND_GREEN_F32__SHIFT) & A5XX_RB_BLEND_GREEN_F32__MASK;
3409a26ae754SRob Clark }
3410a26ae754SRob Clark 
3411a26ae754SRob Clark #define REG_A5XX_RB_BLEND_BLUE					0x0000e1a4
3412a26ae754SRob Clark #define A5XX_RB_BLEND_BLUE_UINT__MASK				0x000000ff
3413a26ae754SRob Clark #define A5XX_RB_BLEND_BLUE_UINT__SHIFT				0
A5XX_RB_BLEND_BLUE_UINT(uint32_t val)3414a26ae754SRob Clark static inline uint32_t A5XX_RB_BLEND_BLUE_UINT(uint32_t val)
3415a26ae754SRob Clark {
3416a26ae754SRob Clark 	return ((val) << A5XX_RB_BLEND_BLUE_UINT__SHIFT) & A5XX_RB_BLEND_BLUE_UINT__MASK;
3417a26ae754SRob Clark }
3418a26ae754SRob Clark #define A5XX_RB_BLEND_BLUE_SINT__MASK				0x0000ff00
3419a26ae754SRob Clark #define A5XX_RB_BLEND_BLUE_SINT__SHIFT				8
A5XX_RB_BLEND_BLUE_SINT(uint32_t val)3420a26ae754SRob Clark static inline uint32_t A5XX_RB_BLEND_BLUE_SINT(uint32_t val)
3421a26ae754SRob Clark {
3422a26ae754SRob Clark 	return ((val) << A5XX_RB_BLEND_BLUE_SINT__SHIFT) & A5XX_RB_BLEND_BLUE_SINT__MASK;
3423a26ae754SRob Clark }
3424a26ae754SRob Clark #define A5XX_RB_BLEND_BLUE_FLOAT__MASK				0xffff0000
3425a26ae754SRob Clark #define A5XX_RB_BLEND_BLUE_FLOAT__SHIFT				16
A5XX_RB_BLEND_BLUE_FLOAT(float val)3426a26ae754SRob Clark static inline uint32_t A5XX_RB_BLEND_BLUE_FLOAT(float val)
3427a26ae754SRob Clark {
3428cc4c26d4SRob Clark 	return ((_mesa_float_to_half(val)) << A5XX_RB_BLEND_BLUE_FLOAT__SHIFT) & A5XX_RB_BLEND_BLUE_FLOAT__MASK;
3429a26ae754SRob Clark }
3430a26ae754SRob Clark 
3431a26ae754SRob Clark #define REG_A5XX_RB_BLEND_BLUE_F32				0x0000e1a5
3432a26ae754SRob Clark #define A5XX_RB_BLEND_BLUE_F32__MASK				0xffffffff
3433a26ae754SRob Clark #define A5XX_RB_BLEND_BLUE_F32__SHIFT				0
A5XX_RB_BLEND_BLUE_F32(float val)3434a26ae754SRob Clark static inline uint32_t A5XX_RB_BLEND_BLUE_F32(float val)
3435a26ae754SRob Clark {
3436a26ae754SRob Clark 	return ((fui(val)) << A5XX_RB_BLEND_BLUE_F32__SHIFT) & A5XX_RB_BLEND_BLUE_F32__MASK;
3437a26ae754SRob Clark }
3438a26ae754SRob Clark 
3439a26ae754SRob Clark #define REG_A5XX_RB_BLEND_ALPHA					0x0000e1a6
3440a26ae754SRob Clark #define A5XX_RB_BLEND_ALPHA_UINT__MASK				0x000000ff
3441a26ae754SRob Clark #define A5XX_RB_BLEND_ALPHA_UINT__SHIFT				0
A5XX_RB_BLEND_ALPHA_UINT(uint32_t val)3442a26ae754SRob Clark static inline uint32_t A5XX_RB_BLEND_ALPHA_UINT(uint32_t val)
3443a26ae754SRob Clark {
3444a26ae754SRob Clark 	return ((val) << A5XX_RB_BLEND_ALPHA_UINT__SHIFT) & A5XX_RB_BLEND_ALPHA_UINT__MASK;
3445a26ae754SRob Clark }
3446a26ae754SRob Clark #define A5XX_RB_BLEND_ALPHA_SINT__MASK				0x0000ff00
3447a26ae754SRob Clark #define A5XX_RB_BLEND_ALPHA_SINT__SHIFT				8
A5XX_RB_BLEND_ALPHA_SINT(uint32_t val)3448a26ae754SRob Clark static inline uint32_t A5XX_RB_BLEND_ALPHA_SINT(uint32_t val)
3449a26ae754SRob Clark {
3450a26ae754SRob Clark 	return ((val) << A5XX_RB_BLEND_ALPHA_SINT__SHIFT) & A5XX_RB_BLEND_ALPHA_SINT__MASK;
3451a26ae754SRob Clark }
3452a26ae754SRob Clark #define A5XX_RB_BLEND_ALPHA_FLOAT__MASK				0xffff0000
3453a26ae754SRob Clark #define A5XX_RB_BLEND_ALPHA_FLOAT__SHIFT			16
A5XX_RB_BLEND_ALPHA_FLOAT(float val)3454a26ae754SRob Clark static inline uint32_t A5XX_RB_BLEND_ALPHA_FLOAT(float val)
3455a26ae754SRob Clark {
3456cc4c26d4SRob Clark 	return ((_mesa_float_to_half(val)) << A5XX_RB_BLEND_ALPHA_FLOAT__SHIFT) & A5XX_RB_BLEND_ALPHA_FLOAT__MASK;
3457a26ae754SRob Clark }
3458a26ae754SRob Clark 
3459a26ae754SRob Clark #define REG_A5XX_RB_BLEND_ALPHA_F32				0x0000e1a7
3460a26ae754SRob Clark #define A5XX_RB_BLEND_ALPHA_F32__MASK				0xffffffff
3461a26ae754SRob Clark #define A5XX_RB_BLEND_ALPHA_F32__SHIFT				0
A5XX_RB_BLEND_ALPHA_F32(float val)3462a26ae754SRob Clark static inline uint32_t A5XX_RB_BLEND_ALPHA_F32(float val)
3463a26ae754SRob Clark {
3464a26ae754SRob Clark 	return ((fui(val)) << A5XX_RB_BLEND_ALPHA_F32__SHIFT) & A5XX_RB_BLEND_ALPHA_F32__MASK;
3465a26ae754SRob Clark }
3466a26ae754SRob Clark 
3467a26ae754SRob Clark #define REG_A5XX_RB_ALPHA_CONTROL				0x0000e1a8
3468a26ae754SRob Clark #define A5XX_RB_ALPHA_CONTROL_ALPHA_REF__MASK			0x000000ff
3469a26ae754SRob Clark #define A5XX_RB_ALPHA_CONTROL_ALPHA_REF__SHIFT			0
A5XX_RB_ALPHA_CONTROL_ALPHA_REF(uint32_t val)3470a26ae754SRob Clark static inline uint32_t A5XX_RB_ALPHA_CONTROL_ALPHA_REF(uint32_t val)
3471a26ae754SRob Clark {
3472a26ae754SRob Clark 	return ((val) << A5XX_RB_ALPHA_CONTROL_ALPHA_REF__SHIFT) & A5XX_RB_ALPHA_CONTROL_ALPHA_REF__MASK;
3473a26ae754SRob Clark }
3474a26ae754SRob Clark #define A5XX_RB_ALPHA_CONTROL_ALPHA_TEST			0x00000100
3475a26ae754SRob Clark #define A5XX_RB_ALPHA_CONTROL_ALPHA_TEST_FUNC__MASK		0x00000e00
3476a26ae754SRob Clark #define A5XX_RB_ALPHA_CONTROL_ALPHA_TEST_FUNC__SHIFT		9
A5XX_RB_ALPHA_CONTROL_ALPHA_TEST_FUNC(enum adreno_compare_func val)3477a26ae754SRob Clark static inline uint32_t A5XX_RB_ALPHA_CONTROL_ALPHA_TEST_FUNC(enum adreno_compare_func val)
3478a26ae754SRob Clark {
3479a26ae754SRob Clark 	return ((val) << A5XX_RB_ALPHA_CONTROL_ALPHA_TEST_FUNC__SHIFT) & A5XX_RB_ALPHA_CONTROL_ALPHA_TEST_FUNC__MASK;
3480a26ae754SRob Clark }
3481a26ae754SRob Clark 
3482a26ae754SRob Clark #define REG_A5XX_RB_BLEND_CNTL					0x0000e1a9
3483a26ae754SRob Clark #define A5XX_RB_BLEND_CNTL_ENABLE_BLEND__MASK			0x000000ff
3484a26ae754SRob Clark #define A5XX_RB_BLEND_CNTL_ENABLE_BLEND__SHIFT			0
A5XX_RB_BLEND_CNTL_ENABLE_BLEND(uint32_t val)3485a26ae754SRob Clark static inline uint32_t A5XX_RB_BLEND_CNTL_ENABLE_BLEND(uint32_t val)
3486a26ae754SRob Clark {
3487a26ae754SRob Clark 	return ((val) << A5XX_RB_BLEND_CNTL_ENABLE_BLEND__SHIFT) & A5XX_RB_BLEND_CNTL_ENABLE_BLEND__MASK;
3488a26ae754SRob Clark }
3489a26ae754SRob Clark #define A5XX_RB_BLEND_CNTL_INDEPENDENT_BLEND			0x00000100
34902d756322SRob Clark #define A5XX_RB_BLEND_CNTL_ALPHA_TO_COVERAGE			0x00000400
3491a26ae754SRob Clark #define A5XX_RB_BLEND_CNTL_SAMPLE_MASK__MASK			0xffff0000
3492a26ae754SRob Clark #define A5XX_RB_BLEND_CNTL_SAMPLE_MASK__SHIFT			16
A5XX_RB_BLEND_CNTL_SAMPLE_MASK(uint32_t val)3493a26ae754SRob Clark static inline uint32_t A5XX_RB_BLEND_CNTL_SAMPLE_MASK(uint32_t val)
3494a26ae754SRob Clark {
3495a26ae754SRob Clark 	return ((val) << A5XX_RB_BLEND_CNTL_SAMPLE_MASK__SHIFT) & A5XX_RB_BLEND_CNTL_SAMPLE_MASK__MASK;
3496a26ae754SRob Clark }
3497a26ae754SRob Clark 
3498a26ae754SRob Clark #define REG_A5XX_RB_DEPTH_PLANE_CNTL				0x0000e1b0
3499a26ae754SRob Clark #define A5XX_RB_DEPTH_PLANE_CNTL_FRAG_WRITES_Z			0x00000001
350052260ae4SRob Clark #define A5XX_RB_DEPTH_PLANE_CNTL_UNK1				0x00000002
3501a26ae754SRob Clark 
3502a26ae754SRob Clark #define REG_A5XX_RB_DEPTH_CNTL					0x0000e1b1
350357cfe41cSRob Clark #define A5XX_RB_DEPTH_CNTL_Z_TEST_ENABLE			0x00000001
3504a26ae754SRob Clark #define A5XX_RB_DEPTH_CNTL_Z_WRITE_ENABLE			0x00000002
3505a26ae754SRob Clark #define A5XX_RB_DEPTH_CNTL_ZFUNC__MASK				0x0000001c
3506a26ae754SRob Clark #define A5XX_RB_DEPTH_CNTL_ZFUNC__SHIFT				2
A5XX_RB_DEPTH_CNTL_ZFUNC(enum adreno_compare_func val)3507a26ae754SRob Clark static inline uint32_t A5XX_RB_DEPTH_CNTL_ZFUNC(enum adreno_compare_func val)
3508a26ae754SRob Clark {
3509a26ae754SRob Clark 	return ((val) << A5XX_RB_DEPTH_CNTL_ZFUNC__SHIFT) & A5XX_RB_DEPTH_CNTL_ZFUNC__MASK;
3510a26ae754SRob Clark }
351157cfe41cSRob Clark #define A5XX_RB_DEPTH_CNTL_Z_READ_ENABLE			0x00000040
3512a26ae754SRob Clark 
3513a26ae754SRob Clark #define REG_A5XX_RB_DEPTH_BUFFER_INFO				0x0000e1b2
3514a26ae754SRob Clark #define A5XX_RB_DEPTH_BUFFER_INFO_DEPTH_FORMAT__MASK		0x00000007
3515a26ae754SRob Clark #define A5XX_RB_DEPTH_BUFFER_INFO_DEPTH_FORMAT__SHIFT		0
A5XX_RB_DEPTH_BUFFER_INFO_DEPTH_FORMAT(enum a5xx_depth_format val)3516a26ae754SRob Clark static inline uint32_t A5XX_RB_DEPTH_BUFFER_INFO_DEPTH_FORMAT(enum a5xx_depth_format val)
3517a26ae754SRob Clark {
3518a26ae754SRob Clark 	return ((val) << A5XX_RB_DEPTH_BUFFER_INFO_DEPTH_FORMAT__SHIFT) & A5XX_RB_DEPTH_BUFFER_INFO_DEPTH_FORMAT__MASK;
3519a26ae754SRob Clark }
3520a26ae754SRob Clark 
3521a26ae754SRob Clark #define REG_A5XX_RB_DEPTH_BUFFER_BASE_LO			0x0000e1b3
3522a26ae754SRob Clark 
3523a26ae754SRob Clark #define REG_A5XX_RB_DEPTH_BUFFER_BASE_HI			0x0000e1b4
3524a26ae754SRob Clark 
3525a26ae754SRob Clark #define REG_A5XX_RB_DEPTH_BUFFER_PITCH				0x0000e1b5
3526a26ae754SRob Clark #define A5XX_RB_DEPTH_BUFFER_PITCH__MASK			0xffffffff
3527a26ae754SRob Clark #define A5XX_RB_DEPTH_BUFFER_PITCH__SHIFT			0
A5XX_RB_DEPTH_BUFFER_PITCH(uint32_t val)3528a26ae754SRob Clark static inline uint32_t A5XX_RB_DEPTH_BUFFER_PITCH(uint32_t val)
3529a26ae754SRob Clark {
353052260ae4SRob Clark 	return ((val >> 6) << A5XX_RB_DEPTH_BUFFER_PITCH__SHIFT) & A5XX_RB_DEPTH_BUFFER_PITCH__MASK;
3531a26ae754SRob Clark }
3532a26ae754SRob Clark 
3533a26ae754SRob Clark #define REG_A5XX_RB_DEPTH_BUFFER_ARRAY_PITCH			0x0000e1b6
3534a26ae754SRob Clark #define A5XX_RB_DEPTH_BUFFER_ARRAY_PITCH__MASK			0xffffffff
3535a26ae754SRob Clark #define A5XX_RB_DEPTH_BUFFER_ARRAY_PITCH__SHIFT			0
A5XX_RB_DEPTH_BUFFER_ARRAY_PITCH(uint32_t val)3536a26ae754SRob Clark static inline uint32_t A5XX_RB_DEPTH_BUFFER_ARRAY_PITCH(uint32_t val)
3537a26ae754SRob Clark {
353852260ae4SRob Clark 	return ((val >> 6) << A5XX_RB_DEPTH_BUFFER_ARRAY_PITCH__SHIFT) & A5XX_RB_DEPTH_BUFFER_ARRAY_PITCH__MASK;
3539a26ae754SRob Clark }
3540a26ae754SRob Clark 
3541a26ae754SRob Clark #define REG_A5XX_RB_STENCIL_CONTROL				0x0000e1c0
3542a26ae754SRob Clark #define A5XX_RB_STENCIL_CONTROL_STENCIL_ENABLE			0x00000001
3543a26ae754SRob Clark #define A5XX_RB_STENCIL_CONTROL_STENCIL_ENABLE_BF		0x00000002
3544a26ae754SRob Clark #define A5XX_RB_STENCIL_CONTROL_STENCIL_READ			0x00000004
3545a26ae754SRob Clark #define A5XX_RB_STENCIL_CONTROL_FUNC__MASK			0x00000700
3546a26ae754SRob Clark #define A5XX_RB_STENCIL_CONTROL_FUNC__SHIFT			8
A5XX_RB_STENCIL_CONTROL_FUNC(enum adreno_compare_func val)3547a26ae754SRob Clark static inline uint32_t A5XX_RB_STENCIL_CONTROL_FUNC(enum adreno_compare_func val)
3548a26ae754SRob Clark {
3549a26ae754SRob Clark 	return ((val) << A5XX_RB_STENCIL_CONTROL_FUNC__SHIFT) & A5XX_RB_STENCIL_CONTROL_FUNC__MASK;
3550a26ae754SRob Clark }
3551a26ae754SRob Clark #define A5XX_RB_STENCIL_CONTROL_FAIL__MASK			0x00003800
3552a26ae754SRob Clark #define A5XX_RB_STENCIL_CONTROL_FAIL__SHIFT			11
A5XX_RB_STENCIL_CONTROL_FAIL(enum adreno_stencil_op val)3553a26ae754SRob Clark static inline uint32_t A5XX_RB_STENCIL_CONTROL_FAIL(enum adreno_stencil_op val)
3554a26ae754SRob Clark {
3555a26ae754SRob Clark 	return ((val) << A5XX_RB_STENCIL_CONTROL_FAIL__SHIFT) & A5XX_RB_STENCIL_CONTROL_FAIL__MASK;
3556a26ae754SRob Clark }
3557a26ae754SRob Clark #define A5XX_RB_STENCIL_CONTROL_ZPASS__MASK			0x0001c000
3558a26ae754SRob Clark #define A5XX_RB_STENCIL_CONTROL_ZPASS__SHIFT			14
A5XX_RB_STENCIL_CONTROL_ZPASS(enum adreno_stencil_op val)3559a26ae754SRob Clark static inline uint32_t A5XX_RB_STENCIL_CONTROL_ZPASS(enum adreno_stencil_op val)
3560a26ae754SRob Clark {
3561a26ae754SRob Clark 	return ((val) << A5XX_RB_STENCIL_CONTROL_ZPASS__SHIFT) & A5XX_RB_STENCIL_CONTROL_ZPASS__MASK;
3562a26ae754SRob Clark }
3563a26ae754SRob Clark #define A5XX_RB_STENCIL_CONTROL_ZFAIL__MASK			0x000e0000
3564a26ae754SRob Clark #define A5XX_RB_STENCIL_CONTROL_ZFAIL__SHIFT			17
A5XX_RB_STENCIL_CONTROL_ZFAIL(enum adreno_stencil_op val)3565a26ae754SRob Clark static inline uint32_t A5XX_RB_STENCIL_CONTROL_ZFAIL(enum adreno_stencil_op val)
3566a26ae754SRob Clark {
3567a26ae754SRob Clark 	return ((val) << A5XX_RB_STENCIL_CONTROL_ZFAIL__SHIFT) & A5XX_RB_STENCIL_CONTROL_ZFAIL__MASK;
3568a26ae754SRob Clark }
3569a26ae754SRob Clark #define A5XX_RB_STENCIL_CONTROL_FUNC_BF__MASK			0x00700000
3570a26ae754SRob Clark #define A5XX_RB_STENCIL_CONTROL_FUNC_BF__SHIFT			20
A5XX_RB_STENCIL_CONTROL_FUNC_BF(enum adreno_compare_func val)3571a26ae754SRob Clark static inline uint32_t A5XX_RB_STENCIL_CONTROL_FUNC_BF(enum adreno_compare_func val)
3572a26ae754SRob Clark {
3573a26ae754SRob Clark 	return ((val) << A5XX_RB_STENCIL_CONTROL_FUNC_BF__SHIFT) & A5XX_RB_STENCIL_CONTROL_FUNC_BF__MASK;
3574a26ae754SRob Clark }
3575a26ae754SRob Clark #define A5XX_RB_STENCIL_CONTROL_FAIL_BF__MASK			0x03800000
3576a26ae754SRob Clark #define A5XX_RB_STENCIL_CONTROL_FAIL_BF__SHIFT			23
A5XX_RB_STENCIL_CONTROL_FAIL_BF(enum adreno_stencil_op val)3577a26ae754SRob Clark static inline uint32_t A5XX_RB_STENCIL_CONTROL_FAIL_BF(enum adreno_stencil_op val)
3578a26ae754SRob Clark {
3579a26ae754SRob Clark 	return ((val) << A5XX_RB_STENCIL_CONTROL_FAIL_BF__SHIFT) & A5XX_RB_STENCIL_CONTROL_FAIL_BF__MASK;
3580a26ae754SRob Clark }
3581a26ae754SRob Clark #define A5XX_RB_STENCIL_CONTROL_ZPASS_BF__MASK			0x1c000000
3582a26ae754SRob Clark #define A5XX_RB_STENCIL_CONTROL_ZPASS_BF__SHIFT			26
A5XX_RB_STENCIL_CONTROL_ZPASS_BF(enum adreno_stencil_op val)3583a26ae754SRob Clark static inline uint32_t A5XX_RB_STENCIL_CONTROL_ZPASS_BF(enum adreno_stencil_op val)
3584a26ae754SRob Clark {
3585a26ae754SRob Clark 	return ((val) << A5XX_RB_STENCIL_CONTROL_ZPASS_BF__SHIFT) & A5XX_RB_STENCIL_CONTROL_ZPASS_BF__MASK;
3586a26ae754SRob Clark }
3587a26ae754SRob Clark #define A5XX_RB_STENCIL_CONTROL_ZFAIL_BF__MASK			0xe0000000
3588a26ae754SRob Clark #define A5XX_RB_STENCIL_CONTROL_ZFAIL_BF__SHIFT			29
A5XX_RB_STENCIL_CONTROL_ZFAIL_BF(enum adreno_stencil_op val)3589a26ae754SRob Clark static inline uint32_t A5XX_RB_STENCIL_CONTROL_ZFAIL_BF(enum adreno_stencil_op val)
3590a26ae754SRob Clark {
3591a26ae754SRob Clark 	return ((val) << A5XX_RB_STENCIL_CONTROL_ZFAIL_BF__SHIFT) & A5XX_RB_STENCIL_CONTROL_ZFAIL_BF__MASK;
3592a26ae754SRob Clark }
3593a26ae754SRob Clark 
3594a26ae754SRob Clark #define REG_A5XX_RB_STENCIL_INFO				0x0000e1c1
3595a26ae754SRob Clark #define A5XX_RB_STENCIL_INFO_SEPARATE_STENCIL			0x00000001
3596a26ae754SRob Clark 
3597a26ae754SRob Clark #define REG_A5XX_RB_STENCIL_BASE_LO				0x0000e1c2
3598a26ae754SRob Clark 
3599a26ae754SRob Clark #define REG_A5XX_RB_STENCIL_BASE_HI				0x0000e1c3
3600a26ae754SRob Clark 
3601a26ae754SRob Clark #define REG_A5XX_RB_STENCIL_PITCH				0x0000e1c4
3602a26ae754SRob Clark #define A5XX_RB_STENCIL_PITCH__MASK				0xffffffff
3603a26ae754SRob Clark #define A5XX_RB_STENCIL_PITCH__SHIFT				0
A5XX_RB_STENCIL_PITCH(uint32_t val)3604a26ae754SRob Clark static inline uint32_t A5XX_RB_STENCIL_PITCH(uint32_t val)
3605a26ae754SRob Clark {
3606a26ae754SRob Clark 	return ((val >> 6) << A5XX_RB_STENCIL_PITCH__SHIFT) & A5XX_RB_STENCIL_PITCH__MASK;
3607a26ae754SRob Clark }
3608a26ae754SRob Clark 
3609a26ae754SRob Clark #define REG_A5XX_RB_STENCIL_ARRAY_PITCH				0x0000e1c5
3610a26ae754SRob Clark #define A5XX_RB_STENCIL_ARRAY_PITCH__MASK			0xffffffff
3611a26ae754SRob Clark #define A5XX_RB_STENCIL_ARRAY_PITCH__SHIFT			0
A5XX_RB_STENCIL_ARRAY_PITCH(uint32_t val)3612a26ae754SRob Clark static inline uint32_t A5XX_RB_STENCIL_ARRAY_PITCH(uint32_t val)
3613a26ae754SRob Clark {
3614a26ae754SRob Clark 	return ((val >> 6) << A5XX_RB_STENCIL_ARRAY_PITCH__SHIFT) & A5XX_RB_STENCIL_ARRAY_PITCH__MASK;
3615a26ae754SRob Clark }
3616a26ae754SRob Clark 
3617a26ae754SRob Clark #define REG_A5XX_RB_STENCILREFMASK				0x0000e1c6
3618a26ae754SRob Clark #define A5XX_RB_STENCILREFMASK_STENCILREF__MASK			0x000000ff
3619a26ae754SRob Clark #define A5XX_RB_STENCILREFMASK_STENCILREF__SHIFT		0
A5XX_RB_STENCILREFMASK_STENCILREF(uint32_t val)3620a26ae754SRob Clark static inline uint32_t A5XX_RB_STENCILREFMASK_STENCILREF(uint32_t val)
3621a26ae754SRob Clark {
3622a26ae754SRob Clark 	return ((val) << A5XX_RB_STENCILREFMASK_STENCILREF__SHIFT) & A5XX_RB_STENCILREFMASK_STENCILREF__MASK;
3623a26ae754SRob Clark }
3624a26ae754SRob Clark #define A5XX_RB_STENCILREFMASK_STENCILMASK__MASK		0x0000ff00
3625a26ae754SRob Clark #define A5XX_RB_STENCILREFMASK_STENCILMASK__SHIFT		8
A5XX_RB_STENCILREFMASK_STENCILMASK(uint32_t val)3626a26ae754SRob Clark static inline uint32_t A5XX_RB_STENCILREFMASK_STENCILMASK(uint32_t val)
3627a26ae754SRob Clark {
3628a26ae754SRob Clark 	return ((val) << A5XX_RB_STENCILREFMASK_STENCILMASK__SHIFT) & A5XX_RB_STENCILREFMASK_STENCILMASK__MASK;
3629a26ae754SRob Clark }
3630a26ae754SRob Clark #define A5XX_RB_STENCILREFMASK_STENCILWRITEMASK__MASK		0x00ff0000
3631a26ae754SRob Clark #define A5XX_RB_STENCILREFMASK_STENCILWRITEMASK__SHIFT		16
A5XX_RB_STENCILREFMASK_STENCILWRITEMASK(uint32_t val)3632a26ae754SRob Clark static inline uint32_t A5XX_RB_STENCILREFMASK_STENCILWRITEMASK(uint32_t val)
3633a26ae754SRob Clark {
3634a26ae754SRob Clark 	return ((val) << A5XX_RB_STENCILREFMASK_STENCILWRITEMASK__SHIFT) & A5XX_RB_STENCILREFMASK_STENCILWRITEMASK__MASK;
3635a26ae754SRob Clark }
3636a26ae754SRob Clark 
36372d756322SRob Clark #define REG_A5XX_RB_STENCILREFMASK_BF				0x0000e1c7
36382d756322SRob Clark #define A5XX_RB_STENCILREFMASK_BF_STENCILREF__MASK		0x000000ff
36392d756322SRob Clark #define A5XX_RB_STENCILREFMASK_BF_STENCILREF__SHIFT		0
A5XX_RB_STENCILREFMASK_BF_STENCILREF(uint32_t val)36402d756322SRob Clark static inline uint32_t A5XX_RB_STENCILREFMASK_BF_STENCILREF(uint32_t val)
36412d756322SRob Clark {
36422d756322SRob Clark 	return ((val) << A5XX_RB_STENCILREFMASK_BF_STENCILREF__SHIFT) & A5XX_RB_STENCILREFMASK_BF_STENCILREF__MASK;
36432d756322SRob Clark }
36442d756322SRob Clark #define A5XX_RB_STENCILREFMASK_BF_STENCILMASK__MASK		0x0000ff00
36452d756322SRob Clark #define A5XX_RB_STENCILREFMASK_BF_STENCILMASK__SHIFT		8
A5XX_RB_STENCILREFMASK_BF_STENCILMASK(uint32_t val)36462d756322SRob Clark static inline uint32_t A5XX_RB_STENCILREFMASK_BF_STENCILMASK(uint32_t val)
36472d756322SRob Clark {
36482d756322SRob Clark 	return ((val) << A5XX_RB_STENCILREFMASK_BF_STENCILMASK__SHIFT) & A5XX_RB_STENCILREFMASK_BF_STENCILMASK__MASK;
36492d756322SRob Clark }
36502d756322SRob Clark #define A5XX_RB_STENCILREFMASK_BF_STENCILWRITEMASK__MASK	0x00ff0000
36512d756322SRob Clark #define A5XX_RB_STENCILREFMASK_BF_STENCILWRITEMASK__SHIFT	16
A5XX_RB_STENCILREFMASK_BF_STENCILWRITEMASK(uint32_t val)36522d756322SRob Clark static inline uint32_t A5XX_RB_STENCILREFMASK_BF_STENCILWRITEMASK(uint32_t val)
36532d756322SRob Clark {
36542d756322SRob Clark 	return ((val) << A5XX_RB_STENCILREFMASK_BF_STENCILWRITEMASK__SHIFT) & A5XX_RB_STENCILREFMASK_BF_STENCILWRITEMASK__MASK;
36552d756322SRob Clark }
3656a26ae754SRob Clark 
3657a26ae754SRob Clark #define REG_A5XX_RB_WINDOW_OFFSET				0x0000e1d0
3658a26ae754SRob Clark #define A5XX_RB_WINDOW_OFFSET_WINDOW_OFFSET_DISABLE		0x80000000
3659a26ae754SRob Clark #define A5XX_RB_WINDOW_OFFSET_X__MASK				0x00007fff
3660a26ae754SRob Clark #define A5XX_RB_WINDOW_OFFSET_X__SHIFT				0
A5XX_RB_WINDOW_OFFSET_X(uint32_t val)3661a26ae754SRob Clark static inline uint32_t A5XX_RB_WINDOW_OFFSET_X(uint32_t val)
3662a26ae754SRob Clark {
3663a26ae754SRob Clark 	return ((val) << A5XX_RB_WINDOW_OFFSET_X__SHIFT) & A5XX_RB_WINDOW_OFFSET_X__MASK;
3664a26ae754SRob Clark }
3665a26ae754SRob Clark #define A5XX_RB_WINDOW_OFFSET_Y__MASK				0x7fff0000
3666a26ae754SRob Clark #define A5XX_RB_WINDOW_OFFSET_Y__SHIFT				16
A5XX_RB_WINDOW_OFFSET_Y(uint32_t val)3667a26ae754SRob Clark static inline uint32_t A5XX_RB_WINDOW_OFFSET_Y(uint32_t val)
3668a26ae754SRob Clark {
3669a26ae754SRob Clark 	return ((val) << A5XX_RB_WINDOW_OFFSET_Y__SHIFT) & A5XX_RB_WINDOW_OFFSET_Y__MASK;
3670a26ae754SRob Clark }
3671a26ae754SRob Clark 
367252260ae4SRob Clark #define REG_A5XX_RB_SAMPLE_COUNT_CONTROL			0x0000e1d1
367352260ae4SRob Clark #define A5XX_RB_SAMPLE_COUNT_CONTROL_COPY			0x00000002
367452260ae4SRob Clark 
3675a26ae754SRob Clark #define REG_A5XX_RB_BLIT_CNTL					0x0000e210
367652260ae4SRob Clark #define A5XX_RB_BLIT_CNTL_BUF__MASK				0x0000000f
3677a26ae754SRob Clark #define A5XX_RB_BLIT_CNTL_BUF__SHIFT				0
A5XX_RB_BLIT_CNTL_BUF(enum a5xx_blit_buf val)3678a26ae754SRob Clark static inline uint32_t A5XX_RB_BLIT_CNTL_BUF(enum a5xx_blit_buf val)
3679a26ae754SRob Clark {
3680a26ae754SRob Clark 	return ((val) << A5XX_RB_BLIT_CNTL_BUF__SHIFT) & A5XX_RB_BLIT_CNTL_BUF__MASK;
3681a26ae754SRob Clark }
3682a26ae754SRob Clark 
3683a26ae754SRob Clark #define REG_A5XX_RB_RESOLVE_CNTL_1				0x0000e211
3684a26ae754SRob Clark #define A5XX_RB_RESOLVE_CNTL_1_WINDOW_OFFSET_DISABLE		0x80000000
3685a26ae754SRob Clark #define A5XX_RB_RESOLVE_CNTL_1_X__MASK				0x00007fff
3686a26ae754SRob Clark #define A5XX_RB_RESOLVE_CNTL_1_X__SHIFT				0
A5XX_RB_RESOLVE_CNTL_1_X(uint32_t val)3687a26ae754SRob Clark static inline uint32_t A5XX_RB_RESOLVE_CNTL_1_X(uint32_t val)
3688a26ae754SRob Clark {
3689a26ae754SRob Clark 	return ((val) << A5XX_RB_RESOLVE_CNTL_1_X__SHIFT) & A5XX_RB_RESOLVE_CNTL_1_X__MASK;
3690a26ae754SRob Clark }
3691a26ae754SRob Clark #define A5XX_RB_RESOLVE_CNTL_1_Y__MASK				0x7fff0000
3692a26ae754SRob Clark #define A5XX_RB_RESOLVE_CNTL_1_Y__SHIFT				16
A5XX_RB_RESOLVE_CNTL_1_Y(uint32_t val)3693a26ae754SRob Clark static inline uint32_t A5XX_RB_RESOLVE_CNTL_1_Y(uint32_t val)
3694a26ae754SRob Clark {
3695a26ae754SRob Clark 	return ((val) << A5XX_RB_RESOLVE_CNTL_1_Y__SHIFT) & A5XX_RB_RESOLVE_CNTL_1_Y__MASK;
3696a26ae754SRob Clark }
3697a26ae754SRob Clark 
3698a26ae754SRob Clark #define REG_A5XX_RB_RESOLVE_CNTL_2				0x0000e212
3699a26ae754SRob Clark #define A5XX_RB_RESOLVE_CNTL_2_WINDOW_OFFSET_DISABLE		0x80000000
3700a26ae754SRob Clark #define A5XX_RB_RESOLVE_CNTL_2_X__MASK				0x00007fff
3701a26ae754SRob Clark #define A5XX_RB_RESOLVE_CNTL_2_X__SHIFT				0
A5XX_RB_RESOLVE_CNTL_2_X(uint32_t val)3702a26ae754SRob Clark static inline uint32_t A5XX_RB_RESOLVE_CNTL_2_X(uint32_t val)
3703a26ae754SRob Clark {
3704a26ae754SRob Clark 	return ((val) << A5XX_RB_RESOLVE_CNTL_2_X__SHIFT) & A5XX_RB_RESOLVE_CNTL_2_X__MASK;
3705a26ae754SRob Clark }
3706a26ae754SRob Clark #define A5XX_RB_RESOLVE_CNTL_2_Y__MASK				0x7fff0000
3707a26ae754SRob Clark #define A5XX_RB_RESOLVE_CNTL_2_Y__SHIFT				16
A5XX_RB_RESOLVE_CNTL_2_Y(uint32_t val)3708a26ae754SRob Clark static inline uint32_t A5XX_RB_RESOLVE_CNTL_2_Y(uint32_t val)
3709a26ae754SRob Clark {
3710a26ae754SRob Clark 	return ((val) << A5XX_RB_RESOLVE_CNTL_2_Y__SHIFT) & A5XX_RB_RESOLVE_CNTL_2_Y__MASK;
3711a26ae754SRob Clark }
3712a26ae754SRob Clark 
3713a26ae754SRob Clark #define REG_A5XX_RB_RESOLVE_CNTL_3				0x0000e213
37142d756322SRob Clark #define A5XX_RB_RESOLVE_CNTL_3_TILED				0x00000001
3715a26ae754SRob Clark 
3716a26ae754SRob Clark #define REG_A5XX_RB_BLIT_DST_LO					0x0000e214
3717a26ae754SRob Clark 
3718a26ae754SRob Clark #define REG_A5XX_RB_BLIT_DST_HI					0x0000e215
3719a26ae754SRob Clark 
3720a26ae754SRob Clark #define REG_A5XX_RB_BLIT_DST_PITCH				0x0000e216
3721a26ae754SRob Clark #define A5XX_RB_BLIT_DST_PITCH__MASK				0xffffffff
3722a26ae754SRob Clark #define A5XX_RB_BLIT_DST_PITCH__SHIFT				0
A5XX_RB_BLIT_DST_PITCH(uint32_t val)3723a26ae754SRob Clark static inline uint32_t A5XX_RB_BLIT_DST_PITCH(uint32_t val)
3724a26ae754SRob Clark {
3725a26ae754SRob Clark 	return ((val >> 6) << A5XX_RB_BLIT_DST_PITCH__SHIFT) & A5XX_RB_BLIT_DST_PITCH__MASK;
3726a26ae754SRob Clark }
3727a26ae754SRob Clark 
3728a26ae754SRob Clark #define REG_A5XX_RB_BLIT_DST_ARRAY_PITCH			0x0000e217
3729a26ae754SRob Clark #define A5XX_RB_BLIT_DST_ARRAY_PITCH__MASK			0xffffffff
3730a26ae754SRob Clark #define A5XX_RB_BLIT_DST_ARRAY_PITCH__SHIFT			0
A5XX_RB_BLIT_DST_ARRAY_PITCH(uint32_t val)3731a26ae754SRob Clark static inline uint32_t A5XX_RB_BLIT_DST_ARRAY_PITCH(uint32_t val)
3732a26ae754SRob Clark {
3733a26ae754SRob Clark 	return ((val >> 6) << A5XX_RB_BLIT_DST_ARRAY_PITCH__SHIFT) & A5XX_RB_BLIT_DST_ARRAY_PITCH__MASK;
3734a26ae754SRob Clark }
3735a26ae754SRob Clark 
3736a26ae754SRob Clark #define REG_A5XX_RB_CLEAR_COLOR_DW0				0x0000e218
3737a26ae754SRob Clark 
3738a26ae754SRob Clark #define REG_A5XX_RB_CLEAR_COLOR_DW1				0x0000e219
3739a26ae754SRob Clark 
3740a26ae754SRob Clark #define REG_A5XX_RB_CLEAR_COLOR_DW2				0x0000e21a
3741a26ae754SRob Clark 
3742a26ae754SRob Clark #define REG_A5XX_RB_CLEAR_COLOR_DW3				0x0000e21b
3743a26ae754SRob Clark 
3744a26ae754SRob Clark #define REG_A5XX_RB_CLEAR_CNTL					0x0000e21c
3745a26ae754SRob Clark #define A5XX_RB_CLEAR_CNTL_FAST_CLEAR				0x00000002
37462d756322SRob Clark #define A5XX_RB_CLEAR_CNTL_MSAA_RESOLVE				0x00000004
3747a26ae754SRob Clark #define A5XX_RB_CLEAR_CNTL_MASK__MASK				0x000000f0
3748a26ae754SRob Clark #define A5XX_RB_CLEAR_CNTL_MASK__SHIFT				4
A5XX_RB_CLEAR_CNTL_MASK(uint32_t val)3749a26ae754SRob Clark static inline uint32_t A5XX_RB_CLEAR_CNTL_MASK(uint32_t val)
3750a26ae754SRob Clark {
3751a26ae754SRob Clark 	return ((val) << A5XX_RB_CLEAR_CNTL_MASK__SHIFT) & A5XX_RB_CLEAR_CNTL_MASK__MASK;
3752a26ae754SRob Clark }
3753a26ae754SRob Clark 
3754a26ae754SRob Clark #define REG_A5XX_RB_DEPTH_FLAG_BUFFER_BASE_LO			0x0000e240
3755a26ae754SRob Clark 
3756a26ae754SRob Clark #define REG_A5XX_RB_DEPTH_FLAG_BUFFER_BASE_HI			0x0000e241
3757a26ae754SRob Clark 
3758a26ae754SRob Clark #define REG_A5XX_RB_DEPTH_FLAG_BUFFER_PITCH			0x0000e242
3759a26ae754SRob Clark 
REG_A5XX_RB_MRT_FLAG_BUFFER(uint32_t i0)3760a26ae754SRob Clark static inline uint32_t REG_A5XX_RB_MRT_FLAG_BUFFER(uint32_t i0) { return 0x0000e243 + 0x4*i0; }
3761a26ae754SRob Clark 
REG_A5XX_RB_MRT_FLAG_BUFFER_ADDR_LO(uint32_t i0)3762a26ae754SRob Clark static inline uint32_t REG_A5XX_RB_MRT_FLAG_BUFFER_ADDR_LO(uint32_t i0) { return 0x0000e243 + 0x4*i0; }
3763a26ae754SRob Clark 
REG_A5XX_RB_MRT_FLAG_BUFFER_ADDR_HI(uint32_t i0)3764a26ae754SRob Clark static inline uint32_t REG_A5XX_RB_MRT_FLAG_BUFFER_ADDR_HI(uint32_t i0) { return 0x0000e244 + 0x4*i0; }
3765a26ae754SRob Clark 
REG_A5XX_RB_MRT_FLAG_BUFFER_PITCH(uint32_t i0)3766a26ae754SRob Clark static inline uint32_t REG_A5XX_RB_MRT_FLAG_BUFFER_PITCH(uint32_t i0) { return 0x0000e245 + 0x4*i0; }
3767a26ae754SRob Clark #define A5XX_RB_MRT_FLAG_BUFFER_PITCH__MASK			0xffffffff
3768a26ae754SRob Clark #define A5XX_RB_MRT_FLAG_BUFFER_PITCH__SHIFT			0
A5XX_RB_MRT_FLAG_BUFFER_PITCH(uint32_t val)3769a26ae754SRob Clark static inline uint32_t A5XX_RB_MRT_FLAG_BUFFER_PITCH(uint32_t val)
3770a26ae754SRob Clark {
3771a26ae754SRob Clark 	return ((val >> 6) << A5XX_RB_MRT_FLAG_BUFFER_PITCH__SHIFT) & A5XX_RB_MRT_FLAG_BUFFER_PITCH__MASK;
3772a26ae754SRob Clark }
3773a26ae754SRob Clark 
REG_A5XX_RB_MRT_FLAG_BUFFER_ARRAY_PITCH(uint32_t i0)3774a26ae754SRob Clark static inline uint32_t REG_A5XX_RB_MRT_FLAG_BUFFER_ARRAY_PITCH(uint32_t i0) { return 0x0000e246 + 0x4*i0; }
3775a26ae754SRob Clark #define A5XX_RB_MRT_FLAG_BUFFER_ARRAY_PITCH__MASK		0xffffffff
3776a26ae754SRob Clark #define A5XX_RB_MRT_FLAG_BUFFER_ARRAY_PITCH__SHIFT		0
A5XX_RB_MRT_FLAG_BUFFER_ARRAY_PITCH(uint32_t val)3777a26ae754SRob Clark static inline uint32_t A5XX_RB_MRT_FLAG_BUFFER_ARRAY_PITCH(uint32_t val)
3778a26ae754SRob Clark {
3779a26ae754SRob Clark 	return ((val >> 6) << A5XX_RB_MRT_FLAG_BUFFER_ARRAY_PITCH__SHIFT) & A5XX_RB_MRT_FLAG_BUFFER_ARRAY_PITCH__MASK;
3780a26ae754SRob Clark }
3781a26ae754SRob Clark 
3782a26ae754SRob Clark #define REG_A5XX_RB_BLIT_FLAG_DST_LO				0x0000e263
3783a26ae754SRob Clark 
3784a26ae754SRob Clark #define REG_A5XX_RB_BLIT_FLAG_DST_HI				0x0000e264
3785a26ae754SRob Clark 
3786a26ae754SRob Clark #define REG_A5XX_RB_BLIT_FLAG_DST_PITCH				0x0000e265
3787a26ae754SRob Clark #define A5XX_RB_BLIT_FLAG_DST_PITCH__MASK			0xffffffff
3788a26ae754SRob Clark #define A5XX_RB_BLIT_FLAG_DST_PITCH__SHIFT			0
A5XX_RB_BLIT_FLAG_DST_PITCH(uint32_t val)3789a26ae754SRob Clark static inline uint32_t A5XX_RB_BLIT_FLAG_DST_PITCH(uint32_t val)
3790a26ae754SRob Clark {
3791a26ae754SRob Clark 	return ((val >> 6) << A5XX_RB_BLIT_FLAG_DST_PITCH__SHIFT) & A5XX_RB_BLIT_FLAG_DST_PITCH__MASK;
3792a26ae754SRob Clark }
3793a26ae754SRob Clark 
3794a26ae754SRob Clark #define REG_A5XX_RB_BLIT_FLAG_DST_ARRAY_PITCH			0x0000e266
3795a26ae754SRob Clark #define A5XX_RB_BLIT_FLAG_DST_ARRAY_PITCH__MASK			0xffffffff
3796a26ae754SRob Clark #define A5XX_RB_BLIT_FLAG_DST_ARRAY_PITCH__SHIFT		0
A5XX_RB_BLIT_FLAG_DST_ARRAY_PITCH(uint32_t val)3797a26ae754SRob Clark static inline uint32_t A5XX_RB_BLIT_FLAG_DST_ARRAY_PITCH(uint32_t val)
3798a26ae754SRob Clark {
3799a26ae754SRob Clark 	return ((val >> 6) << A5XX_RB_BLIT_FLAG_DST_ARRAY_PITCH__SHIFT) & A5XX_RB_BLIT_FLAG_DST_ARRAY_PITCH__MASK;
3800a26ae754SRob Clark }
3801a26ae754SRob Clark 
380252260ae4SRob Clark #define REG_A5XX_RB_SAMPLE_COUNT_ADDR_LO			0x0000e267
380352260ae4SRob Clark 
380452260ae4SRob Clark #define REG_A5XX_RB_SAMPLE_COUNT_ADDR_HI			0x0000e268
380552260ae4SRob Clark 
3806a26ae754SRob Clark #define REG_A5XX_VPC_CNTL_0					0x0000e280
3807a26ae754SRob Clark #define A5XX_VPC_CNTL_0_STRIDE_IN_VPC__MASK			0x0000007f
3808a26ae754SRob Clark #define A5XX_VPC_CNTL_0_STRIDE_IN_VPC__SHIFT			0
A5XX_VPC_CNTL_0_STRIDE_IN_VPC(uint32_t val)3809a26ae754SRob Clark static inline uint32_t A5XX_VPC_CNTL_0_STRIDE_IN_VPC(uint32_t val)
3810a26ae754SRob Clark {
3811a26ae754SRob Clark 	return ((val) << A5XX_VPC_CNTL_0_STRIDE_IN_VPC__SHIFT) & A5XX_VPC_CNTL_0_STRIDE_IN_VPC__MASK;
3812a26ae754SRob Clark }
3813a26ae754SRob Clark #define A5XX_VPC_CNTL_0_VARYING					0x00000800
3814a26ae754SRob Clark 
REG_A5XX_VPC_VARYING_INTERP(uint32_t i0)3815a26ae754SRob Clark static inline uint32_t REG_A5XX_VPC_VARYING_INTERP(uint32_t i0) { return 0x0000e282 + 0x1*i0; }
3816a26ae754SRob Clark 
REG_A5XX_VPC_VARYING_INTERP_MODE(uint32_t i0)3817a26ae754SRob Clark static inline uint32_t REG_A5XX_VPC_VARYING_INTERP_MODE(uint32_t i0) { return 0x0000e282 + 0x1*i0; }
3818a26ae754SRob Clark 
REG_A5XX_VPC_VARYING_PS_REPL(uint32_t i0)3819a26ae754SRob Clark static inline uint32_t REG_A5XX_VPC_VARYING_PS_REPL(uint32_t i0) { return 0x0000e28a + 0x1*i0; }
3820a26ae754SRob Clark 
REG_A5XX_VPC_VARYING_PS_REPL_MODE(uint32_t i0)3821a26ae754SRob Clark static inline uint32_t REG_A5XX_VPC_VARYING_PS_REPL_MODE(uint32_t i0) { return 0x0000e28a + 0x1*i0; }
3822a26ae754SRob Clark 
3823a26ae754SRob Clark #define REG_A5XX_UNKNOWN_E292					0x0000e292
3824a26ae754SRob Clark 
3825a26ae754SRob Clark #define REG_A5XX_UNKNOWN_E293					0x0000e293
3826a26ae754SRob Clark 
REG_A5XX_VPC_VAR(uint32_t i0)3827a26ae754SRob Clark static inline uint32_t REG_A5XX_VPC_VAR(uint32_t i0) { return 0x0000e294 + 0x1*i0; }
3828a26ae754SRob Clark 
REG_A5XX_VPC_VAR_DISABLE(uint32_t i0)3829a26ae754SRob Clark static inline uint32_t REG_A5XX_VPC_VAR_DISABLE(uint32_t i0) { return 0x0000e294 + 0x1*i0; }
3830a26ae754SRob Clark 
3831a26ae754SRob Clark #define REG_A5XX_VPC_GS_SIV_CNTL				0x0000e298
3832a26ae754SRob Clark 
3833cc4c26d4SRob Clark #define REG_A5XX_VPC_CLIP_CNTL					0x0000e29a
3834cc4c26d4SRob Clark #define A5XX_VPC_CLIP_CNTL_CLIP_MASK__MASK			0x000000ff
3835cc4c26d4SRob Clark #define A5XX_VPC_CLIP_CNTL_CLIP_MASK__SHIFT			0
A5XX_VPC_CLIP_CNTL_CLIP_MASK(uint32_t val)3836cc4c26d4SRob Clark static inline uint32_t A5XX_VPC_CLIP_CNTL_CLIP_MASK(uint32_t val)
3837cc4c26d4SRob Clark {
3838cc4c26d4SRob Clark 	return ((val) << A5XX_VPC_CLIP_CNTL_CLIP_MASK__SHIFT) & A5XX_VPC_CLIP_CNTL_CLIP_MASK__MASK;
3839cc4c26d4SRob Clark }
3840cc4c26d4SRob Clark #define A5XX_VPC_CLIP_CNTL_CLIP_DIST_03_LOC__MASK		0x0000ff00
3841cc4c26d4SRob Clark #define A5XX_VPC_CLIP_CNTL_CLIP_DIST_03_LOC__SHIFT		8
A5XX_VPC_CLIP_CNTL_CLIP_DIST_03_LOC(uint32_t val)3842cc4c26d4SRob Clark static inline uint32_t A5XX_VPC_CLIP_CNTL_CLIP_DIST_03_LOC(uint32_t val)
3843cc4c26d4SRob Clark {
3844cc4c26d4SRob Clark 	return ((val) << A5XX_VPC_CLIP_CNTL_CLIP_DIST_03_LOC__SHIFT) & A5XX_VPC_CLIP_CNTL_CLIP_DIST_03_LOC__MASK;
3845cc4c26d4SRob Clark }
3846cc4c26d4SRob Clark #define A5XX_VPC_CLIP_CNTL_CLIP_DIST_47_LOC__MASK		0x00ff0000
3847cc4c26d4SRob Clark #define A5XX_VPC_CLIP_CNTL_CLIP_DIST_47_LOC__SHIFT		16
A5XX_VPC_CLIP_CNTL_CLIP_DIST_47_LOC(uint32_t val)3848cc4c26d4SRob Clark static inline uint32_t A5XX_VPC_CLIP_CNTL_CLIP_DIST_47_LOC(uint32_t val)
3849cc4c26d4SRob Clark {
3850cc4c26d4SRob Clark 	return ((val) << A5XX_VPC_CLIP_CNTL_CLIP_DIST_47_LOC__SHIFT) & A5XX_VPC_CLIP_CNTL_CLIP_DIST_47_LOC__MASK;
3851cc4c26d4SRob Clark }
3852a26ae754SRob Clark 
3853a26ae754SRob Clark #define REG_A5XX_VPC_PACK					0x0000e29d
3854a26ae754SRob Clark #define A5XX_VPC_PACK_NUMNONPOSVAR__MASK			0x000000ff
3855a26ae754SRob Clark #define A5XX_VPC_PACK_NUMNONPOSVAR__SHIFT			0
A5XX_VPC_PACK_NUMNONPOSVAR(uint32_t val)3856a26ae754SRob Clark static inline uint32_t A5XX_VPC_PACK_NUMNONPOSVAR(uint32_t val)
3857a26ae754SRob Clark {
3858a26ae754SRob Clark 	return ((val) << A5XX_VPC_PACK_NUMNONPOSVAR__SHIFT) & A5XX_VPC_PACK_NUMNONPOSVAR__MASK;
3859a26ae754SRob Clark }
386052260ae4SRob Clark #define A5XX_VPC_PACK_PSIZELOC__MASK				0x0000ff00
386152260ae4SRob Clark #define A5XX_VPC_PACK_PSIZELOC__SHIFT				8
A5XX_VPC_PACK_PSIZELOC(uint32_t val)386252260ae4SRob Clark static inline uint32_t A5XX_VPC_PACK_PSIZELOC(uint32_t val)
386352260ae4SRob Clark {
386452260ae4SRob Clark 	return ((val) << A5XX_VPC_PACK_PSIZELOC__SHIFT) & A5XX_VPC_PACK_PSIZELOC__MASK;
386552260ae4SRob Clark }
3866a26ae754SRob Clark 
3867a26ae754SRob Clark #define REG_A5XX_VPC_FS_PRIMITIVEID_CNTL			0x0000e2a0
3868a26ae754SRob Clark 
386952260ae4SRob Clark #define REG_A5XX_VPC_SO_BUF_CNTL				0x0000e2a1
387052260ae4SRob Clark #define A5XX_VPC_SO_BUF_CNTL_BUF0				0x00000001
387152260ae4SRob Clark #define A5XX_VPC_SO_BUF_CNTL_BUF1				0x00000008
387252260ae4SRob Clark #define A5XX_VPC_SO_BUF_CNTL_BUF2				0x00000040
387352260ae4SRob Clark #define A5XX_VPC_SO_BUF_CNTL_BUF3				0x00000200
387452260ae4SRob Clark #define A5XX_VPC_SO_BUF_CNTL_ENABLE				0x00008000
3875a26ae754SRob Clark 
3876a26ae754SRob Clark #define REG_A5XX_VPC_SO_OVERRIDE				0x0000e2a2
387752260ae4SRob Clark #define A5XX_VPC_SO_OVERRIDE_SO_DISABLE				0x00000001
3878a26ae754SRob Clark 
387952260ae4SRob Clark #define REG_A5XX_VPC_SO_CNTL					0x0000e2a3
388052260ae4SRob Clark #define A5XX_VPC_SO_CNTL_ENABLE					0x00010000
3881a26ae754SRob Clark 
388252260ae4SRob Clark #define REG_A5XX_VPC_SO_PROG					0x0000e2a4
388352260ae4SRob Clark #define A5XX_VPC_SO_PROG_A_BUF__MASK				0x00000003
388452260ae4SRob Clark #define A5XX_VPC_SO_PROG_A_BUF__SHIFT				0
A5XX_VPC_SO_PROG_A_BUF(uint32_t val)388552260ae4SRob Clark static inline uint32_t A5XX_VPC_SO_PROG_A_BUF(uint32_t val)
388652260ae4SRob Clark {
388752260ae4SRob Clark 	return ((val) << A5XX_VPC_SO_PROG_A_BUF__SHIFT) & A5XX_VPC_SO_PROG_A_BUF__MASK;
388852260ae4SRob Clark }
388952260ae4SRob Clark #define A5XX_VPC_SO_PROG_A_OFF__MASK				0x000007fc
389052260ae4SRob Clark #define A5XX_VPC_SO_PROG_A_OFF__SHIFT				2
A5XX_VPC_SO_PROG_A_OFF(uint32_t val)389152260ae4SRob Clark static inline uint32_t A5XX_VPC_SO_PROG_A_OFF(uint32_t val)
389252260ae4SRob Clark {
389352260ae4SRob Clark 	return ((val >> 2) << A5XX_VPC_SO_PROG_A_OFF__SHIFT) & A5XX_VPC_SO_PROG_A_OFF__MASK;
389452260ae4SRob Clark }
389552260ae4SRob Clark #define A5XX_VPC_SO_PROG_A_EN					0x00000800
389652260ae4SRob Clark #define A5XX_VPC_SO_PROG_B_BUF__MASK				0x00003000
389752260ae4SRob Clark #define A5XX_VPC_SO_PROG_B_BUF__SHIFT				12
A5XX_VPC_SO_PROG_B_BUF(uint32_t val)389852260ae4SRob Clark static inline uint32_t A5XX_VPC_SO_PROG_B_BUF(uint32_t val)
389952260ae4SRob Clark {
390052260ae4SRob Clark 	return ((val) << A5XX_VPC_SO_PROG_B_BUF__SHIFT) & A5XX_VPC_SO_PROG_B_BUF__MASK;
390152260ae4SRob Clark }
390252260ae4SRob Clark #define A5XX_VPC_SO_PROG_B_OFF__MASK				0x007fc000
390352260ae4SRob Clark #define A5XX_VPC_SO_PROG_B_OFF__SHIFT				14
A5XX_VPC_SO_PROG_B_OFF(uint32_t val)390452260ae4SRob Clark static inline uint32_t A5XX_VPC_SO_PROG_B_OFF(uint32_t val)
390552260ae4SRob Clark {
390652260ae4SRob Clark 	return ((val >> 2) << A5XX_VPC_SO_PROG_B_OFF__SHIFT) & A5XX_VPC_SO_PROG_B_OFF__MASK;
390752260ae4SRob Clark }
390852260ae4SRob Clark #define A5XX_VPC_SO_PROG_B_EN					0x00800000
3909a26ae754SRob Clark 
REG_A5XX_VPC_SO(uint32_t i0)391052260ae4SRob Clark static inline uint32_t REG_A5XX_VPC_SO(uint32_t i0) { return 0x0000e2a7 + 0x7*i0; }
3911a26ae754SRob Clark 
REG_A5XX_VPC_SO_BUFFER_BASE_LO(uint32_t i0)391252260ae4SRob Clark static inline uint32_t REG_A5XX_VPC_SO_BUFFER_BASE_LO(uint32_t i0) { return 0x0000e2a7 + 0x7*i0; }
3913a26ae754SRob Clark 
REG_A5XX_VPC_SO_BUFFER_BASE_HI(uint32_t i0)391452260ae4SRob Clark static inline uint32_t REG_A5XX_VPC_SO_BUFFER_BASE_HI(uint32_t i0) { return 0x0000e2a8 + 0x7*i0; }
3915a26ae754SRob Clark 
REG_A5XX_VPC_SO_BUFFER_SIZE(uint32_t i0)391652260ae4SRob Clark static inline uint32_t REG_A5XX_VPC_SO_BUFFER_SIZE(uint32_t i0) { return 0x0000e2a9 + 0x7*i0; }
3917a26ae754SRob Clark 
REG_A5XX_VPC_SO_NCOMP(uint32_t i0)391852260ae4SRob Clark static inline uint32_t REG_A5XX_VPC_SO_NCOMP(uint32_t i0) { return 0x0000e2aa + 0x7*i0; }
3919a26ae754SRob Clark 
REG_A5XX_VPC_SO_BUFFER_OFFSET(uint32_t i0)392052260ae4SRob Clark static inline uint32_t REG_A5XX_VPC_SO_BUFFER_OFFSET(uint32_t i0) { return 0x0000e2ab + 0x7*i0; }
3921a26ae754SRob Clark 
REG_A5XX_VPC_SO_FLUSH_BASE_LO(uint32_t i0)392252260ae4SRob Clark static inline uint32_t REG_A5XX_VPC_SO_FLUSH_BASE_LO(uint32_t i0) { return 0x0000e2ac + 0x7*i0; }
3923a26ae754SRob Clark 
REG_A5XX_VPC_SO_FLUSH_BASE_HI(uint32_t i0)392452260ae4SRob Clark static inline uint32_t REG_A5XX_VPC_SO_FLUSH_BASE_HI(uint32_t i0) { return 0x0000e2ad + 0x7*i0; }
3925a26ae754SRob Clark 
3926a26ae754SRob Clark #define REG_A5XX_PC_PRIMITIVE_CNTL				0x0000e384
3927a26ae754SRob Clark #define A5XX_PC_PRIMITIVE_CNTL_STRIDE_IN_VPC__MASK		0x0000007f
3928a26ae754SRob Clark #define A5XX_PC_PRIMITIVE_CNTL_STRIDE_IN_VPC__SHIFT		0
A5XX_PC_PRIMITIVE_CNTL_STRIDE_IN_VPC(uint32_t val)3929a26ae754SRob Clark static inline uint32_t A5XX_PC_PRIMITIVE_CNTL_STRIDE_IN_VPC(uint32_t val)
3930a26ae754SRob Clark {
3931a26ae754SRob Clark 	return ((val) << A5XX_PC_PRIMITIVE_CNTL_STRIDE_IN_VPC__SHIFT) & A5XX_PC_PRIMITIVE_CNTL_STRIDE_IN_VPC__MASK;
3932a26ae754SRob Clark }
39332d756322SRob Clark #define A5XX_PC_PRIMITIVE_CNTL_PRIMITIVE_RESTART		0x00000100
39342d756322SRob Clark #define A5XX_PC_PRIMITIVE_CNTL_COUNT_PRIMITIVES			0x00000200
393552260ae4SRob Clark #define A5XX_PC_PRIMITIVE_CNTL_PROVOKING_VTX_LAST		0x00000400
3936a26ae754SRob Clark 
3937a26ae754SRob Clark #define REG_A5XX_PC_PRIM_VTX_CNTL				0x0000e385
3938a26ae754SRob Clark #define A5XX_PC_PRIM_VTX_CNTL_PSIZE				0x00000800
3939a26ae754SRob Clark 
3940a26ae754SRob Clark #define REG_A5XX_PC_RASTER_CNTL					0x0000e388
39412d756322SRob Clark #define A5XX_PC_RASTER_CNTL_POLYMODE_FRONT_PTYPE__MASK		0x00000007
39422d756322SRob Clark #define A5XX_PC_RASTER_CNTL_POLYMODE_FRONT_PTYPE__SHIFT		0
A5XX_PC_RASTER_CNTL_POLYMODE_FRONT_PTYPE(enum adreno_pa_su_sc_draw val)39432d756322SRob Clark static inline uint32_t A5XX_PC_RASTER_CNTL_POLYMODE_FRONT_PTYPE(enum adreno_pa_su_sc_draw val)
39442d756322SRob Clark {
39452d756322SRob Clark 	return ((val) << A5XX_PC_RASTER_CNTL_POLYMODE_FRONT_PTYPE__SHIFT) & A5XX_PC_RASTER_CNTL_POLYMODE_FRONT_PTYPE__MASK;
39462d756322SRob Clark }
39472d756322SRob Clark #define A5XX_PC_RASTER_CNTL_POLYMODE_BACK_PTYPE__MASK		0x00000038
39482d756322SRob Clark #define A5XX_PC_RASTER_CNTL_POLYMODE_BACK_PTYPE__SHIFT		3
A5XX_PC_RASTER_CNTL_POLYMODE_BACK_PTYPE(enum adreno_pa_su_sc_draw val)39492d756322SRob Clark static inline uint32_t A5XX_PC_RASTER_CNTL_POLYMODE_BACK_PTYPE(enum adreno_pa_su_sc_draw val)
39502d756322SRob Clark {
39512d756322SRob Clark 	return ((val) << A5XX_PC_RASTER_CNTL_POLYMODE_BACK_PTYPE__SHIFT) & A5XX_PC_RASTER_CNTL_POLYMODE_BACK_PTYPE__MASK;
39522d756322SRob Clark }
39532d756322SRob Clark #define A5XX_PC_RASTER_CNTL_POLYMODE_ENABLE			0x00000040
3954a26ae754SRob Clark 
3955cc4c26d4SRob Clark #define REG_A5XX_PC_CLIP_CNTL					0x0000e389
3956cc4c26d4SRob Clark #define A5XX_PC_CLIP_CNTL_CLIP_MASK__MASK			0x000000ff
3957cc4c26d4SRob Clark #define A5XX_PC_CLIP_CNTL_CLIP_MASK__SHIFT			0
A5XX_PC_CLIP_CNTL_CLIP_MASK(uint32_t val)3958cc4c26d4SRob Clark static inline uint32_t A5XX_PC_CLIP_CNTL_CLIP_MASK(uint32_t val)
3959cc4c26d4SRob Clark {
3960cc4c26d4SRob Clark 	return ((val) << A5XX_PC_CLIP_CNTL_CLIP_MASK__SHIFT) & A5XX_PC_CLIP_CNTL_CLIP_MASK__MASK;
3961cc4c26d4SRob Clark }
3962a26ae754SRob Clark 
3963a26ae754SRob Clark #define REG_A5XX_PC_RESTART_INDEX				0x0000e38c
3964a26ae754SRob Clark 
39652d756322SRob Clark #define REG_A5XX_PC_GS_LAYERED					0x0000e38d
3966a26ae754SRob Clark 
3967a26ae754SRob Clark #define REG_A5XX_PC_GS_PARAM					0x0000e38e
39682d756322SRob Clark #define A5XX_PC_GS_PARAM_MAX_VERTICES__MASK			0x000003ff
39692d756322SRob Clark #define A5XX_PC_GS_PARAM_MAX_VERTICES__SHIFT			0
A5XX_PC_GS_PARAM_MAX_VERTICES(uint32_t val)39702d756322SRob Clark static inline uint32_t A5XX_PC_GS_PARAM_MAX_VERTICES(uint32_t val)
39712d756322SRob Clark {
39722d756322SRob Clark 	return ((val) << A5XX_PC_GS_PARAM_MAX_VERTICES__SHIFT) & A5XX_PC_GS_PARAM_MAX_VERTICES__MASK;
39732d756322SRob Clark }
39742d756322SRob Clark #define A5XX_PC_GS_PARAM_INVOCATIONS__MASK			0x0000f800
39752d756322SRob Clark #define A5XX_PC_GS_PARAM_INVOCATIONS__SHIFT			11
A5XX_PC_GS_PARAM_INVOCATIONS(uint32_t val)39762d756322SRob Clark static inline uint32_t A5XX_PC_GS_PARAM_INVOCATIONS(uint32_t val)
39772d756322SRob Clark {
39782d756322SRob Clark 	return ((val) << A5XX_PC_GS_PARAM_INVOCATIONS__SHIFT) & A5XX_PC_GS_PARAM_INVOCATIONS__MASK;
39792d756322SRob Clark }
39802d756322SRob Clark #define A5XX_PC_GS_PARAM_PRIMTYPE__MASK				0x01800000
39812d756322SRob Clark #define A5XX_PC_GS_PARAM_PRIMTYPE__SHIFT			23
A5XX_PC_GS_PARAM_PRIMTYPE(enum adreno_pa_su_sc_draw val)39822d756322SRob Clark static inline uint32_t A5XX_PC_GS_PARAM_PRIMTYPE(enum adreno_pa_su_sc_draw val)
39832d756322SRob Clark {
39842d756322SRob Clark 	return ((val) << A5XX_PC_GS_PARAM_PRIMTYPE__SHIFT) & A5XX_PC_GS_PARAM_PRIMTYPE__MASK;
39852d756322SRob Clark }
3986a26ae754SRob Clark 
3987a26ae754SRob Clark #define REG_A5XX_PC_HS_PARAM					0x0000e38f
39882d756322SRob Clark #define A5XX_PC_HS_PARAM_VERTICES_OUT__MASK			0x0000003f
39892d756322SRob Clark #define A5XX_PC_HS_PARAM_VERTICES_OUT__SHIFT			0
A5XX_PC_HS_PARAM_VERTICES_OUT(uint32_t val)39902d756322SRob Clark static inline uint32_t A5XX_PC_HS_PARAM_VERTICES_OUT(uint32_t val)
39912d756322SRob Clark {
39922d756322SRob Clark 	return ((val) << A5XX_PC_HS_PARAM_VERTICES_OUT__SHIFT) & A5XX_PC_HS_PARAM_VERTICES_OUT__MASK;
39932d756322SRob Clark }
39942d756322SRob Clark #define A5XX_PC_HS_PARAM_SPACING__MASK				0x00600000
39952d756322SRob Clark #define A5XX_PC_HS_PARAM_SPACING__SHIFT				21
A5XX_PC_HS_PARAM_SPACING(enum a4xx_tess_spacing val)39962d756322SRob Clark static inline uint32_t A5XX_PC_HS_PARAM_SPACING(enum a4xx_tess_spacing val)
39972d756322SRob Clark {
39982d756322SRob Clark 	return ((val) << A5XX_PC_HS_PARAM_SPACING__SHIFT) & A5XX_PC_HS_PARAM_SPACING__MASK;
39992d756322SRob Clark }
40002d756322SRob Clark #define A5XX_PC_HS_PARAM_CW					0x00800000
40012d756322SRob Clark #define A5XX_PC_HS_PARAM_CONNECTED				0x01000000
4002a26ae754SRob Clark 
4003a26ae754SRob Clark #define REG_A5XX_PC_POWER_CNTL					0x0000e3b0
4004a26ae754SRob Clark 
4005a26ae754SRob Clark #define REG_A5XX_VFD_CONTROL_0					0x0000e400
4006a26ae754SRob Clark #define A5XX_VFD_CONTROL_0_VTXCNT__MASK				0x0000003f
4007a26ae754SRob Clark #define A5XX_VFD_CONTROL_0_VTXCNT__SHIFT			0
A5XX_VFD_CONTROL_0_VTXCNT(uint32_t val)4008a26ae754SRob Clark static inline uint32_t A5XX_VFD_CONTROL_0_VTXCNT(uint32_t val)
4009a26ae754SRob Clark {
4010a26ae754SRob Clark 	return ((val) << A5XX_VFD_CONTROL_0_VTXCNT__SHIFT) & A5XX_VFD_CONTROL_0_VTXCNT__MASK;
4011a26ae754SRob Clark }
4012a26ae754SRob Clark 
4013a26ae754SRob Clark #define REG_A5XX_VFD_CONTROL_1					0x0000e401
401452260ae4SRob Clark #define A5XX_VFD_CONTROL_1_REGID4VTX__MASK			0x000000ff
401552260ae4SRob Clark #define A5XX_VFD_CONTROL_1_REGID4VTX__SHIFT			0
A5XX_VFD_CONTROL_1_REGID4VTX(uint32_t val)401652260ae4SRob Clark static inline uint32_t A5XX_VFD_CONTROL_1_REGID4VTX(uint32_t val)
401752260ae4SRob Clark {
401852260ae4SRob Clark 	return ((val) << A5XX_VFD_CONTROL_1_REGID4VTX__SHIFT) & A5XX_VFD_CONTROL_1_REGID4VTX__MASK;
401952260ae4SRob Clark }
4020a26ae754SRob Clark #define A5XX_VFD_CONTROL_1_REGID4INST__MASK			0x0000ff00
4021a26ae754SRob Clark #define A5XX_VFD_CONTROL_1_REGID4INST__SHIFT			8
A5XX_VFD_CONTROL_1_REGID4INST(uint32_t val)4022a26ae754SRob Clark static inline uint32_t A5XX_VFD_CONTROL_1_REGID4INST(uint32_t val)
4023a26ae754SRob Clark {
4024a26ae754SRob Clark 	return ((val) << A5XX_VFD_CONTROL_1_REGID4INST__SHIFT) & A5XX_VFD_CONTROL_1_REGID4INST__MASK;
4025a26ae754SRob Clark }
40262d756322SRob Clark #define A5XX_VFD_CONTROL_1_REGID4PRIMID__MASK			0x00ff0000
40272d756322SRob Clark #define A5XX_VFD_CONTROL_1_REGID4PRIMID__SHIFT			16
A5XX_VFD_CONTROL_1_REGID4PRIMID(uint32_t val)40282d756322SRob Clark static inline uint32_t A5XX_VFD_CONTROL_1_REGID4PRIMID(uint32_t val)
40292d756322SRob Clark {
40302d756322SRob Clark 	return ((val) << A5XX_VFD_CONTROL_1_REGID4PRIMID__SHIFT) & A5XX_VFD_CONTROL_1_REGID4PRIMID__MASK;
40312d756322SRob Clark }
4032a26ae754SRob Clark 
4033a26ae754SRob Clark #define REG_A5XX_VFD_CONTROL_2					0x0000e402
40342d756322SRob Clark #define A5XX_VFD_CONTROL_2_REGID_PATCHID__MASK			0x000000ff
40352d756322SRob Clark #define A5XX_VFD_CONTROL_2_REGID_PATCHID__SHIFT			0
A5XX_VFD_CONTROL_2_REGID_PATCHID(uint32_t val)40362d756322SRob Clark static inline uint32_t A5XX_VFD_CONTROL_2_REGID_PATCHID(uint32_t val)
40372d756322SRob Clark {
40382d756322SRob Clark 	return ((val) << A5XX_VFD_CONTROL_2_REGID_PATCHID__SHIFT) & A5XX_VFD_CONTROL_2_REGID_PATCHID__MASK;
40392d756322SRob Clark }
4040a26ae754SRob Clark 
4041a26ae754SRob Clark #define REG_A5XX_VFD_CONTROL_3					0x0000e403
40422d756322SRob Clark #define A5XX_VFD_CONTROL_3_REGID_PATCHID__MASK			0x0000ff00
40432d756322SRob Clark #define A5XX_VFD_CONTROL_3_REGID_PATCHID__SHIFT			8
A5XX_VFD_CONTROL_3_REGID_PATCHID(uint32_t val)40442d756322SRob Clark static inline uint32_t A5XX_VFD_CONTROL_3_REGID_PATCHID(uint32_t val)
40452d756322SRob Clark {
40462d756322SRob Clark 	return ((val) << A5XX_VFD_CONTROL_3_REGID_PATCHID__SHIFT) & A5XX_VFD_CONTROL_3_REGID_PATCHID__MASK;
40472d756322SRob Clark }
40482d756322SRob Clark #define A5XX_VFD_CONTROL_3_REGID_TESSX__MASK			0x00ff0000
40492d756322SRob Clark #define A5XX_VFD_CONTROL_3_REGID_TESSX__SHIFT			16
A5XX_VFD_CONTROL_3_REGID_TESSX(uint32_t val)40502d756322SRob Clark static inline uint32_t A5XX_VFD_CONTROL_3_REGID_TESSX(uint32_t val)
40512d756322SRob Clark {
40522d756322SRob Clark 	return ((val) << A5XX_VFD_CONTROL_3_REGID_TESSX__SHIFT) & A5XX_VFD_CONTROL_3_REGID_TESSX__MASK;
40532d756322SRob Clark }
40542d756322SRob Clark #define A5XX_VFD_CONTROL_3_REGID_TESSY__MASK			0xff000000
40552d756322SRob Clark #define A5XX_VFD_CONTROL_3_REGID_TESSY__SHIFT			24
A5XX_VFD_CONTROL_3_REGID_TESSY(uint32_t val)40562d756322SRob Clark static inline uint32_t A5XX_VFD_CONTROL_3_REGID_TESSY(uint32_t val)
40572d756322SRob Clark {
40582d756322SRob Clark 	return ((val) << A5XX_VFD_CONTROL_3_REGID_TESSY__SHIFT) & A5XX_VFD_CONTROL_3_REGID_TESSY__MASK;
40592d756322SRob Clark }
4060a26ae754SRob Clark 
4061a26ae754SRob Clark #define REG_A5XX_VFD_CONTROL_4					0x0000e404
4062a26ae754SRob Clark 
4063a26ae754SRob Clark #define REG_A5XX_VFD_CONTROL_5					0x0000e405
4064a26ae754SRob Clark 
4065a26ae754SRob Clark #define REG_A5XX_VFD_INDEX_OFFSET				0x0000e408
4066a26ae754SRob Clark 
4067a26ae754SRob Clark #define REG_A5XX_VFD_INSTANCE_START_OFFSET			0x0000e409
4068a26ae754SRob Clark 
REG_A5XX_VFD_FETCH(uint32_t i0)4069a26ae754SRob Clark static inline uint32_t REG_A5XX_VFD_FETCH(uint32_t i0) { return 0x0000e40a + 0x4*i0; }
4070a26ae754SRob Clark 
REG_A5XX_VFD_FETCH_BASE_LO(uint32_t i0)4071a26ae754SRob Clark static inline uint32_t REG_A5XX_VFD_FETCH_BASE_LO(uint32_t i0) { return 0x0000e40a + 0x4*i0; }
4072a26ae754SRob Clark 
REG_A5XX_VFD_FETCH_BASE_HI(uint32_t i0)4073a26ae754SRob Clark static inline uint32_t REG_A5XX_VFD_FETCH_BASE_HI(uint32_t i0) { return 0x0000e40b + 0x4*i0; }
4074a26ae754SRob Clark 
REG_A5XX_VFD_FETCH_SIZE(uint32_t i0)4075a26ae754SRob Clark static inline uint32_t REG_A5XX_VFD_FETCH_SIZE(uint32_t i0) { return 0x0000e40c + 0x4*i0; }
4076a26ae754SRob Clark 
REG_A5XX_VFD_FETCH_STRIDE(uint32_t i0)4077a26ae754SRob Clark static inline uint32_t REG_A5XX_VFD_FETCH_STRIDE(uint32_t i0) { return 0x0000e40d + 0x4*i0; }
4078a26ae754SRob Clark 
REG_A5XX_VFD_DECODE(uint32_t i0)4079a26ae754SRob Clark static inline uint32_t REG_A5XX_VFD_DECODE(uint32_t i0) { return 0x0000e48a + 0x2*i0; }
4080a26ae754SRob Clark 
REG_A5XX_VFD_DECODE_INSTR(uint32_t i0)4081a26ae754SRob Clark static inline uint32_t REG_A5XX_VFD_DECODE_INSTR(uint32_t i0) { return 0x0000e48a + 0x2*i0; }
4082a26ae754SRob Clark #define A5XX_VFD_DECODE_INSTR_IDX__MASK				0x0000001f
4083a26ae754SRob Clark #define A5XX_VFD_DECODE_INSTR_IDX__SHIFT			0
A5XX_VFD_DECODE_INSTR_IDX(uint32_t val)4084a26ae754SRob Clark static inline uint32_t A5XX_VFD_DECODE_INSTR_IDX(uint32_t val)
4085a26ae754SRob Clark {
4086a26ae754SRob Clark 	return ((val) << A5XX_VFD_DECODE_INSTR_IDX__SHIFT) & A5XX_VFD_DECODE_INSTR_IDX__MASK;
4087a26ae754SRob Clark }
408852260ae4SRob Clark #define A5XX_VFD_DECODE_INSTR_INSTANCED				0x00020000
40892d756322SRob Clark #define A5XX_VFD_DECODE_INSTR_FORMAT__MASK			0x0ff00000
4090a26ae754SRob Clark #define A5XX_VFD_DECODE_INSTR_FORMAT__SHIFT			20
A5XX_VFD_DECODE_INSTR_FORMAT(enum a5xx_vtx_fmt val)4091a26ae754SRob Clark static inline uint32_t A5XX_VFD_DECODE_INSTR_FORMAT(enum a5xx_vtx_fmt val)
4092a26ae754SRob Clark {
4093a26ae754SRob Clark 	return ((val) << A5XX_VFD_DECODE_INSTR_FORMAT__SHIFT) & A5XX_VFD_DECODE_INSTR_FORMAT__MASK;
4094a26ae754SRob Clark }
40952d756322SRob Clark #define A5XX_VFD_DECODE_INSTR_SWAP__MASK			0x30000000
40962d756322SRob Clark #define A5XX_VFD_DECODE_INSTR_SWAP__SHIFT			28
A5XX_VFD_DECODE_INSTR_SWAP(enum a3xx_color_swap val)40972d756322SRob Clark static inline uint32_t A5XX_VFD_DECODE_INSTR_SWAP(enum a3xx_color_swap val)
40982d756322SRob Clark {
40992d756322SRob Clark 	return ((val) << A5XX_VFD_DECODE_INSTR_SWAP__SHIFT) & A5XX_VFD_DECODE_INSTR_SWAP__MASK;
41002d756322SRob Clark }
410152260ae4SRob Clark #define A5XX_VFD_DECODE_INSTR_UNK30				0x40000000
410252260ae4SRob Clark #define A5XX_VFD_DECODE_INSTR_FLOAT				0x80000000
4103a26ae754SRob Clark 
REG_A5XX_VFD_DECODE_STEP_RATE(uint32_t i0)4104a26ae754SRob Clark static inline uint32_t REG_A5XX_VFD_DECODE_STEP_RATE(uint32_t i0) { return 0x0000e48b + 0x2*i0; }
4105a26ae754SRob Clark 
REG_A5XX_VFD_DEST_CNTL(uint32_t i0)4106a26ae754SRob Clark static inline uint32_t REG_A5XX_VFD_DEST_CNTL(uint32_t i0) { return 0x0000e4ca + 0x1*i0; }
4107a26ae754SRob Clark 
REG_A5XX_VFD_DEST_CNTL_INSTR(uint32_t i0)4108a26ae754SRob Clark static inline uint32_t REG_A5XX_VFD_DEST_CNTL_INSTR(uint32_t i0) { return 0x0000e4ca + 0x1*i0; }
4109a26ae754SRob Clark #define A5XX_VFD_DEST_CNTL_INSTR_WRITEMASK__MASK		0x0000000f
4110a26ae754SRob Clark #define A5XX_VFD_DEST_CNTL_INSTR_WRITEMASK__SHIFT		0
A5XX_VFD_DEST_CNTL_INSTR_WRITEMASK(uint32_t val)4111a26ae754SRob Clark static inline uint32_t A5XX_VFD_DEST_CNTL_INSTR_WRITEMASK(uint32_t val)
4112a26ae754SRob Clark {
4113a26ae754SRob Clark 	return ((val) << A5XX_VFD_DEST_CNTL_INSTR_WRITEMASK__SHIFT) & A5XX_VFD_DEST_CNTL_INSTR_WRITEMASK__MASK;
4114a26ae754SRob Clark }
4115a26ae754SRob Clark #define A5XX_VFD_DEST_CNTL_INSTR_REGID__MASK			0x00000ff0
4116a26ae754SRob Clark #define A5XX_VFD_DEST_CNTL_INSTR_REGID__SHIFT			4
A5XX_VFD_DEST_CNTL_INSTR_REGID(uint32_t val)4117a26ae754SRob Clark static inline uint32_t A5XX_VFD_DEST_CNTL_INSTR_REGID(uint32_t val)
4118a26ae754SRob Clark {
4119a26ae754SRob Clark 	return ((val) << A5XX_VFD_DEST_CNTL_INSTR_REGID__SHIFT) & A5XX_VFD_DEST_CNTL_INSTR_REGID__MASK;
4120a26ae754SRob Clark }
4121a26ae754SRob Clark 
4122a26ae754SRob Clark #define REG_A5XX_VFD_POWER_CNTL					0x0000e4f0
4123a26ae754SRob Clark 
4124a26ae754SRob Clark #define REG_A5XX_SP_SP_CNTL					0x0000e580
4125a26ae754SRob Clark 
412652260ae4SRob Clark #define REG_A5XX_SP_VS_CONFIG					0x0000e584
412752260ae4SRob Clark #define A5XX_SP_VS_CONFIG_ENABLED				0x00000001
412852260ae4SRob Clark #define A5XX_SP_VS_CONFIG_CONSTOBJECTOFFSET__MASK		0x000000fe
412952260ae4SRob Clark #define A5XX_SP_VS_CONFIG_CONSTOBJECTOFFSET__SHIFT		1
A5XX_SP_VS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)413052260ae4SRob Clark static inline uint32_t A5XX_SP_VS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)
4131a26ae754SRob Clark {
413252260ae4SRob Clark 	return ((val) << A5XX_SP_VS_CONFIG_CONSTOBJECTOFFSET__SHIFT) & A5XX_SP_VS_CONFIG_CONSTOBJECTOFFSET__MASK;
4133a26ae754SRob Clark }
413452260ae4SRob Clark #define A5XX_SP_VS_CONFIG_SHADEROBJOFFSET__MASK			0x00007f00
413552260ae4SRob Clark #define A5XX_SP_VS_CONFIG_SHADEROBJOFFSET__SHIFT		8
A5XX_SP_VS_CONFIG_SHADEROBJOFFSET(uint32_t val)413652260ae4SRob Clark static inline uint32_t A5XX_SP_VS_CONFIG_SHADEROBJOFFSET(uint32_t val)
4137a26ae754SRob Clark {
413852260ae4SRob Clark 	return ((val) << A5XX_SP_VS_CONFIG_SHADEROBJOFFSET__SHIFT) & A5XX_SP_VS_CONFIG_SHADEROBJOFFSET__MASK;
4139a26ae754SRob Clark }
4140a26ae754SRob Clark 
414152260ae4SRob Clark #define REG_A5XX_SP_FS_CONFIG					0x0000e585
414252260ae4SRob Clark #define A5XX_SP_FS_CONFIG_ENABLED				0x00000001
414352260ae4SRob Clark #define A5XX_SP_FS_CONFIG_CONSTOBJECTOFFSET__MASK		0x000000fe
414452260ae4SRob Clark #define A5XX_SP_FS_CONFIG_CONSTOBJECTOFFSET__SHIFT		1
A5XX_SP_FS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)414552260ae4SRob Clark static inline uint32_t A5XX_SP_FS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)
4146a26ae754SRob Clark {
414752260ae4SRob Clark 	return ((val) << A5XX_SP_FS_CONFIG_CONSTOBJECTOFFSET__SHIFT) & A5XX_SP_FS_CONFIG_CONSTOBJECTOFFSET__MASK;
4148a26ae754SRob Clark }
414952260ae4SRob Clark #define A5XX_SP_FS_CONFIG_SHADEROBJOFFSET__MASK			0x00007f00
415052260ae4SRob Clark #define A5XX_SP_FS_CONFIG_SHADEROBJOFFSET__SHIFT		8
A5XX_SP_FS_CONFIG_SHADEROBJOFFSET(uint32_t val)415152260ae4SRob Clark static inline uint32_t A5XX_SP_FS_CONFIG_SHADEROBJOFFSET(uint32_t val)
4152a26ae754SRob Clark {
415352260ae4SRob Clark 	return ((val) << A5XX_SP_FS_CONFIG_SHADEROBJOFFSET__SHIFT) & A5XX_SP_FS_CONFIG_SHADEROBJOFFSET__MASK;
4154a26ae754SRob Clark }
4155a26ae754SRob Clark 
415652260ae4SRob Clark #define REG_A5XX_SP_HS_CONFIG					0x0000e586
415752260ae4SRob Clark #define A5XX_SP_HS_CONFIG_ENABLED				0x00000001
415852260ae4SRob Clark #define A5XX_SP_HS_CONFIG_CONSTOBJECTOFFSET__MASK		0x000000fe
415952260ae4SRob Clark #define A5XX_SP_HS_CONFIG_CONSTOBJECTOFFSET__SHIFT		1
A5XX_SP_HS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)416052260ae4SRob Clark static inline uint32_t A5XX_SP_HS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)
4161a26ae754SRob Clark {
416252260ae4SRob Clark 	return ((val) << A5XX_SP_HS_CONFIG_CONSTOBJECTOFFSET__SHIFT) & A5XX_SP_HS_CONFIG_CONSTOBJECTOFFSET__MASK;
4163a26ae754SRob Clark }
416452260ae4SRob Clark #define A5XX_SP_HS_CONFIG_SHADEROBJOFFSET__MASK			0x00007f00
416552260ae4SRob Clark #define A5XX_SP_HS_CONFIG_SHADEROBJOFFSET__SHIFT		8
A5XX_SP_HS_CONFIG_SHADEROBJOFFSET(uint32_t val)416652260ae4SRob Clark static inline uint32_t A5XX_SP_HS_CONFIG_SHADEROBJOFFSET(uint32_t val)
4167a26ae754SRob Clark {
416852260ae4SRob Clark 	return ((val) << A5XX_SP_HS_CONFIG_SHADEROBJOFFSET__SHIFT) & A5XX_SP_HS_CONFIG_SHADEROBJOFFSET__MASK;
4169a26ae754SRob Clark }
4170a26ae754SRob Clark 
417152260ae4SRob Clark #define REG_A5XX_SP_DS_CONFIG					0x0000e587
417252260ae4SRob Clark #define A5XX_SP_DS_CONFIG_ENABLED				0x00000001
417352260ae4SRob Clark #define A5XX_SP_DS_CONFIG_CONSTOBJECTOFFSET__MASK		0x000000fe
417452260ae4SRob Clark #define A5XX_SP_DS_CONFIG_CONSTOBJECTOFFSET__SHIFT		1
A5XX_SP_DS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)417552260ae4SRob Clark static inline uint32_t A5XX_SP_DS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)
4176a26ae754SRob Clark {
417752260ae4SRob Clark 	return ((val) << A5XX_SP_DS_CONFIG_CONSTOBJECTOFFSET__SHIFT) & A5XX_SP_DS_CONFIG_CONSTOBJECTOFFSET__MASK;
4178a26ae754SRob Clark }
417952260ae4SRob Clark #define A5XX_SP_DS_CONFIG_SHADEROBJOFFSET__MASK			0x00007f00
418052260ae4SRob Clark #define A5XX_SP_DS_CONFIG_SHADEROBJOFFSET__SHIFT		8
A5XX_SP_DS_CONFIG_SHADEROBJOFFSET(uint32_t val)418152260ae4SRob Clark static inline uint32_t A5XX_SP_DS_CONFIG_SHADEROBJOFFSET(uint32_t val)
4182a26ae754SRob Clark {
418352260ae4SRob Clark 	return ((val) << A5XX_SP_DS_CONFIG_SHADEROBJOFFSET__SHIFT) & A5XX_SP_DS_CONFIG_SHADEROBJOFFSET__MASK;
4184a26ae754SRob Clark }
4185a26ae754SRob Clark 
418652260ae4SRob Clark #define REG_A5XX_SP_GS_CONFIG					0x0000e588
418752260ae4SRob Clark #define A5XX_SP_GS_CONFIG_ENABLED				0x00000001
418852260ae4SRob Clark #define A5XX_SP_GS_CONFIG_CONSTOBJECTOFFSET__MASK		0x000000fe
418952260ae4SRob Clark #define A5XX_SP_GS_CONFIG_CONSTOBJECTOFFSET__SHIFT		1
A5XX_SP_GS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)419052260ae4SRob Clark static inline uint32_t A5XX_SP_GS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)
4191a26ae754SRob Clark {
419252260ae4SRob Clark 	return ((val) << A5XX_SP_GS_CONFIG_CONSTOBJECTOFFSET__SHIFT) & A5XX_SP_GS_CONFIG_CONSTOBJECTOFFSET__MASK;
4193a26ae754SRob Clark }
419452260ae4SRob Clark #define A5XX_SP_GS_CONFIG_SHADEROBJOFFSET__MASK			0x00007f00
419552260ae4SRob Clark #define A5XX_SP_GS_CONFIG_SHADEROBJOFFSET__SHIFT		8
A5XX_SP_GS_CONFIG_SHADEROBJOFFSET(uint32_t val)419652260ae4SRob Clark static inline uint32_t A5XX_SP_GS_CONFIG_SHADEROBJOFFSET(uint32_t val)
4197a26ae754SRob Clark {
419852260ae4SRob Clark 	return ((val) << A5XX_SP_GS_CONFIG_SHADEROBJOFFSET__SHIFT) & A5XX_SP_GS_CONFIG_SHADEROBJOFFSET__MASK;
4199a26ae754SRob Clark }
4200a26ae754SRob Clark 
4201a26ae754SRob Clark #define REG_A5XX_SP_CS_CONFIG					0x0000e589
420252260ae4SRob Clark #define A5XX_SP_CS_CONFIG_ENABLED				0x00000001
420352260ae4SRob Clark #define A5XX_SP_CS_CONFIG_CONSTOBJECTOFFSET__MASK		0x000000fe
420452260ae4SRob Clark #define A5XX_SP_CS_CONFIG_CONSTOBJECTOFFSET__SHIFT		1
A5XX_SP_CS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)420552260ae4SRob Clark static inline uint32_t A5XX_SP_CS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)
420652260ae4SRob Clark {
420752260ae4SRob Clark 	return ((val) << A5XX_SP_CS_CONFIG_CONSTOBJECTOFFSET__SHIFT) & A5XX_SP_CS_CONFIG_CONSTOBJECTOFFSET__MASK;
420852260ae4SRob Clark }
420952260ae4SRob Clark #define A5XX_SP_CS_CONFIG_SHADEROBJOFFSET__MASK			0x00007f00
421052260ae4SRob Clark #define A5XX_SP_CS_CONFIG_SHADEROBJOFFSET__SHIFT		8
A5XX_SP_CS_CONFIG_SHADEROBJOFFSET(uint32_t val)421152260ae4SRob Clark static inline uint32_t A5XX_SP_CS_CONFIG_SHADEROBJOFFSET(uint32_t val)
421252260ae4SRob Clark {
421352260ae4SRob Clark 	return ((val) << A5XX_SP_CS_CONFIG_SHADEROBJOFFSET__SHIFT) & A5XX_SP_CS_CONFIG_SHADEROBJOFFSET__MASK;
421452260ae4SRob Clark }
4215a26ae754SRob Clark 
4216a26ae754SRob Clark #define REG_A5XX_SP_VS_CONFIG_MAX_CONST				0x0000e58a
4217a26ae754SRob Clark 
4218a26ae754SRob Clark #define REG_A5XX_SP_FS_CONFIG_MAX_CONST				0x0000e58b
4219a26ae754SRob Clark 
4220a26ae754SRob Clark #define REG_A5XX_SP_VS_CTRL_REG0				0x0000e590
4221*f73343faSRob Clark #define A5XX_SP_VS_CTRL_REG0_BUFFER				0x00000004
422252260ae4SRob Clark #define A5XX_SP_VS_CTRL_REG0_THREADSIZE__MASK			0x00000008
422352260ae4SRob Clark #define A5XX_SP_VS_CTRL_REG0_THREADSIZE__SHIFT			3
A5XX_SP_VS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)422452260ae4SRob Clark static inline uint32_t A5XX_SP_VS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)
422552260ae4SRob Clark {
422652260ae4SRob Clark 	return ((val) << A5XX_SP_VS_CTRL_REG0_THREADSIZE__SHIFT) & A5XX_SP_VS_CTRL_REG0_THREADSIZE__MASK;
422752260ae4SRob Clark }
4228a26ae754SRob Clark #define A5XX_SP_VS_CTRL_REG0_HALFREGFOOTPRINT__MASK		0x000003f0
4229a26ae754SRob Clark #define A5XX_SP_VS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT		4
A5XX_SP_VS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)4230a26ae754SRob Clark static inline uint32_t A5XX_SP_VS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)
4231a26ae754SRob Clark {
4232a26ae754SRob Clark 	return ((val) << A5XX_SP_VS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT) & A5XX_SP_VS_CTRL_REG0_HALFREGFOOTPRINT__MASK;
4233a26ae754SRob Clark }
4234a26ae754SRob Clark #define A5XX_SP_VS_CTRL_REG0_FULLREGFOOTPRINT__MASK		0x0000fc00
4235a26ae754SRob Clark #define A5XX_SP_VS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT		10
A5XX_SP_VS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)4236a26ae754SRob Clark static inline uint32_t A5XX_SP_VS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)
4237a26ae754SRob Clark {
4238a26ae754SRob Clark 	return ((val) << A5XX_SP_VS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT) & A5XX_SP_VS_CTRL_REG0_FULLREGFOOTPRINT__MASK;
4239a26ae754SRob Clark }
4240a26ae754SRob Clark #define A5XX_SP_VS_CTRL_REG0_VARYING				0x00010000
4241a26ae754SRob Clark #define A5XX_SP_VS_CTRL_REG0_PIXLODENABLE			0x00100000
424252260ae4SRob Clark #define A5XX_SP_VS_CTRL_REG0_BRANCHSTACK__MASK			0xfe000000
424352260ae4SRob Clark #define A5XX_SP_VS_CTRL_REG0_BRANCHSTACK__SHIFT			25
A5XX_SP_VS_CTRL_REG0_BRANCHSTACK(uint32_t val)424452260ae4SRob Clark static inline uint32_t A5XX_SP_VS_CTRL_REG0_BRANCHSTACK(uint32_t val)
424552260ae4SRob Clark {
424652260ae4SRob Clark 	return ((val) << A5XX_SP_VS_CTRL_REG0_BRANCHSTACK__SHIFT) & A5XX_SP_VS_CTRL_REG0_BRANCHSTACK__MASK;
424752260ae4SRob Clark }
4248a26ae754SRob Clark 
4249a26ae754SRob Clark #define REG_A5XX_SP_PRIMITIVE_CNTL				0x0000e592
425052260ae4SRob Clark #define A5XX_SP_PRIMITIVE_CNTL_VSOUT__MASK			0x0000001f
425152260ae4SRob Clark #define A5XX_SP_PRIMITIVE_CNTL_VSOUT__SHIFT			0
A5XX_SP_PRIMITIVE_CNTL_VSOUT(uint32_t val)425252260ae4SRob Clark static inline uint32_t A5XX_SP_PRIMITIVE_CNTL_VSOUT(uint32_t val)
4253a26ae754SRob Clark {
425452260ae4SRob Clark 	return ((val) << A5XX_SP_PRIMITIVE_CNTL_VSOUT__SHIFT) & A5XX_SP_PRIMITIVE_CNTL_VSOUT__MASK;
4255a26ae754SRob Clark }
4256a26ae754SRob Clark 
REG_A5XX_SP_VS_OUT(uint32_t i0)4257a26ae754SRob Clark static inline uint32_t REG_A5XX_SP_VS_OUT(uint32_t i0) { return 0x0000e593 + 0x1*i0; }
4258a26ae754SRob Clark 
REG_A5XX_SP_VS_OUT_REG(uint32_t i0)4259a26ae754SRob Clark static inline uint32_t REG_A5XX_SP_VS_OUT_REG(uint32_t i0) { return 0x0000e593 + 0x1*i0; }
4260a26ae754SRob Clark #define A5XX_SP_VS_OUT_REG_A_REGID__MASK			0x000000ff
4261a26ae754SRob Clark #define A5XX_SP_VS_OUT_REG_A_REGID__SHIFT			0
A5XX_SP_VS_OUT_REG_A_REGID(uint32_t val)4262a26ae754SRob Clark static inline uint32_t A5XX_SP_VS_OUT_REG_A_REGID(uint32_t val)
4263a26ae754SRob Clark {
4264a26ae754SRob Clark 	return ((val) << A5XX_SP_VS_OUT_REG_A_REGID__SHIFT) & A5XX_SP_VS_OUT_REG_A_REGID__MASK;
4265a26ae754SRob Clark }
4266a26ae754SRob Clark #define A5XX_SP_VS_OUT_REG_A_COMPMASK__MASK			0x00000f00
4267a26ae754SRob Clark #define A5XX_SP_VS_OUT_REG_A_COMPMASK__SHIFT			8
A5XX_SP_VS_OUT_REG_A_COMPMASK(uint32_t val)4268a26ae754SRob Clark static inline uint32_t A5XX_SP_VS_OUT_REG_A_COMPMASK(uint32_t val)
4269a26ae754SRob Clark {
4270a26ae754SRob Clark 	return ((val) << A5XX_SP_VS_OUT_REG_A_COMPMASK__SHIFT) & A5XX_SP_VS_OUT_REG_A_COMPMASK__MASK;
4271a26ae754SRob Clark }
4272a26ae754SRob Clark #define A5XX_SP_VS_OUT_REG_B_REGID__MASK			0x00ff0000
4273a26ae754SRob Clark #define A5XX_SP_VS_OUT_REG_B_REGID__SHIFT			16
A5XX_SP_VS_OUT_REG_B_REGID(uint32_t val)4274a26ae754SRob Clark static inline uint32_t A5XX_SP_VS_OUT_REG_B_REGID(uint32_t val)
4275a26ae754SRob Clark {
4276a26ae754SRob Clark 	return ((val) << A5XX_SP_VS_OUT_REG_B_REGID__SHIFT) & A5XX_SP_VS_OUT_REG_B_REGID__MASK;
4277a26ae754SRob Clark }
4278a26ae754SRob Clark #define A5XX_SP_VS_OUT_REG_B_COMPMASK__MASK			0x0f000000
4279a26ae754SRob Clark #define A5XX_SP_VS_OUT_REG_B_COMPMASK__SHIFT			24
A5XX_SP_VS_OUT_REG_B_COMPMASK(uint32_t val)4280a26ae754SRob Clark static inline uint32_t A5XX_SP_VS_OUT_REG_B_COMPMASK(uint32_t val)
4281a26ae754SRob Clark {
4282a26ae754SRob Clark 	return ((val) << A5XX_SP_VS_OUT_REG_B_COMPMASK__SHIFT) & A5XX_SP_VS_OUT_REG_B_COMPMASK__MASK;
4283a26ae754SRob Clark }
4284a26ae754SRob Clark 
REG_A5XX_SP_VS_VPC_DST(uint32_t i0)4285a26ae754SRob Clark static inline uint32_t REG_A5XX_SP_VS_VPC_DST(uint32_t i0) { return 0x0000e5a3 + 0x1*i0; }
4286a26ae754SRob Clark 
REG_A5XX_SP_VS_VPC_DST_REG(uint32_t i0)4287a26ae754SRob Clark static inline uint32_t REG_A5XX_SP_VS_VPC_DST_REG(uint32_t i0) { return 0x0000e5a3 + 0x1*i0; }
4288a26ae754SRob Clark #define A5XX_SP_VS_VPC_DST_REG_OUTLOC0__MASK			0x000000ff
4289a26ae754SRob Clark #define A5XX_SP_VS_VPC_DST_REG_OUTLOC0__SHIFT			0
A5XX_SP_VS_VPC_DST_REG_OUTLOC0(uint32_t val)4290a26ae754SRob Clark static inline uint32_t A5XX_SP_VS_VPC_DST_REG_OUTLOC0(uint32_t val)
4291a26ae754SRob Clark {
4292a26ae754SRob Clark 	return ((val) << A5XX_SP_VS_VPC_DST_REG_OUTLOC0__SHIFT) & A5XX_SP_VS_VPC_DST_REG_OUTLOC0__MASK;
4293a26ae754SRob Clark }
4294a26ae754SRob Clark #define A5XX_SP_VS_VPC_DST_REG_OUTLOC1__MASK			0x0000ff00
4295a26ae754SRob Clark #define A5XX_SP_VS_VPC_DST_REG_OUTLOC1__SHIFT			8
A5XX_SP_VS_VPC_DST_REG_OUTLOC1(uint32_t val)4296a26ae754SRob Clark static inline uint32_t A5XX_SP_VS_VPC_DST_REG_OUTLOC1(uint32_t val)
4297a26ae754SRob Clark {
4298a26ae754SRob Clark 	return ((val) << A5XX_SP_VS_VPC_DST_REG_OUTLOC1__SHIFT) & A5XX_SP_VS_VPC_DST_REG_OUTLOC1__MASK;
4299a26ae754SRob Clark }
4300a26ae754SRob Clark #define A5XX_SP_VS_VPC_DST_REG_OUTLOC2__MASK			0x00ff0000
4301a26ae754SRob Clark #define A5XX_SP_VS_VPC_DST_REG_OUTLOC2__SHIFT			16
A5XX_SP_VS_VPC_DST_REG_OUTLOC2(uint32_t val)4302a26ae754SRob Clark static inline uint32_t A5XX_SP_VS_VPC_DST_REG_OUTLOC2(uint32_t val)
4303a26ae754SRob Clark {
4304a26ae754SRob Clark 	return ((val) << A5XX_SP_VS_VPC_DST_REG_OUTLOC2__SHIFT) & A5XX_SP_VS_VPC_DST_REG_OUTLOC2__MASK;
4305a26ae754SRob Clark }
4306a26ae754SRob Clark #define A5XX_SP_VS_VPC_DST_REG_OUTLOC3__MASK			0xff000000
4307a26ae754SRob Clark #define A5XX_SP_VS_VPC_DST_REG_OUTLOC3__SHIFT			24
A5XX_SP_VS_VPC_DST_REG_OUTLOC3(uint32_t val)4308a26ae754SRob Clark static inline uint32_t A5XX_SP_VS_VPC_DST_REG_OUTLOC3(uint32_t val)
4309a26ae754SRob Clark {
4310a26ae754SRob Clark 	return ((val) << A5XX_SP_VS_VPC_DST_REG_OUTLOC3__SHIFT) & A5XX_SP_VS_VPC_DST_REG_OUTLOC3__MASK;
4311a26ae754SRob Clark }
4312a26ae754SRob Clark 
4313a26ae754SRob Clark #define REG_A5XX_UNKNOWN_E5AB					0x0000e5ab
4314a26ae754SRob Clark 
4315a26ae754SRob Clark #define REG_A5XX_SP_VS_OBJ_START_LO				0x0000e5ac
4316a26ae754SRob Clark 
4317a26ae754SRob Clark #define REG_A5XX_SP_VS_OBJ_START_HI				0x0000e5ad
4318a26ae754SRob Clark 
4319a26ae754SRob Clark #define REG_A5XX_SP_FS_CTRL_REG0				0x0000e5c0
4320*f73343faSRob Clark #define A5XX_SP_FS_CTRL_REG0_BUFFER				0x00000004
432152260ae4SRob Clark #define A5XX_SP_FS_CTRL_REG0_THREADSIZE__MASK			0x00000008
432252260ae4SRob Clark #define A5XX_SP_FS_CTRL_REG0_THREADSIZE__SHIFT			3
A5XX_SP_FS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)432352260ae4SRob Clark static inline uint32_t A5XX_SP_FS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)
432452260ae4SRob Clark {
432552260ae4SRob Clark 	return ((val) << A5XX_SP_FS_CTRL_REG0_THREADSIZE__SHIFT) & A5XX_SP_FS_CTRL_REG0_THREADSIZE__MASK;
432652260ae4SRob Clark }
4327a26ae754SRob Clark #define A5XX_SP_FS_CTRL_REG0_HALFREGFOOTPRINT__MASK		0x000003f0
4328a26ae754SRob Clark #define A5XX_SP_FS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT		4
A5XX_SP_FS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)4329a26ae754SRob Clark static inline uint32_t A5XX_SP_FS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)
4330a26ae754SRob Clark {
4331a26ae754SRob Clark 	return ((val) << A5XX_SP_FS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT) & A5XX_SP_FS_CTRL_REG0_HALFREGFOOTPRINT__MASK;
4332a26ae754SRob Clark }
4333a26ae754SRob Clark #define A5XX_SP_FS_CTRL_REG0_FULLREGFOOTPRINT__MASK		0x0000fc00
4334a26ae754SRob Clark #define A5XX_SP_FS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT		10
A5XX_SP_FS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)4335a26ae754SRob Clark static inline uint32_t A5XX_SP_FS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)
4336a26ae754SRob Clark {
4337a26ae754SRob Clark 	return ((val) << A5XX_SP_FS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT) & A5XX_SP_FS_CTRL_REG0_FULLREGFOOTPRINT__MASK;
4338a26ae754SRob Clark }
4339a26ae754SRob Clark #define A5XX_SP_FS_CTRL_REG0_VARYING				0x00010000
4340a26ae754SRob Clark #define A5XX_SP_FS_CTRL_REG0_PIXLODENABLE			0x00100000
434152260ae4SRob Clark #define A5XX_SP_FS_CTRL_REG0_BRANCHSTACK__MASK			0xfe000000
434252260ae4SRob Clark #define A5XX_SP_FS_CTRL_REG0_BRANCHSTACK__SHIFT			25
A5XX_SP_FS_CTRL_REG0_BRANCHSTACK(uint32_t val)434352260ae4SRob Clark static inline uint32_t A5XX_SP_FS_CTRL_REG0_BRANCHSTACK(uint32_t val)
434452260ae4SRob Clark {
434552260ae4SRob Clark 	return ((val) << A5XX_SP_FS_CTRL_REG0_BRANCHSTACK__SHIFT) & A5XX_SP_FS_CTRL_REG0_BRANCHSTACK__MASK;
434652260ae4SRob Clark }
4347a26ae754SRob Clark 
4348a26ae754SRob Clark #define REG_A5XX_UNKNOWN_E5C2					0x0000e5c2
4349a26ae754SRob Clark 
4350a26ae754SRob Clark #define REG_A5XX_SP_FS_OBJ_START_LO				0x0000e5c3
4351a26ae754SRob Clark 
4352a26ae754SRob Clark #define REG_A5XX_SP_FS_OBJ_START_HI				0x0000e5c4
4353a26ae754SRob Clark 
4354a26ae754SRob Clark #define REG_A5XX_SP_BLEND_CNTL					0x0000e5c9
4355cc4c26d4SRob Clark #define A5XX_SP_BLEND_CNTL_ENABLE_BLEND__MASK			0x000000ff
4356cc4c26d4SRob Clark #define A5XX_SP_BLEND_CNTL_ENABLE_BLEND__SHIFT			0
A5XX_SP_BLEND_CNTL_ENABLE_BLEND(uint32_t val)4357cc4c26d4SRob Clark static inline uint32_t A5XX_SP_BLEND_CNTL_ENABLE_BLEND(uint32_t val)
4358cc4c26d4SRob Clark {
4359cc4c26d4SRob Clark 	return ((val) << A5XX_SP_BLEND_CNTL_ENABLE_BLEND__SHIFT) & A5XX_SP_BLEND_CNTL_ENABLE_BLEND__MASK;
4360cc4c26d4SRob Clark }
436152260ae4SRob Clark #define A5XX_SP_BLEND_CNTL_UNK8					0x00000100
43622d756322SRob Clark #define A5XX_SP_BLEND_CNTL_ALPHA_TO_COVERAGE			0x00000400
4363a26ae754SRob Clark 
4364a26ae754SRob Clark #define REG_A5XX_SP_FS_OUTPUT_CNTL				0x0000e5ca
4365a26ae754SRob Clark #define A5XX_SP_FS_OUTPUT_CNTL_MRT__MASK			0x0000000f
4366a26ae754SRob Clark #define A5XX_SP_FS_OUTPUT_CNTL_MRT__SHIFT			0
A5XX_SP_FS_OUTPUT_CNTL_MRT(uint32_t val)4367a26ae754SRob Clark static inline uint32_t A5XX_SP_FS_OUTPUT_CNTL_MRT(uint32_t val)
4368a26ae754SRob Clark {
4369a26ae754SRob Clark 	return ((val) << A5XX_SP_FS_OUTPUT_CNTL_MRT__SHIFT) & A5XX_SP_FS_OUTPUT_CNTL_MRT__MASK;
4370a26ae754SRob Clark }
4371a26ae754SRob Clark #define A5XX_SP_FS_OUTPUT_CNTL_DEPTH_REGID__MASK		0x00001fe0
4372a26ae754SRob Clark #define A5XX_SP_FS_OUTPUT_CNTL_DEPTH_REGID__SHIFT		5
A5XX_SP_FS_OUTPUT_CNTL_DEPTH_REGID(uint32_t val)4373a26ae754SRob Clark static inline uint32_t A5XX_SP_FS_OUTPUT_CNTL_DEPTH_REGID(uint32_t val)
4374a26ae754SRob Clark {
4375a26ae754SRob Clark 	return ((val) << A5XX_SP_FS_OUTPUT_CNTL_DEPTH_REGID__SHIFT) & A5XX_SP_FS_OUTPUT_CNTL_DEPTH_REGID__MASK;
4376a26ae754SRob Clark }
4377a26ae754SRob Clark #define A5XX_SP_FS_OUTPUT_CNTL_SAMPLEMASK_REGID__MASK		0x001fe000
4378a26ae754SRob Clark #define A5XX_SP_FS_OUTPUT_CNTL_SAMPLEMASK_REGID__SHIFT		13
A5XX_SP_FS_OUTPUT_CNTL_SAMPLEMASK_REGID(uint32_t val)4379a26ae754SRob Clark static inline uint32_t A5XX_SP_FS_OUTPUT_CNTL_SAMPLEMASK_REGID(uint32_t val)
4380a26ae754SRob Clark {
4381a26ae754SRob Clark 	return ((val) << A5XX_SP_FS_OUTPUT_CNTL_SAMPLEMASK_REGID__SHIFT) & A5XX_SP_FS_OUTPUT_CNTL_SAMPLEMASK_REGID__MASK;
4382a26ae754SRob Clark }
4383a26ae754SRob Clark 
REG_A5XX_SP_FS_OUTPUT(uint32_t i0)4384a26ae754SRob Clark static inline uint32_t REG_A5XX_SP_FS_OUTPUT(uint32_t i0) { return 0x0000e5cb + 0x1*i0; }
4385a26ae754SRob Clark 
REG_A5XX_SP_FS_OUTPUT_REG(uint32_t i0)4386a26ae754SRob Clark static inline uint32_t REG_A5XX_SP_FS_OUTPUT_REG(uint32_t i0) { return 0x0000e5cb + 0x1*i0; }
4387a26ae754SRob Clark #define A5XX_SP_FS_OUTPUT_REG_REGID__MASK			0x000000ff
4388a26ae754SRob Clark #define A5XX_SP_FS_OUTPUT_REG_REGID__SHIFT			0
A5XX_SP_FS_OUTPUT_REG_REGID(uint32_t val)4389a26ae754SRob Clark static inline uint32_t A5XX_SP_FS_OUTPUT_REG_REGID(uint32_t val)
4390a26ae754SRob Clark {
4391a26ae754SRob Clark 	return ((val) << A5XX_SP_FS_OUTPUT_REG_REGID__SHIFT) & A5XX_SP_FS_OUTPUT_REG_REGID__MASK;
4392a26ae754SRob Clark }
4393a26ae754SRob Clark #define A5XX_SP_FS_OUTPUT_REG_HALF_PRECISION			0x00000100
4394a26ae754SRob Clark 
REG_A5XX_SP_FS_MRT(uint32_t i0)4395a26ae754SRob Clark static inline uint32_t REG_A5XX_SP_FS_MRT(uint32_t i0) { return 0x0000e5d3 + 0x1*i0; }
4396a26ae754SRob Clark 
REG_A5XX_SP_FS_MRT_REG(uint32_t i0)4397a26ae754SRob Clark static inline uint32_t REG_A5XX_SP_FS_MRT_REG(uint32_t i0) { return 0x0000e5d3 + 0x1*i0; }
4398a26ae754SRob Clark #define A5XX_SP_FS_MRT_REG_COLOR_FORMAT__MASK			0x000000ff
4399a26ae754SRob Clark #define A5XX_SP_FS_MRT_REG_COLOR_FORMAT__SHIFT			0
A5XX_SP_FS_MRT_REG_COLOR_FORMAT(enum a5xx_color_fmt val)4400a26ae754SRob Clark static inline uint32_t A5XX_SP_FS_MRT_REG_COLOR_FORMAT(enum a5xx_color_fmt val)
4401a26ae754SRob Clark {
4402a26ae754SRob Clark 	return ((val) << A5XX_SP_FS_MRT_REG_COLOR_FORMAT__SHIFT) & A5XX_SP_FS_MRT_REG_COLOR_FORMAT__MASK;
4403a26ae754SRob Clark }
44042d756322SRob Clark #define A5XX_SP_FS_MRT_REG_COLOR_SINT				0x00000100
44052d756322SRob Clark #define A5XX_SP_FS_MRT_REG_COLOR_UINT				0x00000200
440652260ae4SRob Clark #define A5XX_SP_FS_MRT_REG_COLOR_SRGB				0x00000400
4407a26ae754SRob Clark 
4408a26ae754SRob Clark #define REG_A5XX_UNKNOWN_E5DB					0x0000e5db
4409a26ae754SRob Clark 
441052260ae4SRob Clark #define REG_A5XX_SP_CS_CTRL_REG0				0x0000e5f0
4411*f73343faSRob Clark #define A5XX_SP_CS_CTRL_REG0_BUFFER				0x00000004
441252260ae4SRob Clark #define A5XX_SP_CS_CTRL_REG0_THREADSIZE__MASK			0x00000008
441352260ae4SRob Clark #define A5XX_SP_CS_CTRL_REG0_THREADSIZE__SHIFT			3
A5XX_SP_CS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)441452260ae4SRob Clark static inline uint32_t A5XX_SP_CS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)
441552260ae4SRob Clark {
441652260ae4SRob Clark 	return ((val) << A5XX_SP_CS_CTRL_REG0_THREADSIZE__SHIFT) & A5XX_SP_CS_CTRL_REG0_THREADSIZE__MASK;
441752260ae4SRob Clark }
441852260ae4SRob Clark #define A5XX_SP_CS_CTRL_REG0_HALFREGFOOTPRINT__MASK		0x000003f0
441952260ae4SRob Clark #define A5XX_SP_CS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT		4
A5XX_SP_CS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)442052260ae4SRob Clark static inline uint32_t A5XX_SP_CS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)
442152260ae4SRob Clark {
442252260ae4SRob Clark 	return ((val) << A5XX_SP_CS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT) & A5XX_SP_CS_CTRL_REG0_HALFREGFOOTPRINT__MASK;
442352260ae4SRob Clark }
442452260ae4SRob Clark #define A5XX_SP_CS_CTRL_REG0_FULLREGFOOTPRINT__MASK		0x0000fc00
442552260ae4SRob Clark #define A5XX_SP_CS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT		10
A5XX_SP_CS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)442652260ae4SRob Clark static inline uint32_t A5XX_SP_CS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)
442752260ae4SRob Clark {
442852260ae4SRob Clark 	return ((val) << A5XX_SP_CS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT) & A5XX_SP_CS_CTRL_REG0_FULLREGFOOTPRINT__MASK;
442952260ae4SRob Clark }
443052260ae4SRob Clark #define A5XX_SP_CS_CTRL_REG0_VARYING				0x00010000
443152260ae4SRob Clark #define A5XX_SP_CS_CTRL_REG0_PIXLODENABLE			0x00100000
443252260ae4SRob Clark #define A5XX_SP_CS_CTRL_REG0_BRANCHSTACK__MASK			0xfe000000
443352260ae4SRob Clark #define A5XX_SP_CS_CTRL_REG0_BRANCHSTACK__SHIFT			25
A5XX_SP_CS_CTRL_REG0_BRANCHSTACK(uint32_t val)443452260ae4SRob Clark static inline uint32_t A5XX_SP_CS_CTRL_REG0_BRANCHSTACK(uint32_t val)
443552260ae4SRob Clark {
443652260ae4SRob Clark 	return ((val) << A5XX_SP_CS_CTRL_REG0_BRANCHSTACK__SHIFT) & A5XX_SP_CS_CTRL_REG0_BRANCHSTACK__MASK;
443752260ae4SRob Clark }
4438a26ae754SRob Clark 
44392d756322SRob Clark #define REG_A5XX_UNKNOWN_E5F2					0x0000e5f2
44402d756322SRob Clark 
44412d756322SRob Clark #define REG_A5XX_SP_CS_OBJ_START_LO				0x0000e5f3
44422d756322SRob Clark 
44432d756322SRob Clark #define REG_A5XX_SP_CS_OBJ_START_HI				0x0000e5f4
44442d756322SRob Clark 
44452d756322SRob Clark #define REG_A5XX_SP_HS_CTRL_REG0				0x0000e600
4446*f73343faSRob Clark #define A5XX_SP_HS_CTRL_REG0_BUFFER				0x00000004
44472d756322SRob Clark #define A5XX_SP_HS_CTRL_REG0_THREADSIZE__MASK			0x00000008
44482d756322SRob Clark #define A5XX_SP_HS_CTRL_REG0_THREADSIZE__SHIFT			3
A5XX_SP_HS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)44492d756322SRob Clark static inline uint32_t A5XX_SP_HS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)
44502d756322SRob Clark {
44512d756322SRob Clark 	return ((val) << A5XX_SP_HS_CTRL_REG0_THREADSIZE__SHIFT) & A5XX_SP_HS_CTRL_REG0_THREADSIZE__MASK;
44522d756322SRob Clark }
44532d756322SRob Clark #define A5XX_SP_HS_CTRL_REG0_HALFREGFOOTPRINT__MASK		0x000003f0
44542d756322SRob Clark #define A5XX_SP_HS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT		4
A5XX_SP_HS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)44552d756322SRob Clark static inline uint32_t A5XX_SP_HS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)
44562d756322SRob Clark {
44572d756322SRob Clark 	return ((val) << A5XX_SP_HS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT) & A5XX_SP_HS_CTRL_REG0_HALFREGFOOTPRINT__MASK;
44582d756322SRob Clark }
44592d756322SRob Clark #define A5XX_SP_HS_CTRL_REG0_FULLREGFOOTPRINT__MASK		0x0000fc00
44602d756322SRob Clark #define A5XX_SP_HS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT		10
A5XX_SP_HS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)44612d756322SRob Clark static inline uint32_t A5XX_SP_HS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)
44622d756322SRob Clark {
44632d756322SRob Clark 	return ((val) << A5XX_SP_HS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT) & A5XX_SP_HS_CTRL_REG0_FULLREGFOOTPRINT__MASK;
44642d756322SRob Clark }
44652d756322SRob Clark #define A5XX_SP_HS_CTRL_REG0_VARYING				0x00010000
44662d756322SRob Clark #define A5XX_SP_HS_CTRL_REG0_PIXLODENABLE			0x00100000
44672d756322SRob Clark #define A5XX_SP_HS_CTRL_REG0_BRANCHSTACK__MASK			0xfe000000
44682d756322SRob Clark #define A5XX_SP_HS_CTRL_REG0_BRANCHSTACK__SHIFT			25
A5XX_SP_HS_CTRL_REG0_BRANCHSTACK(uint32_t val)44692d756322SRob Clark static inline uint32_t A5XX_SP_HS_CTRL_REG0_BRANCHSTACK(uint32_t val)
44702d756322SRob Clark {
44712d756322SRob Clark 	return ((val) << A5XX_SP_HS_CTRL_REG0_BRANCHSTACK__SHIFT) & A5XX_SP_HS_CTRL_REG0_BRANCHSTACK__MASK;
44722d756322SRob Clark }
4473a26ae754SRob Clark 
447452260ae4SRob Clark #define REG_A5XX_UNKNOWN_E602					0x0000e602
447552260ae4SRob Clark 
447652260ae4SRob Clark #define REG_A5XX_SP_HS_OBJ_START_LO				0x0000e603
447752260ae4SRob Clark 
447852260ae4SRob Clark #define REG_A5XX_SP_HS_OBJ_START_HI				0x0000e604
447952260ae4SRob Clark 
44802d756322SRob Clark #define REG_A5XX_SP_DS_CTRL_REG0				0x0000e610
4481*f73343faSRob Clark #define A5XX_SP_DS_CTRL_REG0_BUFFER				0x00000004
44822d756322SRob Clark #define A5XX_SP_DS_CTRL_REG0_THREADSIZE__MASK			0x00000008
44832d756322SRob Clark #define A5XX_SP_DS_CTRL_REG0_THREADSIZE__SHIFT			3
A5XX_SP_DS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)44842d756322SRob Clark static inline uint32_t A5XX_SP_DS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)
44852d756322SRob Clark {
44862d756322SRob Clark 	return ((val) << A5XX_SP_DS_CTRL_REG0_THREADSIZE__SHIFT) & A5XX_SP_DS_CTRL_REG0_THREADSIZE__MASK;
44872d756322SRob Clark }
44882d756322SRob Clark #define A5XX_SP_DS_CTRL_REG0_HALFREGFOOTPRINT__MASK		0x000003f0
44892d756322SRob Clark #define A5XX_SP_DS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT		4
A5XX_SP_DS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)44902d756322SRob Clark static inline uint32_t A5XX_SP_DS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)
44912d756322SRob Clark {
44922d756322SRob Clark 	return ((val) << A5XX_SP_DS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT) & A5XX_SP_DS_CTRL_REG0_HALFREGFOOTPRINT__MASK;
44932d756322SRob Clark }
44942d756322SRob Clark #define A5XX_SP_DS_CTRL_REG0_FULLREGFOOTPRINT__MASK		0x0000fc00
44952d756322SRob Clark #define A5XX_SP_DS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT		10
A5XX_SP_DS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)44962d756322SRob Clark static inline uint32_t A5XX_SP_DS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)
44972d756322SRob Clark {
44982d756322SRob Clark 	return ((val) << A5XX_SP_DS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT) & A5XX_SP_DS_CTRL_REG0_FULLREGFOOTPRINT__MASK;
44992d756322SRob Clark }
45002d756322SRob Clark #define A5XX_SP_DS_CTRL_REG0_VARYING				0x00010000
45012d756322SRob Clark #define A5XX_SP_DS_CTRL_REG0_PIXLODENABLE			0x00100000
45022d756322SRob Clark #define A5XX_SP_DS_CTRL_REG0_BRANCHSTACK__MASK			0xfe000000
45032d756322SRob Clark #define A5XX_SP_DS_CTRL_REG0_BRANCHSTACK__SHIFT			25
A5XX_SP_DS_CTRL_REG0_BRANCHSTACK(uint32_t val)45042d756322SRob Clark static inline uint32_t A5XX_SP_DS_CTRL_REG0_BRANCHSTACK(uint32_t val)
45052d756322SRob Clark {
45062d756322SRob Clark 	return ((val) << A5XX_SP_DS_CTRL_REG0_BRANCHSTACK__SHIFT) & A5XX_SP_DS_CTRL_REG0_BRANCHSTACK__MASK;
45072d756322SRob Clark }
45082d756322SRob Clark 
450952260ae4SRob Clark #define REG_A5XX_UNKNOWN_E62B					0x0000e62b
451052260ae4SRob Clark 
451152260ae4SRob Clark #define REG_A5XX_SP_DS_OBJ_START_LO				0x0000e62c
451252260ae4SRob Clark 
451352260ae4SRob Clark #define REG_A5XX_SP_DS_OBJ_START_HI				0x0000e62d
451452260ae4SRob Clark 
45152d756322SRob Clark #define REG_A5XX_SP_GS_CTRL_REG0				0x0000e640
4516*f73343faSRob Clark #define A5XX_SP_GS_CTRL_REG0_BUFFER				0x00000004
45172d756322SRob Clark #define A5XX_SP_GS_CTRL_REG0_THREADSIZE__MASK			0x00000008
45182d756322SRob Clark #define A5XX_SP_GS_CTRL_REG0_THREADSIZE__SHIFT			3
A5XX_SP_GS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)45192d756322SRob Clark static inline uint32_t A5XX_SP_GS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)
45202d756322SRob Clark {
45212d756322SRob Clark 	return ((val) << A5XX_SP_GS_CTRL_REG0_THREADSIZE__SHIFT) & A5XX_SP_GS_CTRL_REG0_THREADSIZE__MASK;
45222d756322SRob Clark }
45232d756322SRob Clark #define A5XX_SP_GS_CTRL_REG0_HALFREGFOOTPRINT__MASK		0x000003f0
45242d756322SRob Clark #define A5XX_SP_GS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT		4
A5XX_SP_GS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)45252d756322SRob Clark static inline uint32_t A5XX_SP_GS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)
45262d756322SRob Clark {
45272d756322SRob Clark 	return ((val) << A5XX_SP_GS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT) & A5XX_SP_GS_CTRL_REG0_HALFREGFOOTPRINT__MASK;
45282d756322SRob Clark }
45292d756322SRob Clark #define A5XX_SP_GS_CTRL_REG0_FULLREGFOOTPRINT__MASK		0x0000fc00
45302d756322SRob Clark #define A5XX_SP_GS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT		10
A5XX_SP_GS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)45312d756322SRob Clark static inline uint32_t A5XX_SP_GS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)
45322d756322SRob Clark {
45332d756322SRob Clark 	return ((val) << A5XX_SP_GS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT) & A5XX_SP_GS_CTRL_REG0_FULLREGFOOTPRINT__MASK;
45342d756322SRob Clark }
45352d756322SRob Clark #define A5XX_SP_GS_CTRL_REG0_VARYING				0x00010000
45362d756322SRob Clark #define A5XX_SP_GS_CTRL_REG0_PIXLODENABLE			0x00100000
45372d756322SRob Clark #define A5XX_SP_GS_CTRL_REG0_BRANCHSTACK__MASK			0xfe000000
45382d756322SRob Clark #define A5XX_SP_GS_CTRL_REG0_BRANCHSTACK__SHIFT			25
A5XX_SP_GS_CTRL_REG0_BRANCHSTACK(uint32_t val)45392d756322SRob Clark static inline uint32_t A5XX_SP_GS_CTRL_REG0_BRANCHSTACK(uint32_t val)
45402d756322SRob Clark {
45412d756322SRob Clark 	return ((val) << A5XX_SP_GS_CTRL_REG0_BRANCHSTACK__SHIFT) & A5XX_SP_GS_CTRL_REG0_BRANCHSTACK__MASK;
45422d756322SRob Clark }
4543a26ae754SRob Clark 
454452260ae4SRob Clark #define REG_A5XX_UNKNOWN_E65B					0x0000e65b
454552260ae4SRob Clark 
454652260ae4SRob Clark #define REG_A5XX_SP_GS_OBJ_START_LO				0x0000e65c
454752260ae4SRob Clark 
454852260ae4SRob Clark #define REG_A5XX_SP_GS_OBJ_START_HI				0x0000e65d
454952260ae4SRob Clark 
4550a26ae754SRob Clark #define REG_A5XX_TPL1_TP_RAS_MSAA_CNTL				0x0000e704
4551a26ae754SRob Clark #define A5XX_TPL1_TP_RAS_MSAA_CNTL_SAMPLES__MASK		0x00000003
4552a26ae754SRob Clark #define A5XX_TPL1_TP_RAS_MSAA_CNTL_SAMPLES__SHIFT		0
A5XX_TPL1_TP_RAS_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)4553a26ae754SRob Clark static inline uint32_t A5XX_TPL1_TP_RAS_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)
4554a26ae754SRob Clark {
4555a26ae754SRob Clark 	return ((val) << A5XX_TPL1_TP_RAS_MSAA_CNTL_SAMPLES__SHIFT) & A5XX_TPL1_TP_RAS_MSAA_CNTL_SAMPLES__MASK;
4556a26ae754SRob Clark }
4557a26ae754SRob Clark 
4558a26ae754SRob Clark #define REG_A5XX_TPL1_TP_DEST_MSAA_CNTL				0x0000e705
4559a26ae754SRob Clark #define A5XX_TPL1_TP_DEST_MSAA_CNTL_SAMPLES__MASK		0x00000003
4560a26ae754SRob Clark #define A5XX_TPL1_TP_DEST_MSAA_CNTL_SAMPLES__SHIFT		0
A5XX_TPL1_TP_DEST_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)4561a26ae754SRob Clark static inline uint32_t A5XX_TPL1_TP_DEST_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)
4562a26ae754SRob Clark {
4563a26ae754SRob Clark 	return ((val) << A5XX_TPL1_TP_DEST_MSAA_CNTL_SAMPLES__SHIFT) & A5XX_TPL1_TP_DEST_MSAA_CNTL_SAMPLES__MASK;
4564a26ae754SRob Clark }
4565a26ae754SRob Clark #define A5XX_TPL1_TP_DEST_MSAA_CNTL_MSAA_DISABLE		0x00000004
4566a26ae754SRob Clark 
456752260ae4SRob Clark #define REG_A5XX_TPL1_TP_BORDER_COLOR_BASE_ADDR_LO		0x0000e706
456852260ae4SRob Clark 
456952260ae4SRob Clark #define REG_A5XX_TPL1_TP_BORDER_COLOR_BASE_ADDR_HI		0x0000e707
457052260ae4SRob Clark 
4571a26ae754SRob Clark #define REG_A5XX_TPL1_VS_TEX_COUNT				0x0000e700
4572a26ae754SRob Clark 
457352260ae4SRob Clark #define REG_A5XX_TPL1_HS_TEX_COUNT				0x0000e701
457452260ae4SRob Clark 
457552260ae4SRob Clark #define REG_A5XX_TPL1_DS_TEX_COUNT				0x0000e702
457652260ae4SRob Clark 
457752260ae4SRob Clark #define REG_A5XX_TPL1_GS_TEX_COUNT				0x0000e703
457852260ae4SRob Clark 
4579a26ae754SRob Clark #define REG_A5XX_TPL1_VS_TEX_SAMP_LO				0x0000e722
4580a26ae754SRob Clark 
4581a26ae754SRob Clark #define REG_A5XX_TPL1_VS_TEX_SAMP_HI				0x0000e723
4582a26ae754SRob Clark 
458352260ae4SRob Clark #define REG_A5XX_TPL1_HS_TEX_SAMP_LO				0x0000e724
458452260ae4SRob Clark 
458552260ae4SRob Clark #define REG_A5XX_TPL1_HS_TEX_SAMP_HI				0x0000e725
458652260ae4SRob Clark 
458752260ae4SRob Clark #define REG_A5XX_TPL1_DS_TEX_SAMP_LO				0x0000e726
458852260ae4SRob Clark 
458952260ae4SRob Clark #define REG_A5XX_TPL1_DS_TEX_SAMP_HI				0x0000e727
459052260ae4SRob Clark 
459152260ae4SRob Clark #define REG_A5XX_TPL1_GS_TEX_SAMP_LO				0x0000e728
459252260ae4SRob Clark 
459352260ae4SRob Clark #define REG_A5XX_TPL1_GS_TEX_SAMP_HI				0x0000e729
459452260ae4SRob Clark 
4595a26ae754SRob Clark #define REG_A5XX_TPL1_VS_TEX_CONST_LO				0x0000e72a
4596a26ae754SRob Clark 
4597a26ae754SRob Clark #define REG_A5XX_TPL1_VS_TEX_CONST_HI				0x0000e72b
4598a26ae754SRob Clark 
459952260ae4SRob Clark #define REG_A5XX_TPL1_HS_TEX_CONST_LO				0x0000e72c
460052260ae4SRob Clark 
460152260ae4SRob Clark #define REG_A5XX_TPL1_HS_TEX_CONST_HI				0x0000e72d
460252260ae4SRob Clark 
460352260ae4SRob Clark #define REG_A5XX_TPL1_DS_TEX_CONST_LO				0x0000e72e
460452260ae4SRob Clark 
460552260ae4SRob Clark #define REG_A5XX_TPL1_DS_TEX_CONST_HI				0x0000e72f
460652260ae4SRob Clark 
460752260ae4SRob Clark #define REG_A5XX_TPL1_GS_TEX_CONST_LO				0x0000e730
460852260ae4SRob Clark 
460952260ae4SRob Clark #define REG_A5XX_TPL1_GS_TEX_CONST_HI				0x0000e731
461052260ae4SRob Clark 
4611a26ae754SRob Clark #define REG_A5XX_TPL1_FS_TEX_COUNT				0x0000e750
4612a26ae754SRob Clark 
461352260ae4SRob Clark #define REG_A5XX_TPL1_CS_TEX_COUNT				0x0000e751
461452260ae4SRob Clark 
4615a26ae754SRob Clark #define REG_A5XX_TPL1_FS_TEX_SAMP_LO				0x0000e75a
4616a26ae754SRob Clark 
4617a26ae754SRob Clark #define REG_A5XX_TPL1_FS_TEX_SAMP_HI				0x0000e75b
4618a26ae754SRob Clark 
461952260ae4SRob Clark #define REG_A5XX_TPL1_CS_TEX_SAMP_LO				0x0000e75c
462052260ae4SRob Clark 
462152260ae4SRob Clark #define REG_A5XX_TPL1_CS_TEX_SAMP_HI				0x0000e75d
462252260ae4SRob Clark 
4623a26ae754SRob Clark #define REG_A5XX_TPL1_FS_TEX_CONST_LO				0x0000e75e
4624a26ae754SRob Clark 
4625a26ae754SRob Clark #define REG_A5XX_TPL1_FS_TEX_CONST_HI				0x0000e75f
4626a26ae754SRob Clark 
462752260ae4SRob Clark #define REG_A5XX_TPL1_CS_TEX_CONST_LO				0x0000e760
462852260ae4SRob Clark 
462952260ae4SRob Clark #define REG_A5XX_TPL1_CS_TEX_CONST_HI				0x0000e761
463052260ae4SRob Clark 
4631a26ae754SRob Clark #define REG_A5XX_TPL1_TP_FS_ROTATION_CNTL			0x0000e764
4632a26ae754SRob Clark 
4633a26ae754SRob Clark #define REG_A5XX_HLSQ_CONTROL_0_REG				0x0000e784
463452260ae4SRob Clark #define A5XX_HLSQ_CONTROL_0_REG_FSTHREADSIZE__MASK		0x00000001
463552260ae4SRob Clark #define A5XX_HLSQ_CONTROL_0_REG_FSTHREADSIZE__SHIFT		0
A5XX_HLSQ_CONTROL_0_REG_FSTHREADSIZE(enum a3xx_threadsize val)463652260ae4SRob Clark static inline uint32_t A5XX_HLSQ_CONTROL_0_REG_FSTHREADSIZE(enum a3xx_threadsize val)
463752260ae4SRob Clark {
463852260ae4SRob Clark 	return ((val) << A5XX_HLSQ_CONTROL_0_REG_FSTHREADSIZE__SHIFT) & A5XX_HLSQ_CONTROL_0_REG_FSTHREADSIZE__MASK;
463952260ae4SRob Clark }
464052260ae4SRob Clark #define A5XX_HLSQ_CONTROL_0_REG_CSTHREADSIZE__MASK		0x00000004
464152260ae4SRob Clark #define A5XX_HLSQ_CONTROL_0_REG_CSTHREADSIZE__SHIFT		2
A5XX_HLSQ_CONTROL_0_REG_CSTHREADSIZE(enum a3xx_threadsize val)464252260ae4SRob Clark static inline uint32_t A5XX_HLSQ_CONTROL_0_REG_CSTHREADSIZE(enum a3xx_threadsize val)
464352260ae4SRob Clark {
464452260ae4SRob Clark 	return ((val) << A5XX_HLSQ_CONTROL_0_REG_CSTHREADSIZE__SHIFT) & A5XX_HLSQ_CONTROL_0_REG_CSTHREADSIZE__MASK;
464552260ae4SRob Clark }
4646a26ae754SRob Clark 
4647a26ae754SRob Clark #define REG_A5XX_HLSQ_CONTROL_1_REG				0x0000e785
4648a26ae754SRob Clark #define A5XX_HLSQ_CONTROL_1_REG_PRIMALLOCTHRESHOLD__MASK	0x0000003f
4649a26ae754SRob Clark #define A5XX_HLSQ_CONTROL_1_REG_PRIMALLOCTHRESHOLD__SHIFT	0
A5XX_HLSQ_CONTROL_1_REG_PRIMALLOCTHRESHOLD(uint32_t val)4650a26ae754SRob Clark static inline uint32_t A5XX_HLSQ_CONTROL_1_REG_PRIMALLOCTHRESHOLD(uint32_t val)
4651a26ae754SRob Clark {
4652a26ae754SRob Clark 	return ((val) << A5XX_HLSQ_CONTROL_1_REG_PRIMALLOCTHRESHOLD__SHIFT) & A5XX_HLSQ_CONTROL_1_REG_PRIMALLOCTHRESHOLD__MASK;
4653a26ae754SRob Clark }
4654a26ae754SRob Clark 
4655a26ae754SRob Clark #define REG_A5XX_HLSQ_CONTROL_2_REG				0x0000e786
4656a26ae754SRob Clark #define A5XX_HLSQ_CONTROL_2_REG_FACEREGID__MASK			0x000000ff
4657a26ae754SRob Clark #define A5XX_HLSQ_CONTROL_2_REG_FACEREGID__SHIFT		0
A5XX_HLSQ_CONTROL_2_REG_FACEREGID(uint32_t val)4658a26ae754SRob Clark static inline uint32_t A5XX_HLSQ_CONTROL_2_REG_FACEREGID(uint32_t val)
4659a26ae754SRob Clark {
4660a26ae754SRob Clark 	return ((val) << A5XX_HLSQ_CONTROL_2_REG_FACEREGID__SHIFT) & A5XX_HLSQ_CONTROL_2_REG_FACEREGID__MASK;
4661a26ae754SRob Clark }
46622d756322SRob Clark #define A5XX_HLSQ_CONTROL_2_REG_SAMPLEID__MASK			0x0000ff00
46632d756322SRob Clark #define A5XX_HLSQ_CONTROL_2_REG_SAMPLEID__SHIFT			8
A5XX_HLSQ_CONTROL_2_REG_SAMPLEID(uint32_t val)46642d756322SRob Clark static inline uint32_t A5XX_HLSQ_CONTROL_2_REG_SAMPLEID(uint32_t val)
46652d756322SRob Clark {
46662d756322SRob Clark 	return ((val) << A5XX_HLSQ_CONTROL_2_REG_SAMPLEID__SHIFT) & A5XX_HLSQ_CONTROL_2_REG_SAMPLEID__MASK;
46672d756322SRob Clark }
46682d756322SRob Clark #define A5XX_HLSQ_CONTROL_2_REG_SAMPLEMASK__MASK		0x00ff0000
46692d756322SRob Clark #define A5XX_HLSQ_CONTROL_2_REG_SAMPLEMASK__SHIFT		16
A5XX_HLSQ_CONTROL_2_REG_SAMPLEMASK(uint32_t val)46702d756322SRob Clark static inline uint32_t A5XX_HLSQ_CONTROL_2_REG_SAMPLEMASK(uint32_t val)
46712d756322SRob Clark {
46722d756322SRob Clark 	return ((val) << A5XX_HLSQ_CONTROL_2_REG_SAMPLEMASK__SHIFT) & A5XX_HLSQ_CONTROL_2_REG_SAMPLEMASK__MASK;
46732d756322SRob Clark }
4674*f73343faSRob Clark #define A5XX_HLSQ_CONTROL_2_REG_CENTERRHW__MASK			0xff000000
4675*f73343faSRob Clark #define A5XX_HLSQ_CONTROL_2_REG_CENTERRHW__SHIFT		24
A5XX_HLSQ_CONTROL_2_REG_CENTERRHW(uint32_t val)4676*f73343faSRob Clark static inline uint32_t A5XX_HLSQ_CONTROL_2_REG_CENTERRHW(uint32_t val)
4677c28c82e9SRob Clark {
4678*f73343faSRob Clark 	return ((val) << A5XX_HLSQ_CONTROL_2_REG_CENTERRHW__SHIFT) & A5XX_HLSQ_CONTROL_2_REG_CENTERRHW__MASK;
4679c28c82e9SRob Clark }
4680a26ae754SRob Clark 
4681a26ae754SRob Clark #define REG_A5XX_HLSQ_CONTROL_3_REG				0x0000e787
4682c28c82e9SRob Clark #define A5XX_HLSQ_CONTROL_3_REG_IJ_PERSP_PIXEL__MASK		0x000000ff
4683c28c82e9SRob Clark #define A5XX_HLSQ_CONTROL_3_REG_IJ_PERSP_PIXEL__SHIFT		0
A5XX_HLSQ_CONTROL_3_REG_IJ_PERSP_PIXEL(uint32_t val)4684c28c82e9SRob Clark static inline uint32_t A5XX_HLSQ_CONTROL_3_REG_IJ_PERSP_PIXEL(uint32_t val)
4685a26ae754SRob Clark {
4686c28c82e9SRob Clark 	return ((val) << A5XX_HLSQ_CONTROL_3_REG_IJ_PERSP_PIXEL__SHIFT) & A5XX_HLSQ_CONTROL_3_REG_IJ_PERSP_PIXEL__MASK;
4687c28c82e9SRob Clark }
4688c28c82e9SRob Clark #define A5XX_HLSQ_CONTROL_3_REG_IJ_LINEAR_PIXEL__MASK		0x0000ff00
4689c28c82e9SRob Clark #define A5XX_HLSQ_CONTROL_3_REG_IJ_LINEAR_PIXEL__SHIFT		8
A5XX_HLSQ_CONTROL_3_REG_IJ_LINEAR_PIXEL(uint32_t val)4690c28c82e9SRob Clark static inline uint32_t A5XX_HLSQ_CONTROL_3_REG_IJ_LINEAR_PIXEL(uint32_t val)
4691c28c82e9SRob Clark {
4692c28c82e9SRob Clark 	return ((val) << A5XX_HLSQ_CONTROL_3_REG_IJ_LINEAR_PIXEL__SHIFT) & A5XX_HLSQ_CONTROL_3_REG_IJ_LINEAR_PIXEL__MASK;
4693c28c82e9SRob Clark }
4694c28c82e9SRob Clark #define A5XX_HLSQ_CONTROL_3_REG_IJ_PERSP_CENTROID__MASK		0x00ff0000
4695c28c82e9SRob Clark #define A5XX_HLSQ_CONTROL_3_REG_IJ_PERSP_CENTROID__SHIFT	16
A5XX_HLSQ_CONTROL_3_REG_IJ_PERSP_CENTROID(uint32_t val)4696c28c82e9SRob Clark static inline uint32_t A5XX_HLSQ_CONTROL_3_REG_IJ_PERSP_CENTROID(uint32_t val)
4697c28c82e9SRob Clark {
4698c28c82e9SRob Clark 	return ((val) << A5XX_HLSQ_CONTROL_3_REG_IJ_PERSP_CENTROID__SHIFT) & A5XX_HLSQ_CONTROL_3_REG_IJ_PERSP_CENTROID__MASK;
4699c28c82e9SRob Clark }
4700c28c82e9SRob Clark #define A5XX_HLSQ_CONTROL_3_REG_IJ_LINEAR_CENTROID__MASK	0xff000000
4701c28c82e9SRob Clark #define A5XX_HLSQ_CONTROL_3_REG_IJ_LINEAR_CENTROID__SHIFT	24
A5XX_HLSQ_CONTROL_3_REG_IJ_LINEAR_CENTROID(uint32_t val)4702c28c82e9SRob Clark static inline uint32_t A5XX_HLSQ_CONTROL_3_REG_IJ_LINEAR_CENTROID(uint32_t val)
4703c28c82e9SRob Clark {
4704c28c82e9SRob Clark 	return ((val) << A5XX_HLSQ_CONTROL_3_REG_IJ_LINEAR_CENTROID__SHIFT) & A5XX_HLSQ_CONTROL_3_REG_IJ_LINEAR_CENTROID__MASK;
4705a26ae754SRob Clark }
4706a26ae754SRob Clark 
4707a26ae754SRob Clark #define REG_A5XX_HLSQ_CONTROL_4_REG				0x0000e788
4708c28c82e9SRob Clark #define A5XX_HLSQ_CONTROL_4_REG_IJ_PERSP_SAMPLE__MASK		0x000000ff
4709c28c82e9SRob Clark #define A5XX_HLSQ_CONTROL_4_REG_IJ_PERSP_SAMPLE__SHIFT		0
A5XX_HLSQ_CONTROL_4_REG_IJ_PERSP_SAMPLE(uint32_t val)4710c28c82e9SRob Clark static inline uint32_t A5XX_HLSQ_CONTROL_4_REG_IJ_PERSP_SAMPLE(uint32_t val)
4711c28c82e9SRob Clark {
4712c28c82e9SRob Clark 	return ((val) << A5XX_HLSQ_CONTROL_4_REG_IJ_PERSP_SAMPLE__SHIFT) & A5XX_HLSQ_CONTROL_4_REG_IJ_PERSP_SAMPLE__MASK;
4713c28c82e9SRob Clark }
4714c28c82e9SRob Clark #define A5XX_HLSQ_CONTROL_4_REG_IJ_LINEAR_SAMPLE__MASK		0x0000ff00
4715c28c82e9SRob Clark #define A5XX_HLSQ_CONTROL_4_REG_IJ_LINEAR_SAMPLE__SHIFT		8
A5XX_HLSQ_CONTROL_4_REG_IJ_LINEAR_SAMPLE(uint32_t val)4716c28c82e9SRob Clark static inline uint32_t A5XX_HLSQ_CONTROL_4_REG_IJ_LINEAR_SAMPLE(uint32_t val)
4717c28c82e9SRob Clark {
4718c28c82e9SRob Clark 	return ((val) << A5XX_HLSQ_CONTROL_4_REG_IJ_LINEAR_SAMPLE__SHIFT) & A5XX_HLSQ_CONTROL_4_REG_IJ_LINEAR_SAMPLE__MASK;
4719c28c82e9SRob Clark }
4720a26ae754SRob Clark #define A5XX_HLSQ_CONTROL_4_REG_XYCOORDREGID__MASK		0x00ff0000
4721a26ae754SRob Clark #define A5XX_HLSQ_CONTROL_4_REG_XYCOORDREGID__SHIFT		16
A5XX_HLSQ_CONTROL_4_REG_XYCOORDREGID(uint32_t val)4722a26ae754SRob Clark static inline uint32_t A5XX_HLSQ_CONTROL_4_REG_XYCOORDREGID(uint32_t val)
4723a26ae754SRob Clark {
4724a26ae754SRob Clark 	return ((val) << A5XX_HLSQ_CONTROL_4_REG_XYCOORDREGID__SHIFT) & A5XX_HLSQ_CONTROL_4_REG_XYCOORDREGID__MASK;
4725a26ae754SRob Clark }
4726a26ae754SRob Clark #define A5XX_HLSQ_CONTROL_4_REG_ZWCOORDREGID__MASK		0xff000000
4727a26ae754SRob Clark #define A5XX_HLSQ_CONTROL_4_REG_ZWCOORDREGID__SHIFT		24
A5XX_HLSQ_CONTROL_4_REG_ZWCOORDREGID(uint32_t val)4728a26ae754SRob Clark static inline uint32_t A5XX_HLSQ_CONTROL_4_REG_ZWCOORDREGID(uint32_t val)
4729a26ae754SRob Clark {
4730a26ae754SRob Clark 	return ((val) << A5XX_HLSQ_CONTROL_4_REG_ZWCOORDREGID__SHIFT) & A5XX_HLSQ_CONTROL_4_REG_ZWCOORDREGID__MASK;
4731a26ae754SRob Clark }
4732a26ae754SRob Clark 
4733a26ae754SRob Clark #define REG_A5XX_HLSQ_UPDATE_CNTL				0x0000e78a
4734a26ae754SRob Clark 
473552260ae4SRob Clark #define REG_A5XX_HLSQ_VS_CONFIG					0x0000e78b
473652260ae4SRob Clark #define A5XX_HLSQ_VS_CONFIG_ENABLED				0x00000001
473752260ae4SRob Clark #define A5XX_HLSQ_VS_CONFIG_CONSTOBJECTOFFSET__MASK		0x000000fe
473852260ae4SRob Clark #define A5XX_HLSQ_VS_CONFIG_CONSTOBJECTOFFSET__SHIFT		1
A5XX_HLSQ_VS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)473952260ae4SRob Clark static inline uint32_t A5XX_HLSQ_VS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)
4740a26ae754SRob Clark {
474152260ae4SRob Clark 	return ((val) << A5XX_HLSQ_VS_CONFIG_CONSTOBJECTOFFSET__SHIFT) & A5XX_HLSQ_VS_CONFIG_CONSTOBJECTOFFSET__MASK;
4742a26ae754SRob Clark }
474352260ae4SRob Clark #define A5XX_HLSQ_VS_CONFIG_SHADEROBJOFFSET__MASK		0x00007f00
474452260ae4SRob Clark #define A5XX_HLSQ_VS_CONFIG_SHADEROBJOFFSET__SHIFT		8
A5XX_HLSQ_VS_CONFIG_SHADEROBJOFFSET(uint32_t val)474552260ae4SRob Clark static inline uint32_t A5XX_HLSQ_VS_CONFIG_SHADEROBJOFFSET(uint32_t val)
4746a26ae754SRob Clark {
474752260ae4SRob Clark 	return ((val) << A5XX_HLSQ_VS_CONFIG_SHADEROBJOFFSET__SHIFT) & A5XX_HLSQ_VS_CONFIG_SHADEROBJOFFSET__MASK;
4748a26ae754SRob Clark }
4749a26ae754SRob Clark 
475052260ae4SRob Clark #define REG_A5XX_HLSQ_FS_CONFIG					0x0000e78c
475152260ae4SRob Clark #define A5XX_HLSQ_FS_CONFIG_ENABLED				0x00000001
475252260ae4SRob Clark #define A5XX_HLSQ_FS_CONFIG_CONSTOBJECTOFFSET__MASK		0x000000fe
475352260ae4SRob Clark #define A5XX_HLSQ_FS_CONFIG_CONSTOBJECTOFFSET__SHIFT		1
A5XX_HLSQ_FS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)475452260ae4SRob Clark static inline uint32_t A5XX_HLSQ_FS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)
4755a26ae754SRob Clark {
475652260ae4SRob Clark 	return ((val) << A5XX_HLSQ_FS_CONFIG_CONSTOBJECTOFFSET__SHIFT) & A5XX_HLSQ_FS_CONFIG_CONSTOBJECTOFFSET__MASK;
4757a26ae754SRob Clark }
475852260ae4SRob Clark #define A5XX_HLSQ_FS_CONFIG_SHADEROBJOFFSET__MASK		0x00007f00
475952260ae4SRob Clark #define A5XX_HLSQ_FS_CONFIG_SHADEROBJOFFSET__SHIFT		8
A5XX_HLSQ_FS_CONFIG_SHADEROBJOFFSET(uint32_t val)476052260ae4SRob Clark static inline uint32_t A5XX_HLSQ_FS_CONFIG_SHADEROBJOFFSET(uint32_t val)
4761a26ae754SRob Clark {
476252260ae4SRob Clark 	return ((val) << A5XX_HLSQ_FS_CONFIG_SHADEROBJOFFSET__SHIFT) & A5XX_HLSQ_FS_CONFIG_SHADEROBJOFFSET__MASK;
4763a26ae754SRob Clark }
4764a26ae754SRob Clark 
476552260ae4SRob Clark #define REG_A5XX_HLSQ_HS_CONFIG					0x0000e78d
476652260ae4SRob Clark #define A5XX_HLSQ_HS_CONFIG_ENABLED				0x00000001
476752260ae4SRob Clark #define A5XX_HLSQ_HS_CONFIG_CONSTOBJECTOFFSET__MASK		0x000000fe
476852260ae4SRob Clark #define A5XX_HLSQ_HS_CONFIG_CONSTOBJECTOFFSET__SHIFT		1
A5XX_HLSQ_HS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)476952260ae4SRob Clark static inline uint32_t A5XX_HLSQ_HS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)
4770a26ae754SRob Clark {
477152260ae4SRob Clark 	return ((val) << A5XX_HLSQ_HS_CONFIG_CONSTOBJECTOFFSET__SHIFT) & A5XX_HLSQ_HS_CONFIG_CONSTOBJECTOFFSET__MASK;
4772a26ae754SRob Clark }
477352260ae4SRob Clark #define A5XX_HLSQ_HS_CONFIG_SHADEROBJOFFSET__MASK		0x00007f00
477452260ae4SRob Clark #define A5XX_HLSQ_HS_CONFIG_SHADEROBJOFFSET__SHIFT		8
A5XX_HLSQ_HS_CONFIG_SHADEROBJOFFSET(uint32_t val)477552260ae4SRob Clark static inline uint32_t A5XX_HLSQ_HS_CONFIG_SHADEROBJOFFSET(uint32_t val)
4776a26ae754SRob Clark {
477752260ae4SRob Clark 	return ((val) << A5XX_HLSQ_HS_CONFIG_SHADEROBJOFFSET__SHIFT) & A5XX_HLSQ_HS_CONFIG_SHADEROBJOFFSET__MASK;
4778a26ae754SRob Clark }
4779a26ae754SRob Clark 
478052260ae4SRob Clark #define REG_A5XX_HLSQ_DS_CONFIG					0x0000e78e
478152260ae4SRob Clark #define A5XX_HLSQ_DS_CONFIG_ENABLED				0x00000001
478252260ae4SRob Clark #define A5XX_HLSQ_DS_CONFIG_CONSTOBJECTOFFSET__MASK		0x000000fe
478352260ae4SRob Clark #define A5XX_HLSQ_DS_CONFIG_CONSTOBJECTOFFSET__SHIFT		1
A5XX_HLSQ_DS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)478452260ae4SRob Clark static inline uint32_t A5XX_HLSQ_DS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)
4785a26ae754SRob Clark {
478652260ae4SRob Clark 	return ((val) << A5XX_HLSQ_DS_CONFIG_CONSTOBJECTOFFSET__SHIFT) & A5XX_HLSQ_DS_CONFIG_CONSTOBJECTOFFSET__MASK;
4787a26ae754SRob Clark }
478852260ae4SRob Clark #define A5XX_HLSQ_DS_CONFIG_SHADEROBJOFFSET__MASK		0x00007f00
478952260ae4SRob Clark #define A5XX_HLSQ_DS_CONFIG_SHADEROBJOFFSET__SHIFT		8
A5XX_HLSQ_DS_CONFIG_SHADEROBJOFFSET(uint32_t val)479052260ae4SRob Clark static inline uint32_t A5XX_HLSQ_DS_CONFIG_SHADEROBJOFFSET(uint32_t val)
4791a26ae754SRob Clark {
479252260ae4SRob Clark 	return ((val) << A5XX_HLSQ_DS_CONFIG_SHADEROBJOFFSET__SHIFT) & A5XX_HLSQ_DS_CONFIG_SHADEROBJOFFSET__MASK;
4793a26ae754SRob Clark }
4794a26ae754SRob Clark 
479552260ae4SRob Clark #define REG_A5XX_HLSQ_GS_CONFIG					0x0000e78f
479652260ae4SRob Clark #define A5XX_HLSQ_GS_CONFIG_ENABLED				0x00000001
479752260ae4SRob Clark #define A5XX_HLSQ_GS_CONFIG_CONSTOBJECTOFFSET__MASK		0x000000fe
479852260ae4SRob Clark #define A5XX_HLSQ_GS_CONFIG_CONSTOBJECTOFFSET__SHIFT		1
A5XX_HLSQ_GS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)479952260ae4SRob Clark static inline uint32_t A5XX_HLSQ_GS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)
4800a26ae754SRob Clark {
480152260ae4SRob Clark 	return ((val) << A5XX_HLSQ_GS_CONFIG_CONSTOBJECTOFFSET__SHIFT) & A5XX_HLSQ_GS_CONFIG_CONSTOBJECTOFFSET__MASK;
4802a26ae754SRob Clark }
480352260ae4SRob Clark #define A5XX_HLSQ_GS_CONFIG_SHADEROBJOFFSET__MASK		0x00007f00
480452260ae4SRob Clark #define A5XX_HLSQ_GS_CONFIG_SHADEROBJOFFSET__SHIFT		8
A5XX_HLSQ_GS_CONFIG_SHADEROBJOFFSET(uint32_t val)480552260ae4SRob Clark static inline uint32_t A5XX_HLSQ_GS_CONFIG_SHADEROBJOFFSET(uint32_t val)
4806a26ae754SRob Clark {
480752260ae4SRob Clark 	return ((val) << A5XX_HLSQ_GS_CONFIG_SHADEROBJOFFSET__SHIFT) & A5XX_HLSQ_GS_CONFIG_SHADEROBJOFFSET__MASK;
4808a26ae754SRob Clark }
4809a26ae754SRob Clark 
4810a26ae754SRob Clark #define REG_A5XX_HLSQ_CS_CONFIG					0x0000e790
481152260ae4SRob Clark #define A5XX_HLSQ_CS_CONFIG_ENABLED				0x00000001
481252260ae4SRob Clark #define A5XX_HLSQ_CS_CONFIG_CONSTOBJECTOFFSET__MASK		0x000000fe
481352260ae4SRob Clark #define A5XX_HLSQ_CS_CONFIG_CONSTOBJECTOFFSET__SHIFT		1
A5XX_HLSQ_CS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)481452260ae4SRob Clark static inline uint32_t A5XX_HLSQ_CS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)
481552260ae4SRob Clark {
481652260ae4SRob Clark 	return ((val) << A5XX_HLSQ_CS_CONFIG_CONSTOBJECTOFFSET__SHIFT) & A5XX_HLSQ_CS_CONFIG_CONSTOBJECTOFFSET__MASK;
481752260ae4SRob Clark }
481852260ae4SRob Clark #define A5XX_HLSQ_CS_CONFIG_SHADEROBJOFFSET__MASK		0x00007f00
481952260ae4SRob Clark #define A5XX_HLSQ_CS_CONFIG_SHADEROBJOFFSET__SHIFT		8
A5XX_HLSQ_CS_CONFIG_SHADEROBJOFFSET(uint32_t val)482052260ae4SRob Clark static inline uint32_t A5XX_HLSQ_CS_CONFIG_SHADEROBJOFFSET(uint32_t val)
482152260ae4SRob Clark {
482252260ae4SRob Clark 	return ((val) << A5XX_HLSQ_CS_CONFIG_SHADEROBJOFFSET__SHIFT) & A5XX_HLSQ_CS_CONFIG_SHADEROBJOFFSET__MASK;
482352260ae4SRob Clark }
4824a26ae754SRob Clark 
4825a26ae754SRob Clark #define REG_A5XX_HLSQ_VS_CNTL					0x0000e791
482652260ae4SRob Clark #define A5XX_HLSQ_VS_CNTL_SSBO_ENABLE				0x00000001
4827a26ae754SRob Clark #define A5XX_HLSQ_VS_CNTL_INSTRLEN__MASK			0xfffffffe
4828a26ae754SRob Clark #define A5XX_HLSQ_VS_CNTL_INSTRLEN__SHIFT			1
A5XX_HLSQ_VS_CNTL_INSTRLEN(uint32_t val)4829a26ae754SRob Clark static inline uint32_t A5XX_HLSQ_VS_CNTL_INSTRLEN(uint32_t val)
4830a26ae754SRob Clark {
4831a26ae754SRob Clark 	return ((val) << A5XX_HLSQ_VS_CNTL_INSTRLEN__SHIFT) & A5XX_HLSQ_VS_CNTL_INSTRLEN__MASK;
4832a26ae754SRob Clark }
4833a26ae754SRob Clark 
4834a26ae754SRob Clark #define REG_A5XX_HLSQ_FS_CNTL					0x0000e792
483552260ae4SRob Clark #define A5XX_HLSQ_FS_CNTL_SSBO_ENABLE				0x00000001
4836a26ae754SRob Clark #define A5XX_HLSQ_FS_CNTL_INSTRLEN__MASK			0xfffffffe
4837a26ae754SRob Clark #define A5XX_HLSQ_FS_CNTL_INSTRLEN__SHIFT			1
A5XX_HLSQ_FS_CNTL_INSTRLEN(uint32_t val)4838a26ae754SRob Clark static inline uint32_t A5XX_HLSQ_FS_CNTL_INSTRLEN(uint32_t val)
4839a26ae754SRob Clark {
4840a26ae754SRob Clark 	return ((val) << A5XX_HLSQ_FS_CNTL_INSTRLEN__SHIFT) & A5XX_HLSQ_FS_CNTL_INSTRLEN__MASK;
4841a26ae754SRob Clark }
4842a26ae754SRob Clark 
4843a26ae754SRob Clark #define REG_A5XX_HLSQ_HS_CNTL					0x0000e793
484452260ae4SRob Clark #define A5XX_HLSQ_HS_CNTL_SSBO_ENABLE				0x00000001
4845a26ae754SRob Clark #define A5XX_HLSQ_HS_CNTL_INSTRLEN__MASK			0xfffffffe
4846a26ae754SRob Clark #define A5XX_HLSQ_HS_CNTL_INSTRLEN__SHIFT			1
A5XX_HLSQ_HS_CNTL_INSTRLEN(uint32_t val)4847a26ae754SRob Clark static inline uint32_t A5XX_HLSQ_HS_CNTL_INSTRLEN(uint32_t val)
4848a26ae754SRob Clark {
4849a26ae754SRob Clark 	return ((val) << A5XX_HLSQ_HS_CNTL_INSTRLEN__SHIFT) & A5XX_HLSQ_HS_CNTL_INSTRLEN__MASK;
4850a26ae754SRob Clark }
4851a26ae754SRob Clark 
4852a26ae754SRob Clark #define REG_A5XX_HLSQ_DS_CNTL					0x0000e794
485352260ae4SRob Clark #define A5XX_HLSQ_DS_CNTL_SSBO_ENABLE				0x00000001
4854a26ae754SRob Clark #define A5XX_HLSQ_DS_CNTL_INSTRLEN__MASK			0xfffffffe
4855a26ae754SRob Clark #define A5XX_HLSQ_DS_CNTL_INSTRLEN__SHIFT			1
A5XX_HLSQ_DS_CNTL_INSTRLEN(uint32_t val)4856a26ae754SRob Clark static inline uint32_t A5XX_HLSQ_DS_CNTL_INSTRLEN(uint32_t val)
4857a26ae754SRob Clark {
4858a26ae754SRob Clark 	return ((val) << A5XX_HLSQ_DS_CNTL_INSTRLEN__SHIFT) & A5XX_HLSQ_DS_CNTL_INSTRLEN__MASK;
4859a26ae754SRob Clark }
4860a26ae754SRob Clark 
4861a26ae754SRob Clark #define REG_A5XX_HLSQ_GS_CNTL					0x0000e795
486252260ae4SRob Clark #define A5XX_HLSQ_GS_CNTL_SSBO_ENABLE				0x00000001
4863a26ae754SRob Clark #define A5XX_HLSQ_GS_CNTL_INSTRLEN__MASK			0xfffffffe
4864a26ae754SRob Clark #define A5XX_HLSQ_GS_CNTL_INSTRLEN__SHIFT			1
A5XX_HLSQ_GS_CNTL_INSTRLEN(uint32_t val)4865a26ae754SRob Clark static inline uint32_t A5XX_HLSQ_GS_CNTL_INSTRLEN(uint32_t val)
4866a26ae754SRob Clark {
4867a26ae754SRob Clark 	return ((val) << A5XX_HLSQ_GS_CNTL_INSTRLEN__SHIFT) & A5XX_HLSQ_GS_CNTL_INSTRLEN__MASK;
4868a26ae754SRob Clark }
4869a26ae754SRob Clark 
4870a26ae754SRob Clark #define REG_A5XX_HLSQ_CS_CNTL					0x0000e796
487152260ae4SRob Clark #define A5XX_HLSQ_CS_CNTL_SSBO_ENABLE				0x00000001
4872a26ae754SRob Clark #define A5XX_HLSQ_CS_CNTL_INSTRLEN__MASK			0xfffffffe
4873a26ae754SRob Clark #define A5XX_HLSQ_CS_CNTL_INSTRLEN__SHIFT			1
A5XX_HLSQ_CS_CNTL_INSTRLEN(uint32_t val)4874a26ae754SRob Clark static inline uint32_t A5XX_HLSQ_CS_CNTL_INSTRLEN(uint32_t val)
4875a26ae754SRob Clark {
4876a26ae754SRob Clark 	return ((val) << A5XX_HLSQ_CS_CNTL_INSTRLEN__SHIFT) & A5XX_HLSQ_CS_CNTL_INSTRLEN__MASK;
4877a26ae754SRob Clark }
4878a26ae754SRob Clark 
4879a26ae754SRob Clark #define REG_A5XX_HLSQ_CS_KERNEL_GROUP_X				0x0000e7b9
4880a26ae754SRob Clark 
4881a26ae754SRob Clark #define REG_A5XX_HLSQ_CS_KERNEL_GROUP_Y				0x0000e7ba
4882a26ae754SRob Clark 
4883a26ae754SRob Clark #define REG_A5XX_HLSQ_CS_KERNEL_GROUP_Z				0x0000e7bb
4884a26ae754SRob Clark 
4885a26ae754SRob Clark #define REG_A5XX_HLSQ_CS_NDRANGE_0				0x0000e7b0
488652260ae4SRob Clark #define A5XX_HLSQ_CS_NDRANGE_0_KERNELDIM__MASK			0x00000003
488752260ae4SRob Clark #define A5XX_HLSQ_CS_NDRANGE_0_KERNELDIM__SHIFT			0
A5XX_HLSQ_CS_NDRANGE_0_KERNELDIM(uint32_t val)488852260ae4SRob Clark static inline uint32_t A5XX_HLSQ_CS_NDRANGE_0_KERNELDIM(uint32_t val)
488952260ae4SRob Clark {
489052260ae4SRob Clark 	return ((val) << A5XX_HLSQ_CS_NDRANGE_0_KERNELDIM__SHIFT) & A5XX_HLSQ_CS_NDRANGE_0_KERNELDIM__MASK;
489152260ae4SRob Clark }
489252260ae4SRob Clark #define A5XX_HLSQ_CS_NDRANGE_0_LOCALSIZEX__MASK			0x00000ffc
489352260ae4SRob Clark #define A5XX_HLSQ_CS_NDRANGE_0_LOCALSIZEX__SHIFT		2
A5XX_HLSQ_CS_NDRANGE_0_LOCALSIZEX(uint32_t val)489452260ae4SRob Clark static inline uint32_t A5XX_HLSQ_CS_NDRANGE_0_LOCALSIZEX(uint32_t val)
489552260ae4SRob Clark {
489652260ae4SRob Clark 	return ((val) << A5XX_HLSQ_CS_NDRANGE_0_LOCALSIZEX__SHIFT) & A5XX_HLSQ_CS_NDRANGE_0_LOCALSIZEX__MASK;
489752260ae4SRob Clark }
489852260ae4SRob Clark #define A5XX_HLSQ_CS_NDRANGE_0_LOCALSIZEY__MASK			0x003ff000
489952260ae4SRob Clark #define A5XX_HLSQ_CS_NDRANGE_0_LOCALSIZEY__SHIFT		12
A5XX_HLSQ_CS_NDRANGE_0_LOCALSIZEY(uint32_t val)490052260ae4SRob Clark static inline uint32_t A5XX_HLSQ_CS_NDRANGE_0_LOCALSIZEY(uint32_t val)
490152260ae4SRob Clark {
490252260ae4SRob Clark 	return ((val) << A5XX_HLSQ_CS_NDRANGE_0_LOCALSIZEY__SHIFT) & A5XX_HLSQ_CS_NDRANGE_0_LOCALSIZEY__MASK;
490352260ae4SRob Clark }
490452260ae4SRob Clark #define A5XX_HLSQ_CS_NDRANGE_0_LOCALSIZEZ__MASK			0xffc00000
490552260ae4SRob Clark #define A5XX_HLSQ_CS_NDRANGE_0_LOCALSIZEZ__SHIFT		22
A5XX_HLSQ_CS_NDRANGE_0_LOCALSIZEZ(uint32_t val)490652260ae4SRob Clark static inline uint32_t A5XX_HLSQ_CS_NDRANGE_0_LOCALSIZEZ(uint32_t val)
490752260ae4SRob Clark {
490852260ae4SRob Clark 	return ((val) << A5XX_HLSQ_CS_NDRANGE_0_LOCALSIZEZ__SHIFT) & A5XX_HLSQ_CS_NDRANGE_0_LOCALSIZEZ__MASK;
490952260ae4SRob Clark }
4910a26ae754SRob Clark 
4911a26ae754SRob Clark #define REG_A5XX_HLSQ_CS_NDRANGE_1				0x0000e7b1
49122d756322SRob Clark #define A5XX_HLSQ_CS_NDRANGE_1_GLOBALSIZE_X__MASK		0xffffffff
49132d756322SRob Clark #define A5XX_HLSQ_CS_NDRANGE_1_GLOBALSIZE_X__SHIFT		0
A5XX_HLSQ_CS_NDRANGE_1_GLOBALSIZE_X(uint32_t val)49142d756322SRob Clark static inline uint32_t A5XX_HLSQ_CS_NDRANGE_1_GLOBALSIZE_X(uint32_t val)
491552260ae4SRob Clark {
49162d756322SRob Clark 	return ((val) << A5XX_HLSQ_CS_NDRANGE_1_GLOBALSIZE_X__SHIFT) & A5XX_HLSQ_CS_NDRANGE_1_GLOBALSIZE_X__MASK;
491752260ae4SRob Clark }
4918a26ae754SRob Clark 
4919a26ae754SRob Clark #define REG_A5XX_HLSQ_CS_NDRANGE_2				0x0000e7b2
49202d756322SRob Clark #define A5XX_HLSQ_CS_NDRANGE_2_GLOBALOFF_X__MASK		0xffffffff
49212d756322SRob Clark #define A5XX_HLSQ_CS_NDRANGE_2_GLOBALOFF_X__SHIFT		0
A5XX_HLSQ_CS_NDRANGE_2_GLOBALOFF_X(uint32_t val)49222d756322SRob Clark static inline uint32_t A5XX_HLSQ_CS_NDRANGE_2_GLOBALOFF_X(uint32_t val)
49232d756322SRob Clark {
49242d756322SRob Clark 	return ((val) << A5XX_HLSQ_CS_NDRANGE_2_GLOBALOFF_X__SHIFT) & A5XX_HLSQ_CS_NDRANGE_2_GLOBALOFF_X__MASK;
49252d756322SRob Clark }
4926a26ae754SRob Clark 
4927a26ae754SRob Clark #define REG_A5XX_HLSQ_CS_NDRANGE_3				0x0000e7b3
49282d756322SRob Clark #define A5XX_HLSQ_CS_NDRANGE_3_GLOBALSIZE_Y__MASK		0xffffffff
49292d756322SRob Clark #define A5XX_HLSQ_CS_NDRANGE_3_GLOBALSIZE_Y__SHIFT		0
A5XX_HLSQ_CS_NDRANGE_3_GLOBALSIZE_Y(uint32_t val)49302d756322SRob Clark static inline uint32_t A5XX_HLSQ_CS_NDRANGE_3_GLOBALSIZE_Y(uint32_t val)
493152260ae4SRob Clark {
49322d756322SRob Clark 	return ((val) << A5XX_HLSQ_CS_NDRANGE_3_GLOBALSIZE_Y__SHIFT) & A5XX_HLSQ_CS_NDRANGE_3_GLOBALSIZE_Y__MASK;
493352260ae4SRob Clark }
4934a26ae754SRob Clark 
4935a26ae754SRob Clark #define REG_A5XX_HLSQ_CS_NDRANGE_4				0x0000e7b4
49362d756322SRob Clark #define A5XX_HLSQ_CS_NDRANGE_4_GLOBALOFF_Y__MASK		0xffffffff
49372d756322SRob Clark #define A5XX_HLSQ_CS_NDRANGE_4_GLOBALOFF_Y__SHIFT		0
A5XX_HLSQ_CS_NDRANGE_4_GLOBALOFF_Y(uint32_t val)49382d756322SRob Clark static inline uint32_t A5XX_HLSQ_CS_NDRANGE_4_GLOBALOFF_Y(uint32_t val)
49392d756322SRob Clark {
49402d756322SRob Clark 	return ((val) << A5XX_HLSQ_CS_NDRANGE_4_GLOBALOFF_Y__SHIFT) & A5XX_HLSQ_CS_NDRANGE_4_GLOBALOFF_Y__MASK;
49412d756322SRob Clark }
4942a26ae754SRob Clark 
4943a26ae754SRob Clark #define REG_A5XX_HLSQ_CS_NDRANGE_5				0x0000e7b5
49442d756322SRob Clark #define A5XX_HLSQ_CS_NDRANGE_5_GLOBALSIZE_Z__MASK		0xffffffff
49452d756322SRob Clark #define A5XX_HLSQ_CS_NDRANGE_5_GLOBALSIZE_Z__SHIFT		0
A5XX_HLSQ_CS_NDRANGE_5_GLOBALSIZE_Z(uint32_t val)49462d756322SRob Clark static inline uint32_t A5XX_HLSQ_CS_NDRANGE_5_GLOBALSIZE_Z(uint32_t val)
494752260ae4SRob Clark {
49482d756322SRob Clark 	return ((val) << A5XX_HLSQ_CS_NDRANGE_5_GLOBALSIZE_Z__SHIFT) & A5XX_HLSQ_CS_NDRANGE_5_GLOBALSIZE_Z__MASK;
494952260ae4SRob Clark }
4950a26ae754SRob Clark 
4951a26ae754SRob Clark #define REG_A5XX_HLSQ_CS_NDRANGE_6				0x0000e7b6
49522d756322SRob Clark #define A5XX_HLSQ_CS_NDRANGE_6_GLOBALOFF_Z__MASK		0xffffffff
49532d756322SRob Clark #define A5XX_HLSQ_CS_NDRANGE_6_GLOBALOFF_Z__SHIFT		0
A5XX_HLSQ_CS_NDRANGE_6_GLOBALOFF_Z(uint32_t val)49542d756322SRob Clark static inline uint32_t A5XX_HLSQ_CS_NDRANGE_6_GLOBALOFF_Z(uint32_t val)
49552d756322SRob Clark {
49562d756322SRob Clark 	return ((val) << A5XX_HLSQ_CS_NDRANGE_6_GLOBALOFF_Z__SHIFT) & A5XX_HLSQ_CS_NDRANGE_6_GLOBALOFF_Z__MASK;
49572d756322SRob Clark }
4958a26ae754SRob Clark 
4959a26ae754SRob Clark #define REG_A5XX_HLSQ_CS_CNTL_0					0x0000e7b7
496052260ae4SRob Clark #define A5XX_HLSQ_CS_CNTL_0_WGIDCONSTID__MASK			0x000000ff
496152260ae4SRob Clark #define A5XX_HLSQ_CS_CNTL_0_WGIDCONSTID__SHIFT			0
A5XX_HLSQ_CS_CNTL_0_WGIDCONSTID(uint32_t val)496252260ae4SRob Clark static inline uint32_t A5XX_HLSQ_CS_CNTL_0_WGIDCONSTID(uint32_t val)
496352260ae4SRob Clark {
496452260ae4SRob Clark 	return ((val) << A5XX_HLSQ_CS_CNTL_0_WGIDCONSTID__SHIFT) & A5XX_HLSQ_CS_CNTL_0_WGIDCONSTID__MASK;
496552260ae4SRob Clark }
496652260ae4SRob Clark #define A5XX_HLSQ_CS_CNTL_0_UNK0__MASK				0x0000ff00
496752260ae4SRob Clark #define A5XX_HLSQ_CS_CNTL_0_UNK0__SHIFT				8
A5XX_HLSQ_CS_CNTL_0_UNK0(uint32_t val)496852260ae4SRob Clark static inline uint32_t A5XX_HLSQ_CS_CNTL_0_UNK0(uint32_t val)
496952260ae4SRob Clark {
497052260ae4SRob Clark 	return ((val) << A5XX_HLSQ_CS_CNTL_0_UNK0__SHIFT) & A5XX_HLSQ_CS_CNTL_0_UNK0__MASK;
497152260ae4SRob Clark }
497252260ae4SRob Clark #define A5XX_HLSQ_CS_CNTL_0_UNK1__MASK				0x00ff0000
497352260ae4SRob Clark #define A5XX_HLSQ_CS_CNTL_0_UNK1__SHIFT				16
A5XX_HLSQ_CS_CNTL_0_UNK1(uint32_t val)497452260ae4SRob Clark static inline uint32_t A5XX_HLSQ_CS_CNTL_0_UNK1(uint32_t val)
497552260ae4SRob Clark {
497652260ae4SRob Clark 	return ((val) << A5XX_HLSQ_CS_CNTL_0_UNK1__SHIFT) & A5XX_HLSQ_CS_CNTL_0_UNK1__MASK;
497752260ae4SRob Clark }
497852260ae4SRob Clark #define A5XX_HLSQ_CS_CNTL_0_LOCALIDREGID__MASK			0xff000000
497952260ae4SRob Clark #define A5XX_HLSQ_CS_CNTL_0_LOCALIDREGID__SHIFT			24
A5XX_HLSQ_CS_CNTL_0_LOCALIDREGID(uint32_t val)498052260ae4SRob Clark static inline uint32_t A5XX_HLSQ_CS_CNTL_0_LOCALIDREGID(uint32_t val)
498152260ae4SRob Clark {
498252260ae4SRob Clark 	return ((val) << A5XX_HLSQ_CS_CNTL_0_LOCALIDREGID__SHIFT) & A5XX_HLSQ_CS_CNTL_0_LOCALIDREGID__MASK;
498352260ae4SRob Clark }
4984a26ae754SRob Clark 
4985a26ae754SRob Clark #define REG_A5XX_HLSQ_CS_CNTL_1					0x0000e7b8
4986a26ae754SRob Clark 
4987a26ae754SRob Clark #define REG_A5XX_UNKNOWN_E7C0					0x0000e7c0
4988a26ae754SRob Clark 
4989a26ae754SRob Clark #define REG_A5XX_HLSQ_VS_CONSTLEN				0x0000e7c3
4990a26ae754SRob Clark 
4991a26ae754SRob Clark #define REG_A5XX_HLSQ_VS_INSTRLEN				0x0000e7c4
4992a26ae754SRob Clark 
4993a26ae754SRob Clark #define REG_A5XX_UNKNOWN_E7C5					0x0000e7c5
4994a26ae754SRob Clark 
4995a26ae754SRob Clark #define REG_A5XX_HLSQ_HS_CONSTLEN				0x0000e7c8
4996a26ae754SRob Clark 
4997a26ae754SRob Clark #define REG_A5XX_HLSQ_HS_INSTRLEN				0x0000e7c9
4998a26ae754SRob Clark 
499952260ae4SRob Clark #define REG_A5XX_UNKNOWN_E7CA					0x0000e7ca
500052260ae4SRob Clark 
5001a26ae754SRob Clark #define REG_A5XX_HLSQ_DS_CONSTLEN				0x0000e7cd
5002a26ae754SRob Clark 
5003a26ae754SRob Clark #define REG_A5XX_HLSQ_DS_INSTRLEN				0x0000e7ce
5004a26ae754SRob Clark 
5005a26ae754SRob Clark #define REG_A5XX_UNKNOWN_E7CF					0x0000e7cf
5006a26ae754SRob Clark 
5007a26ae754SRob Clark #define REG_A5XX_HLSQ_GS_CONSTLEN				0x0000e7d2
5008a26ae754SRob Clark 
5009a26ae754SRob Clark #define REG_A5XX_HLSQ_GS_INSTRLEN				0x0000e7d3
5010a26ae754SRob Clark 
5011a26ae754SRob Clark #define REG_A5XX_UNKNOWN_E7D4					0x0000e7d4
5012a26ae754SRob Clark 
501352260ae4SRob Clark #define REG_A5XX_HLSQ_FS_CONSTLEN				0x0000e7d7
501452260ae4SRob Clark 
501552260ae4SRob Clark #define REG_A5XX_HLSQ_FS_INSTRLEN				0x0000e7d8
501652260ae4SRob Clark 
5017a26ae754SRob Clark #define REG_A5XX_UNKNOWN_E7D9					0x0000e7d9
5018a26ae754SRob Clark 
501952260ae4SRob Clark #define REG_A5XX_HLSQ_CS_CONSTLEN				0x0000e7dc
5020a26ae754SRob Clark 
502152260ae4SRob Clark #define REG_A5XX_HLSQ_CS_INSTRLEN				0x0000e7dd
5022a26ae754SRob Clark 
50232d756322SRob Clark #define REG_A5XX_RB_2D_BLIT_CNTL				0x00002100
50242d756322SRob Clark 
502552260ae4SRob Clark #define REG_A5XX_RB_2D_SRC_SOLID_DW0				0x00002101
502652260ae4SRob Clark 
502752260ae4SRob Clark #define REG_A5XX_RB_2D_SRC_SOLID_DW1				0x00002102
502852260ae4SRob Clark 
502952260ae4SRob Clark #define REG_A5XX_RB_2D_SRC_SOLID_DW2				0x00002103
503052260ae4SRob Clark 
503152260ae4SRob Clark #define REG_A5XX_RB_2D_SRC_SOLID_DW3				0x00002104
5032a26ae754SRob Clark 
5033a26ae754SRob Clark #define REG_A5XX_RB_2D_SRC_INFO					0x00002107
5034a26ae754SRob Clark #define A5XX_RB_2D_SRC_INFO_COLOR_FORMAT__MASK			0x000000ff
5035a26ae754SRob Clark #define A5XX_RB_2D_SRC_INFO_COLOR_FORMAT__SHIFT			0
A5XX_RB_2D_SRC_INFO_COLOR_FORMAT(enum a5xx_color_fmt val)5036a26ae754SRob Clark static inline uint32_t A5XX_RB_2D_SRC_INFO_COLOR_FORMAT(enum a5xx_color_fmt val)
5037a26ae754SRob Clark {
5038a26ae754SRob Clark 	return ((val) << A5XX_RB_2D_SRC_INFO_COLOR_FORMAT__SHIFT) & A5XX_RB_2D_SRC_INFO_COLOR_FORMAT__MASK;
5039a26ae754SRob Clark }
50402d756322SRob Clark #define A5XX_RB_2D_SRC_INFO_TILE_MODE__MASK			0x00000300
50412d756322SRob Clark #define A5XX_RB_2D_SRC_INFO_TILE_MODE__SHIFT			8
A5XX_RB_2D_SRC_INFO_TILE_MODE(enum a5xx_tile_mode val)50422d756322SRob Clark static inline uint32_t A5XX_RB_2D_SRC_INFO_TILE_MODE(enum a5xx_tile_mode val)
50432d756322SRob Clark {
50442d756322SRob Clark 	return ((val) << A5XX_RB_2D_SRC_INFO_TILE_MODE__SHIFT) & A5XX_RB_2D_SRC_INFO_TILE_MODE__MASK;
50452d756322SRob Clark }
5046a26ae754SRob Clark #define A5XX_RB_2D_SRC_INFO_COLOR_SWAP__MASK			0x00000c00
5047a26ae754SRob Clark #define A5XX_RB_2D_SRC_INFO_COLOR_SWAP__SHIFT			10
A5XX_RB_2D_SRC_INFO_COLOR_SWAP(enum a3xx_color_swap val)5048a26ae754SRob Clark static inline uint32_t A5XX_RB_2D_SRC_INFO_COLOR_SWAP(enum a3xx_color_swap val)
5049a26ae754SRob Clark {
5050a26ae754SRob Clark 	return ((val) << A5XX_RB_2D_SRC_INFO_COLOR_SWAP__SHIFT) & A5XX_RB_2D_SRC_INFO_COLOR_SWAP__MASK;
5051a26ae754SRob Clark }
50522d756322SRob Clark #define A5XX_RB_2D_SRC_INFO_FLAGS				0x00001000
505357cfe41cSRob Clark #define A5XX_RB_2D_SRC_INFO_SRGB				0x00002000
5054a26ae754SRob Clark 
5055a26ae754SRob Clark #define REG_A5XX_RB_2D_SRC_LO					0x00002108
5056a26ae754SRob Clark 
5057a26ae754SRob Clark #define REG_A5XX_RB_2D_SRC_HI					0x00002109
5058a26ae754SRob Clark 
505952260ae4SRob Clark #define REG_A5XX_RB_2D_SRC_SIZE					0x0000210a
506052260ae4SRob Clark #define A5XX_RB_2D_SRC_SIZE_PITCH__MASK				0x0000ffff
506152260ae4SRob Clark #define A5XX_RB_2D_SRC_SIZE_PITCH__SHIFT			0
A5XX_RB_2D_SRC_SIZE_PITCH(uint32_t val)506252260ae4SRob Clark static inline uint32_t A5XX_RB_2D_SRC_SIZE_PITCH(uint32_t val)
506352260ae4SRob Clark {
506452260ae4SRob Clark 	return ((val >> 6) << A5XX_RB_2D_SRC_SIZE_PITCH__SHIFT) & A5XX_RB_2D_SRC_SIZE_PITCH__MASK;
506552260ae4SRob Clark }
506652260ae4SRob Clark #define A5XX_RB_2D_SRC_SIZE_ARRAY_PITCH__MASK			0xffff0000
506752260ae4SRob Clark #define A5XX_RB_2D_SRC_SIZE_ARRAY_PITCH__SHIFT			16
A5XX_RB_2D_SRC_SIZE_ARRAY_PITCH(uint32_t val)506852260ae4SRob Clark static inline uint32_t A5XX_RB_2D_SRC_SIZE_ARRAY_PITCH(uint32_t val)
506952260ae4SRob Clark {
507052260ae4SRob Clark 	return ((val >> 6) << A5XX_RB_2D_SRC_SIZE_ARRAY_PITCH__SHIFT) & A5XX_RB_2D_SRC_SIZE_ARRAY_PITCH__MASK;
507152260ae4SRob Clark }
507252260ae4SRob Clark 
5073a26ae754SRob Clark #define REG_A5XX_RB_2D_DST_INFO					0x00002110
5074a26ae754SRob Clark #define A5XX_RB_2D_DST_INFO_COLOR_FORMAT__MASK			0x000000ff
5075a26ae754SRob Clark #define A5XX_RB_2D_DST_INFO_COLOR_FORMAT__SHIFT			0
A5XX_RB_2D_DST_INFO_COLOR_FORMAT(enum a5xx_color_fmt val)5076a26ae754SRob Clark static inline uint32_t A5XX_RB_2D_DST_INFO_COLOR_FORMAT(enum a5xx_color_fmt val)
5077a26ae754SRob Clark {
5078a26ae754SRob Clark 	return ((val) << A5XX_RB_2D_DST_INFO_COLOR_FORMAT__SHIFT) & A5XX_RB_2D_DST_INFO_COLOR_FORMAT__MASK;
5079a26ae754SRob Clark }
50802d756322SRob Clark #define A5XX_RB_2D_DST_INFO_TILE_MODE__MASK			0x00000300
50812d756322SRob Clark #define A5XX_RB_2D_DST_INFO_TILE_MODE__SHIFT			8
A5XX_RB_2D_DST_INFO_TILE_MODE(enum a5xx_tile_mode val)50822d756322SRob Clark static inline uint32_t A5XX_RB_2D_DST_INFO_TILE_MODE(enum a5xx_tile_mode val)
50832d756322SRob Clark {
50842d756322SRob Clark 	return ((val) << A5XX_RB_2D_DST_INFO_TILE_MODE__SHIFT) & A5XX_RB_2D_DST_INFO_TILE_MODE__MASK;
50852d756322SRob Clark }
5086a26ae754SRob Clark #define A5XX_RB_2D_DST_INFO_COLOR_SWAP__MASK			0x00000c00
5087a26ae754SRob Clark #define A5XX_RB_2D_DST_INFO_COLOR_SWAP__SHIFT			10
A5XX_RB_2D_DST_INFO_COLOR_SWAP(enum a3xx_color_swap val)5088a26ae754SRob Clark static inline uint32_t A5XX_RB_2D_DST_INFO_COLOR_SWAP(enum a3xx_color_swap val)
5089a26ae754SRob Clark {
5090a26ae754SRob Clark 	return ((val) << A5XX_RB_2D_DST_INFO_COLOR_SWAP__SHIFT) & A5XX_RB_2D_DST_INFO_COLOR_SWAP__MASK;
5091a26ae754SRob Clark }
50922d756322SRob Clark #define A5XX_RB_2D_DST_INFO_FLAGS				0x00001000
509357cfe41cSRob Clark #define A5XX_RB_2D_DST_INFO_SRGB				0x00002000
5094a26ae754SRob Clark 
5095a26ae754SRob Clark #define REG_A5XX_RB_2D_DST_LO					0x00002111
5096a26ae754SRob Clark 
5097a26ae754SRob Clark #define REG_A5XX_RB_2D_DST_HI					0x00002112
5098a26ae754SRob Clark 
509952260ae4SRob Clark #define REG_A5XX_RB_2D_DST_SIZE					0x00002113
510052260ae4SRob Clark #define A5XX_RB_2D_DST_SIZE_PITCH__MASK				0x0000ffff
510152260ae4SRob Clark #define A5XX_RB_2D_DST_SIZE_PITCH__SHIFT			0
A5XX_RB_2D_DST_SIZE_PITCH(uint32_t val)510252260ae4SRob Clark static inline uint32_t A5XX_RB_2D_DST_SIZE_PITCH(uint32_t val)
510352260ae4SRob Clark {
510452260ae4SRob Clark 	return ((val >> 6) << A5XX_RB_2D_DST_SIZE_PITCH__SHIFT) & A5XX_RB_2D_DST_SIZE_PITCH__MASK;
510552260ae4SRob Clark }
510652260ae4SRob Clark #define A5XX_RB_2D_DST_SIZE_ARRAY_PITCH__MASK			0xffff0000
510752260ae4SRob Clark #define A5XX_RB_2D_DST_SIZE_ARRAY_PITCH__SHIFT			16
A5XX_RB_2D_DST_SIZE_ARRAY_PITCH(uint32_t val)510852260ae4SRob Clark static inline uint32_t A5XX_RB_2D_DST_SIZE_ARRAY_PITCH(uint32_t val)
510952260ae4SRob Clark {
511052260ae4SRob Clark 	return ((val >> 6) << A5XX_RB_2D_DST_SIZE_ARRAY_PITCH__SHIFT) & A5XX_RB_2D_DST_SIZE_ARRAY_PITCH__MASK;
511152260ae4SRob Clark }
511252260ae4SRob Clark 
511352260ae4SRob Clark #define REG_A5XX_RB_2D_SRC_FLAGS_LO				0x00002140
511452260ae4SRob Clark 
511552260ae4SRob Clark #define REG_A5XX_RB_2D_SRC_FLAGS_HI				0x00002141
511652260ae4SRob Clark 
5117c28c82e9SRob Clark #define REG_A5XX_RB_2D_SRC_FLAGS_PITCH				0x00002142
5118c28c82e9SRob Clark #define A5XX_RB_2D_SRC_FLAGS_PITCH__MASK			0xffffffff
5119c28c82e9SRob Clark #define A5XX_RB_2D_SRC_FLAGS_PITCH__SHIFT			0
A5XX_RB_2D_SRC_FLAGS_PITCH(uint32_t val)5120c28c82e9SRob Clark static inline uint32_t A5XX_RB_2D_SRC_FLAGS_PITCH(uint32_t val)
5121c28c82e9SRob Clark {
5122c28c82e9SRob Clark 	return ((val >> 6) << A5XX_RB_2D_SRC_FLAGS_PITCH__SHIFT) & A5XX_RB_2D_SRC_FLAGS_PITCH__MASK;
5123c28c82e9SRob Clark }
5124c28c82e9SRob Clark 
5125a26ae754SRob Clark #define REG_A5XX_RB_2D_DST_FLAGS_LO				0x00002143
5126a26ae754SRob Clark 
5127a26ae754SRob Clark #define REG_A5XX_RB_2D_DST_FLAGS_HI				0x00002144
5128a26ae754SRob Clark 
5129c28c82e9SRob Clark #define REG_A5XX_RB_2D_DST_FLAGS_PITCH				0x00002145
5130c28c82e9SRob Clark #define A5XX_RB_2D_DST_FLAGS_PITCH__MASK			0xffffffff
5131c28c82e9SRob Clark #define A5XX_RB_2D_DST_FLAGS_PITCH__SHIFT			0
A5XX_RB_2D_DST_FLAGS_PITCH(uint32_t val)5132c28c82e9SRob Clark static inline uint32_t A5XX_RB_2D_DST_FLAGS_PITCH(uint32_t val)
5133c28c82e9SRob Clark {
5134c28c82e9SRob Clark 	return ((val >> 6) << A5XX_RB_2D_DST_FLAGS_PITCH__SHIFT) & A5XX_RB_2D_DST_FLAGS_PITCH__MASK;
5135c28c82e9SRob Clark }
5136c28c82e9SRob Clark 
51372d756322SRob Clark #define REG_A5XX_GRAS_2D_BLIT_CNTL				0x00002180
51382d756322SRob Clark 
5139a26ae754SRob Clark #define REG_A5XX_GRAS_2D_SRC_INFO				0x00002181
5140a26ae754SRob Clark #define A5XX_GRAS_2D_SRC_INFO_COLOR_FORMAT__MASK		0x000000ff
5141a26ae754SRob Clark #define A5XX_GRAS_2D_SRC_INFO_COLOR_FORMAT__SHIFT		0
A5XX_GRAS_2D_SRC_INFO_COLOR_FORMAT(enum a5xx_color_fmt val)5142a26ae754SRob Clark static inline uint32_t A5XX_GRAS_2D_SRC_INFO_COLOR_FORMAT(enum a5xx_color_fmt val)
5143a26ae754SRob Clark {
5144a26ae754SRob Clark 	return ((val) << A5XX_GRAS_2D_SRC_INFO_COLOR_FORMAT__SHIFT) & A5XX_GRAS_2D_SRC_INFO_COLOR_FORMAT__MASK;
5145a26ae754SRob Clark }
51462d756322SRob Clark #define A5XX_GRAS_2D_SRC_INFO_TILE_MODE__MASK			0x00000300
51472d756322SRob Clark #define A5XX_GRAS_2D_SRC_INFO_TILE_MODE__SHIFT			8
A5XX_GRAS_2D_SRC_INFO_TILE_MODE(enum a5xx_tile_mode val)51482d756322SRob Clark static inline uint32_t A5XX_GRAS_2D_SRC_INFO_TILE_MODE(enum a5xx_tile_mode val)
51492d756322SRob Clark {
51502d756322SRob Clark 	return ((val) << A5XX_GRAS_2D_SRC_INFO_TILE_MODE__SHIFT) & A5XX_GRAS_2D_SRC_INFO_TILE_MODE__MASK;
51512d756322SRob Clark }
5152a26ae754SRob Clark #define A5XX_GRAS_2D_SRC_INFO_COLOR_SWAP__MASK			0x00000c00
5153a26ae754SRob Clark #define A5XX_GRAS_2D_SRC_INFO_COLOR_SWAP__SHIFT			10
A5XX_GRAS_2D_SRC_INFO_COLOR_SWAP(enum a3xx_color_swap val)5154a26ae754SRob Clark static inline uint32_t A5XX_GRAS_2D_SRC_INFO_COLOR_SWAP(enum a3xx_color_swap val)
5155a26ae754SRob Clark {
5156a26ae754SRob Clark 	return ((val) << A5XX_GRAS_2D_SRC_INFO_COLOR_SWAP__SHIFT) & A5XX_GRAS_2D_SRC_INFO_COLOR_SWAP__MASK;
5157a26ae754SRob Clark }
51582d756322SRob Clark #define A5XX_GRAS_2D_SRC_INFO_FLAGS				0x00001000
515957cfe41cSRob Clark #define A5XX_GRAS_2D_SRC_INFO_SRGB				0x00002000
5160a26ae754SRob Clark 
5161a26ae754SRob Clark #define REG_A5XX_GRAS_2D_DST_INFO				0x00002182
5162a26ae754SRob Clark #define A5XX_GRAS_2D_DST_INFO_COLOR_FORMAT__MASK		0x000000ff
5163a26ae754SRob Clark #define A5XX_GRAS_2D_DST_INFO_COLOR_FORMAT__SHIFT		0
A5XX_GRAS_2D_DST_INFO_COLOR_FORMAT(enum a5xx_color_fmt val)5164a26ae754SRob Clark static inline uint32_t A5XX_GRAS_2D_DST_INFO_COLOR_FORMAT(enum a5xx_color_fmt val)
5165a26ae754SRob Clark {
5166a26ae754SRob Clark 	return ((val) << A5XX_GRAS_2D_DST_INFO_COLOR_FORMAT__SHIFT) & A5XX_GRAS_2D_DST_INFO_COLOR_FORMAT__MASK;
5167a26ae754SRob Clark }
51682d756322SRob Clark #define A5XX_GRAS_2D_DST_INFO_TILE_MODE__MASK			0x00000300
51692d756322SRob Clark #define A5XX_GRAS_2D_DST_INFO_TILE_MODE__SHIFT			8
A5XX_GRAS_2D_DST_INFO_TILE_MODE(enum a5xx_tile_mode val)51702d756322SRob Clark static inline uint32_t A5XX_GRAS_2D_DST_INFO_TILE_MODE(enum a5xx_tile_mode val)
51712d756322SRob Clark {
51722d756322SRob Clark 	return ((val) << A5XX_GRAS_2D_DST_INFO_TILE_MODE__SHIFT) & A5XX_GRAS_2D_DST_INFO_TILE_MODE__MASK;
51732d756322SRob Clark }
5174a26ae754SRob Clark #define A5XX_GRAS_2D_DST_INFO_COLOR_SWAP__MASK			0x00000c00
5175a26ae754SRob Clark #define A5XX_GRAS_2D_DST_INFO_COLOR_SWAP__SHIFT			10
A5XX_GRAS_2D_DST_INFO_COLOR_SWAP(enum a3xx_color_swap val)5176a26ae754SRob Clark static inline uint32_t A5XX_GRAS_2D_DST_INFO_COLOR_SWAP(enum a3xx_color_swap val)
5177a26ae754SRob Clark {
5178a26ae754SRob Clark 	return ((val) << A5XX_GRAS_2D_DST_INFO_COLOR_SWAP__SHIFT) & A5XX_GRAS_2D_DST_INFO_COLOR_SWAP__MASK;
5179a26ae754SRob Clark }
51802d756322SRob Clark #define A5XX_GRAS_2D_DST_INFO_FLAGS				0x00001000
518157cfe41cSRob Clark #define A5XX_GRAS_2D_DST_INFO_SRGB				0x00002000
518252260ae4SRob Clark 
518352260ae4SRob Clark #define REG_A5XX_UNKNOWN_2184					0x00002184
518452260ae4SRob Clark 
5185a26ae754SRob Clark #define REG_A5XX_TEX_SAMP_0					0x00000000
5186a26ae754SRob Clark #define A5XX_TEX_SAMP_0_MIPFILTER_LINEAR_NEAR			0x00000001
5187a26ae754SRob Clark #define A5XX_TEX_SAMP_0_XY_MAG__MASK				0x00000006
5188a26ae754SRob Clark #define A5XX_TEX_SAMP_0_XY_MAG__SHIFT				1
A5XX_TEX_SAMP_0_XY_MAG(enum a5xx_tex_filter val)5189a26ae754SRob Clark static inline uint32_t A5XX_TEX_SAMP_0_XY_MAG(enum a5xx_tex_filter val)
5190a26ae754SRob Clark {
5191a26ae754SRob Clark 	return ((val) << A5XX_TEX_SAMP_0_XY_MAG__SHIFT) & A5XX_TEX_SAMP_0_XY_MAG__MASK;
5192a26ae754SRob Clark }
5193a26ae754SRob Clark #define A5XX_TEX_SAMP_0_XY_MIN__MASK				0x00000018
5194a26ae754SRob Clark #define A5XX_TEX_SAMP_0_XY_MIN__SHIFT				3
A5XX_TEX_SAMP_0_XY_MIN(enum a5xx_tex_filter val)5195a26ae754SRob Clark static inline uint32_t A5XX_TEX_SAMP_0_XY_MIN(enum a5xx_tex_filter val)
5196a26ae754SRob Clark {
5197a26ae754SRob Clark 	return ((val) << A5XX_TEX_SAMP_0_XY_MIN__SHIFT) & A5XX_TEX_SAMP_0_XY_MIN__MASK;
5198a26ae754SRob Clark }
5199a26ae754SRob Clark #define A5XX_TEX_SAMP_0_WRAP_S__MASK				0x000000e0
5200a26ae754SRob Clark #define A5XX_TEX_SAMP_0_WRAP_S__SHIFT				5
A5XX_TEX_SAMP_0_WRAP_S(enum a5xx_tex_clamp val)5201a26ae754SRob Clark static inline uint32_t A5XX_TEX_SAMP_0_WRAP_S(enum a5xx_tex_clamp val)
5202a26ae754SRob Clark {
5203a26ae754SRob Clark 	return ((val) << A5XX_TEX_SAMP_0_WRAP_S__SHIFT) & A5XX_TEX_SAMP_0_WRAP_S__MASK;
5204a26ae754SRob Clark }
5205a26ae754SRob Clark #define A5XX_TEX_SAMP_0_WRAP_T__MASK				0x00000700
5206a26ae754SRob Clark #define A5XX_TEX_SAMP_0_WRAP_T__SHIFT				8
A5XX_TEX_SAMP_0_WRAP_T(enum a5xx_tex_clamp val)5207a26ae754SRob Clark static inline uint32_t A5XX_TEX_SAMP_0_WRAP_T(enum a5xx_tex_clamp val)
5208a26ae754SRob Clark {
5209a26ae754SRob Clark 	return ((val) << A5XX_TEX_SAMP_0_WRAP_T__SHIFT) & A5XX_TEX_SAMP_0_WRAP_T__MASK;
5210a26ae754SRob Clark }
5211a26ae754SRob Clark #define A5XX_TEX_SAMP_0_WRAP_R__MASK				0x00003800
5212a26ae754SRob Clark #define A5XX_TEX_SAMP_0_WRAP_R__SHIFT				11
A5XX_TEX_SAMP_0_WRAP_R(enum a5xx_tex_clamp val)5213a26ae754SRob Clark static inline uint32_t A5XX_TEX_SAMP_0_WRAP_R(enum a5xx_tex_clamp val)
5214a26ae754SRob Clark {
5215a26ae754SRob Clark 	return ((val) << A5XX_TEX_SAMP_0_WRAP_R__SHIFT) & A5XX_TEX_SAMP_0_WRAP_R__MASK;
5216a26ae754SRob Clark }
5217a26ae754SRob Clark #define A5XX_TEX_SAMP_0_ANISO__MASK				0x0001c000
5218a26ae754SRob Clark #define A5XX_TEX_SAMP_0_ANISO__SHIFT				14
A5XX_TEX_SAMP_0_ANISO(enum a5xx_tex_aniso val)5219a26ae754SRob Clark static inline uint32_t A5XX_TEX_SAMP_0_ANISO(enum a5xx_tex_aniso val)
5220a26ae754SRob Clark {
5221a26ae754SRob Clark 	return ((val) << A5XX_TEX_SAMP_0_ANISO__SHIFT) & A5XX_TEX_SAMP_0_ANISO__MASK;
5222a26ae754SRob Clark }
5223a26ae754SRob Clark #define A5XX_TEX_SAMP_0_LOD_BIAS__MASK				0xfff80000
5224a26ae754SRob Clark #define A5XX_TEX_SAMP_0_LOD_BIAS__SHIFT				19
A5XX_TEX_SAMP_0_LOD_BIAS(float val)5225a26ae754SRob Clark static inline uint32_t A5XX_TEX_SAMP_0_LOD_BIAS(float val)
5226a26ae754SRob Clark {
5227a26ae754SRob Clark 	return ((((int32_t)(val * 256.0))) << A5XX_TEX_SAMP_0_LOD_BIAS__SHIFT) & A5XX_TEX_SAMP_0_LOD_BIAS__MASK;
5228a26ae754SRob Clark }
5229a26ae754SRob Clark 
5230a26ae754SRob Clark #define REG_A5XX_TEX_SAMP_1					0x00000001
5231a26ae754SRob Clark #define A5XX_TEX_SAMP_1_COMPARE_FUNC__MASK			0x0000000e
5232a26ae754SRob Clark #define A5XX_TEX_SAMP_1_COMPARE_FUNC__SHIFT			1
A5XX_TEX_SAMP_1_COMPARE_FUNC(enum adreno_compare_func val)5233a26ae754SRob Clark static inline uint32_t A5XX_TEX_SAMP_1_COMPARE_FUNC(enum adreno_compare_func val)
5234a26ae754SRob Clark {
5235a26ae754SRob Clark 	return ((val) << A5XX_TEX_SAMP_1_COMPARE_FUNC__SHIFT) & A5XX_TEX_SAMP_1_COMPARE_FUNC__MASK;
5236a26ae754SRob Clark }
5237a26ae754SRob Clark #define A5XX_TEX_SAMP_1_CUBEMAPSEAMLESSFILTOFF			0x00000010
5238a26ae754SRob Clark #define A5XX_TEX_SAMP_1_UNNORM_COORDS				0x00000020
5239a26ae754SRob Clark #define A5XX_TEX_SAMP_1_MIPFILTER_LINEAR_FAR			0x00000040
5240a26ae754SRob Clark #define A5XX_TEX_SAMP_1_MAX_LOD__MASK				0x000fff00
5241a26ae754SRob Clark #define A5XX_TEX_SAMP_1_MAX_LOD__SHIFT				8
A5XX_TEX_SAMP_1_MAX_LOD(float val)5242a26ae754SRob Clark static inline uint32_t A5XX_TEX_SAMP_1_MAX_LOD(float val)
5243a26ae754SRob Clark {
5244a26ae754SRob Clark 	return ((((uint32_t)(val * 256.0))) << A5XX_TEX_SAMP_1_MAX_LOD__SHIFT) & A5XX_TEX_SAMP_1_MAX_LOD__MASK;
5245a26ae754SRob Clark }
5246a26ae754SRob Clark #define A5XX_TEX_SAMP_1_MIN_LOD__MASK				0xfff00000
5247a26ae754SRob Clark #define A5XX_TEX_SAMP_1_MIN_LOD__SHIFT				20
A5XX_TEX_SAMP_1_MIN_LOD(float val)5248a26ae754SRob Clark static inline uint32_t A5XX_TEX_SAMP_1_MIN_LOD(float val)
5249a26ae754SRob Clark {
5250a26ae754SRob Clark 	return ((((uint32_t)(val * 256.0))) << A5XX_TEX_SAMP_1_MIN_LOD__SHIFT) & A5XX_TEX_SAMP_1_MIN_LOD__MASK;
5251a26ae754SRob Clark }
5252a26ae754SRob Clark 
5253a26ae754SRob Clark #define REG_A5XX_TEX_SAMP_2					0x00000002
5254cc4c26d4SRob Clark #define A5XX_TEX_SAMP_2_BCOLOR_OFFSET__MASK			0xffffff80
5255cc4c26d4SRob Clark #define A5XX_TEX_SAMP_2_BCOLOR_OFFSET__SHIFT			7
A5XX_TEX_SAMP_2_BCOLOR_OFFSET(uint32_t val)525652260ae4SRob Clark static inline uint32_t A5XX_TEX_SAMP_2_BCOLOR_OFFSET(uint32_t val)
525752260ae4SRob Clark {
525852260ae4SRob Clark 	return ((val) << A5XX_TEX_SAMP_2_BCOLOR_OFFSET__SHIFT) & A5XX_TEX_SAMP_2_BCOLOR_OFFSET__MASK;
525952260ae4SRob Clark }
5260a26ae754SRob Clark 
5261a26ae754SRob Clark #define REG_A5XX_TEX_SAMP_3					0x00000003
5262a26ae754SRob Clark 
5263a26ae754SRob Clark #define REG_A5XX_TEX_CONST_0					0x00000000
5264a26ae754SRob Clark #define A5XX_TEX_CONST_0_TILE_MODE__MASK			0x00000003
5265a26ae754SRob Clark #define A5XX_TEX_CONST_0_TILE_MODE__SHIFT			0
A5XX_TEX_CONST_0_TILE_MODE(enum a5xx_tile_mode val)5266a26ae754SRob Clark static inline uint32_t A5XX_TEX_CONST_0_TILE_MODE(enum a5xx_tile_mode val)
5267a26ae754SRob Clark {
5268a26ae754SRob Clark 	return ((val) << A5XX_TEX_CONST_0_TILE_MODE__SHIFT) & A5XX_TEX_CONST_0_TILE_MODE__MASK;
5269a26ae754SRob Clark }
5270a26ae754SRob Clark #define A5XX_TEX_CONST_0_SRGB					0x00000004
5271a26ae754SRob Clark #define A5XX_TEX_CONST_0_SWIZ_X__MASK				0x00000070
5272a26ae754SRob Clark #define A5XX_TEX_CONST_0_SWIZ_X__SHIFT				4
A5XX_TEX_CONST_0_SWIZ_X(enum a5xx_tex_swiz val)5273a26ae754SRob Clark static inline uint32_t A5XX_TEX_CONST_0_SWIZ_X(enum a5xx_tex_swiz val)
5274a26ae754SRob Clark {
5275a26ae754SRob Clark 	return ((val) << A5XX_TEX_CONST_0_SWIZ_X__SHIFT) & A5XX_TEX_CONST_0_SWIZ_X__MASK;
5276a26ae754SRob Clark }
5277a26ae754SRob Clark #define A5XX_TEX_CONST_0_SWIZ_Y__MASK				0x00000380
5278a26ae754SRob Clark #define A5XX_TEX_CONST_0_SWIZ_Y__SHIFT				7
A5XX_TEX_CONST_0_SWIZ_Y(enum a5xx_tex_swiz val)5279a26ae754SRob Clark static inline uint32_t A5XX_TEX_CONST_0_SWIZ_Y(enum a5xx_tex_swiz val)
5280a26ae754SRob Clark {
5281a26ae754SRob Clark 	return ((val) << A5XX_TEX_CONST_0_SWIZ_Y__SHIFT) & A5XX_TEX_CONST_0_SWIZ_Y__MASK;
5282a26ae754SRob Clark }
5283a26ae754SRob Clark #define A5XX_TEX_CONST_0_SWIZ_Z__MASK				0x00001c00
5284a26ae754SRob Clark #define A5XX_TEX_CONST_0_SWIZ_Z__SHIFT				10
A5XX_TEX_CONST_0_SWIZ_Z(enum a5xx_tex_swiz val)5285a26ae754SRob Clark static inline uint32_t A5XX_TEX_CONST_0_SWIZ_Z(enum a5xx_tex_swiz val)
5286a26ae754SRob Clark {
5287a26ae754SRob Clark 	return ((val) << A5XX_TEX_CONST_0_SWIZ_Z__SHIFT) & A5XX_TEX_CONST_0_SWIZ_Z__MASK;
5288a26ae754SRob Clark }
5289a26ae754SRob Clark #define A5XX_TEX_CONST_0_SWIZ_W__MASK				0x0000e000
5290a26ae754SRob Clark #define A5XX_TEX_CONST_0_SWIZ_W__SHIFT				13
A5XX_TEX_CONST_0_SWIZ_W(enum a5xx_tex_swiz val)5291a26ae754SRob Clark static inline uint32_t A5XX_TEX_CONST_0_SWIZ_W(enum a5xx_tex_swiz val)
5292a26ae754SRob Clark {
5293a26ae754SRob Clark 	return ((val) << A5XX_TEX_CONST_0_SWIZ_W__SHIFT) & A5XX_TEX_CONST_0_SWIZ_W__MASK;
5294a26ae754SRob Clark }
529552260ae4SRob Clark #define A5XX_TEX_CONST_0_MIPLVLS__MASK				0x000f0000
529652260ae4SRob Clark #define A5XX_TEX_CONST_0_MIPLVLS__SHIFT				16
A5XX_TEX_CONST_0_MIPLVLS(uint32_t val)529752260ae4SRob Clark static inline uint32_t A5XX_TEX_CONST_0_MIPLVLS(uint32_t val)
529852260ae4SRob Clark {
529952260ae4SRob Clark 	return ((val) << A5XX_TEX_CONST_0_MIPLVLS__SHIFT) & A5XX_TEX_CONST_0_MIPLVLS__MASK;
530052260ae4SRob Clark }
53012d756322SRob Clark #define A5XX_TEX_CONST_0_SAMPLES__MASK				0x00300000
53022d756322SRob Clark #define A5XX_TEX_CONST_0_SAMPLES__SHIFT				20
A5XX_TEX_CONST_0_SAMPLES(enum a3xx_msaa_samples val)53032d756322SRob Clark static inline uint32_t A5XX_TEX_CONST_0_SAMPLES(enum a3xx_msaa_samples val)
53042d756322SRob Clark {
53052d756322SRob Clark 	return ((val) << A5XX_TEX_CONST_0_SAMPLES__SHIFT) & A5XX_TEX_CONST_0_SAMPLES__MASK;
53062d756322SRob Clark }
5307a26ae754SRob Clark #define A5XX_TEX_CONST_0_FMT__MASK				0x3fc00000
5308a26ae754SRob Clark #define A5XX_TEX_CONST_0_FMT__SHIFT				22
A5XX_TEX_CONST_0_FMT(enum a5xx_tex_fmt val)5309a26ae754SRob Clark static inline uint32_t A5XX_TEX_CONST_0_FMT(enum a5xx_tex_fmt val)
5310a26ae754SRob Clark {
5311a26ae754SRob Clark 	return ((val) << A5XX_TEX_CONST_0_FMT__SHIFT) & A5XX_TEX_CONST_0_FMT__MASK;
5312a26ae754SRob Clark }
5313a26ae754SRob Clark #define A5XX_TEX_CONST_0_SWAP__MASK				0xc0000000
5314a26ae754SRob Clark #define A5XX_TEX_CONST_0_SWAP__SHIFT				30
A5XX_TEX_CONST_0_SWAP(enum a3xx_color_swap val)5315a26ae754SRob Clark static inline uint32_t A5XX_TEX_CONST_0_SWAP(enum a3xx_color_swap val)
5316a26ae754SRob Clark {
5317a26ae754SRob Clark 	return ((val) << A5XX_TEX_CONST_0_SWAP__SHIFT) & A5XX_TEX_CONST_0_SWAP__MASK;
5318a26ae754SRob Clark }
5319a26ae754SRob Clark 
5320a26ae754SRob Clark #define REG_A5XX_TEX_CONST_1					0x00000001
5321a26ae754SRob Clark #define A5XX_TEX_CONST_1_WIDTH__MASK				0x00007fff
5322a26ae754SRob Clark #define A5XX_TEX_CONST_1_WIDTH__SHIFT				0
A5XX_TEX_CONST_1_WIDTH(uint32_t val)5323a26ae754SRob Clark static inline uint32_t A5XX_TEX_CONST_1_WIDTH(uint32_t val)
5324a26ae754SRob Clark {
5325a26ae754SRob Clark 	return ((val) << A5XX_TEX_CONST_1_WIDTH__SHIFT) & A5XX_TEX_CONST_1_WIDTH__MASK;
5326a26ae754SRob Clark }
5327a26ae754SRob Clark #define A5XX_TEX_CONST_1_HEIGHT__MASK				0x3fff8000
5328a26ae754SRob Clark #define A5XX_TEX_CONST_1_HEIGHT__SHIFT				15
A5XX_TEX_CONST_1_HEIGHT(uint32_t val)5329a26ae754SRob Clark static inline uint32_t A5XX_TEX_CONST_1_HEIGHT(uint32_t val)
5330a26ae754SRob Clark {
5331a26ae754SRob Clark 	return ((val) << A5XX_TEX_CONST_1_HEIGHT__SHIFT) & A5XX_TEX_CONST_1_HEIGHT__MASK;
5332a26ae754SRob Clark }
5333a26ae754SRob Clark 
5334a26ae754SRob Clark #define REG_A5XX_TEX_CONST_2					0x00000002
533557cfe41cSRob Clark #define A5XX_TEX_CONST_2_BUFFER					0x00000010
5336c28c82e9SRob Clark #define A5XX_TEX_CONST_2_PITCHALIGN__MASK			0x0000000f
5337c28c82e9SRob Clark #define A5XX_TEX_CONST_2_PITCHALIGN__SHIFT			0
A5XX_TEX_CONST_2_PITCHALIGN(uint32_t val)5338c28c82e9SRob Clark static inline uint32_t A5XX_TEX_CONST_2_PITCHALIGN(uint32_t val)
5339a26ae754SRob Clark {
5340c28c82e9SRob Clark 	return ((val) << A5XX_TEX_CONST_2_PITCHALIGN__SHIFT) & A5XX_TEX_CONST_2_PITCHALIGN__MASK;
5341a26ae754SRob Clark }
5342a26ae754SRob Clark #define A5XX_TEX_CONST_2_PITCH__MASK				0x1fffff80
5343a26ae754SRob Clark #define A5XX_TEX_CONST_2_PITCH__SHIFT				7
A5XX_TEX_CONST_2_PITCH(uint32_t val)5344a26ae754SRob Clark static inline uint32_t A5XX_TEX_CONST_2_PITCH(uint32_t val)
5345a26ae754SRob Clark {
5346a26ae754SRob Clark 	return ((val) << A5XX_TEX_CONST_2_PITCH__SHIFT) & A5XX_TEX_CONST_2_PITCH__MASK;
5347a26ae754SRob Clark }
534857cfe41cSRob Clark #define A5XX_TEX_CONST_2_TYPE__MASK				0xe0000000
5349a26ae754SRob Clark #define A5XX_TEX_CONST_2_TYPE__SHIFT				29
A5XX_TEX_CONST_2_TYPE(enum a5xx_tex_type val)5350a26ae754SRob Clark static inline uint32_t A5XX_TEX_CONST_2_TYPE(enum a5xx_tex_type val)
5351a26ae754SRob Clark {
5352a26ae754SRob Clark 	return ((val) << A5XX_TEX_CONST_2_TYPE__SHIFT) & A5XX_TEX_CONST_2_TYPE__MASK;
5353a26ae754SRob Clark }
5354a26ae754SRob Clark 
5355a26ae754SRob Clark #define REG_A5XX_TEX_CONST_3					0x00000003
5356a26ae754SRob Clark #define A5XX_TEX_CONST_3_ARRAY_PITCH__MASK			0x00003fff
5357a26ae754SRob Clark #define A5XX_TEX_CONST_3_ARRAY_PITCH__SHIFT			0
A5XX_TEX_CONST_3_ARRAY_PITCH(uint32_t val)5358a26ae754SRob Clark static inline uint32_t A5XX_TEX_CONST_3_ARRAY_PITCH(uint32_t val)
5359a26ae754SRob Clark {
5360a26ae754SRob Clark 	return ((val >> 12) << A5XX_TEX_CONST_3_ARRAY_PITCH__SHIFT) & A5XX_TEX_CONST_3_ARRAY_PITCH__MASK;
5361a26ae754SRob Clark }
5362c28c82e9SRob Clark #define A5XX_TEX_CONST_3_MIN_LAYERSZ__MASK			0x07800000
5363c28c82e9SRob Clark #define A5XX_TEX_CONST_3_MIN_LAYERSZ__SHIFT			23
A5XX_TEX_CONST_3_MIN_LAYERSZ(uint32_t val)5364c28c82e9SRob Clark static inline uint32_t A5XX_TEX_CONST_3_MIN_LAYERSZ(uint32_t val)
5365c28c82e9SRob Clark {
5366c28c82e9SRob Clark 	return ((val >> 12) << A5XX_TEX_CONST_3_MIN_LAYERSZ__SHIFT) & A5XX_TEX_CONST_3_MIN_LAYERSZ__MASK;
5367c28c82e9SRob Clark }
5368c28c82e9SRob Clark #define A5XX_TEX_CONST_3_TILE_ALL				0x08000000
5369a26ae754SRob Clark #define A5XX_TEX_CONST_3_FLAG					0x10000000
5370a26ae754SRob Clark 
5371a26ae754SRob Clark #define REG_A5XX_TEX_CONST_4					0x00000004
5372a26ae754SRob Clark #define A5XX_TEX_CONST_4_BASE_LO__MASK				0xffffffe0
5373a26ae754SRob Clark #define A5XX_TEX_CONST_4_BASE_LO__SHIFT				5
A5XX_TEX_CONST_4_BASE_LO(uint32_t val)5374a26ae754SRob Clark static inline uint32_t A5XX_TEX_CONST_4_BASE_LO(uint32_t val)
5375a26ae754SRob Clark {
5376a26ae754SRob Clark 	return ((val >> 5) << A5XX_TEX_CONST_4_BASE_LO__SHIFT) & A5XX_TEX_CONST_4_BASE_LO__MASK;
5377a26ae754SRob Clark }
5378a26ae754SRob Clark 
5379a26ae754SRob Clark #define REG_A5XX_TEX_CONST_5					0x00000005
5380a26ae754SRob Clark #define A5XX_TEX_CONST_5_BASE_HI__MASK				0x0001ffff
5381a26ae754SRob Clark #define A5XX_TEX_CONST_5_BASE_HI__SHIFT				0
A5XX_TEX_CONST_5_BASE_HI(uint32_t val)5382a26ae754SRob Clark static inline uint32_t A5XX_TEX_CONST_5_BASE_HI(uint32_t val)
5383a26ae754SRob Clark {
5384a26ae754SRob Clark 	return ((val) << A5XX_TEX_CONST_5_BASE_HI__SHIFT) & A5XX_TEX_CONST_5_BASE_HI__MASK;
5385a26ae754SRob Clark }
5386a26ae754SRob Clark #define A5XX_TEX_CONST_5_DEPTH__MASK				0x3ffe0000
5387a26ae754SRob Clark #define A5XX_TEX_CONST_5_DEPTH__SHIFT				17
A5XX_TEX_CONST_5_DEPTH(uint32_t val)5388a26ae754SRob Clark static inline uint32_t A5XX_TEX_CONST_5_DEPTH(uint32_t val)
5389a26ae754SRob Clark {
5390a26ae754SRob Clark 	return ((val) << A5XX_TEX_CONST_5_DEPTH__SHIFT) & A5XX_TEX_CONST_5_DEPTH__MASK;
5391a26ae754SRob Clark }
5392a26ae754SRob Clark 
5393a26ae754SRob Clark #define REG_A5XX_TEX_CONST_6					0x00000006
5394a26ae754SRob Clark 
5395a26ae754SRob Clark #define REG_A5XX_TEX_CONST_7					0x00000007
5396a26ae754SRob Clark 
5397a26ae754SRob Clark #define REG_A5XX_TEX_CONST_8					0x00000008
5398a26ae754SRob Clark 
5399a26ae754SRob Clark #define REG_A5XX_TEX_CONST_9					0x00000009
5400a26ae754SRob Clark 
5401a26ae754SRob Clark #define REG_A5XX_TEX_CONST_10					0x0000000a
5402a26ae754SRob Clark 
5403a26ae754SRob Clark #define REG_A5XX_TEX_CONST_11					0x0000000b
5404a26ae754SRob Clark 
54052d756322SRob Clark #define REG_A5XX_SSBO_0_0					0x00000000
54062d756322SRob Clark #define A5XX_SSBO_0_0_BASE_LO__MASK				0xffffffe0
54072d756322SRob Clark #define A5XX_SSBO_0_0_BASE_LO__SHIFT				5
A5XX_SSBO_0_0_BASE_LO(uint32_t val)54082d756322SRob Clark static inline uint32_t A5XX_SSBO_0_0_BASE_LO(uint32_t val)
54092d756322SRob Clark {
54102d756322SRob Clark 	return ((val >> 5) << A5XX_SSBO_0_0_BASE_LO__SHIFT) & A5XX_SSBO_0_0_BASE_LO__MASK;
54112d756322SRob Clark }
54122d756322SRob Clark 
54132d756322SRob Clark #define REG_A5XX_SSBO_0_1					0x00000001
54142d756322SRob Clark #define A5XX_SSBO_0_1_PITCH__MASK				0x003fffff
54152d756322SRob Clark #define A5XX_SSBO_0_1_PITCH__SHIFT				0
A5XX_SSBO_0_1_PITCH(uint32_t val)54162d756322SRob Clark static inline uint32_t A5XX_SSBO_0_1_PITCH(uint32_t val)
54172d756322SRob Clark {
54182d756322SRob Clark 	return ((val) << A5XX_SSBO_0_1_PITCH__SHIFT) & A5XX_SSBO_0_1_PITCH__MASK;
54192d756322SRob Clark }
54202d756322SRob Clark 
54212d756322SRob Clark #define REG_A5XX_SSBO_0_2					0x00000002
54222d756322SRob Clark #define A5XX_SSBO_0_2_ARRAY_PITCH__MASK				0x03fff000
54232d756322SRob Clark #define A5XX_SSBO_0_2_ARRAY_PITCH__SHIFT			12
A5XX_SSBO_0_2_ARRAY_PITCH(uint32_t val)54242d756322SRob Clark static inline uint32_t A5XX_SSBO_0_2_ARRAY_PITCH(uint32_t val)
54252d756322SRob Clark {
54262d756322SRob Clark 	return ((val >> 12) << A5XX_SSBO_0_2_ARRAY_PITCH__SHIFT) & A5XX_SSBO_0_2_ARRAY_PITCH__MASK;
54272d756322SRob Clark }
54282d756322SRob Clark 
54292d756322SRob Clark #define REG_A5XX_SSBO_0_3					0x00000003
54302d756322SRob Clark #define A5XX_SSBO_0_3_CPP__MASK					0x0000003f
54312d756322SRob Clark #define A5XX_SSBO_0_3_CPP__SHIFT				0
A5XX_SSBO_0_3_CPP(uint32_t val)54322d756322SRob Clark static inline uint32_t A5XX_SSBO_0_3_CPP(uint32_t val)
54332d756322SRob Clark {
54342d756322SRob Clark 	return ((val) << A5XX_SSBO_0_3_CPP__SHIFT) & A5XX_SSBO_0_3_CPP__MASK;
54352d756322SRob Clark }
54362d756322SRob Clark 
54372d756322SRob Clark #define REG_A5XX_SSBO_1_0					0x00000000
54382d756322SRob Clark #define A5XX_SSBO_1_0_FMT__MASK					0x0000ff00
54392d756322SRob Clark #define A5XX_SSBO_1_0_FMT__SHIFT				8
A5XX_SSBO_1_0_FMT(enum a5xx_tex_fmt val)54402d756322SRob Clark static inline uint32_t A5XX_SSBO_1_0_FMT(enum a5xx_tex_fmt val)
54412d756322SRob Clark {
54422d756322SRob Clark 	return ((val) << A5XX_SSBO_1_0_FMT__SHIFT) & A5XX_SSBO_1_0_FMT__MASK;
54432d756322SRob Clark }
54442d756322SRob Clark #define A5XX_SSBO_1_0_WIDTH__MASK				0xffff0000
54452d756322SRob Clark #define A5XX_SSBO_1_0_WIDTH__SHIFT				16
A5XX_SSBO_1_0_WIDTH(uint32_t val)54462d756322SRob Clark static inline uint32_t A5XX_SSBO_1_0_WIDTH(uint32_t val)
54472d756322SRob Clark {
54482d756322SRob Clark 	return ((val) << A5XX_SSBO_1_0_WIDTH__SHIFT) & A5XX_SSBO_1_0_WIDTH__MASK;
54492d756322SRob Clark }
54502d756322SRob Clark 
54512d756322SRob Clark #define REG_A5XX_SSBO_1_1					0x00000001
54522d756322SRob Clark #define A5XX_SSBO_1_1_HEIGHT__MASK				0x0000ffff
54532d756322SRob Clark #define A5XX_SSBO_1_1_HEIGHT__SHIFT				0
A5XX_SSBO_1_1_HEIGHT(uint32_t val)54542d756322SRob Clark static inline uint32_t A5XX_SSBO_1_1_HEIGHT(uint32_t val)
54552d756322SRob Clark {
54562d756322SRob Clark 	return ((val) << A5XX_SSBO_1_1_HEIGHT__SHIFT) & A5XX_SSBO_1_1_HEIGHT__MASK;
54572d756322SRob Clark }
54582d756322SRob Clark #define A5XX_SSBO_1_1_DEPTH__MASK				0xffff0000
54592d756322SRob Clark #define A5XX_SSBO_1_1_DEPTH__SHIFT				16
A5XX_SSBO_1_1_DEPTH(uint32_t val)54602d756322SRob Clark static inline uint32_t A5XX_SSBO_1_1_DEPTH(uint32_t val)
54612d756322SRob Clark {
54622d756322SRob Clark 	return ((val) << A5XX_SSBO_1_1_DEPTH__SHIFT) & A5XX_SSBO_1_1_DEPTH__MASK;
54632d756322SRob Clark }
54642d756322SRob Clark 
54652d756322SRob Clark #define REG_A5XX_SSBO_2_0					0x00000000
54662d756322SRob Clark #define A5XX_SSBO_2_0_BASE_LO__MASK				0xffffffff
54672d756322SRob Clark #define A5XX_SSBO_2_0_BASE_LO__SHIFT				0
A5XX_SSBO_2_0_BASE_LO(uint32_t val)54682d756322SRob Clark static inline uint32_t A5XX_SSBO_2_0_BASE_LO(uint32_t val)
54692d756322SRob Clark {
54702d756322SRob Clark 	return ((val) << A5XX_SSBO_2_0_BASE_LO__SHIFT) & A5XX_SSBO_2_0_BASE_LO__MASK;
54712d756322SRob Clark }
54722d756322SRob Clark 
54732d756322SRob Clark #define REG_A5XX_SSBO_2_1					0x00000001
54742d756322SRob Clark #define A5XX_SSBO_2_1_BASE_HI__MASK				0xffffffff
54752d756322SRob Clark #define A5XX_SSBO_2_1_BASE_HI__SHIFT				0
A5XX_SSBO_2_1_BASE_HI(uint32_t val)54762d756322SRob Clark static inline uint32_t A5XX_SSBO_2_1_BASE_HI(uint32_t val)
54772d756322SRob Clark {
54782d756322SRob Clark 	return ((val) << A5XX_SSBO_2_1_BASE_HI__SHIFT) & A5XX_SSBO_2_1_BASE_HI__MASK;
54792d756322SRob Clark }
54802d756322SRob Clark 
5481c28c82e9SRob Clark #define REG_A5XX_UBO_0						0x00000000
5482c28c82e9SRob Clark #define A5XX_UBO_0_BASE_LO__MASK				0xffffffff
5483c28c82e9SRob Clark #define A5XX_UBO_0_BASE_LO__SHIFT				0
A5XX_UBO_0_BASE_LO(uint32_t val)5484c28c82e9SRob Clark static inline uint32_t A5XX_UBO_0_BASE_LO(uint32_t val)
5485c28c82e9SRob Clark {
5486c28c82e9SRob Clark 	return ((val) << A5XX_UBO_0_BASE_LO__SHIFT) & A5XX_UBO_0_BASE_LO__MASK;
5487c28c82e9SRob Clark }
5488c28c82e9SRob Clark 
5489c28c82e9SRob Clark #define REG_A5XX_UBO_1						0x00000001
5490c28c82e9SRob Clark #define A5XX_UBO_1_BASE_HI__MASK				0x0001ffff
5491c28c82e9SRob Clark #define A5XX_UBO_1_BASE_HI__SHIFT				0
A5XX_UBO_1_BASE_HI(uint32_t val)5492c28c82e9SRob Clark static inline uint32_t A5XX_UBO_1_BASE_HI(uint32_t val)
5493c28c82e9SRob Clark {
5494c28c82e9SRob Clark 	return ((val) << A5XX_UBO_1_BASE_HI__SHIFT) & A5XX_UBO_1_BASE_HI__MASK;
5495c28c82e9SRob Clark }
5496c28c82e9SRob Clark 
5497a26ae754SRob Clark 
5498a26ae754SRob Clark #endif /* A5XX_XML */
5499