1*4882a593Smuzhiyun #ifndef A5XX_XML
2*4882a593Smuzhiyun #define A5XX_XML
3*4882a593Smuzhiyun
4*4882a593Smuzhiyun /* Autogenerated file, DO NOT EDIT manually!
5*4882a593Smuzhiyun
6*4882a593Smuzhiyun This file was generated by the rules-ng-ng headergen tool in this git repository:
7*4882a593Smuzhiyun http://github.com/freedreno/envytools/
8*4882a593Smuzhiyun git clone https://github.com/freedreno/envytools.git
9*4882a593Smuzhiyun
10*4882a593Smuzhiyun The rules-ng-ng source files this header was generated from are:
11*4882a593Smuzhiyun - /home/robclark/src/envytools/rnndb/adreno.xml ( 594 bytes, from 2020-07-23 21:58:14)
12*4882a593Smuzhiyun - /home/robclark/src/envytools/rnndb/freedreno_copyright.xml ( 1572 bytes, from 2020-07-23 21:58:14)
13*4882a593Smuzhiyun - /home/robclark/src/envytools/rnndb/adreno/a2xx.xml ( 90159 bytes, from 2020-07-23 21:58:14)
14*4882a593Smuzhiyun - /home/robclark/src/envytools/rnndb/adreno/adreno_common.xml ( 14386 bytes, from 2020-07-23 21:58:14)
15*4882a593Smuzhiyun - /home/robclark/src/envytools/rnndb/adreno/adreno_pm4.xml ( 65048 bytes, from 2020-07-23 21:58:14)
16*4882a593Smuzhiyun - /home/robclark/src/envytools/rnndb/adreno/a3xx.xml ( 84226 bytes, from 2020-07-23 21:58:14)
17*4882a593Smuzhiyun - /home/robclark/src/envytools/rnndb/adreno/a4xx.xml ( 112556 bytes, from 2020-07-23 21:58:14)
18*4882a593Smuzhiyun - /home/robclark/src/envytools/rnndb/adreno/a5xx.xml ( 149461 bytes, from 2020-07-23 21:58:14)
19*4882a593Smuzhiyun - /home/robclark/src/envytools/rnndb/adreno/a6xx.xml ( 184695 bytes, from 2020-07-23 21:58:14)
20*4882a593Smuzhiyun - /home/robclark/src/envytools/rnndb/adreno/a6xx_gmu.xml ( 11218 bytes, from 2020-07-23 21:58:14)
21*4882a593Smuzhiyun - /home/robclark/src/envytools/rnndb/adreno/ocmem.xml ( 1773 bytes, from 2020-07-23 21:58:14)
22*4882a593Smuzhiyun - /home/robclark/src/envytools/rnndb/adreno/adreno_control_regs.xml ( 4559 bytes, from 2020-07-23 21:58:14)
23*4882a593Smuzhiyun - /home/robclark/src/envytools/rnndb/adreno/adreno_pipe_regs.xml ( 2872 bytes, from 2020-07-23 21:58:14)
24*4882a593Smuzhiyun
25*4882a593Smuzhiyun Copyright (C) 2013-2020 by the following authors:
26*4882a593Smuzhiyun - Rob Clark <robdclark@gmail.com> (robclark)
27*4882a593Smuzhiyun - Ilia Mirkin <imirkin@alum.mit.edu> (imirkin)
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun Permission is hereby granted, free of charge, to any person obtaining
30*4882a593Smuzhiyun a copy of this software and associated documentation files (the
31*4882a593Smuzhiyun "Software"), to deal in the Software without restriction, including
32*4882a593Smuzhiyun without limitation the rights to use, copy, modify, merge, publish,
33*4882a593Smuzhiyun distribute, sublicense, and/or sell copies of the Software, and to
34*4882a593Smuzhiyun permit persons to whom the Software is furnished to do so, subject to
35*4882a593Smuzhiyun the following conditions:
36*4882a593Smuzhiyun
37*4882a593Smuzhiyun The above copyright notice and this permission notice (including the
38*4882a593Smuzhiyun next paragraph) shall be included in all copies or substantial
39*4882a593Smuzhiyun portions of the Software.
40*4882a593Smuzhiyun
41*4882a593Smuzhiyun THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
42*4882a593Smuzhiyun EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
43*4882a593Smuzhiyun MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
44*4882a593Smuzhiyun IN NO EVENT SHALL THE COPYRIGHT OWNER(S) AND/OR ITS SUPPLIERS BE
45*4882a593Smuzhiyun LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
46*4882a593Smuzhiyun OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
47*4882a593Smuzhiyun WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
48*4882a593Smuzhiyun */
49*4882a593Smuzhiyun
50*4882a593Smuzhiyun
51*4882a593Smuzhiyun enum a5xx_color_fmt {
52*4882a593Smuzhiyun RB5_A8_UNORM = 2,
53*4882a593Smuzhiyun RB5_R8_UNORM = 3,
54*4882a593Smuzhiyun RB5_R8_SNORM = 4,
55*4882a593Smuzhiyun RB5_R8_UINT = 5,
56*4882a593Smuzhiyun RB5_R8_SINT = 6,
57*4882a593Smuzhiyun RB5_R4G4B4A4_UNORM = 8,
58*4882a593Smuzhiyun RB5_R5G5B5A1_UNORM = 10,
59*4882a593Smuzhiyun RB5_R5G6B5_UNORM = 14,
60*4882a593Smuzhiyun RB5_R8G8_UNORM = 15,
61*4882a593Smuzhiyun RB5_R8G8_SNORM = 16,
62*4882a593Smuzhiyun RB5_R8G8_UINT = 17,
63*4882a593Smuzhiyun RB5_R8G8_SINT = 18,
64*4882a593Smuzhiyun RB5_R16_UNORM = 21,
65*4882a593Smuzhiyun RB5_R16_SNORM = 22,
66*4882a593Smuzhiyun RB5_R16_FLOAT = 23,
67*4882a593Smuzhiyun RB5_R16_UINT = 24,
68*4882a593Smuzhiyun RB5_R16_SINT = 25,
69*4882a593Smuzhiyun RB5_R8G8B8A8_UNORM = 48,
70*4882a593Smuzhiyun RB5_R8G8B8_UNORM = 49,
71*4882a593Smuzhiyun RB5_R8G8B8A8_SNORM = 50,
72*4882a593Smuzhiyun RB5_R8G8B8A8_UINT = 51,
73*4882a593Smuzhiyun RB5_R8G8B8A8_SINT = 52,
74*4882a593Smuzhiyun RB5_R10G10B10A2_UNORM = 55,
75*4882a593Smuzhiyun RB5_R10G10B10A2_UINT = 58,
76*4882a593Smuzhiyun RB5_R11G11B10_FLOAT = 66,
77*4882a593Smuzhiyun RB5_R16G16_UNORM = 67,
78*4882a593Smuzhiyun RB5_R16G16_SNORM = 68,
79*4882a593Smuzhiyun RB5_R16G16_FLOAT = 69,
80*4882a593Smuzhiyun RB5_R16G16_UINT = 70,
81*4882a593Smuzhiyun RB5_R16G16_SINT = 71,
82*4882a593Smuzhiyun RB5_R32_FLOAT = 74,
83*4882a593Smuzhiyun RB5_R32_UINT = 75,
84*4882a593Smuzhiyun RB5_R32_SINT = 76,
85*4882a593Smuzhiyun RB5_R16G16B16A16_UNORM = 96,
86*4882a593Smuzhiyun RB5_R16G16B16A16_SNORM = 97,
87*4882a593Smuzhiyun RB5_R16G16B16A16_FLOAT = 98,
88*4882a593Smuzhiyun RB5_R16G16B16A16_UINT = 99,
89*4882a593Smuzhiyun RB5_R16G16B16A16_SINT = 100,
90*4882a593Smuzhiyun RB5_R32G32_FLOAT = 103,
91*4882a593Smuzhiyun RB5_R32G32_UINT = 104,
92*4882a593Smuzhiyun RB5_R32G32_SINT = 105,
93*4882a593Smuzhiyun RB5_R32G32B32A32_FLOAT = 130,
94*4882a593Smuzhiyun RB5_R32G32B32A32_UINT = 131,
95*4882a593Smuzhiyun RB5_R32G32B32A32_SINT = 132,
96*4882a593Smuzhiyun RB5_NONE = 255,
97*4882a593Smuzhiyun };
98*4882a593Smuzhiyun
99*4882a593Smuzhiyun enum a5xx_tile_mode {
100*4882a593Smuzhiyun TILE5_LINEAR = 0,
101*4882a593Smuzhiyun TILE5_2 = 2,
102*4882a593Smuzhiyun TILE5_3 = 3,
103*4882a593Smuzhiyun };
104*4882a593Smuzhiyun
105*4882a593Smuzhiyun enum a5xx_vtx_fmt {
106*4882a593Smuzhiyun VFMT5_8_UNORM = 3,
107*4882a593Smuzhiyun VFMT5_8_SNORM = 4,
108*4882a593Smuzhiyun VFMT5_8_UINT = 5,
109*4882a593Smuzhiyun VFMT5_8_SINT = 6,
110*4882a593Smuzhiyun VFMT5_8_8_UNORM = 15,
111*4882a593Smuzhiyun VFMT5_8_8_SNORM = 16,
112*4882a593Smuzhiyun VFMT5_8_8_UINT = 17,
113*4882a593Smuzhiyun VFMT5_8_8_SINT = 18,
114*4882a593Smuzhiyun VFMT5_16_UNORM = 21,
115*4882a593Smuzhiyun VFMT5_16_SNORM = 22,
116*4882a593Smuzhiyun VFMT5_16_FLOAT = 23,
117*4882a593Smuzhiyun VFMT5_16_UINT = 24,
118*4882a593Smuzhiyun VFMT5_16_SINT = 25,
119*4882a593Smuzhiyun VFMT5_8_8_8_UNORM = 33,
120*4882a593Smuzhiyun VFMT5_8_8_8_SNORM = 34,
121*4882a593Smuzhiyun VFMT5_8_8_8_UINT = 35,
122*4882a593Smuzhiyun VFMT5_8_8_8_SINT = 36,
123*4882a593Smuzhiyun VFMT5_8_8_8_8_UNORM = 48,
124*4882a593Smuzhiyun VFMT5_8_8_8_8_SNORM = 50,
125*4882a593Smuzhiyun VFMT5_8_8_8_8_UINT = 51,
126*4882a593Smuzhiyun VFMT5_8_8_8_8_SINT = 52,
127*4882a593Smuzhiyun VFMT5_10_10_10_2_UNORM = 54,
128*4882a593Smuzhiyun VFMT5_10_10_10_2_SNORM = 57,
129*4882a593Smuzhiyun VFMT5_10_10_10_2_UINT = 58,
130*4882a593Smuzhiyun VFMT5_10_10_10_2_SINT = 59,
131*4882a593Smuzhiyun VFMT5_11_11_10_FLOAT = 66,
132*4882a593Smuzhiyun VFMT5_16_16_UNORM = 67,
133*4882a593Smuzhiyun VFMT5_16_16_SNORM = 68,
134*4882a593Smuzhiyun VFMT5_16_16_FLOAT = 69,
135*4882a593Smuzhiyun VFMT5_16_16_UINT = 70,
136*4882a593Smuzhiyun VFMT5_16_16_SINT = 71,
137*4882a593Smuzhiyun VFMT5_32_UNORM = 72,
138*4882a593Smuzhiyun VFMT5_32_SNORM = 73,
139*4882a593Smuzhiyun VFMT5_32_FLOAT = 74,
140*4882a593Smuzhiyun VFMT5_32_UINT = 75,
141*4882a593Smuzhiyun VFMT5_32_SINT = 76,
142*4882a593Smuzhiyun VFMT5_32_FIXED = 77,
143*4882a593Smuzhiyun VFMT5_16_16_16_UNORM = 88,
144*4882a593Smuzhiyun VFMT5_16_16_16_SNORM = 89,
145*4882a593Smuzhiyun VFMT5_16_16_16_FLOAT = 90,
146*4882a593Smuzhiyun VFMT5_16_16_16_UINT = 91,
147*4882a593Smuzhiyun VFMT5_16_16_16_SINT = 92,
148*4882a593Smuzhiyun VFMT5_16_16_16_16_UNORM = 96,
149*4882a593Smuzhiyun VFMT5_16_16_16_16_SNORM = 97,
150*4882a593Smuzhiyun VFMT5_16_16_16_16_FLOAT = 98,
151*4882a593Smuzhiyun VFMT5_16_16_16_16_UINT = 99,
152*4882a593Smuzhiyun VFMT5_16_16_16_16_SINT = 100,
153*4882a593Smuzhiyun VFMT5_32_32_UNORM = 101,
154*4882a593Smuzhiyun VFMT5_32_32_SNORM = 102,
155*4882a593Smuzhiyun VFMT5_32_32_FLOAT = 103,
156*4882a593Smuzhiyun VFMT5_32_32_UINT = 104,
157*4882a593Smuzhiyun VFMT5_32_32_SINT = 105,
158*4882a593Smuzhiyun VFMT5_32_32_FIXED = 106,
159*4882a593Smuzhiyun VFMT5_32_32_32_UNORM = 112,
160*4882a593Smuzhiyun VFMT5_32_32_32_SNORM = 113,
161*4882a593Smuzhiyun VFMT5_32_32_32_UINT = 114,
162*4882a593Smuzhiyun VFMT5_32_32_32_SINT = 115,
163*4882a593Smuzhiyun VFMT5_32_32_32_FLOAT = 116,
164*4882a593Smuzhiyun VFMT5_32_32_32_FIXED = 117,
165*4882a593Smuzhiyun VFMT5_32_32_32_32_UNORM = 128,
166*4882a593Smuzhiyun VFMT5_32_32_32_32_SNORM = 129,
167*4882a593Smuzhiyun VFMT5_32_32_32_32_FLOAT = 130,
168*4882a593Smuzhiyun VFMT5_32_32_32_32_UINT = 131,
169*4882a593Smuzhiyun VFMT5_32_32_32_32_SINT = 132,
170*4882a593Smuzhiyun VFMT5_32_32_32_32_FIXED = 133,
171*4882a593Smuzhiyun VFMT5_NONE = 255,
172*4882a593Smuzhiyun };
173*4882a593Smuzhiyun
174*4882a593Smuzhiyun enum a5xx_tex_fmt {
175*4882a593Smuzhiyun TFMT5_A8_UNORM = 2,
176*4882a593Smuzhiyun TFMT5_8_UNORM = 3,
177*4882a593Smuzhiyun TFMT5_8_SNORM = 4,
178*4882a593Smuzhiyun TFMT5_8_UINT = 5,
179*4882a593Smuzhiyun TFMT5_8_SINT = 6,
180*4882a593Smuzhiyun TFMT5_4_4_4_4_UNORM = 8,
181*4882a593Smuzhiyun TFMT5_5_5_5_1_UNORM = 10,
182*4882a593Smuzhiyun TFMT5_5_6_5_UNORM = 14,
183*4882a593Smuzhiyun TFMT5_8_8_UNORM = 15,
184*4882a593Smuzhiyun TFMT5_8_8_SNORM = 16,
185*4882a593Smuzhiyun TFMT5_8_8_UINT = 17,
186*4882a593Smuzhiyun TFMT5_8_8_SINT = 18,
187*4882a593Smuzhiyun TFMT5_L8_A8_UNORM = 19,
188*4882a593Smuzhiyun TFMT5_16_UNORM = 21,
189*4882a593Smuzhiyun TFMT5_16_SNORM = 22,
190*4882a593Smuzhiyun TFMT5_16_FLOAT = 23,
191*4882a593Smuzhiyun TFMT5_16_UINT = 24,
192*4882a593Smuzhiyun TFMT5_16_SINT = 25,
193*4882a593Smuzhiyun TFMT5_8_8_8_8_UNORM = 48,
194*4882a593Smuzhiyun TFMT5_8_8_8_UNORM = 49,
195*4882a593Smuzhiyun TFMT5_8_8_8_8_SNORM = 50,
196*4882a593Smuzhiyun TFMT5_8_8_8_8_UINT = 51,
197*4882a593Smuzhiyun TFMT5_8_8_8_8_SINT = 52,
198*4882a593Smuzhiyun TFMT5_9_9_9_E5_FLOAT = 53,
199*4882a593Smuzhiyun TFMT5_10_10_10_2_UNORM = 54,
200*4882a593Smuzhiyun TFMT5_10_10_10_2_UINT = 58,
201*4882a593Smuzhiyun TFMT5_11_11_10_FLOAT = 66,
202*4882a593Smuzhiyun TFMT5_16_16_UNORM = 67,
203*4882a593Smuzhiyun TFMT5_16_16_SNORM = 68,
204*4882a593Smuzhiyun TFMT5_16_16_FLOAT = 69,
205*4882a593Smuzhiyun TFMT5_16_16_UINT = 70,
206*4882a593Smuzhiyun TFMT5_16_16_SINT = 71,
207*4882a593Smuzhiyun TFMT5_32_FLOAT = 74,
208*4882a593Smuzhiyun TFMT5_32_UINT = 75,
209*4882a593Smuzhiyun TFMT5_32_SINT = 76,
210*4882a593Smuzhiyun TFMT5_16_16_16_16_UNORM = 96,
211*4882a593Smuzhiyun TFMT5_16_16_16_16_SNORM = 97,
212*4882a593Smuzhiyun TFMT5_16_16_16_16_FLOAT = 98,
213*4882a593Smuzhiyun TFMT5_16_16_16_16_UINT = 99,
214*4882a593Smuzhiyun TFMT5_16_16_16_16_SINT = 100,
215*4882a593Smuzhiyun TFMT5_32_32_FLOAT = 103,
216*4882a593Smuzhiyun TFMT5_32_32_UINT = 104,
217*4882a593Smuzhiyun TFMT5_32_32_SINT = 105,
218*4882a593Smuzhiyun TFMT5_32_32_32_UINT = 114,
219*4882a593Smuzhiyun TFMT5_32_32_32_SINT = 115,
220*4882a593Smuzhiyun TFMT5_32_32_32_FLOAT = 116,
221*4882a593Smuzhiyun TFMT5_32_32_32_32_FLOAT = 130,
222*4882a593Smuzhiyun TFMT5_32_32_32_32_UINT = 131,
223*4882a593Smuzhiyun TFMT5_32_32_32_32_SINT = 132,
224*4882a593Smuzhiyun TFMT5_X8Z24_UNORM = 160,
225*4882a593Smuzhiyun TFMT5_ETC2_RG11_UNORM = 171,
226*4882a593Smuzhiyun TFMT5_ETC2_RG11_SNORM = 172,
227*4882a593Smuzhiyun TFMT5_ETC2_R11_UNORM = 173,
228*4882a593Smuzhiyun TFMT5_ETC2_R11_SNORM = 174,
229*4882a593Smuzhiyun TFMT5_ETC1 = 175,
230*4882a593Smuzhiyun TFMT5_ETC2_RGB8 = 176,
231*4882a593Smuzhiyun TFMT5_ETC2_RGBA8 = 177,
232*4882a593Smuzhiyun TFMT5_ETC2_RGB8A1 = 178,
233*4882a593Smuzhiyun TFMT5_DXT1 = 179,
234*4882a593Smuzhiyun TFMT5_DXT3 = 180,
235*4882a593Smuzhiyun TFMT5_DXT5 = 181,
236*4882a593Smuzhiyun TFMT5_RGTC1_UNORM = 183,
237*4882a593Smuzhiyun TFMT5_RGTC1_SNORM = 184,
238*4882a593Smuzhiyun TFMT5_RGTC2_UNORM = 187,
239*4882a593Smuzhiyun TFMT5_RGTC2_SNORM = 188,
240*4882a593Smuzhiyun TFMT5_BPTC_UFLOAT = 190,
241*4882a593Smuzhiyun TFMT5_BPTC_FLOAT = 191,
242*4882a593Smuzhiyun TFMT5_BPTC = 192,
243*4882a593Smuzhiyun TFMT5_ASTC_4x4 = 193,
244*4882a593Smuzhiyun TFMT5_ASTC_5x4 = 194,
245*4882a593Smuzhiyun TFMT5_ASTC_5x5 = 195,
246*4882a593Smuzhiyun TFMT5_ASTC_6x5 = 196,
247*4882a593Smuzhiyun TFMT5_ASTC_6x6 = 197,
248*4882a593Smuzhiyun TFMT5_ASTC_8x5 = 198,
249*4882a593Smuzhiyun TFMT5_ASTC_8x6 = 199,
250*4882a593Smuzhiyun TFMT5_ASTC_8x8 = 200,
251*4882a593Smuzhiyun TFMT5_ASTC_10x5 = 201,
252*4882a593Smuzhiyun TFMT5_ASTC_10x6 = 202,
253*4882a593Smuzhiyun TFMT5_ASTC_10x8 = 203,
254*4882a593Smuzhiyun TFMT5_ASTC_10x10 = 204,
255*4882a593Smuzhiyun TFMT5_ASTC_12x10 = 205,
256*4882a593Smuzhiyun TFMT5_ASTC_12x12 = 206,
257*4882a593Smuzhiyun TFMT5_NONE = 255,
258*4882a593Smuzhiyun };
259*4882a593Smuzhiyun
260*4882a593Smuzhiyun enum a5xx_depth_format {
261*4882a593Smuzhiyun DEPTH5_NONE = 0,
262*4882a593Smuzhiyun DEPTH5_16 = 1,
263*4882a593Smuzhiyun DEPTH5_24_8 = 2,
264*4882a593Smuzhiyun DEPTH5_32 = 4,
265*4882a593Smuzhiyun };
266*4882a593Smuzhiyun
267*4882a593Smuzhiyun enum a5xx_blit_buf {
268*4882a593Smuzhiyun BLIT_MRT0 = 0,
269*4882a593Smuzhiyun BLIT_MRT1 = 1,
270*4882a593Smuzhiyun BLIT_MRT2 = 2,
271*4882a593Smuzhiyun BLIT_MRT3 = 3,
272*4882a593Smuzhiyun BLIT_MRT4 = 4,
273*4882a593Smuzhiyun BLIT_MRT5 = 5,
274*4882a593Smuzhiyun BLIT_MRT6 = 6,
275*4882a593Smuzhiyun BLIT_MRT7 = 7,
276*4882a593Smuzhiyun BLIT_ZS = 8,
277*4882a593Smuzhiyun BLIT_S = 9,
278*4882a593Smuzhiyun };
279*4882a593Smuzhiyun
280*4882a593Smuzhiyun enum a5xx_cp_perfcounter_select {
281*4882a593Smuzhiyun PERF_CP_ALWAYS_COUNT = 0,
282*4882a593Smuzhiyun PERF_CP_BUSY_GFX_CORE_IDLE = 1,
283*4882a593Smuzhiyun PERF_CP_BUSY_CYCLES = 2,
284*4882a593Smuzhiyun PERF_CP_PFP_IDLE = 3,
285*4882a593Smuzhiyun PERF_CP_PFP_BUSY_WORKING = 4,
286*4882a593Smuzhiyun PERF_CP_PFP_STALL_CYCLES_ANY = 5,
287*4882a593Smuzhiyun PERF_CP_PFP_STARVE_CYCLES_ANY = 6,
288*4882a593Smuzhiyun PERF_CP_PFP_ICACHE_MISS = 7,
289*4882a593Smuzhiyun PERF_CP_PFP_ICACHE_HIT = 8,
290*4882a593Smuzhiyun PERF_CP_PFP_MATCH_PM4_PKT_PROFILE = 9,
291*4882a593Smuzhiyun PERF_CP_ME_BUSY_WORKING = 10,
292*4882a593Smuzhiyun PERF_CP_ME_IDLE = 11,
293*4882a593Smuzhiyun PERF_CP_ME_STARVE_CYCLES_ANY = 12,
294*4882a593Smuzhiyun PERF_CP_ME_FIFO_EMPTY_PFP_IDLE = 13,
295*4882a593Smuzhiyun PERF_CP_ME_FIFO_EMPTY_PFP_BUSY = 14,
296*4882a593Smuzhiyun PERF_CP_ME_FIFO_FULL_ME_BUSY = 15,
297*4882a593Smuzhiyun PERF_CP_ME_FIFO_FULL_ME_NON_WORKING = 16,
298*4882a593Smuzhiyun PERF_CP_ME_STALL_CYCLES_ANY = 17,
299*4882a593Smuzhiyun PERF_CP_ME_ICACHE_MISS = 18,
300*4882a593Smuzhiyun PERF_CP_ME_ICACHE_HIT = 19,
301*4882a593Smuzhiyun PERF_CP_NUM_PREEMPTIONS = 20,
302*4882a593Smuzhiyun PERF_CP_PREEMPTION_REACTION_DELAY = 21,
303*4882a593Smuzhiyun PERF_CP_PREEMPTION_SWITCH_OUT_TIME = 22,
304*4882a593Smuzhiyun PERF_CP_PREEMPTION_SWITCH_IN_TIME = 23,
305*4882a593Smuzhiyun PERF_CP_DEAD_DRAWS_IN_BIN_RENDER = 24,
306*4882a593Smuzhiyun PERF_CP_PREDICATED_DRAWS_KILLED = 25,
307*4882a593Smuzhiyun PERF_CP_MODE_SWITCH = 26,
308*4882a593Smuzhiyun PERF_CP_ZPASS_DONE = 27,
309*4882a593Smuzhiyun PERF_CP_CONTEXT_DONE = 28,
310*4882a593Smuzhiyun PERF_CP_CACHE_FLUSH = 29,
311*4882a593Smuzhiyun PERF_CP_LONG_PREEMPTIONS = 30,
312*4882a593Smuzhiyun };
313*4882a593Smuzhiyun
314*4882a593Smuzhiyun enum a5xx_rbbm_perfcounter_select {
315*4882a593Smuzhiyun PERF_RBBM_ALWAYS_COUNT = 0,
316*4882a593Smuzhiyun PERF_RBBM_ALWAYS_ON = 1,
317*4882a593Smuzhiyun PERF_RBBM_TSE_BUSY = 2,
318*4882a593Smuzhiyun PERF_RBBM_RAS_BUSY = 3,
319*4882a593Smuzhiyun PERF_RBBM_PC_DCALL_BUSY = 4,
320*4882a593Smuzhiyun PERF_RBBM_PC_VSD_BUSY = 5,
321*4882a593Smuzhiyun PERF_RBBM_STATUS_MASKED = 6,
322*4882a593Smuzhiyun PERF_RBBM_COM_BUSY = 7,
323*4882a593Smuzhiyun PERF_RBBM_DCOM_BUSY = 8,
324*4882a593Smuzhiyun PERF_RBBM_VBIF_BUSY = 9,
325*4882a593Smuzhiyun PERF_RBBM_VSC_BUSY = 10,
326*4882a593Smuzhiyun PERF_RBBM_TESS_BUSY = 11,
327*4882a593Smuzhiyun PERF_RBBM_UCHE_BUSY = 12,
328*4882a593Smuzhiyun PERF_RBBM_HLSQ_BUSY = 13,
329*4882a593Smuzhiyun };
330*4882a593Smuzhiyun
331*4882a593Smuzhiyun enum a5xx_pc_perfcounter_select {
332*4882a593Smuzhiyun PERF_PC_BUSY_CYCLES = 0,
333*4882a593Smuzhiyun PERF_PC_WORKING_CYCLES = 1,
334*4882a593Smuzhiyun PERF_PC_STALL_CYCLES_VFD = 2,
335*4882a593Smuzhiyun PERF_PC_STALL_CYCLES_TSE = 3,
336*4882a593Smuzhiyun PERF_PC_STALL_CYCLES_VPC = 4,
337*4882a593Smuzhiyun PERF_PC_STALL_CYCLES_UCHE = 5,
338*4882a593Smuzhiyun PERF_PC_STALL_CYCLES_TESS = 6,
339*4882a593Smuzhiyun PERF_PC_STALL_CYCLES_TSE_ONLY = 7,
340*4882a593Smuzhiyun PERF_PC_STALL_CYCLES_VPC_ONLY = 8,
341*4882a593Smuzhiyun PERF_PC_PASS1_TF_STALL_CYCLES = 9,
342*4882a593Smuzhiyun PERF_PC_STARVE_CYCLES_FOR_INDEX = 10,
343*4882a593Smuzhiyun PERF_PC_STARVE_CYCLES_FOR_TESS_FACTOR = 11,
344*4882a593Smuzhiyun PERF_PC_STARVE_CYCLES_FOR_VIZ_STREAM = 12,
345*4882a593Smuzhiyun PERF_PC_STARVE_CYCLES_FOR_POSITION = 13,
346*4882a593Smuzhiyun PERF_PC_STARVE_CYCLES_DI = 14,
347*4882a593Smuzhiyun PERF_PC_VIS_STREAMS_LOADED = 15,
348*4882a593Smuzhiyun PERF_PC_INSTANCES = 16,
349*4882a593Smuzhiyun PERF_PC_VPC_PRIMITIVES = 17,
350*4882a593Smuzhiyun PERF_PC_DEAD_PRIM = 18,
351*4882a593Smuzhiyun PERF_PC_LIVE_PRIM = 19,
352*4882a593Smuzhiyun PERF_PC_VERTEX_HITS = 20,
353*4882a593Smuzhiyun PERF_PC_IA_VERTICES = 21,
354*4882a593Smuzhiyun PERF_PC_IA_PRIMITIVES = 22,
355*4882a593Smuzhiyun PERF_PC_GS_PRIMITIVES = 23,
356*4882a593Smuzhiyun PERF_PC_HS_INVOCATIONS = 24,
357*4882a593Smuzhiyun PERF_PC_DS_INVOCATIONS = 25,
358*4882a593Smuzhiyun PERF_PC_VS_INVOCATIONS = 26,
359*4882a593Smuzhiyun PERF_PC_GS_INVOCATIONS = 27,
360*4882a593Smuzhiyun PERF_PC_DS_PRIMITIVES = 28,
361*4882a593Smuzhiyun PERF_PC_VPC_POS_DATA_TRANSACTION = 29,
362*4882a593Smuzhiyun PERF_PC_3D_DRAWCALLS = 30,
363*4882a593Smuzhiyun PERF_PC_2D_DRAWCALLS = 31,
364*4882a593Smuzhiyun PERF_PC_NON_DRAWCALL_GLOBAL_EVENTS = 32,
365*4882a593Smuzhiyun PERF_TESS_BUSY_CYCLES = 33,
366*4882a593Smuzhiyun PERF_TESS_WORKING_CYCLES = 34,
367*4882a593Smuzhiyun PERF_TESS_STALL_CYCLES_PC = 35,
368*4882a593Smuzhiyun PERF_TESS_STARVE_CYCLES_PC = 36,
369*4882a593Smuzhiyun };
370*4882a593Smuzhiyun
371*4882a593Smuzhiyun enum a5xx_vfd_perfcounter_select {
372*4882a593Smuzhiyun PERF_VFD_BUSY_CYCLES = 0,
373*4882a593Smuzhiyun PERF_VFD_STALL_CYCLES_UCHE = 1,
374*4882a593Smuzhiyun PERF_VFD_STALL_CYCLES_VPC_ALLOC = 2,
375*4882a593Smuzhiyun PERF_VFD_STALL_CYCLES_MISS_VB = 3,
376*4882a593Smuzhiyun PERF_VFD_STALL_CYCLES_MISS_Q = 4,
377*4882a593Smuzhiyun PERF_VFD_STALL_CYCLES_SP_INFO = 5,
378*4882a593Smuzhiyun PERF_VFD_STALL_CYCLES_SP_ATTR = 6,
379*4882a593Smuzhiyun PERF_VFD_STALL_CYCLES_VFDP_VB = 7,
380*4882a593Smuzhiyun PERF_VFD_STALL_CYCLES_VFDP_Q = 8,
381*4882a593Smuzhiyun PERF_VFD_DECODER_PACKER_STALL = 9,
382*4882a593Smuzhiyun PERF_VFD_STARVE_CYCLES_UCHE = 10,
383*4882a593Smuzhiyun PERF_VFD_RBUFFER_FULL = 11,
384*4882a593Smuzhiyun PERF_VFD_ATTR_INFO_FIFO_FULL = 12,
385*4882a593Smuzhiyun PERF_VFD_DECODED_ATTRIBUTE_BYTES = 13,
386*4882a593Smuzhiyun PERF_VFD_NUM_ATTRIBUTES = 14,
387*4882a593Smuzhiyun PERF_VFD_INSTRUCTIONS = 15,
388*4882a593Smuzhiyun PERF_VFD_UPPER_SHADER_FIBERS = 16,
389*4882a593Smuzhiyun PERF_VFD_LOWER_SHADER_FIBERS = 17,
390*4882a593Smuzhiyun PERF_VFD_MODE_0_FIBERS = 18,
391*4882a593Smuzhiyun PERF_VFD_MODE_1_FIBERS = 19,
392*4882a593Smuzhiyun PERF_VFD_MODE_2_FIBERS = 20,
393*4882a593Smuzhiyun PERF_VFD_MODE_3_FIBERS = 21,
394*4882a593Smuzhiyun PERF_VFD_MODE_4_FIBERS = 22,
395*4882a593Smuzhiyun PERF_VFD_TOTAL_VERTICES = 23,
396*4882a593Smuzhiyun PERF_VFD_NUM_ATTR_MISS = 24,
397*4882a593Smuzhiyun PERF_VFD_1_BURST_REQ = 25,
398*4882a593Smuzhiyun PERF_VFDP_STALL_CYCLES_VFD = 26,
399*4882a593Smuzhiyun PERF_VFDP_STALL_CYCLES_VFD_INDEX = 27,
400*4882a593Smuzhiyun PERF_VFDP_STALL_CYCLES_VFD_PROG = 28,
401*4882a593Smuzhiyun PERF_VFDP_STARVE_CYCLES_PC = 29,
402*4882a593Smuzhiyun PERF_VFDP_VS_STAGE_32_WAVES = 30,
403*4882a593Smuzhiyun };
404*4882a593Smuzhiyun
405*4882a593Smuzhiyun enum a5xx_hlsq_perfcounter_select {
406*4882a593Smuzhiyun PERF_HLSQ_BUSY_CYCLES = 0,
407*4882a593Smuzhiyun PERF_HLSQ_STALL_CYCLES_UCHE = 1,
408*4882a593Smuzhiyun PERF_HLSQ_STALL_CYCLES_SP_STATE = 2,
409*4882a593Smuzhiyun PERF_HLSQ_STALL_CYCLES_SP_FS_STAGE = 3,
410*4882a593Smuzhiyun PERF_HLSQ_UCHE_LATENCY_CYCLES = 4,
411*4882a593Smuzhiyun PERF_HLSQ_UCHE_LATENCY_COUNT = 5,
412*4882a593Smuzhiyun PERF_HLSQ_FS_STAGE_32_WAVES = 6,
413*4882a593Smuzhiyun PERF_HLSQ_FS_STAGE_64_WAVES = 7,
414*4882a593Smuzhiyun PERF_HLSQ_QUADS = 8,
415*4882a593Smuzhiyun PERF_HLSQ_SP_STATE_COPY_TRANS_FS_STAGE = 9,
416*4882a593Smuzhiyun PERF_HLSQ_SP_STATE_COPY_TRANS_VS_STAGE = 10,
417*4882a593Smuzhiyun PERF_HLSQ_TP_STATE_COPY_TRANS_FS_STAGE = 11,
418*4882a593Smuzhiyun PERF_HLSQ_TP_STATE_COPY_TRANS_VS_STAGE = 12,
419*4882a593Smuzhiyun PERF_HLSQ_CS_INVOCATIONS = 13,
420*4882a593Smuzhiyun PERF_HLSQ_COMPUTE_DRAWCALLS = 14,
421*4882a593Smuzhiyun };
422*4882a593Smuzhiyun
423*4882a593Smuzhiyun enum a5xx_vpc_perfcounter_select {
424*4882a593Smuzhiyun PERF_VPC_BUSY_CYCLES = 0,
425*4882a593Smuzhiyun PERF_VPC_WORKING_CYCLES = 1,
426*4882a593Smuzhiyun PERF_VPC_STALL_CYCLES_UCHE = 2,
427*4882a593Smuzhiyun PERF_VPC_STALL_CYCLES_VFD_WACK = 3,
428*4882a593Smuzhiyun PERF_VPC_STALL_CYCLES_HLSQ_PRIM_ALLOC = 4,
429*4882a593Smuzhiyun PERF_VPC_STALL_CYCLES_PC = 5,
430*4882a593Smuzhiyun PERF_VPC_STALL_CYCLES_SP_LM = 6,
431*4882a593Smuzhiyun PERF_VPC_POS_EXPORT_STALL_CYCLES = 7,
432*4882a593Smuzhiyun PERF_VPC_STARVE_CYCLES_SP = 8,
433*4882a593Smuzhiyun PERF_VPC_STARVE_CYCLES_LRZ = 9,
434*4882a593Smuzhiyun PERF_VPC_PC_PRIMITIVES = 10,
435*4882a593Smuzhiyun PERF_VPC_SP_COMPONENTS = 11,
436*4882a593Smuzhiyun PERF_VPC_SP_LM_PRIMITIVES = 12,
437*4882a593Smuzhiyun PERF_VPC_SP_LM_COMPONENTS = 13,
438*4882a593Smuzhiyun PERF_VPC_SP_LM_DWORDS = 14,
439*4882a593Smuzhiyun PERF_VPC_STREAMOUT_COMPONENTS = 15,
440*4882a593Smuzhiyun PERF_VPC_GRANT_PHASES = 16,
441*4882a593Smuzhiyun };
442*4882a593Smuzhiyun
443*4882a593Smuzhiyun enum a5xx_tse_perfcounter_select {
444*4882a593Smuzhiyun PERF_TSE_BUSY_CYCLES = 0,
445*4882a593Smuzhiyun PERF_TSE_CLIPPING_CYCLES = 1,
446*4882a593Smuzhiyun PERF_TSE_STALL_CYCLES_RAS = 2,
447*4882a593Smuzhiyun PERF_TSE_STALL_CYCLES_LRZ_BARYPLANE = 3,
448*4882a593Smuzhiyun PERF_TSE_STALL_CYCLES_LRZ_ZPLANE = 4,
449*4882a593Smuzhiyun PERF_TSE_STARVE_CYCLES_PC = 5,
450*4882a593Smuzhiyun PERF_TSE_INPUT_PRIM = 6,
451*4882a593Smuzhiyun PERF_TSE_INPUT_NULL_PRIM = 7,
452*4882a593Smuzhiyun PERF_TSE_TRIVAL_REJ_PRIM = 8,
453*4882a593Smuzhiyun PERF_TSE_CLIPPED_PRIM = 9,
454*4882a593Smuzhiyun PERF_TSE_ZERO_AREA_PRIM = 10,
455*4882a593Smuzhiyun PERF_TSE_FACENESS_CULLED_PRIM = 11,
456*4882a593Smuzhiyun PERF_TSE_ZERO_PIXEL_PRIM = 12,
457*4882a593Smuzhiyun PERF_TSE_OUTPUT_NULL_PRIM = 13,
458*4882a593Smuzhiyun PERF_TSE_OUTPUT_VISIBLE_PRIM = 14,
459*4882a593Smuzhiyun PERF_TSE_CINVOCATION = 15,
460*4882a593Smuzhiyun PERF_TSE_CPRIMITIVES = 16,
461*4882a593Smuzhiyun PERF_TSE_2D_INPUT_PRIM = 17,
462*4882a593Smuzhiyun PERF_TSE_2D_ALIVE_CLCLES = 18,
463*4882a593Smuzhiyun };
464*4882a593Smuzhiyun
465*4882a593Smuzhiyun enum a5xx_ras_perfcounter_select {
466*4882a593Smuzhiyun PERF_RAS_BUSY_CYCLES = 0,
467*4882a593Smuzhiyun PERF_RAS_SUPERTILE_ACTIVE_CYCLES = 1,
468*4882a593Smuzhiyun PERF_RAS_STALL_CYCLES_LRZ = 2,
469*4882a593Smuzhiyun PERF_RAS_STARVE_CYCLES_TSE = 3,
470*4882a593Smuzhiyun PERF_RAS_SUPER_TILES = 4,
471*4882a593Smuzhiyun PERF_RAS_8X4_TILES = 5,
472*4882a593Smuzhiyun PERF_RAS_MASKGEN_ACTIVE = 6,
473*4882a593Smuzhiyun PERF_RAS_FULLY_COVERED_SUPER_TILES = 7,
474*4882a593Smuzhiyun PERF_RAS_FULLY_COVERED_8X4_TILES = 8,
475*4882a593Smuzhiyun PERF_RAS_PRIM_KILLED_INVISILBE = 9,
476*4882a593Smuzhiyun };
477*4882a593Smuzhiyun
478*4882a593Smuzhiyun enum a5xx_lrz_perfcounter_select {
479*4882a593Smuzhiyun PERF_LRZ_BUSY_CYCLES = 0,
480*4882a593Smuzhiyun PERF_LRZ_STARVE_CYCLES_RAS = 1,
481*4882a593Smuzhiyun PERF_LRZ_STALL_CYCLES_RB = 2,
482*4882a593Smuzhiyun PERF_LRZ_STALL_CYCLES_VSC = 3,
483*4882a593Smuzhiyun PERF_LRZ_STALL_CYCLES_VPC = 4,
484*4882a593Smuzhiyun PERF_LRZ_STALL_CYCLES_FLAG_PREFETCH = 5,
485*4882a593Smuzhiyun PERF_LRZ_STALL_CYCLES_UCHE = 6,
486*4882a593Smuzhiyun PERF_LRZ_LRZ_READ = 7,
487*4882a593Smuzhiyun PERF_LRZ_LRZ_WRITE = 8,
488*4882a593Smuzhiyun PERF_LRZ_READ_LATENCY = 9,
489*4882a593Smuzhiyun PERF_LRZ_MERGE_CACHE_UPDATING = 10,
490*4882a593Smuzhiyun PERF_LRZ_PRIM_KILLED_BY_MASKGEN = 11,
491*4882a593Smuzhiyun PERF_LRZ_PRIM_KILLED_BY_LRZ = 12,
492*4882a593Smuzhiyun PERF_LRZ_VISIBLE_PRIM_AFTER_LRZ = 13,
493*4882a593Smuzhiyun PERF_LRZ_FULL_8X8_TILES = 14,
494*4882a593Smuzhiyun PERF_LRZ_PARTIAL_8X8_TILES = 15,
495*4882a593Smuzhiyun PERF_LRZ_TILE_KILLED = 16,
496*4882a593Smuzhiyun PERF_LRZ_TOTAL_PIXEL = 17,
497*4882a593Smuzhiyun PERF_LRZ_VISIBLE_PIXEL_AFTER_LRZ = 18,
498*4882a593Smuzhiyun };
499*4882a593Smuzhiyun
500*4882a593Smuzhiyun enum a5xx_uche_perfcounter_select {
501*4882a593Smuzhiyun PERF_UCHE_BUSY_CYCLES = 0,
502*4882a593Smuzhiyun PERF_UCHE_STALL_CYCLES_VBIF = 1,
503*4882a593Smuzhiyun PERF_UCHE_VBIF_LATENCY_CYCLES = 2,
504*4882a593Smuzhiyun PERF_UCHE_VBIF_LATENCY_SAMPLES = 3,
505*4882a593Smuzhiyun PERF_UCHE_VBIF_READ_BEATS_TP = 4,
506*4882a593Smuzhiyun PERF_UCHE_VBIF_READ_BEATS_VFD = 5,
507*4882a593Smuzhiyun PERF_UCHE_VBIF_READ_BEATS_HLSQ = 6,
508*4882a593Smuzhiyun PERF_UCHE_VBIF_READ_BEATS_LRZ = 7,
509*4882a593Smuzhiyun PERF_UCHE_VBIF_READ_BEATS_SP = 8,
510*4882a593Smuzhiyun PERF_UCHE_READ_REQUESTS_TP = 9,
511*4882a593Smuzhiyun PERF_UCHE_READ_REQUESTS_VFD = 10,
512*4882a593Smuzhiyun PERF_UCHE_READ_REQUESTS_HLSQ = 11,
513*4882a593Smuzhiyun PERF_UCHE_READ_REQUESTS_LRZ = 12,
514*4882a593Smuzhiyun PERF_UCHE_READ_REQUESTS_SP = 13,
515*4882a593Smuzhiyun PERF_UCHE_WRITE_REQUESTS_LRZ = 14,
516*4882a593Smuzhiyun PERF_UCHE_WRITE_REQUESTS_SP = 15,
517*4882a593Smuzhiyun PERF_UCHE_WRITE_REQUESTS_VPC = 16,
518*4882a593Smuzhiyun PERF_UCHE_WRITE_REQUESTS_VSC = 17,
519*4882a593Smuzhiyun PERF_UCHE_EVICTS = 18,
520*4882a593Smuzhiyun PERF_UCHE_BANK_REQ0 = 19,
521*4882a593Smuzhiyun PERF_UCHE_BANK_REQ1 = 20,
522*4882a593Smuzhiyun PERF_UCHE_BANK_REQ2 = 21,
523*4882a593Smuzhiyun PERF_UCHE_BANK_REQ3 = 22,
524*4882a593Smuzhiyun PERF_UCHE_BANK_REQ4 = 23,
525*4882a593Smuzhiyun PERF_UCHE_BANK_REQ5 = 24,
526*4882a593Smuzhiyun PERF_UCHE_BANK_REQ6 = 25,
527*4882a593Smuzhiyun PERF_UCHE_BANK_REQ7 = 26,
528*4882a593Smuzhiyun PERF_UCHE_VBIF_READ_BEATS_CH0 = 27,
529*4882a593Smuzhiyun PERF_UCHE_VBIF_READ_BEATS_CH1 = 28,
530*4882a593Smuzhiyun PERF_UCHE_GMEM_READ_BEATS = 29,
531*4882a593Smuzhiyun PERF_UCHE_FLAG_COUNT = 30,
532*4882a593Smuzhiyun };
533*4882a593Smuzhiyun
534*4882a593Smuzhiyun enum a5xx_tp_perfcounter_select {
535*4882a593Smuzhiyun PERF_TP_BUSY_CYCLES = 0,
536*4882a593Smuzhiyun PERF_TP_STALL_CYCLES_UCHE = 1,
537*4882a593Smuzhiyun PERF_TP_LATENCY_CYCLES = 2,
538*4882a593Smuzhiyun PERF_TP_LATENCY_TRANS = 3,
539*4882a593Smuzhiyun PERF_TP_FLAG_CACHE_REQUEST_SAMPLES = 4,
540*4882a593Smuzhiyun PERF_TP_FLAG_CACHE_REQUEST_LATENCY = 5,
541*4882a593Smuzhiyun PERF_TP_L1_CACHELINE_REQUESTS = 6,
542*4882a593Smuzhiyun PERF_TP_L1_CACHELINE_MISSES = 7,
543*4882a593Smuzhiyun PERF_TP_SP_TP_TRANS = 8,
544*4882a593Smuzhiyun PERF_TP_TP_SP_TRANS = 9,
545*4882a593Smuzhiyun PERF_TP_OUTPUT_PIXELS = 10,
546*4882a593Smuzhiyun PERF_TP_FILTER_WORKLOAD_16BIT = 11,
547*4882a593Smuzhiyun PERF_TP_FILTER_WORKLOAD_32BIT = 12,
548*4882a593Smuzhiyun PERF_TP_QUADS_RECEIVED = 13,
549*4882a593Smuzhiyun PERF_TP_QUADS_OFFSET = 14,
550*4882a593Smuzhiyun PERF_TP_QUADS_SHADOW = 15,
551*4882a593Smuzhiyun PERF_TP_QUADS_ARRAY = 16,
552*4882a593Smuzhiyun PERF_TP_QUADS_GRADIENT = 17,
553*4882a593Smuzhiyun PERF_TP_QUADS_1D = 18,
554*4882a593Smuzhiyun PERF_TP_QUADS_2D = 19,
555*4882a593Smuzhiyun PERF_TP_QUADS_BUFFER = 20,
556*4882a593Smuzhiyun PERF_TP_QUADS_3D = 21,
557*4882a593Smuzhiyun PERF_TP_QUADS_CUBE = 22,
558*4882a593Smuzhiyun PERF_TP_STATE_CACHE_REQUESTS = 23,
559*4882a593Smuzhiyun PERF_TP_STATE_CACHE_MISSES = 24,
560*4882a593Smuzhiyun PERF_TP_DIVERGENT_QUADS_RECEIVED = 25,
561*4882a593Smuzhiyun PERF_TP_BINDLESS_STATE_CACHE_REQUESTS = 26,
562*4882a593Smuzhiyun PERF_TP_BINDLESS_STATE_CACHE_MISSES = 27,
563*4882a593Smuzhiyun PERF_TP_PRT_NON_RESIDENT_EVENTS = 28,
564*4882a593Smuzhiyun PERF_TP_OUTPUT_PIXELS_POINT = 29,
565*4882a593Smuzhiyun PERF_TP_OUTPUT_PIXELS_BILINEAR = 30,
566*4882a593Smuzhiyun PERF_TP_OUTPUT_PIXELS_MIP = 31,
567*4882a593Smuzhiyun PERF_TP_OUTPUT_PIXELS_ANISO = 32,
568*4882a593Smuzhiyun PERF_TP_OUTPUT_PIXELS_ZERO_LOD = 33,
569*4882a593Smuzhiyun PERF_TP_FLAG_CACHE_REQUESTS = 34,
570*4882a593Smuzhiyun PERF_TP_FLAG_CACHE_MISSES = 35,
571*4882a593Smuzhiyun PERF_TP_L1_5_L2_REQUESTS = 36,
572*4882a593Smuzhiyun PERF_TP_2D_OUTPUT_PIXELS = 37,
573*4882a593Smuzhiyun PERF_TP_2D_OUTPUT_PIXELS_POINT = 38,
574*4882a593Smuzhiyun PERF_TP_2D_OUTPUT_PIXELS_BILINEAR = 39,
575*4882a593Smuzhiyun PERF_TP_2D_FILTER_WORKLOAD_16BIT = 40,
576*4882a593Smuzhiyun PERF_TP_2D_FILTER_WORKLOAD_32BIT = 41,
577*4882a593Smuzhiyun };
578*4882a593Smuzhiyun
579*4882a593Smuzhiyun enum a5xx_sp_perfcounter_select {
580*4882a593Smuzhiyun PERF_SP_BUSY_CYCLES = 0,
581*4882a593Smuzhiyun PERF_SP_ALU_WORKING_CYCLES = 1,
582*4882a593Smuzhiyun PERF_SP_EFU_WORKING_CYCLES = 2,
583*4882a593Smuzhiyun PERF_SP_STALL_CYCLES_VPC = 3,
584*4882a593Smuzhiyun PERF_SP_STALL_CYCLES_TP = 4,
585*4882a593Smuzhiyun PERF_SP_STALL_CYCLES_UCHE = 5,
586*4882a593Smuzhiyun PERF_SP_STALL_CYCLES_RB = 6,
587*4882a593Smuzhiyun PERF_SP_SCHEDULER_NON_WORKING = 7,
588*4882a593Smuzhiyun PERF_SP_WAVE_CONTEXTS = 8,
589*4882a593Smuzhiyun PERF_SP_WAVE_CONTEXT_CYCLES = 9,
590*4882a593Smuzhiyun PERF_SP_FS_STAGE_WAVE_CYCLES = 10,
591*4882a593Smuzhiyun PERF_SP_FS_STAGE_WAVE_SAMPLES = 11,
592*4882a593Smuzhiyun PERF_SP_VS_STAGE_WAVE_CYCLES = 12,
593*4882a593Smuzhiyun PERF_SP_VS_STAGE_WAVE_SAMPLES = 13,
594*4882a593Smuzhiyun PERF_SP_FS_STAGE_DURATION_CYCLES = 14,
595*4882a593Smuzhiyun PERF_SP_VS_STAGE_DURATION_CYCLES = 15,
596*4882a593Smuzhiyun PERF_SP_WAVE_CTRL_CYCLES = 16,
597*4882a593Smuzhiyun PERF_SP_WAVE_LOAD_CYCLES = 17,
598*4882a593Smuzhiyun PERF_SP_WAVE_EMIT_CYCLES = 18,
599*4882a593Smuzhiyun PERF_SP_WAVE_NOP_CYCLES = 19,
600*4882a593Smuzhiyun PERF_SP_WAVE_WAIT_CYCLES = 20,
601*4882a593Smuzhiyun PERF_SP_WAVE_FETCH_CYCLES = 21,
602*4882a593Smuzhiyun PERF_SP_WAVE_IDLE_CYCLES = 22,
603*4882a593Smuzhiyun PERF_SP_WAVE_END_CYCLES = 23,
604*4882a593Smuzhiyun PERF_SP_WAVE_LONG_SYNC_CYCLES = 24,
605*4882a593Smuzhiyun PERF_SP_WAVE_SHORT_SYNC_CYCLES = 25,
606*4882a593Smuzhiyun PERF_SP_WAVE_JOIN_CYCLES = 26,
607*4882a593Smuzhiyun PERF_SP_LM_LOAD_INSTRUCTIONS = 27,
608*4882a593Smuzhiyun PERF_SP_LM_STORE_INSTRUCTIONS = 28,
609*4882a593Smuzhiyun PERF_SP_LM_ATOMICS = 29,
610*4882a593Smuzhiyun PERF_SP_GM_LOAD_INSTRUCTIONS = 30,
611*4882a593Smuzhiyun PERF_SP_GM_STORE_INSTRUCTIONS = 31,
612*4882a593Smuzhiyun PERF_SP_GM_ATOMICS = 32,
613*4882a593Smuzhiyun PERF_SP_VS_STAGE_TEX_INSTRUCTIONS = 33,
614*4882a593Smuzhiyun PERF_SP_VS_STAGE_CFLOW_INSTRUCTIONS = 34,
615*4882a593Smuzhiyun PERF_SP_VS_STAGE_EFU_INSTRUCTIONS = 35,
616*4882a593Smuzhiyun PERF_SP_VS_STAGE_FULL_ALU_INSTRUCTIONS = 36,
617*4882a593Smuzhiyun PERF_SP_VS_STAGE_HALF_ALU_INSTRUCTIONS = 37,
618*4882a593Smuzhiyun PERF_SP_FS_STAGE_TEX_INSTRUCTIONS = 38,
619*4882a593Smuzhiyun PERF_SP_FS_STAGE_CFLOW_INSTRUCTIONS = 39,
620*4882a593Smuzhiyun PERF_SP_FS_STAGE_EFU_INSTRUCTIONS = 40,
621*4882a593Smuzhiyun PERF_SP_FS_STAGE_FULL_ALU_INSTRUCTIONS = 41,
622*4882a593Smuzhiyun PERF_SP_FS_STAGE_HALF_ALU_INSTRUCTIONS = 42,
623*4882a593Smuzhiyun PERF_SP_FS_STAGE_BARY_INSTRUCTIONS = 43,
624*4882a593Smuzhiyun PERF_SP_VS_INSTRUCTIONS = 44,
625*4882a593Smuzhiyun PERF_SP_FS_INSTRUCTIONS = 45,
626*4882a593Smuzhiyun PERF_SP_ADDR_LOCK_COUNT = 46,
627*4882a593Smuzhiyun PERF_SP_UCHE_READ_TRANS = 47,
628*4882a593Smuzhiyun PERF_SP_UCHE_WRITE_TRANS = 48,
629*4882a593Smuzhiyun PERF_SP_EXPORT_VPC_TRANS = 49,
630*4882a593Smuzhiyun PERF_SP_EXPORT_RB_TRANS = 50,
631*4882a593Smuzhiyun PERF_SP_PIXELS_KILLED = 51,
632*4882a593Smuzhiyun PERF_SP_ICL1_REQUESTS = 52,
633*4882a593Smuzhiyun PERF_SP_ICL1_MISSES = 53,
634*4882a593Smuzhiyun PERF_SP_ICL0_REQUESTS = 54,
635*4882a593Smuzhiyun PERF_SP_ICL0_MISSES = 55,
636*4882a593Smuzhiyun PERF_SP_HS_INSTRUCTIONS = 56,
637*4882a593Smuzhiyun PERF_SP_DS_INSTRUCTIONS = 57,
638*4882a593Smuzhiyun PERF_SP_GS_INSTRUCTIONS = 58,
639*4882a593Smuzhiyun PERF_SP_CS_INSTRUCTIONS = 59,
640*4882a593Smuzhiyun PERF_SP_GPR_READ = 60,
641*4882a593Smuzhiyun PERF_SP_GPR_WRITE = 61,
642*4882a593Smuzhiyun PERF_SP_LM_CH0_REQUESTS = 62,
643*4882a593Smuzhiyun PERF_SP_LM_CH1_REQUESTS = 63,
644*4882a593Smuzhiyun PERF_SP_LM_BANK_CONFLICTS = 64,
645*4882a593Smuzhiyun };
646*4882a593Smuzhiyun
647*4882a593Smuzhiyun enum a5xx_rb_perfcounter_select {
648*4882a593Smuzhiyun PERF_RB_BUSY_CYCLES = 0,
649*4882a593Smuzhiyun PERF_RB_STALL_CYCLES_CCU = 1,
650*4882a593Smuzhiyun PERF_RB_STALL_CYCLES_HLSQ = 2,
651*4882a593Smuzhiyun PERF_RB_STALL_CYCLES_FIFO0_FULL = 3,
652*4882a593Smuzhiyun PERF_RB_STALL_CYCLES_FIFO1_FULL = 4,
653*4882a593Smuzhiyun PERF_RB_STALL_CYCLES_FIFO2_FULL = 5,
654*4882a593Smuzhiyun PERF_RB_STARVE_CYCLES_SP = 6,
655*4882a593Smuzhiyun PERF_RB_STARVE_CYCLES_LRZ_TILE = 7,
656*4882a593Smuzhiyun PERF_RB_STARVE_CYCLES_CCU = 8,
657*4882a593Smuzhiyun PERF_RB_STARVE_CYCLES_Z_PLANE = 9,
658*4882a593Smuzhiyun PERF_RB_STARVE_CYCLES_BARY_PLANE = 10,
659*4882a593Smuzhiyun PERF_RB_Z_WORKLOAD = 11,
660*4882a593Smuzhiyun PERF_RB_HLSQ_ACTIVE = 12,
661*4882a593Smuzhiyun PERF_RB_Z_READ = 13,
662*4882a593Smuzhiyun PERF_RB_Z_WRITE = 14,
663*4882a593Smuzhiyun PERF_RB_C_READ = 15,
664*4882a593Smuzhiyun PERF_RB_C_WRITE = 16,
665*4882a593Smuzhiyun PERF_RB_TOTAL_PASS = 17,
666*4882a593Smuzhiyun PERF_RB_Z_PASS = 18,
667*4882a593Smuzhiyun PERF_RB_Z_FAIL = 19,
668*4882a593Smuzhiyun PERF_RB_S_FAIL = 20,
669*4882a593Smuzhiyun PERF_RB_BLENDED_FXP_COMPONENTS = 21,
670*4882a593Smuzhiyun PERF_RB_BLENDED_FP16_COMPONENTS = 22,
671*4882a593Smuzhiyun RB_RESERVED = 23,
672*4882a593Smuzhiyun PERF_RB_2D_ALIVE_CYCLES = 24,
673*4882a593Smuzhiyun PERF_RB_2D_STALL_CYCLES_A2D = 25,
674*4882a593Smuzhiyun PERF_RB_2D_STARVE_CYCLES_SRC = 26,
675*4882a593Smuzhiyun PERF_RB_2D_STARVE_CYCLES_SP = 27,
676*4882a593Smuzhiyun PERF_RB_2D_STARVE_CYCLES_DST = 28,
677*4882a593Smuzhiyun PERF_RB_2D_VALID_PIXELS = 29,
678*4882a593Smuzhiyun };
679*4882a593Smuzhiyun
680*4882a593Smuzhiyun enum a5xx_rb_samples_perfcounter_select {
681*4882a593Smuzhiyun TOTAL_SAMPLES = 0,
682*4882a593Smuzhiyun ZPASS_SAMPLES = 1,
683*4882a593Smuzhiyun ZFAIL_SAMPLES = 2,
684*4882a593Smuzhiyun SFAIL_SAMPLES = 3,
685*4882a593Smuzhiyun };
686*4882a593Smuzhiyun
687*4882a593Smuzhiyun enum a5xx_vsc_perfcounter_select {
688*4882a593Smuzhiyun PERF_VSC_BUSY_CYCLES = 0,
689*4882a593Smuzhiyun PERF_VSC_WORKING_CYCLES = 1,
690*4882a593Smuzhiyun PERF_VSC_STALL_CYCLES_UCHE = 2,
691*4882a593Smuzhiyun PERF_VSC_EOT_NUM = 3,
692*4882a593Smuzhiyun };
693*4882a593Smuzhiyun
694*4882a593Smuzhiyun enum a5xx_ccu_perfcounter_select {
695*4882a593Smuzhiyun PERF_CCU_BUSY_CYCLES = 0,
696*4882a593Smuzhiyun PERF_CCU_STALL_CYCLES_RB_DEPTH_RETURN = 1,
697*4882a593Smuzhiyun PERF_CCU_STALL_CYCLES_RB_COLOR_RETURN = 2,
698*4882a593Smuzhiyun PERF_CCU_STARVE_CYCLES_FLAG_RETURN = 3,
699*4882a593Smuzhiyun PERF_CCU_DEPTH_BLOCKS = 4,
700*4882a593Smuzhiyun PERF_CCU_COLOR_BLOCKS = 5,
701*4882a593Smuzhiyun PERF_CCU_DEPTH_BLOCK_HIT = 6,
702*4882a593Smuzhiyun PERF_CCU_COLOR_BLOCK_HIT = 7,
703*4882a593Smuzhiyun PERF_CCU_PARTIAL_BLOCK_READ = 8,
704*4882a593Smuzhiyun PERF_CCU_GMEM_READ = 9,
705*4882a593Smuzhiyun PERF_CCU_GMEM_WRITE = 10,
706*4882a593Smuzhiyun PERF_CCU_DEPTH_READ_FLAG0_COUNT = 11,
707*4882a593Smuzhiyun PERF_CCU_DEPTH_READ_FLAG1_COUNT = 12,
708*4882a593Smuzhiyun PERF_CCU_DEPTH_READ_FLAG2_COUNT = 13,
709*4882a593Smuzhiyun PERF_CCU_DEPTH_READ_FLAG3_COUNT = 14,
710*4882a593Smuzhiyun PERF_CCU_DEPTH_READ_FLAG4_COUNT = 15,
711*4882a593Smuzhiyun PERF_CCU_COLOR_READ_FLAG0_COUNT = 16,
712*4882a593Smuzhiyun PERF_CCU_COLOR_READ_FLAG1_COUNT = 17,
713*4882a593Smuzhiyun PERF_CCU_COLOR_READ_FLAG2_COUNT = 18,
714*4882a593Smuzhiyun PERF_CCU_COLOR_READ_FLAG3_COUNT = 19,
715*4882a593Smuzhiyun PERF_CCU_COLOR_READ_FLAG4_COUNT = 20,
716*4882a593Smuzhiyun PERF_CCU_2D_BUSY_CYCLES = 21,
717*4882a593Smuzhiyun PERF_CCU_2D_RD_REQ = 22,
718*4882a593Smuzhiyun PERF_CCU_2D_WR_REQ = 23,
719*4882a593Smuzhiyun PERF_CCU_2D_REORDER_STARVE_CYCLES = 24,
720*4882a593Smuzhiyun PERF_CCU_2D_PIXELS = 25,
721*4882a593Smuzhiyun };
722*4882a593Smuzhiyun
723*4882a593Smuzhiyun enum a5xx_cmp_perfcounter_select {
724*4882a593Smuzhiyun PERF_CMPDECMP_STALL_CYCLES_VBIF = 0,
725*4882a593Smuzhiyun PERF_CMPDECMP_VBIF_LATENCY_CYCLES = 1,
726*4882a593Smuzhiyun PERF_CMPDECMP_VBIF_LATENCY_SAMPLES = 2,
727*4882a593Smuzhiyun PERF_CMPDECMP_VBIF_READ_DATA_CCU = 3,
728*4882a593Smuzhiyun PERF_CMPDECMP_VBIF_WRITE_DATA_CCU = 4,
729*4882a593Smuzhiyun PERF_CMPDECMP_VBIF_READ_REQUEST = 5,
730*4882a593Smuzhiyun PERF_CMPDECMP_VBIF_WRITE_REQUEST = 6,
731*4882a593Smuzhiyun PERF_CMPDECMP_VBIF_READ_DATA = 7,
732*4882a593Smuzhiyun PERF_CMPDECMP_VBIF_WRITE_DATA = 8,
733*4882a593Smuzhiyun PERF_CMPDECMP_FLAG_FETCH_CYCLES = 9,
734*4882a593Smuzhiyun PERF_CMPDECMP_FLAG_FETCH_SAMPLES = 10,
735*4882a593Smuzhiyun PERF_CMPDECMP_DEPTH_WRITE_FLAG1_COUNT = 11,
736*4882a593Smuzhiyun PERF_CMPDECMP_DEPTH_WRITE_FLAG2_COUNT = 12,
737*4882a593Smuzhiyun PERF_CMPDECMP_DEPTH_WRITE_FLAG3_COUNT = 13,
738*4882a593Smuzhiyun PERF_CMPDECMP_DEPTH_WRITE_FLAG4_COUNT = 14,
739*4882a593Smuzhiyun PERF_CMPDECMP_COLOR_WRITE_FLAG1_COUNT = 15,
740*4882a593Smuzhiyun PERF_CMPDECMP_COLOR_WRITE_FLAG2_COUNT = 16,
741*4882a593Smuzhiyun PERF_CMPDECMP_COLOR_WRITE_FLAG3_COUNT = 17,
742*4882a593Smuzhiyun PERF_CMPDECMP_COLOR_WRITE_FLAG4_COUNT = 18,
743*4882a593Smuzhiyun PERF_CMPDECMP_2D_STALL_CYCLES_VBIF_REQ = 19,
744*4882a593Smuzhiyun PERF_CMPDECMP_2D_STALL_CYCLES_VBIF_WR = 20,
745*4882a593Smuzhiyun PERF_CMPDECMP_2D_STALL_CYCLES_VBIF_RETURN = 21,
746*4882a593Smuzhiyun PERF_CMPDECMP_2D_RD_DATA = 22,
747*4882a593Smuzhiyun PERF_CMPDECMP_2D_WR_DATA = 23,
748*4882a593Smuzhiyun };
749*4882a593Smuzhiyun
750*4882a593Smuzhiyun enum a5xx_vbif_perfcounter_select {
751*4882a593Smuzhiyun AXI_READ_REQUESTS_ID_0 = 0,
752*4882a593Smuzhiyun AXI_READ_REQUESTS_ID_1 = 1,
753*4882a593Smuzhiyun AXI_READ_REQUESTS_ID_2 = 2,
754*4882a593Smuzhiyun AXI_READ_REQUESTS_ID_3 = 3,
755*4882a593Smuzhiyun AXI_READ_REQUESTS_ID_4 = 4,
756*4882a593Smuzhiyun AXI_READ_REQUESTS_ID_5 = 5,
757*4882a593Smuzhiyun AXI_READ_REQUESTS_ID_6 = 6,
758*4882a593Smuzhiyun AXI_READ_REQUESTS_ID_7 = 7,
759*4882a593Smuzhiyun AXI_READ_REQUESTS_ID_8 = 8,
760*4882a593Smuzhiyun AXI_READ_REQUESTS_ID_9 = 9,
761*4882a593Smuzhiyun AXI_READ_REQUESTS_ID_10 = 10,
762*4882a593Smuzhiyun AXI_READ_REQUESTS_ID_11 = 11,
763*4882a593Smuzhiyun AXI_READ_REQUESTS_ID_12 = 12,
764*4882a593Smuzhiyun AXI_READ_REQUESTS_ID_13 = 13,
765*4882a593Smuzhiyun AXI_READ_REQUESTS_ID_14 = 14,
766*4882a593Smuzhiyun AXI_READ_REQUESTS_ID_15 = 15,
767*4882a593Smuzhiyun AXI0_READ_REQUESTS_TOTAL = 16,
768*4882a593Smuzhiyun AXI1_READ_REQUESTS_TOTAL = 17,
769*4882a593Smuzhiyun AXI2_READ_REQUESTS_TOTAL = 18,
770*4882a593Smuzhiyun AXI3_READ_REQUESTS_TOTAL = 19,
771*4882a593Smuzhiyun AXI_READ_REQUESTS_TOTAL = 20,
772*4882a593Smuzhiyun AXI_WRITE_REQUESTS_ID_0 = 21,
773*4882a593Smuzhiyun AXI_WRITE_REQUESTS_ID_1 = 22,
774*4882a593Smuzhiyun AXI_WRITE_REQUESTS_ID_2 = 23,
775*4882a593Smuzhiyun AXI_WRITE_REQUESTS_ID_3 = 24,
776*4882a593Smuzhiyun AXI_WRITE_REQUESTS_ID_4 = 25,
777*4882a593Smuzhiyun AXI_WRITE_REQUESTS_ID_5 = 26,
778*4882a593Smuzhiyun AXI_WRITE_REQUESTS_ID_6 = 27,
779*4882a593Smuzhiyun AXI_WRITE_REQUESTS_ID_7 = 28,
780*4882a593Smuzhiyun AXI_WRITE_REQUESTS_ID_8 = 29,
781*4882a593Smuzhiyun AXI_WRITE_REQUESTS_ID_9 = 30,
782*4882a593Smuzhiyun AXI_WRITE_REQUESTS_ID_10 = 31,
783*4882a593Smuzhiyun AXI_WRITE_REQUESTS_ID_11 = 32,
784*4882a593Smuzhiyun AXI_WRITE_REQUESTS_ID_12 = 33,
785*4882a593Smuzhiyun AXI_WRITE_REQUESTS_ID_13 = 34,
786*4882a593Smuzhiyun AXI_WRITE_REQUESTS_ID_14 = 35,
787*4882a593Smuzhiyun AXI_WRITE_REQUESTS_ID_15 = 36,
788*4882a593Smuzhiyun AXI0_WRITE_REQUESTS_TOTAL = 37,
789*4882a593Smuzhiyun AXI1_WRITE_REQUESTS_TOTAL = 38,
790*4882a593Smuzhiyun AXI2_WRITE_REQUESTS_TOTAL = 39,
791*4882a593Smuzhiyun AXI3_WRITE_REQUESTS_TOTAL = 40,
792*4882a593Smuzhiyun AXI_WRITE_REQUESTS_TOTAL = 41,
793*4882a593Smuzhiyun AXI_TOTAL_REQUESTS = 42,
794*4882a593Smuzhiyun AXI_READ_DATA_BEATS_ID_0 = 43,
795*4882a593Smuzhiyun AXI_READ_DATA_BEATS_ID_1 = 44,
796*4882a593Smuzhiyun AXI_READ_DATA_BEATS_ID_2 = 45,
797*4882a593Smuzhiyun AXI_READ_DATA_BEATS_ID_3 = 46,
798*4882a593Smuzhiyun AXI_READ_DATA_BEATS_ID_4 = 47,
799*4882a593Smuzhiyun AXI_READ_DATA_BEATS_ID_5 = 48,
800*4882a593Smuzhiyun AXI_READ_DATA_BEATS_ID_6 = 49,
801*4882a593Smuzhiyun AXI_READ_DATA_BEATS_ID_7 = 50,
802*4882a593Smuzhiyun AXI_READ_DATA_BEATS_ID_8 = 51,
803*4882a593Smuzhiyun AXI_READ_DATA_BEATS_ID_9 = 52,
804*4882a593Smuzhiyun AXI_READ_DATA_BEATS_ID_10 = 53,
805*4882a593Smuzhiyun AXI_READ_DATA_BEATS_ID_11 = 54,
806*4882a593Smuzhiyun AXI_READ_DATA_BEATS_ID_12 = 55,
807*4882a593Smuzhiyun AXI_READ_DATA_BEATS_ID_13 = 56,
808*4882a593Smuzhiyun AXI_READ_DATA_BEATS_ID_14 = 57,
809*4882a593Smuzhiyun AXI_READ_DATA_BEATS_ID_15 = 58,
810*4882a593Smuzhiyun AXI0_READ_DATA_BEATS_TOTAL = 59,
811*4882a593Smuzhiyun AXI1_READ_DATA_BEATS_TOTAL = 60,
812*4882a593Smuzhiyun AXI2_READ_DATA_BEATS_TOTAL = 61,
813*4882a593Smuzhiyun AXI3_READ_DATA_BEATS_TOTAL = 62,
814*4882a593Smuzhiyun AXI_READ_DATA_BEATS_TOTAL = 63,
815*4882a593Smuzhiyun AXI_WRITE_DATA_BEATS_ID_0 = 64,
816*4882a593Smuzhiyun AXI_WRITE_DATA_BEATS_ID_1 = 65,
817*4882a593Smuzhiyun AXI_WRITE_DATA_BEATS_ID_2 = 66,
818*4882a593Smuzhiyun AXI_WRITE_DATA_BEATS_ID_3 = 67,
819*4882a593Smuzhiyun AXI_WRITE_DATA_BEATS_ID_4 = 68,
820*4882a593Smuzhiyun AXI_WRITE_DATA_BEATS_ID_5 = 69,
821*4882a593Smuzhiyun AXI_WRITE_DATA_BEATS_ID_6 = 70,
822*4882a593Smuzhiyun AXI_WRITE_DATA_BEATS_ID_7 = 71,
823*4882a593Smuzhiyun AXI_WRITE_DATA_BEATS_ID_8 = 72,
824*4882a593Smuzhiyun AXI_WRITE_DATA_BEATS_ID_9 = 73,
825*4882a593Smuzhiyun AXI_WRITE_DATA_BEATS_ID_10 = 74,
826*4882a593Smuzhiyun AXI_WRITE_DATA_BEATS_ID_11 = 75,
827*4882a593Smuzhiyun AXI_WRITE_DATA_BEATS_ID_12 = 76,
828*4882a593Smuzhiyun AXI_WRITE_DATA_BEATS_ID_13 = 77,
829*4882a593Smuzhiyun AXI_WRITE_DATA_BEATS_ID_14 = 78,
830*4882a593Smuzhiyun AXI_WRITE_DATA_BEATS_ID_15 = 79,
831*4882a593Smuzhiyun AXI0_WRITE_DATA_BEATS_TOTAL = 80,
832*4882a593Smuzhiyun AXI1_WRITE_DATA_BEATS_TOTAL = 81,
833*4882a593Smuzhiyun AXI2_WRITE_DATA_BEATS_TOTAL = 82,
834*4882a593Smuzhiyun AXI3_WRITE_DATA_BEATS_TOTAL = 83,
835*4882a593Smuzhiyun AXI_WRITE_DATA_BEATS_TOTAL = 84,
836*4882a593Smuzhiyun AXI_DATA_BEATS_TOTAL = 85,
837*4882a593Smuzhiyun };
838*4882a593Smuzhiyun
839*4882a593Smuzhiyun enum a5xx_tex_filter {
840*4882a593Smuzhiyun A5XX_TEX_NEAREST = 0,
841*4882a593Smuzhiyun A5XX_TEX_LINEAR = 1,
842*4882a593Smuzhiyun A5XX_TEX_ANISO = 2,
843*4882a593Smuzhiyun };
844*4882a593Smuzhiyun
845*4882a593Smuzhiyun enum a5xx_tex_clamp {
846*4882a593Smuzhiyun A5XX_TEX_REPEAT = 0,
847*4882a593Smuzhiyun A5XX_TEX_CLAMP_TO_EDGE = 1,
848*4882a593Smuzhiyun A5XX_TEX_MIRROR_REPEAT = 2,
849*4882a593Smuzhiyun A5XX_TEX_CLAMP_TO_BORDER = 3,
850*4882a593Smuzhiyun A5XX_TEX_MIRROR_CLAMP = 4,
851*4882a593Smuzhiyun };
852*4882a593Smuzhiyun
853*4882a593Smuzhiyun enum a5xx_tex_aniso {
854*4882a593Smuzhiyun A5XX_TEX_ANISO_1 = 0,
855*4882a593Smuzhiyun A5XX_TEX_ANISO_2 = 1,
856*4882a593Smuzhiyun A5XX_TEX_ANISO_4 = 2,
857*4882a593Smuzhiyun A5XX_TEX_ANISO_8 = 3,
858*4882a593Smuzhiyun A5XX_TEX_ANISO_16 = 4,
859*4882a593Smuzhiyun };
860*4882a593Smuzhiyun
861*4882a593Smuzhiyun enum a5xx_tex_swiz {
862*4882a593Smuzhiyun A5XX_TEX_X = 0,
863*4882a593Smuzhiyun A5XX_TEX_Y = 1,
864*4882a593Smuzhiyun A5XX_TEX_Z = 2,
865*4882a593Smuzhiyun A5XX_TEX_W = 3,
866*4882a593Smuzhiyun A5XX_TEX_ZERO = 4,
867*4882a593Smuzhiyun A5XX_TEX_ONE = 5,
868*4882a593Smuzhiyun };
869*4882a593Smuzhiyun
870*4882a593Smuzhiyun enum a5xx_tex_type {
871*4882a593Smuzhiyun A5XX_TEX_1D = 0,
872*4882a593Smuzhiyun A5XX_TEX_2D = 1,
873*4882a593Smuzhiyun A5XX_TEX_CUBE = 2,
874*4882a593Smuzhiyun A5XX_TEX_3D = 3,
875*4882a593Smuzhiyun };
876*4882a593Smuzhiyun
877*4882a593Smuzhiyun #define A5XX_INT0_RBBM_GPU_IDLE 0x00000001
878*4882a593Smuzhiyun #define A5XX_INT0_RBBM_AHB_ERROR 0x00000002
879*4882a593Smuzhiyun #define A5XX_INT0_RBBM_TRANSFER_TIMEOUT 0x00000004
880*4882a593Smuzhiyun #define A5XX_INT0_RBBM_ME_MS_TIMEOUT 0x00000008
881*4882a593Smuzhiyun #define A5XX_INT0_RBBM_PFP_MS_TIMEOUT 0x00000010
882*4882a593Smuzhiyun #define A5XX_INT0_RBBM_ETS_MS_TIMEOUT 0x00000020
883*4882a593Smuzhiyun #define A5XX_INT0_RBBM_ATB_ASYNC_OVERFLOW 0x00000040
884*4882a593Smuzhiyun #define A5XX_INT0_RBBM_GPC_ERROR 0x00000080
885*4882a593Smuzhiyun #define A5XX_INT0_CP_SW 0x00000100
886*4882a593Smuzhiyun #define A5XX_INT0_CP_HW_ERROR 0x00000200
887*4882a593Smuzhiyun #define A5XX_INT0_CP_CCU_FLUSH_DEPTH_TS 0x00000400
888*4882a593Smuzhiyun #define A5XX_INT0_CP_CCU_FLUSH_COLOR_TS 0x00000800
889*4882a593Smuzhiyun #define A5XX_INT0_CP_CCU_RESOLVE_TS 0x00001000
890*4882a593Smuzhiyun #define A5XX_INT0_CP_IB2 0x00002000
891*4882a593Smuzhiyun #define A5XX_INT0_CP_IB1 0x00004000
892*4882a593Smuzhiyun #define A5XX_INT0_CP_RB 0x00008000
893*4882a593Smuzhiyun #define A5XX_INT0_CP_UNUSED_1 0x00010000
894*4882a593Smuzhiyun #define A5XX_INT0_CP_RB_DONE_TS 0x00020000
895*4882a593Smuzhiyun #define A5XX_INT0_CP_WT_DONE_TS 0x00040000
896*4882a593Smuzhiyun #define A5XX_INT0_UNKNOWN_1 0x00080000
897*4882a593Smuzhiyun #define A5XX_INT0_CP_CACHE_FLUSH_TS 0x00100000
898*4882a593Smuzhiyun #define A5XX_INT0_UNUSED_2 0x00200000
899*4882a593Smuzhiyun #define A5XX_INT0_RBBM_ATB_BUS_OVERFLOW 0x00400000
900*4882a593Smuzhiyun #define A5XX_INT0_MISC_HANG_DETECT 0x00800000
901*4882a593Smuzhiyun #define A5XX_INT0_UCHE_OOB_ACCESS 0x01000000
902*4882a593Smuzhiyun #define A5XX_INT0_UCHE_TRAP_INTR 0x02000000
903*4882a593Smuzhiyun #define A5XX_INT0_DEBBUS_INTR_0 0x04000000
904*4882a593Smuzhiyun #define A5XX_INT0_DEBBUS_INTR_1 0x08000000
905*4882a593Smuzhiyun #define A5XX_INT0_GPMU_VOLTAGE_DROOP 0x10000000
906*4882a593Smuzhiyun #define A5XX_INT0_GPMU_FIRMWARE 0x20000000
907*4882a593Smuzhiyun #define A5XX_INT0_ISDB_CPU_IRQ 0x40000000
908*4882a593Smuzhiyun #define A5XX_INT0_ISDB_UNDER_DEBUG 0x80000000
909*4882a593Smuzhiyun #define A5XX_CP_INT_CP_OPCODE_ERROR 0x00000001
910*4882a593Smuzhiyun #define A5XX_CP_INT_CP_RESERVED_BIT_ERROR 0x00000002
911*4882a593Smuzhiyun #define A5XX_CP_INT_CP_HW_FAULT_ERROR 0x00000004
912*4882a593Smuzhiyun #define A5XX_CP_INT_CP_DMA_ERROR 0x00000008
913*4882a593Smuzhiyun #define A5XX_CP_INT_CP_REGISTER_PROTECTION_ERROR 0x00000010
914*4882a593Smuzhiyun #define A5XX_CP_INT_CP_AHB_ERROR 0x00000020
915*4882a593Smuzhiyun #define REG_A5XX_CP_RB_BASE 0x00000800
916*4882a593Smuzhiyun
917*4882a593Smuzhiyun #define REG_A5XX_CP_RB_BASE_HI 0x00000801
918*4882a593Smuzhiyun
919*4882a593Smuzhiyun #define REG_A5XX_CP_RB_CNTL 0x00000802
920*4882a593Smuzhiyun
921*4882a593Smuzhiyun #define REG_A5XX_CP_RB_RPTR_ADDR 0x00000804
922*4882a593Smuzhiyun
923*4882a593Smuzhiyun #define REG_A5XX_CP_RB_RPTR_ADDR_HI 0x00000805
924*4882a593Smuzhiyun
925*4882a593Smuzhiyun #define REG_A5XX_CP_RB_RPTR 0x00000806
926*4882a593Smuzhiyun
927*4882a593Smuzhiyun #define REG_A5XX_CP_RB_WPTR 0x00000807
928*4882a593Smuzhiyun
929*4882a593Smuzhiyun #define REG_A5XX_CP_PFP_STAT_ADDR 0x00000808
930*4882a593Smuzhiyun
931*4882a593Smuzhiyun #define REG_A5XX_CP_PFP_STAT_DATA 0x00000809
932*4882a593Smuzhiyun
933*4882a593Smuzhiyun #define REG_A5XX_CP_DRAW_STATE_ADDR 0x0000080b
934*4882a593Smuzhiyun
935*4882a593Smuzhiyun #define REG_A5XX_CP_DRAW_STATE_DATA 0x0000080c
936*4882a593Smuzhiyun
937*4882a593Smuzhiyun #define REG_A5XX_CP_ME_NRT_ADDR_LO 0x0000080d
938*4882a593Smuzhiyun
939*4882a593Smuzhiyun #define REG_A5XX_CP_ME_NRT_ADDR_HI 0x0000080e
940*4882a593Smuzhiyun
941*4882a593Smuzhiyun #define REG_A5XX_CP_ME_NRT_DATA 0x00000810
942*4882a593Smuzhiyun
943*4882a593Smuzhiyun #define REG_A5XX_CP_CRASH_SCRIPT_BASE_LO 0x00000817
944*4882a593Smuzhiyun
945*4882a593Smuzhiyun #define REG_A5XX_CP_CRASH_SCRIPT_BASE_HI 0x00000818
946*4882a593Smuzhiyun
947*4882a593Smuzhiyun #define REG_A5XX_CP_CRASH_DUMP_CNTL 0x00000819
948*4882a593Smuzhiyun
949*4882a593Smuzhiyun #define REG_A5XX_CP_ME_STAT_ADDR 0x0000081a
950*4882a593Smuzhiyun
951*4882a593Smuzhiyun #define REG_A5XX_CP_ROQ_THRESHOLDS_1 0x0000081f
952*4882a593Smuzhiyun
953*4882a593Smuzhiyun #define REG_A5XX_CP_ROQ_THRESHOLDS_2 0x00000820
954*4882a593Smuzhiyun
955*4882a593Smuzhiyun #define REG_A5XX_CP_ROQ_DBG_ADDR 0x00000821
956*4882a593Smuzhiyun
957*4882a593Smuzhiyun #define REG_A5XX_CP_ROQ_DBG_DATA 0x00000822
958*4882a593Smuzhiyun
959*4882a593Smuzhiyun #define REG_A5XX_CP_MEQ_DBG_ADDR 0x00000823
960*4882a593Smuzhiyun
961*4882a593Smuzhiyun #define REG_A5XX_CP_MEQ_DBG_DATA 0x00000824
962*4882a593Smuzhiyun
963*4882a593Smuzhiyun #define REG_A5XX_CP_MEQ_THRESHOLDS 0x00000825
964*4882a593Smuzhiyun
965*4882a593Smuzhiyun #define REG_A5XX_CP_MERCIU_SIZE 0x00000826
966*4882a593Smuzhiyun
967*4882a593Smuzhiyun #define REG_A5XX_CP_MERCIU_DBG_ADDR 0x00000827
968*4882a593Smuzhiyun
969*4882a593Smuzhiyun #define REG_A5XX_CP_MERCIU_DBG_DATA_1 0x00000828
970*4882a593Smuzhiyun
971*4882a593Smuzhiyun #define REG_A5XX_CP_MERCIU_DBG_DATA_2 0x00000829
972*4882a593Smuzhiyun
973*4882a593Smuzhiyun #define REG_A5XX_CP_PFP_UCODE_DBG_ADDR 0x0000082a
974*4882a593Smuzhiyun
975*4882a593Smuzhiyun #define REG_A5XX_CP_PFP_UCODE_DBG_DATA 0x0000082b
976*4882a593Smuzhiyun
977*4882a593Smuzhiyun #define REG_A5XX_CP_ME_UCODE_DBG_ADDR 0x0000082f
978*4882a593Smuzhiyun
979*4882a593Smuzhiyun #define REG_A5XX_CP_ME_UCODE_DBG_DATA 0x00000830
980*4882a593Smuzhiyun
981*4882a593Smuzhiyun #define REG_A5XX_CP_CNTL 0x00000831
982*4882a593Smuzhiyun
983*4882a593Smuzhiyun #define REG_A5XX_CP_PFP_ME_CNTL 0x00000832
984*4882a593Smuzhiyun
985*4882a593Smuzhiyun #define REG_A5XX_CP_CHICKEN_DBG 0x00000833
986*4882a593Smuzhiyun
987*4882a593Smuzhiyun #define REG_A5XX_CP_PFP_INSTR_BASE_LO 0x00000835
988*4882a593Smuzhiyun
989*4882a593Smuzhiyun #define REG_A5XX_CP_PFP_INSTR_BASE_HI 0x00000836
990*4882a593Smuzhiyun
991*4882a593Smuzhiyun #define REG_A5XX_CP_ME_INSTR_BASE_LO 0x00000838
992*4882a593Smuzhiyun
993*4882a593Smuzhiyun #define REG_A5XX_CP_ME_INSTR_BASE_HI 0x00000839
994*4882a593Smuzhiyun
995*4882a593Smuzhiyun #define REG_A5XX_CP_CONTEXT_SWITCH_CNTL 0x0000083b
996*4882a593Smuzhiyun
997*4882a593Smuzhiyun #define REG_A5XX_CP_CONTEXT_SWITCH_RESTORE_ADDR_LO 0x0000083c
998*4882a593Smuzhiyun
999*4882a593Smuzhiyun #define REG_A5XX_CP_CONTEXT_SWITCH_RESTORE_ADDR_HI 0x0000083d
1000*4882a593Smuzhiyun
1001*4882a593Smuzhiyun #define REG_A5XX_CP_CONTEXT_SWITCH_SAVE_ADDR_LO 0x0000083e
1002*4882a593Smuzhiyun
1003*4882a593Smuzhiyun #define REG_A5XX_CP_CONTEXT_SWITCH_SAVE_ADDR_HI 0x0000083f
1004*4882a593Smuzhiyun
1005*4882a593Smuzhiyun #define REG_A5XX_CP_CONTEXT_SWITCH_SMMU_INFO_LO 0x00000840
1006*4882a593Smuzhiyun
1007*4882a593Smuzhiyun #define REG_A5XX_CP_CONTEXT_SWITCH_SMMU_INFO_HI 0x00000841
1008*4882a593Smuzhiyun
1009*4882a593Smuzhiyun #define REG_A5XX_CP_ADDR_MODE_CNTL 0x00000860
1010*4882a593Smuzhiyun
1011*4882a593Smuzhiyun #define REG_A5XX_CP_ME_STAT_DATA 0x00000b14
1012*4882a593Smuzhiyun
1013*4882a593Smuzhiyun #define REG_A5XX_CP_WFI_PEND_CTR 0x00000b15
1014*4882a593Smuzhiyun
1015*4882a593Smuzhiyun #define REG_A5XX_CP_INTERRUPT_STATUS 0x00000b18
1016*4882a593Smuzhiyun
1017*4882a593Smuzhiyun #define REG_A5XX_CP_HW_FAULT 0x00000b1a
1018*4882a593Smuzhiyun
1019*4882a593Smuzhiyun #define REG_A5XX_CP_PROTECT_STATUS 0x00000b1c
1020*4882a593Smuzhiyun
1021*4882a593Smuzhiyun #define REG_A5XX_CP_IB1_BASE 0x00000b1f
1022*4882a593Smuzhiyun
1023*4882a593Smuzhiyun #define REG_A5XX_CP_IB1_BASE_HI 0x00000b20
1024*4882a593Smuzhiyun
1025*4882a593Smuzhiyun #define REG_A5XX_CP_IB1_BUFSZ 0x00000b21
1026*4882a593Smuzhiyun
1027*4882a593Smuzhiyun #define REG_A5XX_CP_IB2_BASE 0x00000b22
1028*4882a593Smuzhiyun
1029*4882a593Smuzhiyun #define REG_A5XX_CP_IB2_BASE_HI 0x00000b23
1030*4882a593Smuzhiyun
1031*4882a593Smuzhiyun #define REG_A5XX_CP_IB2_BUFSZ 0x00000b24
1032*4882a593Smuzhiyun
REG_A5XX_CP_SCRATCH(uint32_t i0)1033*4882a593Smuzhiyun static inline uint32_t REG_A5XX_CP_SCRATCH(uint32_t i0) { return 0x00000b78 + 0x1*i0; }
1034*4882a593Smuzhiyun
REG_A5XX_CP_SCRATCH_REG(uint32_t i0)1035*4882a593Smuzhiyun static inline uint32_t REG_A5XX_CP_SCRATCH_REG(uint32_t i0) { return 0x00000b78 + 0x1*i0; }
1036*4882a593Smuzhiyun
REG_A5XX_CP_PROTECT(uint32_t i0)1037*4882a593Smuzhiyun static inline uint32_t REG_A5XX_CP_PROTECT(uint32_t i0) { return 0x00000880 + 0x1*i0; }
1038*4882a593Smuzhiyun
REG_A5XX_CP_PROTECT_REG(uint32_t i0)1039*4882a593Smuzhiyun static inline uint32_t REG_A5XX_CP_PROTECT_REG(uint32_t i0) { return 0x00000880 + 0x1*i0; }
1040*4882a593Smuzhiyun #define A5XX_CP_PROTECT_REG_BASE_ADDR__MASK 0x0001ffff
1041*4882a593Smuzhiyun #define A5XX_CP_PROTECT_REG_BASE_ADDR__SHIFT 0
A5XX_CP_PROTECT_REG_BASE_ADDR(uint32_t val)1042*4882a593Smuzhiyun static inline uint32_t A5XX_CP_PROTECT_REG_BASE_ADDR(uint32_t val)
1043*4882a593Smuzhiyun {
1044*4882a593Smuzhiyun return ((val) << A5XX_CP_PROTECT_REG_BASE_ADDR__SHIFT) & A5XX_CP_PROTECT_REG_BASE_ADDR__MASK;
1045*4882a593Smuzhiyun }
1046*4882a593Smuzhiyun #define A5XX_CP_PROTECT_REG_MASK_LEN__MASK 0x1f000000
1047*4882a593Smuzhiyun #define A5XX_CP_PROTECT_REG_MASK_LEN__SHIFT 24
A5XX_CP_PROTECT_REG_MASK_LEN(uint32_t val)1048*4882a593Smuzhiyun static inline uint32_t A5XX_CP_PROTECT_REG_MASK_LEN(uint32_t val)
1049*4882a593Smuzhiyun {
1050*4882a593Smuzhiyun return ((val) << A5XX_CP_PROTECT_REG_MASK_LEN__SHIFT) & A5XX_CP_PROTECT_REG_MASK_LEN__MASK;
1051*4882a593Smuzhiyun }
1052*4882a593Smuzhiyun #define A5XX_CP_PROTECT_REG_TRAP_WRITE__MASK 0x20000000
1053*4882a593Smuzhiyun #define A5XX_CP_PROTECT_REG_TRAP_WRITE__SHIFT 29
A5XX_CP_PROTECT_REG_TRAP_WRITE(uint32_t val)1054*4882a593Smuzhiyun static inline uint32_t A5XX_CP_PROTECT_REG_TRAP_WRITE(uint32_t val)
1055*4882a593Smuzhiyun {
1056*4882a593Smuzhiyun return ((val) << A5XX_CP_PROTECT_REG_TRAP_WRITE__SHIFT) & A5XX_CP_PROTECT_REG_TRAP_WRITE__MASK;
1057*4882a593Smuzhiyun }
1058*4882a593Smuzhiyun #define A5XX_CP_PROTECT_REG_TRAP_READ__MASK 0x40000000
1059*4882a593Smuzhiyun #define A5XX_CP_PROTECT_REG_TRAP_READ__SHIFT 30
A5XX_CP_PROTECT_REG_TRAP_READ(uint32_t val)1060*4882a593Smuzhiyun static inline uint32_t A5XX_CP_PROTECT_REG_TRAP_READ(uint32_t val)
1061*4882a593Smuzhiyun {
1062*4882a593Smuzhiyun return ((val) << A5XX_CP_PROTECT_REG_TRAP_READ__SHIFT) & A5XX_CP_PROTECT_REG_TRAP_READ__MASK;
1063*4882a593Smuzhiyun }
1064*4882a593Smuzhiyun
1065*4882a593Smuzhiyun #define REG_A5XX_CP_PROTECT_CNTL 0x000008a0
1066*4882a593Smuzhiyun
1067*4882a593Smuzhiyun #define REG_A5XX_CP_AHB_FAULT 0x00000b1b
1068*4882a593Smuzhiyun
1069*4882a593Smuzhiyun #define REG_A5XX_CP_PERFCTR_CP_SEL_0 0x00000bb0
1070*4882a593Smuzhiyun
1071*4882a593Smuzhiyun #define REG_A5XX_CP_PERFCTR_CP_SEL_1 0x00000bb1
1072*4882a593Smuzhiyun
1073*4882a593Smuzhiyun #define REG_A5XX_CP_PERFCTR_CP_SEL_2 0x00000bb2
1074*4882a593Smuzhiyun
1075*4882a593Smuzhiyun #define REG_A5XX_CP_PERFCTR_CP_SEL_3 0x00000bb3
1076*4882a593Smuzhiyun
1077*4882a593Smuzhiyun #define REG_A5XX_CP_PERFCTR_CP_SEL_4 0x00000bb4
1078*4882a593Smuzhiyun
1079*4882a593Smuzhiyun #define REG_A5XX_CP_PERFCTR_CP_SEL_5 0x00000bb5
1080*4882a593Smuzhiyun
1081*4882a593Smuzhiyun #define REG_A5XX_CP_PERFCTR_CP_SEL_6 0x00000bb6
1082*4882a593Smuzhiyun
1083*4882a593Smuzhiyun #define REG_A5XX_CP_PERFCTR_CP_SEL_7 0x00000bb7
1084*4882a593Smuzhiyun
1085*4882a593Smuzhiyun #define REG_A5XX_VSC_ADDR_MODE_CNTL 0x00000bc1
1086*4882a593Smuzhiyun
1087*4882a593Smuzhiyun #define REG_A5XX_CP_POWERCTR_CP_SEL_0 0x00000bba
1088*4882a593Smuzhiyun
1089*4882a593Smuzhiyun #define REG_A5XX_CP_POWERCTR_CP_SEL_1 0x00000bbb
1090*4882a593Smuzhiyun
1091*4882a593Smuzhiyun #define REG_A5XX_CP_POWERCTR_CP_SEL_2 0x00000bbc
1092*4882a593Smuzhiyun
1093*4882a593Smuzhiyun #define REG_A5XX_CP_POWERCTR_CP_SEL_3 0x00000bbd
1094*4882a593Smuzhiyun
1095*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_SEL_A 0x00000004
1096*4882a593Smuzhiyun
1097*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_SEL_B 0x00000005
1098*4882a593Smuzhiyun
1099*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_SEL_C 0x00000006
1100*4882a593Smuzhiyun
1101*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_SEL_D 0x00000007
1102*4882a593Smuzhiyun
1103*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_CNTLT 0x00000008
1104*4882a593Smuzhiyun
1105*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_CNTLM 0x00000009
1106*4882a593Smuzhiyun
1107*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DEBBUS_CTLTM_ENABLE_SHIFT 0x00000018
1108*4882a593Smuzhiyun
1109*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_OPL 0x0000000a
1110*4882a593Smuzhiyun
1111*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_OPE 0x0000000b
1112*4882a593Smuzhiyun
1113*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_IVTL_0 0x0000000c
1114*4882a593Smuzhiyun
1115*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_IVTL_1 0x0000000d
1116*4882a593Smuzhiyun
1117*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_IVTL_2 0x0000000e
1118*4882a593Smuzhiyun
1119*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_IVTL_3 0x0000000f
1120*4882a593Smuzhiyun
1121*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_MASKL_0 0x00000010
1122*4882a593Smuzhiyun
1123*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_MASKL_1 0x00000011
1124*4882a593Smuzhiyun
1125*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_MASKL_2 0x00000012
1126*4882a593Smuzhiyun
1127*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_MASKL_3 0x00000013
1128*4882a593Smuzhiyun
1129*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_BYTEL_0 0x00000014
1130*4882a593Smuzhiyun
1131*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_BYTEL_1 0x00000015
1132*4882a593Smuzhiyun
1133*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_IVTE_0 0x00000016
1134*4882a593Smuzhiyun
1135*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_IVTE_1 0x00000017
1136*4882a593Smuzhiyun
1137*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_IVTE_2 0x00000018
1138*4882a593Smuzhiyun
1139*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_IVTE_3 0x00000019
1140*4882a593Smuzhiyun
1141*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_MASKE_0 0x0000001a
1142*4882a593Smuzhiyun
1143*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_MASKE_1 0x0000001b
1144*4882a593Smuzhiyun
1145*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_MASKE_2 0x0000001c
1146*4882a593Smuzhiyun
1147*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_MASKE_3 0x0000001d
1148*4882a593Smuzhiyun
1149*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_NIBBLEE 0x0000001e
1150*4882a593Smuzhiyun
1151*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_PTRC0 0x0000001f
1152*4882a593Smuzhiyun
1153*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_PTRC1 0x00000020
1154*4882a593Smuzhiyun
1155*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_LOADREG 0x00000021
1156*4882a593Smuzhiyun
1157*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_IDX 0x00000022
1158*4882a593Smuzhiyun
1159*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_CLRC 0x00000023
1160*4882a593Smuzhiyun
1161*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_LOADIVT 0x00000024
1162*4882a593Smuzhiyun
1163*4882a593Smuzhiyun #define REG_A5XX_RBBM_INTERFACE_HANG_INT_CNTL 0x0000002f
1164*4882a593Smuzhiyun
1165*4882a593Smuzhiyun #define REG_A5XX_RBBM_INT_CLEAR_CMD 0x00000037
1166*4882a593Smuzhiyun
1167*4882a593Smuzhiyun #define REG_A5XX_RBBM_INT_0_MASK 0x00000038
1168*4882a593Smuzhiyun #define A5XX_RBBM_INT_0_MASK_RBBM_GPU_IDLE 0x00000001
1169*4882a593Smuzhiyun #define A5XX_RBBM_INT_0_MASK_RBBM_AHB_ERROR 0x00000002
1170*4882a593Smuzhiyun #define A5XX_RBBM_INT_0_MASK_RBBM_TRANSFER_TIMEOUT 0x00000004
1171*4882a593Smuzhiyun #define A5XX_RBBM_INT_0_MASK_RBBM_ME_MS_TIMEOUT 0x00000008
1172*4882a593Smuzhiyun #define A5XX_RBBM_INT_0_MASK_RBBM_PFP_MS_TIMEOUT 0x00000010
1173*4882a593Smuzhiyun #define A5XX_RBBM_INT_0_MASK_RBBM_ETS_MS_TIMEOUT 0x00000020
1174*4882a593Smuzhiyun #define A5XX_RBBM_INT_0_MASK_RBBM_ATB_ASYNC_OVERFLOW 0x00000040
1175*4882a593Smuzhiyun #define A5XX_RBBM_INT_0_MASK_RBBM_GPC_ERROR 0x00000080
1176*4882a593Smuzhiyun #define A5XX_RBBM_INT_0_MASK_CP_SW 0x00000100
1177*4882a593Smuzhiyun #define A5XX_RBBM_INT_0_MASK_CP_HW_ERROR 0x00000200
1178*4882a593Smuzhiyun #define A5XX_RBBM_INT_0_MASK_CP_CCU_FLUSH_DEPTH_TS 0x00000400
1179*4882a593Smuzhiyun #define A5XX_RBBM_INT_0_MASK_CP_CCU_FLUSH_COLOR_TS 0x00000800
1180*4882a593Smuzhiyun #define A5XX_RBBM_INT_0_MASK_CP_CCU_RESOLVE_TS 0x00001000
1181*4882a593Smuzhiyun #define A5XX_RBBM_INT_0_MASK_CP_IB2 0x00002000
1182*4882a593Smuzhiyun #define A5XX_RBBM_INT_0_MASK_CP_IB1 0x00004000
1183*4882a593Smuzhiyun #define A5XX_RBBM_INT_0_MASK_CP_RB 0x00008000
1184*4882a593Smuzhiyun #define A5XX_RBBM_INT_0_MASK_CP_RB_DONE_TS 0x00020000
1185*4882a593Smuzhiyun #define A5XX_RBBM_INT_0_MASK_CP_WT_DONE_TS 0x00040000
1186*4882a593Smuzhiyun #define A5XX_RBBM_INT_0_MASK_CP_CACHE_FLUSH_TS 0x00100000
1187*4882a593Smuzhiyun #define A5XX_RBBM_INT_0_MASK_RBBM_ATB_BUS_OVERFLOW 0x00400000
1188*4882a593Smuzhiyun #define A5XX_RBBM_INT_0_MASK_MISC_HANG_DETECT 0x00800000
1189*4882a593Smuzhiyun #define A5XX_RBBM_INT_0_MASK_UCHE_OOB_ACCESS 0x01000000
1190*4882a593Smuzhiyun #define A5XX_RBBM_INT_0_MASK_UCHE_TRAP_INTR 0x02000000
1191*4882a593Smuzhiyun #define A5XX_RBBM_INT_0_MASK_DEBBUS_INTR_0 0x04000000
1192*4882a593Smuzhiyun #define A5XX_RBBM_INT_0_MASK_DEBBUS_INTR_1 0x08000000
1193*4882a593Smuzhiyun #define A5XX_RBBM_INT_0_MASK_GPMU_VOLTAGE_DROOP 0x10000000
1194*4882a593Smuzhiyun #define A5XX_RBBM_INT_0_MASK_GPMU_FIRMWARE 0x20000000
1195*4882a593Smuzhiyun #define A5XX_RBBM_INT_0_MASK_ISDB_CPU_IRQ 0x40000000
1196*4882a593Smuzhiyun #define A5XX_RBBM_INT_0_MASK_ISDB_UNDER_DEBUG 0x80000000
1197*4882a593Smuzhiyun
1198*4882a593Smuzhiyun #define REG_A5XX_RBBM_AHB_DBG_CNTL 0x0000003f
1199*4882a593Smuzhiyun
1200*4882a593Smuzhiyun #define REG_A5XX_RBBM_EXT_VBIF_DBG_CNTL 0x00000041
1201*4882a593Smuzhiyun
1202*4882a593Smuzhiyun #define REG_A5XX_RBBM_SW_RESET_CMD 0x00000043
1203*4882a593Smuzhiyun
1204*4882a593Smuzhiyun #define REG_A5XX_RBBM_BLOCK_SW_RESET_CMD 0x00000045
1205*4882a593Smuzhiyun
1206*4882a593Smuzhiyun #define REG_A5XX_RBBM_BLOCK_SW_RESET_CMD2 0x00000046
1207*4882a593Smuzhiyun
1208*4882a593Smuzhiyun #define REG_A5XX_RBBM_DBG_LO_HI_GPIO 0x00000048
1209*4882a593Smuzhiyun
1210*4882a593Smuzhiyun #define REG_A5XX_RBBM_EXT_TRACE_BUS_CNTL 0x00000049
1211*4882a593Smuzhiyun
1212*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL_TP0 0x0000004a
1213*4882a593Smuzhiyun
1214*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL_TP1 0x0000004b
1215*4882a593Smuzhiyun
1216*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL_TP2 0x0000004c
1217*4882a593Smuzhiyun
1218*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL_TP3 0x0000004d
1219*4882a593Smuzhiyun
1220*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL2_TP0 0x0000004e
1221*4882a593Smuzhiyun
1222*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL2_TP1 0x0000004f
1223*4882a593Smuzhiyun
1224*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL2_TP2 0x00000050
1225*4882a593Smuzhiyun
1226*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL2_TP3 0x00000051
1227*4882a593Smuzhiyun
1228*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL3_TP0 0x00000052
1229*4882a593Smuzhiyun
1230*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL3_TP1 0x00000053
1231*4882a593Smuzhiyun
1232*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL3_TP2 0x00000054
1233*4882a593Smuzhiyun
1234*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL3_TP3 0x00000055
1235*4882a593Smuzhiyun
1236*4882a593Smuzhiyun #define REG_A5XX_RBBM_READ_AHB_THROUGH_DBG 0x00000059
1237*4882a593Smuzhiyun
1238*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL_UCHE 0x0000005a
1239*4882a593Smuzhiyun
1240*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL2_UCHE 0x0000005b
1241*4882a593Smuzhiyun
1242*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL3_UCHE 0x0000005c
1243*4882a593Smuzhiyun
1244*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL4_UCHE 0x0000005d
1245*4882a593Smuzhiyun
1246*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_HYST_UCHE 0x0000005e
1247*4882a593Smuzhiyun
1248*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_DELAY_UCHE 0x0000005f
1249*4882a593Smuzhiyun
1250*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_MODE_GPC 0x00000060
1251*4882a593Smuzhiyun
1252*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_DELAY_GPC 0x00000061
1253*4882a593Smuzhiyun
1254*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_HYST_GPC 0x00000062
1255*4882a593Smuzhiyun
1256*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL_TSE_RAS_RBBM 0x00000063
1257*4882a593Smuzhiyun
1258*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_HYST_TSE_RAS_RBBM 0x00000064
1259*4882a593Smuzhiyun
1260*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_DELAY_TSE_RAS_RBBM 0x00000065
1261*4882a593Smuzhiyun
1262*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_DELAY_HLSQ 0x00000066
1263*4882a593Smuzhiyun
1264*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL 0x00000067
1265*4882a593Smuzhiyun
1266*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL_SP0 0x00000068
1267*4882a593Smuzhiyun
1268*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL_SP1 0x00000069
1269*4882a593Smuzhiyun
1270*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL_SP2 0x0000006a
1271*4882a593Smuzhiyun
1272*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL_SP3 0x0000006b
1273*4882a593Smuzhiyun
1274*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL2_SP0 0x0000006c
1275*4882a593Smuzhiyun
1276*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL2_SP1 0x0000006d
1277*4882a593Smuzhiyun
1278*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL2_SP2 0x0000006e
1279*4882a593Smuzhiyun
1280*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL2_SP3 0x0000006f
1281*4882a593Smuzhiyun
1282*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_HYST_SP0 0x00000070
1283*4882a593Smuzhiyun
1284*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_HYST_SP1 0x00000071
1285*4882a593Smuzhiyun
1286*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_HYST_SP2 0x00000072
1287*4882a593Smuzhiyun
1288*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_HYST_SP3 0x00000073
1289*4882a593Smuzhiyun
1290*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_DELAY_SP0 0x00000074
1291*4882a593Smuzhiyun
1292*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_DELAY_SP1 0x00000075
1293*4882a593Smuzhiyun
1294*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_DELAY_SP2 0x00000076
1295*4882a593Smuzhiyun
1296*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_DELAY_SP3 0x00000077
1297*4882a593Smuzhiyun
1298*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL_RB0 0x00000078
1299*4882a593Smuzhiyun
1300*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL_RB1 0x00000079
1301*4882a593Smuzhiyun
1302*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL_RB2 0x0000007a
1303*4882a593Smuzhiyun
1304*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL_RB3 0x0000007b
1305*4882a593Smuzhiyun
1306*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL2_RB0 0x0000007c
1307*4882a593Smuzhiyun
1308*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL2_RB1 0x0000007d
1309*4882a593Smuzhiyun
1310*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL2_RB2 0x0000007e
1311*4882a593Smuzhiyun
1312*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL2_RB3 0x0000007f
1313*4882a593Smuzhiyun
1314*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_HYST_RAC 0x00000080
1315*4882a593Smuzhiyun
1316*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_DELAY_RAC 0x00000081
1317*4882a593Smuzhiyun
1318*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL_CCU0 0x00000082
1319*4882a593Smuzhiyun
1320*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL_CCU1 0x00000083
1321*4882a593Smuzhiyun
1322*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL_CCU2 0x00000084
1323*4882a593Smuzhiyun
1324*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL_CCU3 0x00000085
1325*4882a593Smuzhiyun
1326*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_HYST_RB_CCU0 0x00000086
1327*4882a593Smuzhiyun
1328*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_HYST_RB_CCU1 0x00000087
1329*4882a593Smuzhiyun
1330*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_HYST_RB_CCU2 0x00000088
1331*4882a593Smuzhiyun
1332*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_HYST_RB_CCU3 0x00000089
1333*4882a593Smuzhiyun
1334*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL_RAC 0x0000008a
1335*4882a593Smuzhiyun
1336*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL2_RAC 0x0000008b
1337*4882a593Smuzhiyun
1338*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_DELAY_RB_CCU_L1_0 0x0000008c
1339*4882a593Smuzhiyun
1340*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_DELAY_RB_CCU_L1_1 0x0000008d
1341*4882a593Smuzhiyun
1342*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_DELAY_RB_CCU_L1_2 0x0000008e
1343*4882a593Smuzhiyun
1344*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_DELAY_RB_CCU_L1_3 0x0000008f
1345*4882a593Smuzhiyun
1346*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_HYST_VFD 0x00000090
1347*4882a593Smuzhiyun
1348*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_MODE_VFD 0x00000091
1349*4882a593Smuzhiyun
1350*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_DELAY_VFD 0x00000092
1351*4882a593Smuzhiyun
1352*4882a593Smuzhiyun #define REG_A5XX_RBBM_AHB_CNTL0 0x00000093
1353*4882a593Smuzhiyun
1354*4882a593Smuzhiyun #define REG_A5XX_RBBM_AHB_CNTL1 0x00000094
1355*4882a593Smuzhiyun
1356*4882a593Smuzhiyun #define REG_A5XX_RBBM_AHB_CNTL2 0x00000095
1357*4882a593Smuzhiyun
1358*4882a593Smuzhiyun #define REG_A5XX_RBBM_AHB_CMD 0x00000096
1359*4882a593Smuzhiyun
1360*4882a593Smuzhiyun #define REG_A5XX_RBBM_INTERFACE_HANG_MASK_CNTL11 0x0000009c
1361*4882a593Smuzhiyun
1362*4882a593Smuzhiyun #define REG_A5XX_RBBM_INTERFACE_HANG_MASK_CNTL12 0x0000009d
1363*4882a593Smuzhiyun
1364*4882a593Smuzhiyun #define REG_A5XX_RBBM_INTERFACE_HANG_MASK_CNTL13 0x0000009e
1365*4882a593Smuzhiyun
1366*4882a593Smuzhiyun #define REG_A5XX_RBBM_INTERFACE_HANG_MASK_CNTL14 0x0000009f
1367*4882a593Smuzhiyun
1368*4882a593Smuzhiyun #define REG_A5XX_RBBM_INTERFACE_HANG_MASK_CNTL15 0x000000a0
1369*4882a593Smuzhiyun
1370*4882a593Smuzhiyun #define REG_A5XX_RBBM_INTERFACE_HANG_MASK_CNTL16 0x000000a1
1371*4882a593Smuzhiyun
1372*4882a593Smuzhiyun #define REG_A5XX_RBBM_INTERFACE_HANG_MASK_CNTL17 0x000000a2
1373*4882a593Smuzhiyun
1374*4882a593Smuzhiyun #define REG_A5XX_RBBM_INTERFACE_HANG_MASK_CNTL18 0x000000a3
1375*4882a593Smuzhiyun
1376*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_DELAY_TP0 0x000000a4
1377*4882a593Smuzhiyun
1378*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_DELAY_TP1 0x000000a5
1379*4882a593Smuzhiyun
1380*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_DELAY_TP2 0x000000a6
1381*4882a593Smuzhiyun
1382*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_DELAY_TP3 0x000000a7
1383*4882a593Smuzhiyun
1384*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_DELAY2_TP0 0x000000a8
1385*4882a593Smuzhiyun
1386*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_DELAY2_TP1 0x000000a9
1387*4882a593Smuzhiyun
1388*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_DELAY2_TP2 0x000000aa
1389*4882a593Smuzhiyun
1390*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_DELAY2_TP3 0x000000ab
1391*4882a593Smuzhiyun
1392*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_DELAY3_TP0 0x000000ac
1393*4882a593Smuzhiyun
1394*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_DELAY3_TP1 0x000000ad
1395*4882a593Smuzhiyun
1396*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_DELAY3_TP2 0x000000ae
1397*4882a593Smuzhiyun
1398*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_DELAY3_TP3 0x000000af
1399*4882a593Smuzhiyun
1400*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_HYST_TP0 0x000000b0
1401*4882a593Smuzhiyun
1402*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_HYST_TP1 0x000000b1
1403*4882a593Smuzhiyun
1404*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_HYST_TP2 0x000000b2
1405*4882a593Smuzhiyun
1406*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_HYST_TP3 0x000000b3
1407*4882a593Smuzhiyun
1408*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_HYST2_TP0 0x000000b4
1409*4882a593Smuzhiyun
1410*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_HYST2_TP1 0x000000b5
1411*4882a593Smuzhiyun
1412*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_HYST2_TP2 0x000000b6
1413*4882a593Smuzhiyun
1414*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_HYST2_TP3 0x000000b7
1415*4882a593Smuzhiyun
1416*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_HYST3_TP0 0x000000b8
1417*4882a593Smuzhiyun
1418*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_HYST3_TP1 0x000000b9
1419*4882a593Smuzhiyun
1420*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_HYST3_TP2 0x000000ba
1421*4882a593Smuzhiyun
1422*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_HYST3_TP3 0x000000bb
1423*4882a593Smuzhiyun
1424*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_CNTL_GPMU 0x000000c8
1425*4882a593Smuzhiyun
1426*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_DELAY_GPMU 0x000000c9
1427*4882a593Smuzhiyun
1428*4882a593Smuzhiyun #define REG_A5XX_RBBM_CLOCK_HYST_GPMU 0x000000ca
1429*4882a593Smuzhiyun
1430*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_CP_0_LO 0x000003a0
1431*4882a593Smuzhiyun
1432*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_CP_0_HI 0x000003a1
1433*4882a593Smuzhiyun
1434*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_CP_1_LO 0x000003a2
1435*4882a593Smuzhiyun
1436*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_CP_1_HI 0x000003a3
1437*4882a593Smuzhiyun
1438*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_CP_2_LO 0x000003a4
1439*4882a593Smuzhiyun
1440*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_CP_2_HI 0x000003a5
1441*4882a593Smuzhiyun
1442*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_CP_3_LO 0x000003a6
1443*4882a593Smuzhiyun
1444*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_CP_3_HI 0x000003a7
1445*4882a593Smuzhiyun
1446*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_CP_4_LO 0x000003a8
1447*4882a593Smuzhiyun
1448*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_CP_4_HI 0x000003a9
1449*4882a593Smuzhiyun
1450*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_CP_5_LO 0x000003aa
1451*4882a593Smuzhiyun
1452*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_CP_5_HI 0x000003ab
1453*4882a593Smuzhiyun
1454*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_CP_6_LO 0x000003ac
1455*4882a593Smuzhiyun
1456*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_CP_6_HI 0x000003ad
1457*4882a593Smuzhiyun
1458*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_CP_7_LO 0x000003ae
1459*4882a593Smuzhiyun
1460*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_CP_7_HI 0x000003af
1461*4882a593Smuzhiyun
1462*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_RBBM_0_LO 0x000003b0
1463*4882a593Smuzhiyun
1464*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_RBBM_0_HI 0x000003b1
1465*4882a593Smuzhiyun
1466*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_RBBM_1_LO 0x000003b2
1467*4882a593Smuzhiyun
1468*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_RBBM_1_HI 0x000003b3
1469*4882a593Smuzhiyun
1470*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_RBBM_2_LO 0x000003b4
1471*4882a593Smuzhiyun
1472*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_RBBM_2_HI 0x000003b5
1473*4882a593Smuzhiyun
1474*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_RBBM_3_LO 0x000003b6
1475*4882a593Smuzhiyun
1476*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_RBBM_3_HI 0x000003b7
1477*4882a593Smuzhiyun
1478*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_PC_0_LO 0x000003b8
1479*4882a593Smuzhiyun
1480*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_PC_0_HI 0x000003b9
1481*4882a593Smuzhiyun
1482*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_PC_1_LO 0x000003ba
1483*4882a593Smuzhiyun
1484*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_PC_1_HI 0x000003bb
1485*4882a593Smuzhiyun
1486*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_PC_2_LO 0x000003bc
1487*4882a593Smuzhiyun
1488*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_PC_2_HI 0x000003bd
1489*4882a593Smuzhiyun
1490*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_PC_3_LO 0x000003be
1491*4882a593Smuzhiyun
1492*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_PC_3_HI 0x000003bf
1493*4882a593Smuzhiyun
1494*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_PC_4_LO 0x000003c0
1495*4882a593Smuzhiyun
1496*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_PC_4_HI 0x000003c1
1497*4882a593Smuzhiyun
1498*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_PC_5_LO 0x000003c2
1499*4882a593Smuzhiyun
1500*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_PC_5_HI 0x000003c3
1501*4882a593Smuzhiyun
1502*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_PC_6_LO 0x000003c4
1503*4882a593Smuzhiyun
1504*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_PC_6_HI 0x000003c5
1505*4882a593Smuzhiyun
1506*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_PC_7_LO 0x000003c6
1507*4882a593Smuzhiyun
1508*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_PC_7_HI 0x000003c7
1509*4882a593Smuzhiyun
1510*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_VFD_0_LO 0x000003c8
1511*4882a593Smuzhiyun
1512*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_VFD_0_HI 0x000003c9
1513*4882a593Smuzhiyun
1514*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_VFD_1_LO 0x000003ca
1515*4882a593Smuzhiyun
1516*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_VFD_1_HI 0x000003cb
1517*4882a593Smuzhiyun
1518*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_VFD_2_LO 0x000003cc
1519*4882a593Smuzhiyun
1520*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_VFD_2_HI 0x000003cd
1521*4882a593Smuzhiyun
1522*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_VFD_3_LO 0x000003ce
1523*4882a593Smuzhiyun
1524*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_VFD_3_HI 0x000003cf
1525*4882a593Smuzhiyun
1526*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_VFD_4_LO 0x000003d0
1527*4882a593Smuzhiyun
1528*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_VFD_4_HI 0x000003d1
1529*4882a593Smuzhiyun
1530*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_VFD_5_LO 0x000003d2
1531*4882a593Smuzhiyun
1532*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_VFD_5_HI 0x000003d3
1533*4882a593Smuzhiyun
1534*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_VFD_6_LO 0x000003d4
1535*4882a593Smuzhiyun
1536*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_VFD_6_HI 0x000003d5
1537*4882a593Smuzhiyun
1538*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_VFD_7_LO 0x000003d6
1539*4882a593Smuzhiyun
1540*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_VFD_7_HI 0x000003d7
1541*4882a593Smuzhiyun
1542*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_HLSQ_0_LO 0x000003d8
1543*4882a593Smuzhiyun
1544*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_HLSQ_0_HI 0x000003d9
1545*4882a593Smuzhiyun
1546*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_HLSQ_1_LO 0x000003da
1547*4882a593Smuzhiyun
1548*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_HLSQ_1_HI 0x000003db
1549*4882a593Smuzhiyun
1550*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_HLSQ_2_LO 0x000003dc
1551*4882a593Smuzhiyun
1552*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_HLSQ_2_HI 0x000003dd
1553*4882a593Smuzhiyun
1554*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_HLSQ_3_LO 0x000003de
1555*4882a593Smuzhiyun
1556*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_HLSQ_3_HI 0x000003df
1557*4882a593Smuzhiyun
1558*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_HLSQ_4_LO 0x000003e0
1559*4882a593Smuzhiyun
1560*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_HLSQ_4_HI 0x000003e1
1561*4882a593Smuzhiyun
1562*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_HLSQ_5_LO 0x000003e2
1563*4882a593Smuzhiyun
1564*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_HLSQ_5_HI 0x000003e3
1565*4882a593Smuzhiyun
1566*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_HLSQ_6_LO 0x000003e4
1567*4882a593Smuzhiyun
1568*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_HLSQ_6_HI 0x000003e5
1569*4882a593Smuzhiyun
1570*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_HLSQ_7_LO 0x000003e6
1571*4882a593Smuzhiyun
1572*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_HLSQ_7_HI 0x000003e7
1573*4882a593Smuzhiyun
1574*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_VPC_0_LO 0x000003e8
1575*4882a593Smuzhiyun
1576*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_VPC_0_HI 0x000003e9
1577*4882a593Smuzhiyun
1578*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_VPC_1_LO 0x000003ea
1579*4882a593Smuzhiyun
1580*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_VPC_1_HI 0x000003eb
1581*4882a593Smuzhiyun
1582*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_VPC_2_LO 0x000003ec
1583*4882a593Smuzhiyun
1584*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_VPC_2_HI 0x000003ed
1585*4882a593Smuzhiyun
1586*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_VPC_3_LO 0x000003ee
1587*4882a593Smuzhiyun
1588*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_VPC_3_HI 0x000003ef
1589*4882a593Smuzhiyun
1590*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_CCU_0_LO 0x000003f0
1591*4882a593Smuzhiyun
1592*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_CCU_0_HI 0x000003f1
1593*4882a593Smuzhiyun
1594*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_CCU_1_LO 0x000003f2
1595*4882a593Smuzhiyun
1596*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_CCU_1_HI 0x000003f3
1597*4882a593Smuzhiyun
1598*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_CCU_2_LO 0x000003f4
1599*4882a593Smuzhiyun
1600*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_CCU_2_HI 0x000003f5
1601*4882a593Smuzhiyun
1602*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_CCU_3_LO 0x000003f6
1603*4882a593Smuzhiyun
1604*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_CCU_3_HI 0x000003f7
1605*4882a593Smuzhiyun
1606*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_TSE_0_LO 0x000003f8
1607*4882a593Smuzhiyun
1608*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_TSE_0_HI 0x000003f9
1609*4882a593Smuzhiyun
1610*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_TSE_1_LO 0x000003fa
1611*4882a593Smuzhiyun
1612*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_TSE_1_HI 0x000003fb
1613*4882a593Smuzhiyun
1614*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_TSE_2_LO 0x000003fc
1615*4882a593Smuzhiyun
1616*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_TSE_2_HI 0x000003fd
1617*4882a593Smuzhiyun
1618*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_TSE_3_LO 0x000003fe
1619*4882a593Smuzhiyun
1620*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_TSE_3_HI 0x000003ff
1621*4882a593Smuzhiyun
1622*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_RAS_0_LO 0x00000400
1623*4882a593Smuzhiyun
1624*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_RAS_0_HI 0x00000401
1625*4882a593Smuzhiyun
1626*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_RAS_1_LO 0x00000402
1627*4882a593Smuzhiyun
1628*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_RAS_1_HI 0x00000403
1629*4882a593Smuzhiyun
1630*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_RAS_2_LO 0x00000404
1631*4882a593Smuzhiyun
1632*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_RAS_2_HI 0x00000405
1633*4882a593Smuzhiyun
1634*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_RAS_3_LO 0x00000406
1635*4882a593Smuzhiyun
1636*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_RAS_3_HI 0x00000407
1637*4882a593Smuzhiyun
1638*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_UCHE_0_LO 0x00000408
1639*4882a593Smuzhiyun
1640*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_UCHE_0_HI 0x00000409
1641*4882a593Smuzhiyun
1642*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_UCHE_1_LO 0x0000040a
1643*4882a593Smuzhiyun
1644*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_UCHE_1_HI 0x0000040b
1645*4882a593Smuzhiyun
1646*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_UCHE_2_LO 0x0000040c
1647*4882a593Smuzhiyun
1648*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_UCHE_2_HI 0x0000040d
1649*4882a593Smuzhiyun
1650*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_UCHE_3_LO 0x0000040e
1651*4882a593Smuzhiyun
1652*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_UCHE_3_HI 0x0000040f
1653*4882a593Smuzhiyun
1654*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_UCHE_4_LO 0x00000410
1655*4882a593Smuzhiyun
1656*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_UCHE_4_HI 0x00000411
1657*4882a593Smuzhiyun
1658*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_UCHE_5_LO 0x00000412
1659*4882a593Smuzhiyun
1660*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_UCHE_5_HI 0x00000413
1661*4882a593Smuzhiyun
1662*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_UCHE_6_LO 0x00000414
1663*4882a593Smuzhiyun
1664*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_UCHE_6_HI 0x00000415
1665*4882a593Smuzhiyun
1666*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_UCHE_7_LO 0x00000416
1667*4882a593Smuzhiyun
1668*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_UCHE_7_HI 0x00000417
1669*4882a593Smuzhiyun
1670*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_TP_0_LO 0x00000418
1671*4882a593Smuzhiyun
1672*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_TP_0_HI 0x00000419
1673*4882a593Smuzhiyun
1674*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_TP_1_LO 0x0000041a
1675*4882a593Smuzhiyun
1676*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_TP_1_HI 0x0000041b
1677*4882a593Smuzhiyun
1678*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_TP_2_LO 0x0000041c
1679*4882a593Smuzhiyun
1680*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_TP_2_HI 0x0000041d
1681*4882a593Smuzhiyun
1682*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_TP_3_LO 0x0000041e
1683*4882a593Smuzhiyun
1684*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_TP_3_HI 0x0000041f
1685*4882a593Smuzhiyun
1686*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_TP_4_LO 0x00000420
1687*4882a593Smuzhiyun
1688*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_TP_4_HI 0x00000421
1689*4882a593Smuzhiyun
1690*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_TP_5_LO 0x00000422
1691*4882a593Smuzhiyun
1692*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_TP_5_HI 0x00000423
1693*4882a593Smuzhiyun
1694*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_TP_6_LO 0x00000424
1695*4882a593Smuzhiyun
1696*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_TP_6_HI 0x00000425
1697*4882a593Smuzhiyun
1698*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_TP_7_LO 0x00000426
1699*4882a593Smuzhiyun
1700*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_TP_7_HI 0x00000427
1701*4882a593Smuzhiyun
1702*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_SP_0_LO 0x00000428
1703*4882a593Smuzhiyun
1704*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_SP_0_HI 0x00000429
1705*4882a593Smuzhiyun
1706*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_SP_1_LO 0x0000042a
1707*4882a593Smuzhiyun
1708*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_SP_1_HI 0x0000042b
1709*4882a593Smuzhiyun
1710*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_SP_2_LO 0x0000042c
1711*4882a593Smuzhiyun
1712*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_SP_2_HI 0x0000042d
1713*4882a593Smuzhiyun
1714*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_SP_3_LO 0x0000042e
1715*4882a593Smuzhiyun
1716*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_SP_3_HI 0x0000042f
1717*4882a593Smuzhiyun
1718*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_SP_4_LO 0x00000430
1719*4882a593Smuzhiyun
1720*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_SP_4_HI 0x00000431
1721*4882a593Smuzhiyun
1722*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_SP_5_LO 0x00000432
1723*4882a593Smuzhiyun
1724*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_SP_5_HI 0x00000433
1725*4882a593Smuzhiyun
1726*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_SP_6_LO 0x00000434
1727*4882a593Smuzhiyun
1728*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_SP_6_HI 0x00000435
1729*4882a593Smuzhiyun
1730*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_SP_7_LO 0x00000436
1731*4882a593Smuzhiyun
1732*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_SP_7_HI 0x00000437
1733*4882a593Smuzhiyun
1734*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_SP_8_LO 0x00000438
1735*4882a593Smuzhiyun
1736*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_SP_8_HI 0x00000439
1737*4882a593Smuzhiyun
1738*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_SP_9_LO 0x0000043a
1739*4882a593Smuzhiyun
1740*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_SP_9_HI 0x0000043b
1741*4882a593Smuzhiyun
1742*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_SP_10_LO 0x0000043c
1743*4882a593Smuzhiyun
1744*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_SP_10_HI 0x0000043d
1745*4882a593Smuzhiyun
1746*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_SP_11_LO 0x0000043e
1747*4882a593Smuzhiyun
1748*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_SP_11_HI 0x0000043f
1749*4882a593Smuzhiyun
1750*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_RB_0_LO 0x00000440
1751*4882a593Smuzhiyun
1752*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_RB_0_HI 0x00000441
1753*4882a593Smuzhiyun
1754*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_RB_1_LO 0x00000442
1755*4882a593Smuzhiyun
1756*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_RB_1_HI 0x00000443
1757*4882a593Smuzhiyun
1758*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_RB_2_LO 0x00000444
1759*4882a593Smuzhiyun
1760*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_RB_2_HI 0x00000445
1761*4882a593Smuzhiyun
1762*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_RB_3_LO 0x00000446
1763*4882a593Smuzhiyun
1764*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_RB_3_HI 0x00000447
1765*4882a593Smuzhiyun
1766*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_RB_4_LO 0x00000448
1767*4882a593Smuzhiyun
1768*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_RB_4_HI 0x00000449
1769*4882a593Smuzhiyun
1770*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_RB_5_LO 0x0000044a
1771*4882a593Smuzhiyun
1772*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_RB_5_HI 0x0000044b
1773*4882a593Smuzhiyun
1774*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_RB_6_LO 0x0000044c
1775*4882a593Smuzhiyun
1776*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_RB_6_HI 0x0000044d
1777*4882a593Smuzhiyun
1778*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_RB_7_LO 0x0000044e
1779*4882a593Smuzhiyun
1780*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_RB_7_HI 0x0000044f
1781*4882a593Smuzhiyun
1782*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_VSC_0_LO 0x00000450
1783*4882a593Smuzhiyun
1784*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_VSC_0_HI 0x00000451
1785*4882a593Smuzhiyun
1786*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_VSC_1_LO 0x00000452
1787*4882a593Smuzhiyun
1788*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_VSC_1_HI 0x00000453
1789*4882a593Smuzhiyun
1790*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_LRZ_0_LO 0x00000454
1791*4882a593Smuzhiyun
1792*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_LRZ_0_HI 0x00000455
1793*4882a593Smuzhiyun
1794*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_LRZ_1_LO 0x00000456
1795*4882a593Smuzhiyun
1796*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_LRZ_1_HI 0x00000457
1797*4882a593Smuzhiyun
1798*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_LRZ_2_LO 0x00000458
1799*4882a593Smuzhiyun
1800*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_LRZ_2_HI 0x00000459
1801*4882a593Smuzhiyun
1802*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_LRZ_3_LO 0x0000045a
1803*4882a593Smuzhiyun
1804*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_LRZ_3_HI 0x0000045b
1805*4882a593Smuzhiyun
1806*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_CMP_0_LO 0x0000045c
1807*4882a593Smuzhiyun
1808*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_CMP_0_HI 0x0000045d
1809*4882a593Smuzhiyun
1810*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_CMP_1_LO 0x0000045e
1811*4882a593Smuzhiyun
1812*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_CMP_1_HI 0x0000045f
1813*4882a593Smuzhiyun
1814*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_CMP_2_LO 0x00000460
1815*4882a593Smuzhiyun
1816*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_CMP_2_HI 0x00000461
1817*4882a593Smuzhiyun
1818*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_CMP_3_LO 0x00000462
1819*4882a593Smuzhiyun
1820*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_CMP_3_HI 0x00000463
1821*4882a593Smuzhiyun
1822*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_RBBM_SEL_0 0x0000046b
1823*4882a593Smuzhiyun
1824*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_RBBM_SEL_1 0x0000046c
1825*4882a593Smuzhiyun
1826*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_RBBM_SEL_2 0x0000046d
1827*4882a593Smuzhiyun
1828*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_RBBM_SEL_3 0x0000046e
1829*4882a593Smuzhiyun
1830*4882a593Smuzhiyun #define REG_A5XX_RBBM_ALWAYSON_COUNTER_LO 0x000004d2
1831*4882a593Smuzhiyun
1832*4882a593Smuzhiyun #define REG_A5XX_RBBM_ALWAYSON_COUNTER_HI 0x000004d3
1833*4882a593Smuzhiyun
1834*4882a593Smuzhiyun #define REG_A5XX_RBBM_STATUS 0x000004f5
1835*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_GPU_BUSY_IGN_AHB__MASK 0x80000000
1836*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_GPU_BUSY_IGN_AHB__SHIFT 31
A5XX_RBBM_STATUS_GPU_BUSY_IGN_AHB(uint32_t val)1837*4882a593Smuzhiyun static inline uint32_t A5XX_RBBM_STATUS_GPU_BUSY_IGN_AHB(uint32_t val)
1838*4882a593Smuzhiyun {
1839*4882a593Smuzhiyun return ((val) << A5XX_RBBM_STATUS_GPU_BUSY_IGN_AHB__SHIFT) & A5XX_RBBM_STATUS_GPU_BUSY_IGN_AHB__MASK;
1840*4882a593Smuzhiyun }
1841*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_GPU_BUSY_IGN_AHB_CP__MASK 0x40000000
1842*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_GPU_BUSY_IGN_AHB_CP__SHIFT 30
A5XX_RBBM_STATUS_GPU_BUSY_IGN_AHB_CP(uint32_t val)1843*4882a593Smuzhiyun static inline uint32_t A5XX_RBBM_STATUS_GPU_BUSY_IGN_AHB_CP(uint32_t val)
1844*4882a593Smuzhiyun {
1845*4882a593Smuzhiyun return ((val) << A5XX_RBBM_STATUS_GPU_BUSY_IGN_AHB_CP__SHIFT) & A5XX_RBBM_STATUS_GPU_BUSY_IGN_AHB_CP__MASK;
1846*4882a593Smuzhiyun }
1847*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_HLSQ_BUSY__MASK 0x20000000
1848*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_HLSQ_BUSY__SHIFT 29
A5XX_RBBM_STATUS_HLSQ_BUSY(uint32_t val)1849*4882a593Smuzhiyun static inline uint32_t A5XX_RBBM_STATUS_HLSQ_BUSY(uint32_t val)
1850*4882a593Smuzhiyun {
1851*4882a593Smuzhiyun return ((val) << A5XX_RBBM_STATUS_HLSQ_BUSY__SHIFT) & A5XX_RBBM_STATUS_HLSQ_BUSY__MASK;
1852*4882a593Smuzhiyun }
1853*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_VSC_BUSY__MASK 0x10000000
1854*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_VSC_BUSY__SHIFT 28
A5XX_RBBM_STATUS_VSC_BUSY(uint32_t val)1855*4882a593Smuzhiyun static inline uint32_t A5XX_RBBM_STATUS_VSC_BUSY(uint32_t val)
1856*4882a593Smuzhiyun {
1857*4882a593Smuzhiyun return ((val) << A5XX_RBBM_STATUS_VSC_BUSY__SHIFT) & A5XX_RBBM_STATUS_VSC_BUSY__MASK;
1858*4882a593Smuzhiyun }
1859*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_TPL1_BUSY__MASK 0x08000000
1860*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_TPL1_BUSY__SHIFT 27
A5XX_RBBM_STATUS_TPL1_BUSY(uint32_t val)1861*4882a593Smuzhiyun static inline uint32_t A5XX_RBBM_STATUS_TPL1_BUSY(uint32_t val)
1862*4882a593Smuzhiyun {
1863*4882a593Smuzhiyun return ((val) << A5XX_RBBM_STATUS_TPL1_BUSY__SHIFT) & A5XX_RBBM_STATUS_TPL1_BUSY__MASK;
1864*4882a593Smuzhiyun }
1865*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_SP_BUSY__MASK 0x04000000
1866*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_SP_BUSY__SHIFT 26
A5XX_RBBM_STATUS_SP_BUSY(uint32_t val)1867*4882a593Smuzhiyun static inline uint32_t A5XX_RBBM_STATUS_SP_BUSY(uint32_t val)
1868*4882a593Smuzhiyun {
1869*4882a593Smuzhiyun return ((val) << A5XX_RBBM_STATUS_SP_BUSY__SHIFT) & A5XX_RBBM_STATUS_SP_BUSY__MASK;
1870*4882a593Smuzhiyun }
1871*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_UCHE_BUSY__MASK 0x02000000
1872*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_UCHE_BUSY__SHIFT 25
A5XX_RBBM_STATUS_UCHE_BUSY(uint32_t val)1873*4882a593Smuzhiyun static inline uint32_t A5XX_RBBM_STATUS_UCHE_BUSY(uint32_t val)
1874*4882a593Smuzhiyun {
1875*4882a593Smuzhiyun return ((val) << A5XX_RBBM_STATUS_UCHE_BUSY__SHIFT) & A5XX_RBBM_STATUS_UCHE_BUSY__MASK;
1876*4882a593Smuzhiyun }
1877*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_VPC_BUSY__MASK 0x01000000
1878*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_VPC_BUSY__SHIFT 24
A5XX_RBBM_STATUS_VPC_BUSY(uint32_t val)1879*4882a593Smuzhiyun static inline uint32_t A5XX_RBBM_STATUS_VPC_BUSY(uint32_t val)
1880*4882a593Smuzhiyun {
1881*4882a593Smuzhiyun return ((val) << A5XX_RBBM_STATUS_VPC_BUSY__SHIFT) & A5XX_RBBM_STATUS_VPC_BUSY__MASK;
1882*4882a593Smuzhiyun }
1883*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_VFDP_BUSY__MASK 0x00800000
1884*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_VFDP_BUSY__SHIFT 23
A5XX_RBBM_STATUS_VFDP_BUSY(uint32_t val)1885*4882a593Smuzhiyun static inline uint32_t A5XX_RBBM_STATUS_VFDP_BUSY(uint32_t val)
1886*4882a593Smuzhiyun {
1887*4882a593Smuzhiyun return ((val) << A5XX_RBBM_STATUS_VFDP_BUSY__SHIFT) & A5XX_RBBM_STATUS_VFDP_BUSY__MASK;
1888*4882a593Smuzhiyun }
1889*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_VFD_BUSY__MASK 0x00400000
1890*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_VFD_BUSY__SHIFT 22
A5XX_RBBM_STATUS_VFD_BUSY(uint32_t val)1891*4882a593Smuzhiyun static inline uint32_t A5XX_RBBM_STATUS_VFD_BUSY(uint32_t val)
1892*4882a593Smuzhiyun {
1893*4882a593Smuzhiyun return ((val) << A5XX_RBBM_STATUS_VFD_BUSY__SHIFT) & A5XX_RBBM_STATUS_VFD_BUSY__MASK;
1894*4882a593Smuzhiyun }
1895*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_TESS_BUSY__MASK 0x00200000
1896*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_TESS_BUSY__SHIFT 21
A5XX_RBBM_STATUS_TESS_BUSY(uint32_t val)1897*4882a593Smuzhiyun static inline uint32_t A5XX_RBBM_STATUS_TESS_BUSY(uint32_t val)
1898*4882a593Smuzhiyun {
1899*4882a593Smuzhiyun return ((val) << A5XX_RBBM_STATUS_TESS_BUSY__SHIFT) & A5XX_RBBM_STATUS_TESS_BUSY__MASK;
1900*4882a593Smuzhiyun }
1901*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_PC_VSD_BUSY__MASK 0x00100000
1902*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_PC_VSD_BUSY__SHIFT 20
A5XX_RBBM_STATUS_PC_VSD_BUSY(uint32_t val)1903*4882a593Smuzhiyun static inline uint32_t A5XX_RBBM_STATUS_PC_VSD_BUSY(uint32_t val)
1904*4882a593Smuzhiyun {
1905*4882a593Smuzhiyun return ((val) << A5XX_RBBM_STATUS_PC_VSD_BUSY__SHIFT) & A5XX_RBBM_STATUS_PC_VSD_BUSY__MASK;
1906*4882a593Smuzhiyun }
1907*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_PC_DCALL_BUSY__MASK 0x00080000
1908*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_PC_DCALL_BUSY__SHIFT 19
A5XX_RBBM_STATUS_PC_DCALL_BUSY(uint32_t val)1909*4882a593Smuzhiyun static inline uint32_t A5XX_RBBM_STATUS_PC_DCALL_BUSY(uint32_t val)
1910*4882a593Smuzhiyun {
1911*4882a593Smuzhiyun return ((val) << A5XX_RBBM_STATUS_PC_DCALL_BUSY__SHIFT) & A5XX_RBBM_STATUS_PC_DCALL_BUSY__MASK;
1912*4882a593Smuzhiyun }
1913*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_GPMU_SLAVE_BUSY__MASK 0x00040000
1914*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_GPMU_SLAVE_BUSY__SHIFT 18
A5XX_RBBM_STATUS_GPMU_SLAVE_BUSY(uint32_t val)1915*4882a593Smuzhiyun static inline uint32_t A5XX_RBBM_STATUS_GPMU_SLAVE_BUSY(uint32_t val)
1916*4882a593Smuzhiyun {
1917*4882a593Smuzhiyun return ((val) << A5XX_RBBM_STATUS_GPMU_SLAVE_BUSY__SHIFT) & A5XX_RBBM_STATUS_GPMU_SLAVE_BUSY__MASK;
1918*4882a593Smuzhiyun }
1919*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_DCOM_BUSY__MASK 0x00020000
1920*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_DCOM_BUSY__SHIFT 17
A5XX_RBBM_STATUS_DCOM_BUSY(uint32_t val)1921*4882a593Smuzhiyun static inline uint32_t A5XX_RBBM_STATUS_DCOM_BUSY(uint32_t val)
1922*4882a593Smuzhiyun {
1923*4882a593Smuzhiyun return ((val) << A5XX_RBBM_STATUS_DCOM_BUSY__SHIFT) & A5XX_RBBM_STATUS_DCOM_BUSY__MASK;
1924*4882a593Smuzhiyun }
1925*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_COM_BUSY__MASK 0x00010000
1926*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_COM_BUSY__SHIFT 16
A5XX_RBBM_STATUS_COM_BUSY(uint32_t val)1927*4882a593Smuzhiyun static inline uint32_t A5XX_RBBM_STATUS_COM_BUSY(uint32_t val)
1928*4882a593Smuzhiyun {
1929*4882a593Smuzhiyun return ((val) << A5XX_RBBM_STATUS_COM_BUSY__SHIFT) & A5XX_RBBM_STATUS_COM_BUSY__MASK;
1930*4882a593Smuzhiyun }
1931*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_LRZ_BUZY__MASK 0x00008000
1932*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_LRZ_BUZY__SHIFT 15
A5XX_RBBM_STATUS_LRZ_BUZY(uint32_t val)1933*4882a593Smuzhiyun static inline uint32_t A5XX_RBBM_STATUS_LRZ_BUZY(uint32_t val)
1934*4882a593Smuzhiyun {
1935*4882a593Smuzhiyun return ((val) << A5XX_RBBM_STATUS_LRZ_BUZY__SHIFT) & A5XX_RBBM_STATUS_LRZ_BUZY__MASK;
1936*4882a593Smuzhiyun }
1937*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_A2D_DSP_BUSY__MASK 0x00004000
1938*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_A2D_DSP_BUSY__SHIFT 14
A5XX_RBBM_STATUS_A2D_DSP_BUSY(uint32_t val)1939*4882a593Smuzhiyun static inline uint32_t A5XX_RBBM_STATUS_A2D_DSP_BUSY(uint32_t val)
1940*4882a593Smuzhiyun {
1941*4882a593Smuzhiyun return ((val) << A5XX_RBBM_STATUS_A2D_DSP_BUSY__SHIFT) & A5XX_RBBM_STATUS_A2D_DSP_BUSY__MASK;
1942*4882a593Smuzhiyun }
1943*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_CCUFCHE_BUSY__MASK 0x00002000
1944*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_CCUFCHE_BUSY__SHIFT 13
A5XX_RBBM_STATUS_CCUFCHE_BUSY(uint32_t val)1945*4882a593Smuzhiyun static inline uint32_t A5XX_RBBM_STATUS_CCUFCHE_BUSY(uint32_t val)
1946*4882a593Smuzhiyun {
1947*4882a593Smuzhiyun return ((val) << A5XX_RBBM_STATUS_CCUFCHE_BUSY__SHIFT) & A5XX_RBBM_STATUS_CCUFCHE_BUSY__MASK;
1948*4882a593Smuzhiyun }
1949*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_RB_BUSY__MASK 0x00001000
1950*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_RB_BUSY__SHIFT 12
A5XX_RBBM_STATUS_RB_BUSY(uint32_t val)1951*4882a593Smuzhiyun static inline uint32_t A5XX_RBBM_STATUS_RB_BUSY(uint32_t val)
1952*4882a593Smuzhiyun {
1953*4882a593Smuzhiyun return ((val) << A5XX_RBBM_STATUS_RB_BUSY__SHIFT) & A5XX_RBBM_STATUS_RB_BUSY__MASK;
1954*4882a593Smuzhiyun }
1955*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_RAS_BUSY__MASK 0x00000800
1956*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_RAS_BUSY__SHIFT 11
A5XX_RBBM_STATUS_RAS_BUSY(uint32_t val)1957*4882a593Smuzhiyun static inline uint32_t A5XX_RBBM_STATUS_RAS_BUSY(uint32_t val)
1958*4882a593Smuzhiyun {
1959*4882a593Smuzhiyun return ((val) << A5XX_RBBM_STATUS_RAS_BUSY__SHIFT) & A5XX_RBBM_STATUS_RAS_BUSY__MASK;
1960*4882a593Smuzhiyun }
1961*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_TSE_BUSY__MASK 0x00000400
1962*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_TSE_BUSY__SHIFT 10
A5XX_RBBM_STATUS_TSE_BUSY(uint32_t val)1963*4882a593Smuzhiyun static inline uint32_t A5XX_RBBM_STATUS_TSE_BUSY(uint32_t val)
1964*4882a593Smuzhiyun {
1965*4882a593Smuzhiyun return ((val) << A5XX_RBBM_STATUS_TSE_BUSY__SHIFT) & A5XX_RBBM_STATUS_TSE_BUSY__MASK;
1966*4882a593Smuzhiyun }
1967*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_VBIF_BUSY__MASK 0x00000200
1968*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_VBIF_BUSY__SHIFT 9
A5XX_RBBM_STATUS_VBIF_BUSY(uint32_t val)1969*4882a593Smuzhiyun static inline uint32_t A5XX_RBBM_STATUS_VBIF_BUSY(uint32_t val)
1970*4882a593Smuzhiyun {
1971*4882a593Smuzhiyun return ((val) << A5XX_RBBM_STATUS_VBIF_BUSY__SHIFT) & A5XX_RBBM_STATUS_VBIF_BUSY__MASK;
1972*4882a593Smuzhiyun }
1973*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_GPU_BUSY_IGN_AHB_HYST__MASK 0x00000100
1974*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_GPU_BUSY_IGN_AHB_HYST__SHIFT 8
A5XX_RBBM_STATUS_GPU_BUSY_IGN_AHB_HYST(uint32_t val)1975*4882a593Smuzhiyun static inline uint32_t A5XX_RBBM_STATUS_GPU_BUSY_IGN_AHB_HYST(uint32_t val)
1976*4882a593Smuzhiyun {
1977*4882a593Smuzhiyun return ((val) << A5XX_RBBM_STATUS_GPU_BUSY_IGN_AHB_HYST__SHIFT) & A5XX_RBBM_STATUS_GPU_BUSY_IGN_AHB_HYST__MASK;
1978*4882a593Smuzhiyun }
1979*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_CP_BUSY_IGN_HYST__MASK 0x00000080
1980*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_CP_BUSY_IGN_HYST__SHIFT 7
A5XX_RBBM_STATUS_CP_BUSY_IGN_HYST(uint32_t val)1981*4882a593Smuzhiyun static inline uint32_t A5XX_RBBM_STATUS_CP_BUSY_IGN_HYST(uint32_t val)
1982*4882a593Smuzhiyun {
1983*4882a593Smuzhiyun return ((val) << A5XX_RBBM_STATUS_CP_BUSY_IGN_HYST__SHIFT) & A5XX_RBBM_STATUS_CP_BUSY_IGN_HYST__MASK;
1984*4882a593Smuzhiyun }
1985*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_CP_BUSY__MASK 0x00000040
1986*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_CP_BUSY__SHIFT 6
A5XX_RBBM_STATUS_CP_BUSY(uint32_t val)1987*4882a593Smuzhiyun static inline uint32_t A5XX_RBBM_STATUS_CP_BUSY(uint32_t val)
1988*4882a593Smuzhiyun {
1989*4882a593Smuzhiyun return ((val) << A5XX_RBBM_STATUS_CP_BUSY__SHIFT) & A5XX_RBBM_STATUS_CP_BUSY__MASK;
1990*4882a593Smuzhiyun }
1991*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_GPMU_MASTER_BUSY__MASK 0x00000020
1992*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_GPMU_MASTER_BUSY__SHIFT 5
A5XX_RBBM_STATUS_GPMU_MASTER_BUSY(uint32_t val)1993*4882a593Smuzhiyun static inline uint32_t A5XX_RBBM_STATUS_GPMU_MASTER_BUSY(uint32_t val)
1994*4882a593Smuzhiyun {
1995*4882a593Smuzhiyun return ((val) << A5XX_RBBM_STATUS_GPMU_MASTER_BUSY__SHIFT) & A5XX_RBBM_STATUS_GPMU_MASTER_BUSY__MASK;
1996*4882a593Smuzhiyun }
1997*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_CP_CRASH_BUSY__MASK 0x00000010
1998*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_CP_CRASH_BUSY__SHIFT 4
A5XX_RBBM_STATUS_CP_CRASH_BUSY(uint32_t val)1999*4882a593Smuzhiyun static inline uint32_t A5XX_RBBM_STATUS_CP_CRASH_BUSY(uint32_t val)
2000*4882a593Smuzhiyun {
2001*4882a593Smuzhiyun return ((val) << A5XX_RBBM_STATUS_CP_CRASH_BUSY__SHIFT) & A5XX_RBBM_STATUS_CP_CRASH_BUSY__MASK;
2002*4882a593Smuzhiyun }
2003*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_CP_ETS_BUSY__MASK 0x00000008
2004*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_CP_ETS_BUSY__SHIFT 3
A5XX_RBBM_STATUS_CP_ETS_BUSY(uint32_t val)2005*4882a593Smuzhiyun static inline uint32_t A5XX_RBBM_STATUS_CP_ETS_BUSY(uint32_t val)
2006*4882a593Smuzhiyun {
2007*4882a593Smuzhiyun return ((val) << A5XX_RBBM_STATUS_CP_ETS_BUSY__SHIFT) & A5XX_RBBM_STATUS_CP_ETS_BUSY__MASK;
2008*4882a593Smuzhiyun }
2009*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_CP_PFP_BUSY__MASK 0x00000004
2010*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_CP_PFP_BUSY__SHIFT 2
A5XX_RBBM_STATUS_CP_PFP_BUSY(uint32_t val)2011*4882a593Smuzhiyun static inline uint32_t A5XX_RBBM_STATUS_CP_PFP_BUSY(uint32_t val)
2012*4882a593Smuzhiyun {
2013*4882a593Smuzhiyun return ((val) << A5XX_RBBM_STATUS_CP_PFP_BUSY__SHIFT) & A5XX_RBBM_STATUS_CP_PFP_BUSY__MASK;
2014*4882a593Smuzhiyun }
2015*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_CP_ME_BUSY__MASK 0x00000002
2016*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_CP_ME_BUSY__SHIFT 1
A5XX_RBBM_STATUS_CP_ME_BUSY(uint32_t val)2017*4882a593Smuzhiyun static inline uint32_t A5XX_RBBM_STATUS_CP_ME_BUSY(uint32_t val)
2018*4882a593Smuzhiyun {
2019*4882a593Smuzhiyun return ((val) << A5XX_RBBM_STATUS_CP_ME_BUSY__SHIFT) & A5XX_RBBM_STATUS_CP_ME_BUSY__MASK;
2020*4882a593Smuzhiyun }
2021*4882a593Smuzhiyun #define A5XX_RBBM_STATUS_HI_BUSY 0x00000001
2022*4882a593Smuzhiyun
2023*4882a593Smuzhiyun #define REG_A5XX_RBBM_STATUS3 0x00000530
2024*4882a593Smuzhiyun
2025*4882a593Smuzhiyun #define REG_A5XX_RBBM_INT_0_STATUS 0x000004e1
2026*4882a593Smuzhiyun
2027*4882a593Smuzhiyun #define REG_A5XX_RBBM_AHB_ME_SPLIT_STATUS 0x000004f0
2028*4882a593Smuzhiyun
2029*4882a593Smuzhiyun #define REG_A5XX_RBBM_AHB_PFP_SPLIT_STATUS 0x000004f1
2030*4882a593Smuzhiyun
2031*4882a593Smuzhiyun #define REG_A5XX_RBBM_AHB_ETS_SPLIT_STATUS 0x000004f3
2032*4882a593Smuzhiyun
2033*4882a593Smuzhiyun #define REG_A5XX_RBBM_AHB_ERROR_STATUS 0x000004f4
2034*4882a593Smuzhiyun
2035*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_CNTL 0x00000464
2036*4882a593Smuzhiyun
2037*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_LOAD_CMD0 0x00000465
2038*4882a593Smuzhiyun
2039*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_LOAD_CMD1 0x00000466
2040*4882a593Smuzhiyun
2041*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_LOAD_CMD2 0x00000467
2042*4882a593Smuzhiyun
2043*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_LOAD_CMD3 0x00000468
2044*4882a593Smuzhiyun
2045*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_LOAD_VALUE_LO 0x00000469
2046*4882a593Smuzhiyun
2047*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_LOAD_VALUE_HI 0x0000046a
2048*4882a593Smuzhiyun
2049*4882a593Smuzhiyun #define REG_A5XX_RBBM_PERFCTR_GPU_BUSY_MASKED 0x0000046f
2050*4882a593Smuzhiyun
2051*4882a593Smuzhiyun #define REG_A5XX_RBBM_AHB_ERROR 0x000004ed
2052*4882a593Smuzhiyun
2053*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_EVENT_LOGIC 0x00000504
2054*4882a593Smuzhiyun
2055*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_OVER 0x00000505
2056*4882a593Smuzhiyun
2057*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_COUNT0 0x00000506
2058*4882a593Smuzhiyun
2059*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_COUNT1 0x00000507
2060*4882a593Smuzhiyun
2061*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_COUNT2 0x00000508
2062*4882a593Smuzhiyun
2063*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_COUNT3 0x00000509
2064*4882a593Smuzhiyun
2065*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_COUNT4 0x0000050a
2066*4882a593Smuzhiyun
2067*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_COUNT5 0x0000050b
2068*4882a593Smuzhiyun
2069*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_TRACE_ADDR 0x0000050c
2070*4882a593Smuzhiyun
2071*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_TRACE_BUF0 0x0000050d
2072*4882a593Smuzhiyun
2073*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_TRACE_BUF1 0x0000050e
2074*4882a593Smuzhiyun
2075*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_TRACE_BUF2 0x0000050f
2076*4882a593Smuzhiyun
2077*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_TRACE_BUF3 0x00000510
2078*4882a593Smuzhiyun
2079*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_TRACE_BUF4 0x00000511
2080*4882a593Smuzhiyun
2081*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_MISR0 0x00000512
2082*4882a593Smuzhiyun
2083*4882a593Smuzhiyun #define REG_A5XX_RBBM_CFG_DBGBUS_MISR1 0x00000513
2084*4882a593Smuzhiyun
2085*4882a593Smuzhiyun #define REG_A5XX_RBBM_ISDB_CNT 0x00000533
2086*4882a593Smuzhiyun
2087*4882a593Smuzhiyun #define REG_A5XX_RBBM_SECVID_TRUST_CONFIG 0x0000f000
2088*4882a593Smuzhiyun
2089*4882a593Smuzhiyun #define REG_A5XX_RBBM_SECVID_TRUST_CNTL 0x0000f400
2090*4882a593Smuzhiyun
2091*4882a593Smuzhiyun #define REG_A5XX_RBBM_SECVID_TSB_TRUSTED_BASE_LO 0x0000f800
2092*4882a593Smuzhiyun
2093*4882a593Smuzhiyun #define REG_A5XX_RBBM_SECVID_TSB_TRUSTED_BASE_HI 0x0000f801
2094*4882a593Smuzhiyun
2095*4882a593Smuzhiyun #define REG_A5XX_RBBM_SECVID_TSB_TRUSTED_SIZE 0x0000f802
2096*4882a593Smuzhiyun
2097*4882a593Smuzhiyun #define REG_A5XX_RBBM_SECVID_TSB_CNTL 0x0000f803
2098*4882a593Smuzhiyun
2099*4882a593Smuzhiyun #define REG_A5XX_RBBM_SECVID_TSB_COMP_STATUS_LO 0x0000f804
2100*4882a593Smuzhiyun
2101*4882a593Smuzhiyun #define REG_A5XX_RBBM_SECVID_TSB_COMP_STATUS_HI 0x0000f805
2102*4882a593Smuzhiyun
2103*4882a593Smuzhiyun #define REG_A5XX_RBBM_SECVID_TSB_UCHE_STATUS_LO 0x0000f806
2104*4882a593Smuzhiyun
2105*4882a593Smuzhiyun #define REG_A5XX_RBBM_SECVID_TSB_UCHE_STATUS_HI 0x0000f807
2106*4882a593Smuzhiyun
2107*4882a593Smuzhiyun #define REG_A5XX_RBBM_SECVID_TSB_ADDR_MODE_CNTL 0x0000f810
2108*4882a593Smuzhiyun
2109*4882a593Smuzhiyun #define REG_A5XX_VSC_BIN_SIZE 0x00000bc2
2110*4882a593Smuzhiyun #define A5XX_VSC_BIN_SIZE_WIDTH__MASK 0x000000ff
2111*4882a593Smuzhiyun #define A5XX_VSC_BIN_SIZE_WIDTH__SHIFT 0
A5XX_VSC_BIN_SIZE_WIDTH(uint32_t val)2112*4882a593Smuzhiyun static inline uint32_t A5XX_VSC_BIN_SIZE_WIDTH(uint32_t val)
2113*4882a593Smuzhiyun {
2114*4882a593Smuzhiyun return ((val >> 5) << A5XX_VSC_BIN_SIZE_WIDTH__SHIFT) & A5XX_VSC_BIN_SIZE_WIDTH__MASK;
2115*4882a593Smuzhiyun }
2116*4882a593Smuzhiyun #define A5XX_VSC_BIN_SIZE_HEIGHT__MASK 0x0001fe00
2117*4882a593Smuzhiyun #define A5XX_VSC_BIN_SIZE_HEIGHT__SHIFT 9
A5XX_VSC_BIN_SIZE_HEIGHT(uint32_t val)2118*4882a593Smuzhiyun static inline uint32_t A5XX_VSC_BIN_SIZE_HEIGHT(uint32_t val)
2119*4882a593Smuzhiyun {
2120*4882a593Smuzhiyun return ((val >> 5) << A5XX_VSC_BIN_SIZE_HEIGHT__SHIFT) & A5XX_VSC_BIN_SIZE_HEIGHT__MASK;
2121*4882a593Smuzhiyun }
2122*4882a593Smuzhiyun
2123*4882a593Smuzhiyun #define REG_A5XX_VSC_SIZE_ADDRESS_LO 0x00000bc3
2124*4882a593Smuzhiyun
2125*4882a593Smuzhiyun #define REG_A5XX_VSC_SIZE_ADDRESS_HI 0x00000bc4
2126*4882a593Smuzhiyun
2127*4882a593Smuzhiyun #define REG_A5XX_UNKNOWN_0BC5 0x00000bc5
2128*4882a593Smuzhiyun
2129*4882a593Smuzhiyun #define REG_A5XX_UNKNOWN_0BC6 0x00000bc6
2130*4882a593Smuzhiyun
REG_A5XX_VSC_PIPE_CONFIG(uint32_t i0)2131*4882a593Smuzhiyun static inline uint32_t REG_A5XX_VSC_PIPE_CONFIG(uint32_t i0) { return 0x00000bd0 + 0x1*i0; }
2132*4882a593Smuzhiyun
REG_A5XX_VSC_PIPE_CONFIG_REG(uint32_t i0)2133*4882a593Smuzhiyun static inline uint32_t REG_A5XX_VSC_PIPE_CONFIG_REG(uint32_t i0) { return 0x00000bd0 + 0x1*i0; }
2134*4882a593Smuzhiyun #define A5XX_VSC_PIPE_CONFIG_REG_X__MASK 0x000003ff
2135*4882a593Smuzhiyun #define A5XX_VSC_PIPE_CONFIG_REG_X__SHIFT 0
A5XX_VSC_PIPE_CONFIG_REG_X(uint32_t val)2136*4882a593Smuzhiyun static inline uint32_t A5XX_VSC_PIPE_CONFIG_REG_X(uint32_t val)
2137*4882a593Smuzhiyun {
2138*4882a593Smuzhiyun return ((val) << A5XX_VSC_PIPE_CONFIG_REG_X__SHIFT) & A5XX_VSC_PIPE_CONFIG_REG_X__MASK;
2139*4882a593Smuzhiyun }
2140*4882a593Smuzhiyun #define A5XX_VSC_PIPE_CONFIG_REG_Y__MASK 0x000ffc00
2141*4882a593Smuzhiyun #define A5XX_VSC_PIPE_CONFIG_REG_Y__SHIFT 10
A5XX_VSC_PIPE_CONFIG_REG_Y(uint32_t val)2142*4882a593Smuzhiyun static inline uint32_t A5XX_VSC_PIPE_CONFIG_REG_Y(uint32_t val)
2143*4882a593Smuzhiyun {
2144*4882a593Smuzhiyun return ((val) << A5XX_VSC_PIPE_CONFIG_REG_Y__SHIFT) & A5XX_VSC_PIPE_CONFIG_REG_Y__MASK;
2145*4882a593Smuzhiyun }
2146*4882a593Smuzhiyun #define A5XX_VSC_PIPE_CONFIG_REG_W__MASK 0x00f00000
2147*4882a593Smuzhiyun #define A5XX_VSC_PIPE_CONFIG_REG_W__SHIFT 20
A5XX_VSC_PIPE_CONFIG_REG_W(uint32_t val)2148*4882a593Smuzhiyun static inline uint32_t A5XX_VSC_PIPE_CONFIG_REG_W(uint32_t val)
2149*4882a593Smuzhiyun {
2150*4882a593Smuzhiyun return ((val) << A5XX_VSC_PIPE_CONFIG_REG_W__SHIFT) & A5XX_VSC_PIPE_CONFIG_REG_W__MASK;
2151*4882a593Smuzhiyun }
2152*4882a593Smuzhiyun #define A5XX_VSC_PIPE_CONFIG_REG_H__MASK 0x0f000000
2153*4882a593Smuzhiyun #define A5XX_VSC_PIPE_CONFIG_REG_H__SHIFT 24
A5XX_VSC_PIPE_CONFIG_REG_H(uint32_t val)2154*4882a593Smuzhiyun static inline uint32_t A5XX_VSC_PIPE_CONFIG_REG_H(uint32_t val)
2155*4882a593Smuzhiyun {
2156*4882a593Smuzhiyun return ((val) << A5XX_VSC_PIPE_CONFIG_REG_H__SHIFT) & A5XX_VSC_PIPE_CONFIG_REG_H__MASK;
2157*4882a593Smuzhiyun }
2158*4882a593Smuzhiyun
REG_A5XX_VSC_PIPE_DATA_ADDRESS(uint32_t i0)2159*4882a593Smuzhiyun static inline uint32_t REG_A5XX_VSC_PIPE_DATA_ADDRESS(uint32_t i0) { return 0x00000be0 + 0x2*i0; }
2160*4882a593Smuzhiyun
REG_A5XX_VSC_PIPE_DATA_ADDRESS_LO(uint32_t i0)2161*4882a593Smuzhiyun static inline uint32_t REG_A5XX_VSC_PIPE_DATA_ADDRESS_LO(uint32_t i0) { return 0x00000be0 + 0x2*i0; }
2162*4882a593Smuzhiyun
REG_A5XX_VSC_PIPE_DATA_ADDRESS_HI(uint32_t i0)2163*4882a593Smuzhiyun static inline uint32_t REG_A5XX_VSC_PIPE_DATA_ADDRESS_HI(uint32_t i0) { return 0x00000be1 + 0x2*i0; }
2164*4882a593Smuzhiyun
REG_A5XX_VSC_PIPE_DATA_LENGTH(uint32_t i0)2165*4882a593Smuzhiyun static inline uint32_t REG_A5XX_VSC_PIPE_DATA_LENGTH(uint32_t i0) { return 0x00000c00 + 0x1*i0; }
2166*4882a593Smuzhiyun
REG_A5XX_VSC_PIPE_DATA_LENGTH_REG(uint32_t i0)2167*4882a593Smuzhiyun static inline uint32_t REG_A5XX_VSC_PIPE_DATA_LENGTH_REG(uint32_t i0) { return 0x00000c00 + 0x1*i0; }
2168*4882a593Smuzhiyun
2169*4882a593Smuzhiyun #define REG_A5XX_VSC_PERFCTR_VSC_SEL_0 0x00000c60
2170*4882a593Smuzhiyun
2171*4882a593Smuzhiyun #define REG_A5XX_VSC_PERFCTR_VSC_SEL_1 0x00000c61
2172*4882a593Smuzhiyun
2173*4882a593Smuzhiyun #define REG_A5XX_VSC_RESOLVE_CNTL 0x00000cdd
2174*4882a593Smuzhiyun #define A5XX_VSC_RESOLVE_CNTL_WINDOW_OFFSET_DISABLE 0x80000000
2175*4882a593Smuzhiyun #define A5XX_VSC_RESOLVE_CNTL_X__MASK 0x00007fff
2176*4882a593Smuzhiyun #define A5XX_VSC_RESOLVE_CNTL_X__SHIFT 0
A5XX_VSC_RESOLVE_CNTL_X(uint32_t val)2177*4882a593Smuzhiyun static inline uint32_t A5XX_VSC_RESOLVE_CNTL_X(uint32_t val)
2178*4882a593Smuzhiyun {
2179*4882a593Smuzhiyun return ((val) << A5XX_VSC_RESOLVE_CNTL_X__SHIFT) & A5XX_VSC_RESOLVE_CNTL_X__MASK;
2180*4882a593Smuzhiyun }
2181*4882a593Smuzhiyun #define A5XX_VSC_RESOLVE_CNTL_Y__MASK 0x7fff0000
2182*4882a593Smuzhiyun #define A5XX_VSC_RESOLVE_CNTL_Y__SHIFT 16
A5XX_VSC_RESOLVE_CNTL_Y(uint32_t val)2183*4882a593Smuzhiyun static inline uint32_t A5XX_VSC_RESOLVE_CNTL_Y(uint32_t val)
2184*4882a593Smuzhiyun {
2185*4882a593Smuzhiyun return ((val) << A5XX_VSC_RESOLVE_CNTL_Y__SHIFT) & A5XX_VSC_RESOLVE_CNTL_Y__MASK;
2186*4882a593Smuzhiyun }
2187*4882a593Smuzhiyun
2188*4882a593Smuzhiyun #define REG_A5XX_GRAS_ADDR_MODE_CNTL 0x00000c81
2189*4882a593Smuzhiyun
2190*4882a593Smuzhiyun #define REG_A5XX_GRAS_PERFCTR_TSE_SEL_0 0x00000c90
2191*4882a593Smuzhiyun
2192*4882a593Smuzhiyun #define REG_A5XX_GRAS_PERFCTR_TSE_SEL_1 0x00000c91
2193*4882a593Smuzhiyun
2194*4882a593Smuzhiyun #define REG_A5XX_GRAS_PERFCTR_TSE_SEL_2 0x00000c92
2195*4882a593Smuzhiyun
2196*4882a593Smuzhiyun #define REG_A5XX_GRAS_PERFCTR_TSE_SEL_3 0x00000c93
2197*4882a593Smuzhiyun
2198*4882a593Smuzhiyun #define REG_A5XX_GRAS_PERFCTR_RAS_SEL_0 0x00000c94
2199*4882a593Smuzhiyun
2200*4882a593Smuzhiyun #define REG_A5XX_GRAS_PERFCTR_RAS_SEL_1 0x00000c95
2201*4882a593Smuzhiyun
2202*4882a593Smuzhiyun #define REG_A5XX_GRAS_PERFCTR_RAS_SEL_2 0x00000c96
2203*4882a593Smuzhiyun
2204*4882a593Smuzhiyun #define REG_A5XX_GRAS_PERFCTR_RAS_SEL_3 0x00000c97
2205*4882a593Smuzhiyun
2206*4882a593Smuzhiyun #define REG_A5XX_GRAS_PERFCTR_LRZ_SEL_0 0x00000c98
2207*4882a593Smuzhiyun
2208*4882a593Smuzhiyun #define REG_A5XX_GRAS_PERFCTR_LRZ_SEL_1 0x00000c99
2209*4882a593Smuzhiyun
2210*4882a593Smuzhiyun #define REG_A5XX_GRAS_PERFCTR_LRZ_SEL_2 0x00000c9a
2211*4882a593Smuzhiyun
2212*4882a593Smuzhiyun #define REG_A5XX_GRAS_PERFCTR_LRZ_SEL_3 0x00000c9b
2213*4882a593Smuzhiyun
2214*4882a593Smuzhiyun #define REG_A5XX_RB_DBG_ECO_CNTL 0x00000cc4
2215*4882a593Smuzhiyun
2216*4882a593Smuzhiyun #define REG_A5XX_RB_ADDR_MODE_CNTL 0x00000cc5
2217*4882a593Smuzhiyun
2218*4882a593Smuzhiyun #define REG_A5XX_RB_MODE_CNTL 0x00000cc6
2219*4882a593Smuzhiyun
2220*4882a593Smuzhiyun #define REG_A5XX_RB_CCU_CNTL 0x00000cc7
2221*4882a593Smuzhiyun
2222*4882a593Smuzhiyun #define REG_A5XX_RB_PERFCTR_RB_SEL_0 0x00000cd0
2223*4882a593Smuzhiyun
2224*4882a593Smuzhiyun #define REG_A5XX_RB_PERFCTR_RB_SEL_1 0x00000cd1
2225*4882a593Smuzhiyun
2226*4882a593Smuzhiyun #define REG_A5XX_RB_PERFCTR_RB_SEL_2 0x00000cd2
2227*4882a593Smuzhiyun
2228*4882a593Smuzhiyun #define REG_A5XX_RB_PERFCTR_RB_SEL_3 0x00000cd3
2229*4882a593Smuzhiyun
2230*4882a593Smuzhiyun #define REG_A5XX_RB_PERFCTR_RB_SEL_4 0x00000cd4
2231*4882a593Smuzhiyun
2232*4882a593Smuzhiyun #define REG_A5XX_RB_PERFCTR_RB_SEL_5 0x00000cd5
2233*4882a593Smuzhiyun
2234*4882a593Smuzhiyun #define REG_A5XX_RB_PERFCTR_RB_SEL_6 0x00000cd6
2235*4882a593Smuzhiyun
2236*4882a593Smuzhiyun #define REG_A5XX_RB_PERFCTR_RB_SEL_7 0x00000cd7
2237*4882a593Smuzhiyun
2238*4882a593Smuzhiyun #define REG_A5XX_RB_PERFCTR_CCU_SEL_0 0x00000cd8
2239*4882a593Smuzhiyun
2240*4882a593Smuzhiyun #define REG_A5XX_RB_PERFCTR_CCU_SEL_1 0x00000cd9
2241*4882a593Smuzhiyun
2242*4882a593Smuzhiyun #define REG_A5XX_RB_PERFCTR_CCU_SEL_2 0x00000cda
2243*4882a593Smuzhiyun
2244*4882a593Smuzhiyun #define REG_A5XX_RB_PERFCTR_CCU_SEL_3 0x00000cdb
2245*4882a593Smuzhiyun
2246*4882a593Smuzhiyun #define REG_A5XX_RB_POWERCTR_RB_SEL_0 0x00000ce0
2247*4882a593Smuzhiyun
2248*4882a593Smuzhiyun #define REG_A5XX_RB_POWERCTR_RB_SEL_1 0x00000ce1
2249*4882a593Smuzhiyun
2250*4882a593Smuzhiyun #define REG_A5XX_RB_POWERCTR_RB_SEL_2 0x00000ce2
2251*4882a593Smuzhiyun
2252*4882a593Smuzhiyun #define REG_A5XX_RB_POWERCTR_RB_SEL_3 0x00000ce3
2253*4882a593Smuzhiyun
2254*4882a593Smuzhiyun #define REG_A5XX_RB_POWERCTR_CCU_SEL_0 0x00000ce4
2255*4882a593Smuzhiyun
2256*4882a593Smuzhiyun #define REG_A5XX_RB_POWERCTR_CCU_SEL_1 0x00000ce5
2257*4882a593Smuzhiyun
2258*4882a593Smuzhiyun #define REG_A5XX_RB_PERFCTR_CMP_SEL_0 0x00000cec
2259*4882a593Smuzhiyun
2260*4882a593Smuzhiyun #define REG_A5XX_RB_PERFCTR_CMP_SEL_1 0x00000ced
2261*4882a593Smuzhiyun
2262*4882a593Smuzhiyun #define REG_A5XX_RB_PERFCTR_CMP_SEL_2 0x00000cee
2263*4882a593Smuzhiyun
2264*4882a593Smuzhiyun #define REG_A5XX_RB_PERFCTR_CMP_SEL_3 0x00000cef
2265*4882a593Smuzhiyun
2266*4882a593Smuzhiyun #define REG_A5XX_PC_DBG_ECO_CNTL 0x00000d00
2267*4882a593Smuzhiyun #define A5XX_PC_DBG_ECO_CNTL_TWOPASSUSEWFI 0x00000100
2268*4882a593Smuzhiyun
2269*4882a593Smuzhiyun #define REG_A5XX_PC_ADDR_MODE_CNTL 0x00000d01
2270*4882a593Smuzhiyun
2271*4882a593Smuzhiyun #define REG_A5XX_PC_MODE_CNTL 0x00000d02
2272*4882a593Smuzhiyun
2273*4882a593Smuzhiyun #define REG_A5XX_PC_INDEX_BUF_LO 0x00000d04
2274*4882a593Smuzhiyun
2275*4882a593Smuzhiyun #define REG_A5XX_PC_INDEX_BUF_HI 0x00000d05
2276*4882a593Smuzhiyun
2277*4882a593Smuzhiyun #define REG_A5XX_PC_START_INDEX 0x00000d06
2278*4882a593Smuzhiyun
2279*4882a593Smuzhiyun #define REG_A5XX_PC_MAX_INDEX 0x00000d07
2280*4882a593Smuzhiyun
2281*4882a593Smuzhiyun #define REG_A5XX_PC_TESSFACTOR_ADDR_LO 0x00000d08
2282*4882a593Smuzhiyun
2283*4882a593Smuzhiyun #define REG_A5XX_PC_TESSFACTOR_ADDR_HI 0x00000d09
2284*4882a593Smuzhiyun
2285*4882a593Smuzhiyun #define REG_A5XX_PC_PERFCTR_PC_SEL_0 0x00000d10
2286*4882a593Smuzhiyun
2287*4882a593Smuzhiyun #define REG_A5XX_PC_PERFCTR_PC_SEL_1 0x00000d11
2288*4882a593Smuzhiyun
2289*4882a593Smuzhiyun #define REG_A5XX_PC_PERFCTR_PC_SEL_2 0x00000d12
2290*4882a593Smuzhiyun
2291*4882a593Smuzhiyun #define REG_A5XX_PC_PERFCTR_PC_SEL_3 0x00000d13
2292*4882a593Smuzhiyun
2293*4882a593Smuzhiyun #define REG_A5XX_PC_PERFCTR_PC_SEL_4 0x00000d14
2294*4882a593Smuzhiyun
2295*4882a593Smuzhiyun #define REG_A5XX_PC_PERFCTR_PC_SEL_5 0x00000d15
2296*4882a593Smuzhiyun
2297*4882a593Smuzhiyun #define REG_A5XX_PC_PERFCTR_PC_SEL_6 0x00000d16
2298*4882a593Smuzhiyun
2299*4882a593Smuzhiyun #define REG_A5XX_PC_PERFCTR_PC_SEL_7 0x00000d17
2300*4882a593Smuzhiyun
2301*4882a593Smuzhiyun #define REG_A5XX_HLSQ_TIMEOUT_THRESHOLD_0 0x00000e00
2302*4882a593Smuzhiyun
2303*4882a593Smuzhiyun #define REG_A5XX_HLSQ_TIMEOUT_THRESHOLD_1 0x00000e01
2304*4882a593Smuzhiyun
2305*4882a593Smuzhiyun #define REG_A5XX_HLSQ_DBG_ECO_CNTL 0x00000e04
2306*4882a593Smuzhiyun
2307*4882a593Smuzhiyun #define REG_A5XX_HLSQ_ADDR_MODE_CNTL 0x00000e05
2308*4882a593Smuzhiyun
2309*4882a593Smuzhiyun #define REG_A5XX_HLSQ_MODE_CNTL 0x00000e06
2310*4882a593Smuzhiyun
2311*4882a593Smuzhiyun #define REG_A5XX_HLSQ_PERFCTR_HLSQ_SEL_0 0x00000e10
2312*4882a593Smuzhiyun
2313*4882a593Smuzhiyun #define REG_A5XX_HLSQ_PERFCTR_HLSQ_SEL_1 0x00000e11
2314*4882a593Smuzhiyun
2315*4882a593Smuzhiyun #define REG_A5XX_HLSQ_PERFCTR_HLSQ_SEL_2 0x00000e12
2316*4882a593Smuzhiyun
2317*4882a593Smuzhiyun #define REG_A5XX_HLSQ_PERFCTR_HLSQ_SEL_3 0x00000e13
2318*4882a593Smuzhiyun
2319*4882a593Smuzhiyun #define REG_A5XX_HLSQ_PERFCTR_HLSQ_SEL_4 0x00000e14
2320*4882a593Smuzhiyun
2321*4882a593Smuzhiyun #define REG_A5XX_HLSQ_PERFCTR_HLSQ_SEL_5 0x00000e15
2322*4882a593Smuzhiyun
2323*4882a593Smuzhiyun #define REG_A5XX_HLSQ_PERFCTR_HLSQ_SEL_6 0x00000e16
2324*4882a593Smuzhiyun
2325*4882a593Smuzhiyun #define REG_A5XX_HLSQ_PERFCTR_HLSQ_SEL_7 0x00000e17
2326*4882a593Smuzhiyun
2327*4882a593Smuzhiyun #define REG_A5XX_HLSQ_SPTP_RDSEL 0x00000f08
2328*4882a593Smuzhiyun
2329*4882a593Smuzhiyun #define REG_A5XX_HLSQ_DBG_READ_SEL 0x0000bc00
2330*4882a593Smuzhiyun
2331*4882a593Smuzhiyun #define REG_A5XX_HLSQ_DBG_AHB_READ_APERTURE 0x0000a000
2332*4882a593Smuzhiyun
2333*4882a593Smuzhiyun #define REG_A5XX_VFD_ADDR_MODE_CNTL 0x00000e41
2334*4882a593Smuzhiyun
2335*4882a593Smuzhiyun #define REG_A5XX_VFD_MODE_CNTL 0x00000e42
2336*4882a593Smuzhiyun
2337*4882a593Smuzhiyun #define REG_A5XX_VFD_PERFCTR_VFD_SEL_0 0x00000e50
2338*4882a593Smuzhiyun
2339*4882a593Smuzhiyun #define REG_A5XX_VFD_PERFCTR_VFD_SEL_1 0x00000e51
2340*4882a593Smuzhiyun
2341*4882a593Smuzhiyun #define REG_A5XX_VFD_PERFCTR_VFD_SEL_2 0x00000e52
2342*4882a593Smuzhiyun
2343*4882a593Smuzhiyun #define REG_A5XX_VFD_PERFCTR_VFD_SEL_3 0x00000e53
2344*4882a593Smuzhiyun
2345*4882a593Smuzhiyun #define REG_A5XX_VFD_PERFCTR_VFD_SEL_4 0x00000e54
2346*4882a593Smuzhiyun
2347*4882a593Smuzhiyun #define REG_A5XX_VFD_PERFCTR_VFD_SEL_5 0x00000e55
2348*4882a593Smuzhiyun
2349*4882a593Smuzhiyun #define REG_A5XX_VFD_PERFCTR_VFD_SEL_6 0x00000e56
2350*4882a593Smuzhiyun
2351*4882a593Smuzhiyun #define REG_A5XX_VFD_PERFCTR_VFD_SEL_7 0x00000e57
2352*4882a593Smuzhiyun
2353*4882a593Smuzhiyun #define REG_A5XX_VPC_DBG_ECO_CNTL 0x00000e60
2354*4882a593Smuzhiyun
2355*4882a593Smuzhiyun #define REG_A5XX_VPC_ADDR_MODE_CNTL 0x00000e61
2356*4882a593Smuzhiyun
2357*4882a593Smuzhiyun #define REG_A5XX_VPC_MODE_CNTL 0x00000e62
2358*4882a593Smuzhiyun #define A5XX_VPC_MODE_CNTL_BINNING_PASS 0x00000001
2359*4882a593Smuzhiyun
2360*4882a593Smuzhiyun #define REG_A5XX_VPC_PERFCTR_VPC_SEL_0 0x00000e64
2361*4882a593Smuzhiyun
2362*4882a593Smuzhiyun #define REG_A5XX_VPC_PERFCTR_VPC_SEL_1 0x00000e65
2363*4882a593Smuzhiyun
2364*4882a593Smuzhiyun #define REG_A5XX_VPC_PERFCTR_VPC_SEL_2 0x00000e66
2365*4882a593Smuzhiyun
2366*4882a593Smuzhiyun #define REG_A5XX_VPC_PERFCTR_VPC_SEL_3 0x00000e67
2367*4882a593Smuzhiyun
2368*4882a593Smuzhiyun #define REG_A5XX_UCHE_ADDR_MODE_CNTL 0x00000e80
2369*4882a593Smuzhiyun
2370*4882a593Smuzhiyun #define REG_A5XX_UCHE_SVM_CNTL 0x00000e82
2371*4882a593Smuzhiyun
2372*4882a593Smuzhiyun #define REG_A5XX_UCHE_WRITE_THRU_BASE_LO 0x00000e87
2373*4882a593Smuzhiyun
2374*4882a593Smuzhiyun #define REG_A5XX_UCHE_WRITE_THRU_BASE_HI 0x00000e88
2375*4882a593Smuzhiyun
2376*4882a593Smuzhiyun #define REG_A5XX_UCHE_TRAP_BASE_LO 0x00000e89
2377*4882a593Smuzhiyun
2378*4882a593Smuzhiyun #define REG_A5XX_UCHE_TRAP_BASE_HI 0x00000e8a
2379*4882a593Smuzhiyun
2380*4882a593Smuzhiyun #define REG_A5XX_UCHE_GMEM_RANGE_MIN_LO 0x00000e8b
2381*4882a593Smuzhiyun
2382*4882a593Smuzhiyun #define REG_A5XX_UCHE_GMEM_RANGE_MIN_HI 0x00000e8c
2383*4882a593Smuzhiyun
2384*4882a593Smuzhiyun #define REG_A5XX_UCHE_GMEM_RANGE_MAX_LO 0x00000e8d
2385*4882a593Smuzhiyun
2386*4882a593Smuzhiyun #define REG_A5XX_UCHE_GMEM_RANGE_MAX_HI 0x00000e8e
2387*4882a593Smuzhiyun
2388*4882a593Smuzhiyun #define REG_A5XX_UCHE_DBG_ECO_CNTL_2 0x00000e8f
2389*4882a593Smuzhiyun
2390*4882a593Smuzhiyun #define REG_A5XX_UCHE_DBG_ECO_CNTL 0x00000e90
2391*4882a593Smuzhiyun
2392*4882a593Smuzhiyun #define REG_A5XX_UCHE_CACHE_INVALIDATE_MIN_LO 0x00000e91
2393*4882a593Smuzhiyun
2394*4882a593Smuzhiyun #define REG_A5XX_UCHE_CACHE_INVALIDATE_MIN_HI 0x00000e92
2395*4882a593Smuzhiyun
2396*4882a593Smuzhiyun #define REG_A5XX_UCHE_CACHE_INVALIDATE_MAX_LO 0x00000e93
2397*4882a593Smuzhiyun
2398*4882a593Smuzhiyun #define REG_A5XX_UCHE_CACHE_INVALIDATE_MAX_HI 0x00000e94
2399*4882a593Smuzhiyun
2400*4882a593Smuzhiyun #define REG_A5XX_UCHE_CACHE_INVALIDATE 0x00000e95
2401*4882a593Smuzhiyun
2402*4882a593Smuzhiyun #define REG_A5XX_UCHE_CACHE_WAYS 0x00000e96
2403*4882a593Smuzhiyun
2404*4882a593Smuzhiyun #define REG_A5XX_UCHE_PERFCTR_UCHE_SEL_0 0x00000ea0
2405*4882a593Smuzhiyun
2406*4882a593Smuzhiyun #define REG_A5XX_UCHE_PERFCTR_UCHE_SEL_1 0x00000ea1
2407*4882a593Smuzhiyun
2408*4882a593Smuzhiyun #define REG_A5XX_UCHE_PERFCTR_UCHE_SEL_2 0x00000ea2
2409*4882a593Smuzhiyun
2410*4882a593Smuzhiyun #define REG_A5XX_UCHE_PERFCTR_UCHE_SEL_3 0x00000ea3
2411*4882a593Smuzhiyun
2412*4882a593Smuzhiyun #define REG_A5XX_UCHE_PERFCTR_UCHE_SEL_4 0x00000ea4
2413*4882a593Smuzhiyun
2414*4882a593Smuzhiyun #define REG_A5XX_UCHE_PERFCTR_UCHE_SEL_5 0x00000ea5
2415*4882a593Smuzhiyun
2416*4882a593Smuzhiyun #define REG_A5XX_UCHE_PERFCTR_UCHE_SEL_6 0x00000ea6
2417*4882a593Smuzhiyun
2418*4882a593Smuzhiyun #define REG_A5XX_UCHE_PERFCTR_UCHE_SEL_7 0x00000ea7
2419*4882a593Smuzhiyun
2420*4882a593Smuzhiyun #define REG_A5XX_UCHE_POWERCTR_UCHE_SEL_0 0x00000ea8
2421*4882a593Smuzhiyun
2422*4882a593Smuzhiyun #define REG_A5XX_UCHE_POWERCTR_UCHE_SEL_1 0x00000ea9
2423*4882a593Smuzhiyun
2424*4882a593Smuzhiyun #define REG_A5XX_UCHE_POWERCTR_UCHE_SEL_2 0x00000eaa
2425*4882a593Smuzhiyun
2426*4882a593Smuzhiyun #define REG_A5XX_UCHE_POWERCTR_UCHE_SEL_3 0x00000eab
2427*4882a593Smuzhiyun
2428*4882a593Smuzhiyun #define REG_A5XX_UCHE_TRAP_LOG_LO 0x00000eb1
2429*4882a593Smuzhiyun
2430*4882a593Smuzhiyun #define REG_A5XX_UCHE_TRAP_LOG_HI 0x00000eb2
2431*4882a593Smuzhiyun
2432*4882a593Smuzhiyun #define REG_A5XX_SP_DBG_ECO_CNTL 0x00000ec0
2433*4882a593Smuzhiyun
2434*4882a593Smuzhiyun #define REG_A5XX_SP_ADDR_MODE_CNTL 0x00000ec1
2435*4882a593Smuzhiyun
2436*4882a593Smuzhiyun #define REG_A5XX_SP_MODE_CNTL 0x00000ec2
2437*4882a593Smuzhiyun
2438*4882a593Smuzhiyun #define REG_A5XX_SP_PERFCTR_SP_SEL_0 0x00000ed0
2439*4882a593Smuzhiyun
2440*4882a593Smuzhiyun #define REG_A5XX_SP_PERFCTR_SP_SEL_1 0x00000ed1
2441*4882a593Smuzhiyun
2442*4882a593Smuzhiyun #define REG_A5XX_SP_PERFCTR_SP_SEL_2 0x00000ed2
2443*4882a593Smuzhiyun
2444*4882a593Smuzhiyun #define REG_A5XX_SP_PERFCTR_SP_SEL_3 0x00000ed3
2445*4882a593Smuzhiyun
2446*4882a593Smuzhiyun #define REG_A5XX_SP_PERFCTR_SP_SEL_4 0x00000ed4
2447*4882a593Smuzhiyun
2448*4882a593Smuzhiyun #define REG_A5XX_SP_PERFCTR_SP_SEL_5 0x00000ed5
2449*4882a593Smuzhiyun
2450*4882a593Smuzhiyun #define REG_A5XX_SP_PERFCTR_SP_SEL_6 0x00000ed6
2451*4882a593Smuzhiyun
2452*4882a593Smuzhiyun #define REG_A5XX_SP_PERFCTR_SP_SEL_7 0x00000ed7
2453*4882a593Smuzhiyun
2454*4882a593Smuzhiyun #define REG_A5XX_SP_PERFCTR_SP_SEL_8 0x00000ed8
2455*4882a593Smuzhiyun
2456*4882a593Smuzhiyun #define REG_A5XX_SP_PERFCTR_SP_SEL_9 0x00000ed9
2457*4882a593Smuzhiyun
2458*4882a593Smuzhiyun #define REG_A5XX_SP_PERFCTR_SP_SEL_10 0x00000eda
2459*4882a593Smuzhiyun
2460*4882a593Smuzhiyun #define REG_A5XX_SP_PERFCTR_SP_SEL_11 0x00000edb
2461*4882a593Smuzhiyun
2462*4882a593Smuzhiyun #define REG_A5XX_SP_POWERCTR_SP_SEL_0 0x00000edc
2463*4882a593Smuzhiyun
2464*4882a593Smuzhiyun #define REG_A5XX_SP_POWERCTR_SP_SEL_1 0x00000edd
2465*4882a593Smuzhiyun
2466*4882a593Smuzhiyun #define REG_A5XX_SP_POWERCTR_SP_SEL_2 0x00000ede
2467*4882a593Smuzhiyun
2468*4882a593Smuzhiyun #define REG_A5XX_SP_POWERCTR_SP_SEL_3 0x00000edf
2469*4882a593Smuzhiyun
2470*4882a593Smuzhiyun #define REG_A5XX_TPL1_ADDR_MODE_CNTL 0x00000f01
2471*4882a593Smuzhiyun
2472*4882a593Smuzhiyun #define REG_A5XX_TPL1_MODE_CNTL 0x00000f02
2473*4882a593Smuzhiyun
2474*4882a593Smuzhiyun #define REG_A5XX_TPL1_PERFCTR_TP_SEL_0 0x00000f10
2475*4882a593Smuzhiyun
2476*4882a593Smuzhiyun #define REG_A5XX_TPL1_PERFCTR_TP_SEL_1 0x00000f11
2477*4882a593Smuzhiyun
2478*4882a593Smuzhiyun #define REG_A5XX_TPL1_PERFCTR_TP_SEL_2 0x00000f12
2479*4882a593Smuzhiyun
2480*4882a593Smuzhiyun #define REG_A5XX_TPL1_PERFCTR_TP_SEL_3 0x00000f13
2481*4882a593Smuzhiyun
2482*4882a593Smuzhiyun #define REG_A5XX_TPL1_PERFCTR_TP_SEL_4 0x00000f14
2483*4882a593Smuzhiyun
2484*4882a593Smuzhiyun #define REG_A5XX_TPL1_PERFCTR_TP_SEL_5 0x00000f15
2485*4882a593Smuzhiyun
2486*4882a593Smuzhiyun #define REG_A5XX_TPL1_PERFCTR_TP_SEL_6 0x00000f16
2487*4882a593Smuzhiyun
2488*4882a593Smuzhiyun #define REG_A5XX_TPL1_PERFCTR_TP_SEL_7 0x00000f17
2489*4882a593Smuzhiyun
2490*4882a593Smuzhiyun #define REG_A5XX_TPL1_POWERCTR_TP_SEL_0 0x00000f18
2491*4882a593Smuzhiyun
2492*4882a593Smuzhiyun #define REG_A5XX_TPL1_POWERCTR_TP_SEL_1 0x00000f19
2493*4882a593Smuzhiyun
2494*4882a593Smuzhiyun #define REG_A5XX_TPL1_POWERCTR_TP_SEL_2 0x00000f1a
2495*4882a593Smuzhiyun
2496*4882a593Smuzhiyun #define REG_A5XX_TPL1_POWERCTR_TP_SEL_3 0x00000f1b
2497*4882a593Smuzhiyun
2498*4882a593Smuzhiyun #define REG_A5XX_VBIF_VERSION 0x00003000
2499*4882a593Smuzhiyun
2500*4882a593Smuzhiyun #define REG_A5XX_VBIF_CLKON 0x00003001
2501*4882a593Smuzhiyun
2502*4882a593Smuzhiyun #define REG_A5XX_VBIF_ABIT_SORT 0x00003028
2503*4882a593Smuzhiyun
2504*4882a593Smuzhiyun #define REG_A5XX_VBIF_ABIT_SORT_CONF 0x00003029
2505*4882a593Smuzhiyun
2506*4882a593Smuzhiyun #define REG_A5XX_VBIF_ROUND_ROBIN_QOS_ARB 0x00003049
2507*4882a593Smuzhiyun
2508*4882a593Smuzhiyun #define REG_A5XX_VBIF_GATE_OFF_WRREQ_EN 0x0000302a
2509*4882a593Smuzhiyun
2510*4882a593Smuzhiyun #define REG_A5XX_VBIF_IN_RD_LIM_CONF0 0x0000302c
2511*4882a593Smuzhiyun
2512*4882a593Smuzhiyun #define REG_A5XX_VBIF_IN_RD_LIM_CONF1 0x0000302d
2513*4882a593Smuzhiyun
2514*4882a593Smuzhiyun #define REG_A5XX_VBIF_XIN_HALT_CTRL0 0x00003080
2515*4882a593Smuzhiyun
2516*4882a593Smuzhiyun #define REG_A5XX_VBIF_XIN_HALT_CTRL1 0x00003081
2517*4882a593Smuzhiyun
2518*4882a593Smuzhiyun #define REG_A5XX_VBIF_TEST_BUS_OUT_CTRL 0x00003084
2519*4882a593Smuzhiyun
2520*4882a593Smuzhiyun #define REG_A5XX_VBIF_TEST_BUS1_CTRL0 0x00003085
2521*4882a593Smuzhiyun
2522*4882a593Smuzhiyun #define REG_A5XX_VBIF_TEST_BUS1_CTRL1 0x00003086
2523*4882a593Smuzhiyun
2524*4882a593Smuzhiyun #define REG_A5XX_VBIF_TEST_BUS2_CTRL0 0x00003087
2525*4882a593Smuzhiyun
2526*4882a593Smuzhiyun #define REG_A5XX_VBIF_TEST_BUS2_CTRL1 0x00003088
2527*4882a593Smuzhiyun
2528*4882a593Smuzhiyun #define REG_A5XX_VBIF_TEST_BUS_OUT 0x0000308c
2529*4882a593Smuzhiyun
2530*4882a593Smuzhiyun #define REG_A5XX_VBIF_PERF_CNT_EN0 0x000030c0
2531*4882a593Smuzhiyun
2532*4882a593Smuzhiyun #define REG_A5XX_VBIF_PERF_CNT_EN1 0x000030c1
2533*4882a593Smuzhiyun
2534*4882a593Smuzhiyun #define REG_A5XX_VBIF_PERF_CNT_EN2 0x000030c2
2535*4882a593Smuzhiyun
2536*4882a593Smuzhiyun #define REG_A5XX_VBIF_PERF_CNT_EN3 0x000030c3
2537*4882a593Smuzhiyun
2538*4882a593Smuzhiyun #define REG_A5XX_VBIF_PERF_CNT_CLR0 0x000030c8
2539*4882a593Smuzhiyun
2540*4882a593Smuzhiyun #define REG_A5XX_VBIF_PERF_CNT_CLR1 0x000030c9
2541*4882a593Smuzhiyun
2542*4882a593Smuzhiyun #define REG_A5XX_VBIF_PERF_CNT_CLR2 0x000030ca
2543*4882a593Smuzhiyun
2544*4882a593Smuzhiyun #define REG_A5XX_VBIF_PERF_CNT_CLR3 0x000030cb
2545*4882a593Smuzhiyun
2546*4882a593Smuzhiyun #define REG_A5XX_VBIF_PERF_CNT_SEL0 0x000030d0
2547*4882a593Smuzhiyun
2548*4882a593Smuzhiyun #define REG_A5XX_VBIF_PERF_CNT_SEL1 0x000030d1
2549*4882a593Smuzhiyun
2550*4882a593Smuzhiyun #define REG_A5XX_VBIF_PERF_CNT_SEL2 0x000030d2
2551*4882a593Smuzhiyun
2552*4882a593Smuzhiyun #define REG_A5XX_VBIF_PERF_CNT_SEL3 0x000030d3
2553*4882a593Smuzhiyun
2554*4882a593Smuzhiyun #define REG_A5XX_VBIF_PERF_CNT_LOW0 0x000030d8
2555*4882a593Smuzhiyun
2556*4882a593Smuzhiyun #define REG_A5XX_VBIF_PERF_CNT_LOW1 0x000030d9
2557*4882a593Smuzhiyun
2558*4882a593Smuzhiyun #define REG_A5XX_VBIF_PERF_CNT_LOW2 0x000030da
2559*4882a593Smuzhiyun
2560*4882a593Smuzhiyun #define REG_A5XX_VBIF_PERF_CNT_LOW3 0x000030db
2561*4882a593Smuzhiyun
2562*4882a593Smuzhiyun #define REG_A5XX_VBIF_PERF_CNT_HIGH0 0x000030e0
2563*4882a593Smuzhiyun
2564*4882a593Smuzhiyun #define REG_A5XX_VBIF_PERF_CNT_HIGH1 0x000030e1
2565*4882a593Smuzhiyun
2566*4882a593Smuzhiyun #define REG_A5XX_VBIF_PERF_CNT_HIGH2 0x000030e2
2567*4882a593Smuzhiyun
2568*4882a593Smuzhiyun #define REG_A5XX_VBIF_PERF_CNT_HIGH3 0x000030e3
2569*4882a593Smuzhiyun
2570*4882a593Smuzhiyun #define REG_A5XX_VBIF_PERF_PWR_CNT_EN0 0x00003100
2571*4882a593Smuzhiyun
2572*4882a593Smuzhiyun #define REG_A5XX_VBIF_PERF_PWR_CNT_EN1 0x00003101
2573*4882a593Smuzhiyun
2574*4882a593Smuzhiyun #define REG_A5XX_VBIF_PERF_PWR_CNT_EN2 0x00003102
2575*4882a593Smuzhiyun
2576*4882a593Smuzhiyun #define REG_A5XX_VBIF_PERF_PWR_CNT_LOW0 0x00003110
2577*4882a593Smuzhiyun
2578*4882a593Smuzhiyun #define REG_A5XX_VBIF_PERF_PWR_CNT_LOW1 0x00003111
2579*4882a593Smuzhiyun
2580*4882a593Smuzhiyun #define REG_A5XX_VBIF_PERF_PWR_CNT_LOW2 0x00003112
2581*4882a593Smuzhiyun
2582*4882a593Smuzhiyun #define REG_A5XX_VBIF_PERF_PWR_CNT_HIGH0 0x00003118
2583*4882a593Smuzhiyun
2584*4882a593Smuzhiyun #define REG_A5XX_VBIF_PERF_PWR_CNT_HIGH1 0x00003119
2585*4882a593Smuzhiyun
2586*4882a593Smuzhiyun #define REG_A5XX_VBIF_PERF_PWR_CNT_HIGH2 0x0000311a
2587*4882a593Smuzhiyun
2588*4882a593Smuzhiyun #define REG_A5XX_GPMU_INST_RAM_BASE 0x00008800
2589*4882a593Smuzhiyun
2590*4882a593Smuzhiyun #define REG_A5XX_GPMU_DATA_RAM_BASE 0x00009800
2591*4882a593Smuzhiyun
2592*4882a593Smuzhiyun #define REG_A5XX_GPMU_SP_POWER_CNTL 0x0000a881
2593*4882a593Smuzhiyun
2594*4882a593Smuzhiyun #define REG_A5XX_GPMU_RBCCU_CLOCK_CNTL 0x0000a886
2595*4882a593Smuzhiyun
2596*4882a593Smuzhiyun #define REG_A5XX_GPMU_RBCCU_POWER_CNTL 0x0000a887
2597*4882a593Smuzhiyun
2598*4882a593Smuzhiyun #define REG_A5XX_GPMU_SP_PWR_CLK_STATUS 0x0000a88b
2599*4882a593Smuzhiyun #define A5XX_GPMU_SP_PWR_CLK_STATUS_PWR_ON 0x00100000
2600*4882a593Smuzhiyun
2601*4882a593Smuzhiyun #define REG_A5XX_GPMU_RBCCU_PWR_CLK_STATUS 0x0000a88d
2602*4882a593Smuzhiyun #define A5XX_GPMU_RBCCU_PWR_CLK_STATUS_PWR_ON 0x00100000
2603*4882a593Smuzhiyun
2604*4882a593Smuzhiyun #define REG_A5XX_GPMU_PWR_COL_STAGGER_DELAY 0x0000a891
2605*4882a593Smuzhiyun
2606*4882a593Smuzhiyun #define REG_A5XX_GPMU_PWR_COL_INTER_FRAME_CTRL 0x0000a892
2607*4882a593Smuzhiyun
2608*4882a593Smuzhiyun #define REG_A5XX_GPMU_PWR_COL_INTER_FRAME_HYST 0x0000a893
2609*4882a593Smuzhiyun
2610*4882a593Smuzhiyun #define REG_A5XX_GPMU_PWR_COL_BINNING_CTRL 0x0000a894
2611*4882a593Smuzhiyun
2612*4882a593Smuzhiyun #define REG_A5XX_GPMU_WFI_CONFIG 0x0000a8c1
2613*4882a593Smuzhiyun
2614*4882a593Smuzhiyun #define REG_A5XX_GPMU_RBBM_INTR_INFO 0x0000a8d6
2615*4882a593Smuzhiyun
2616*4882a593Smuzhiyun #define REG_A5XX_GPMU_CM3_SYSRESET 0x0000a8d8
2617*4882a593Smuzhiyun
2618*4882a593Smuzhiyun #define REG_A5XX_GPMU_GENERAL_0 0x0000a8e0
2619*4882a593Smuzhiyun
2620*4882a593Smuzhiyun #define REG_A5XX_GPMU_GENERAL_1 0x0000a8e1
2621*4882a593Smuzhiyun
2622*4882a593Smuzhiyun #define REG_A5XX_SP_POWER_COUNTER_0_LO 0x0000a840
2623*4882a593Smuzhiyun
2624*4882a593Smuzhiyun #define REG_A5XX_SP_POWER_COUNTER_0_HI 0x0000a841
2625*4882a593Smuzhiyun
2626*4882a593Smuzhiyun #define REG_A5XX_SP_POWER_COUNTER_1_LO 0x0000a842
2627*4882a593Smuzhiyun
2628*4882a593Smuzhiyun #define REG_A5XX_SP_POWER_COUNTER_1_HI 0x0000a843
2629*4882a593Smuzhiyun
2630*4882a593Smuzhiyun #define REG_A5XX_SP_POWER_COUNTER_2_LO 0x0000a844
2631*4882a593Smuzhiyun
2632*4882a593Smuzhiyun #define REG_A5XX_SP_POWER_COUNTER_2_HI 0x0000a845
2633*4882a593Smuzhiyun
2634*4882a593Smuzhiyun #define REG_A5XX_SP_POWER_COUNTER_3_LO 0x0000a846
2635*4882a593Smuzhiyun
2636*4882a593Smuzhiyun #define REG_A5XX_SP_POWER_COUNTER_3_HI 0x0000a847
2637*4882a593Smuzhiyun
2638*4882a593Smuzhiyun #define REG_A5XX_TP_POWER_COUNTER_0_LO 0x0000a848
2639*4882a593Smuzhiyun
2640*4882a593Smuzhiyun #define REG_A5XX_TP_POWER_COUNTER_0_HI 0x0000a849
2641*4882a593Smuzhiyun
2642*4882a593Smuzhiyun #define REG_A5XX_TP_POWER_COUNTER_1_LO 0x0000a84a
2643*4882a593Smuzhiyun
2644*4882a593Smuzhiyun #define REG_A5XX_TP_POWER_COUNTER_1_HI 0x0000a84b
2645*4882a593Smuzhiyun
2646*4882a593Smuzhiyun #define REG_A5XX_TP_POWER_COUNTER_2_LO 0x0000a84c
2647*4882a593Smuzhiyun
2648*4882a593Smuzhiyun #define REG_A5XX_TP_POWER_COUNTER_2_HI 0x0000a84d
2649*4882a593Smuzhiyun
2650*4882a593Smuzhiyun #define REG_A5XX_TP_POWER_COUNTER_3_LO 0x0000a84e
2651*4882a593Smuzhiyun
2652*4882a593Smuzhiyun #define REG_A5XX_TP_POWER_COUNTER_3_HI 0x0000a84f
2653*4882a593Smuzhiyun
2654*4882a593Smuzhiyun #define REG_A5XX_RB_POWER_COUNTER_0_LO 0x0000a850
2655*4882a593Smuzhiyun
2656*4882a593Smuzhiyun #define REG_A5XX_RB_POWER_COUNTER_0_HI 0x0000a851
2657*4882a593Smuzhiyun
2658*4882a593Smuzhiyun #define REG_A5XX_RB_POWER_COUNTER_1_LO 0x0000a852
2659*4882a593Smuzhiyun
2660*4882a593Smuzhiyun #define REG_A5XX_RB_POWER_COUNTER_1_HI 0x0000a853
2661*4882a593Smuzhiyun
2662*4882a593Smuzhiyun #define REG_A5XX_RB_POWER_COUNTER_2_LO 0x0000a854
2663*4882a593Smuzhiyun
2664*4882a593Smuzhiyun #define REG_A5XX_RB_POWER_COUNTER_2_HI 0x0000a855
2665*4882a593Smuzhiyun
2666*4882a593Smuzhiyun #define REG_A5XX_RB_POWER_COUNTER_3_LO 0x0000a856
2667*4882a593Smuzhiyun
2668*4882a593Smuzhiyun #define REG_A5XX_RB_POWER_COUNTER_3_HI 0x0000a857
2669*4882a593Smuzhiyun
2670*4882a593Smuzhiyun #define REG_A5XX_CCU_POWER_COUNTER_0_LO 0x0000a858
2671*4882a593Smuzhiyun
2672*4882a593Smuzhiyun #define REG_A5XX_CCU_POWER_COUNTER_0_HI 0x0000a859
2673*4882a593Smuzhiyun
2674*4882a593Smuzhiyun #define REG_A5XX_CCU_POWER_COUNTER_1_LO 0x0000a85a
2675*4882a593Smuzhiyun
2676*4882a593Smuzhiyun #define REG_A5XX_CCU_POWER_COUNTER_1_HI 0x0000a85b
2677*4882a593Smuzhiyun
2678*4882a593Smuzhiyun #define REG_A5XX_UCHE_POWER_COUNTER_0_LO 0x0000a85c
2679*4882a593Smuzhiyun
2680*4882a593Smuzhiyun #define REG_A5XX_UCHE_POWER_COUNTER_0_HI 0x0000a85d
2681*4882a593Smuzhiyun
2682*4882a593Smuzhiyun #define REG_A5XX_UCHE_POWER_COUNTER_1_LO 0x0000a85e
2683*4882a593Smuzhiyun
2684*4882a593Smuzhiyun #define REG_A5XX_UCHE_POWER_COUNTER_1_HI 0x0000a85f
2685*4882a593Smuzhiyun
2686*4882a593Smuzhiyun #define REG_A5XX_UCHE_POWER_COUNTER_2_LO 0x0000a860
2687*4882a593Smuzhiyun
2688*4882a593Smuzhiyun #define REG_A5XX_UCHE_POWER_COUNTER_2_HI 0x0000a861
2689*4882a593Smuzhiyun
2690*4882a593Smuzhiyun #define REG_A5XX_UCHE_POWER_COUNTER_3_LO 0x0000a862
2691*4882a593Smuzhiyun
2692*4882a593Smuzhiyun #define REG_A5XX_UCHE_POWER_COUNTER_3_HI 0x0000a863
2693*4882a593Smuzhiyun
2694*4882a593Smuzhiyun #define REG_A5XX_CP_POWER_COUNTER_0_LO 0x0000a864
2695*4882a593Smuzhiyun
2696*4882a593Smuzhiyun #define REG_A5XX_CP_POWER_COUNTER_0_HI 0x0000a865
2697*4882a593Smuzhiyun
2698*4882a593Smuzhiyun #define REG_A5XX_CP_POWER_COUNTER_1_LO 0x0000a866
2699*4882a593Smuzhiyun
2700*4882a593Smuzhiyun #define REG_A5XX_CP_POWER_COUNTER_1_HI 0x0000a867
2701*4882a593Smuzhiyun
2702*4882a593Smuzhiyun #define REG_A5XX_CP_POWER_COUNTER_2_LO 0x0000a868
2703*4882a593Smuzhiyun
2704*4882a593Smuzhiyun #define REG_A5XX_CP_POWER_COUNTER_2_HI 0x0000a869
2705*4882a593Smuzhiyun
2706*4882a593Smuzhiyun #define REG_A5XX_CP_POWER_COUNTER_3_LO 0x0000a86a
2707*4882a593Smuzhiyun
2708*4882a593Smuzhiyun #define REG_A5XX_CP_POWER_COUNTER_3_HI 0x0000a86b
2709*4882a593Smuzhiyun
2710*4882a593Smuzhiyun #define REG_A5XX_GPMU_POWER_COUNTER_0_LO 0x0000a86c
2711*4882a593Smuzhiyun
2712*4882a593Smuzhiyun #define REG_A5XX_GPMU_POWER_COUNTER_0_HI 0x0000a86d
2713*4882a593Smuzhiyun
2714*4882a593Smuzhiyun #define REG_A5XX_GPMU_POWER_COUNTER_1_LO 0x0000a86e
2715*4882a593Smuzhiyun
2716*4882a593Smuzhiyun #define REG_A5XX_GPMU_POWER_COUNTER_1_HI 0x0000a86f
2717*4882a593Smuzhiyun
2718*4882a593Smuzhiyun #define REG_A5XX_GPMU_POWER_COUNTER_2_LO 0x0000a870
2719*4882a593Smuzhiyun
2720*4882a593Smuzhiyun #define REG_A5XX_GPMU_POWER_COUNTER_2_HI 0x0000a871
2721*4882a593Smuzhiyun
2722*4882a593Smuzhiyun #define REG_A5XX_GPMU_POWER_COUNTER_3_LO 0x0000a872
2723*4882a593Smuzhiyun
2724*4882a593Smuzhiyun #define REG_A5XX_GPMU_POWER_COUNTER_3_HI 0x0000a873
2725*4882a593Smuzhiyun
2726*4882a593Smuzhiyun #define REG_A5XX_GPMU_POWER_COUNTER_4_LO 0x0000a874
2727*4882a593Smuzhiyun
2728*4882a593Smuzhiyun #define REG_A5XX_GPMU_POWER_COUNTER_4_HI 0x0000a875
2729*4882a593Smuzhiyun
2730*4882a593Smuzhiyun #define REG_A5XX_GPMU_POWER_COUNTER_5_LO 0x0000a876
2731*4882a593Smuzhiyun
2732*4882a593Smuzhiyun #define REG_A5XX_GPMU_POWER_COUNTER_5_HI 0x0000a877
2733*4882a593Smuzhiyun
2734*4882a593Smuzhiyun #define REG_A5XX_GPMU_POWER_COUNTER_ENABLE 0x0000a878
2735*4882a593Smuzhiyun
2736*4882a593Smuzhiyun #define REG_A5XX_GPMU_ALWAYS_ON_COUNTER_LO 0x0000a879
2737*4882a593Smuzhiyun
2738*4882a593Smuzhiyun #define REG_A5XX_GPMU_ALWAYS_ON_COUNTER_HI 0x0000a87a
2739*4882a593Smuzhiyun
2740*4882a593Smuzhiyun #define REG_A5XX_GPMU_ALWAYS_ON_COUNTER_RESET 0x0000a87b
2741*4882a593Smuzhiyun
2742*4882a593Smuzhiyun #define REG_A5XX_GPMU_POWER_COUNTER_SELECT_0 0x0000a87c
2743*4882a593Smuzhiyun
2744*4882a593Smuzhiyun #define REG_A5XX_GPMU_POWER_COUNTER_SELECT_1 0x0000a87d
2745*4882a593Smuzhiyun
2746*4882a593Smuzhiyun #define REG_A5XX_GPMU_CLOCK_THROTTLE_CTRL 0x0000a8a3
2747*4882a593Smuzhiyun
2748*4882a593Smuzhiyun #define REG_A5XX_GPMU_THROTTLE_UNMASK_FORCE_CTRL 0x0000a8a8
2749*4882a593Smuzhiyun
2750*4882a593Smuzhiyun #define REG_A5XX_GPMU_TEMP_SENSOR_ID 0x0000ac00
2751*4882a593Smuzhiyun
2752*4882a593Smuzhiyun #define REG_A5XX_GPMU_TEMP_SENSOR_CONFIG 0x0000ac01
2753*4882a593Smuzhiyun
2754*4882a593Smuzhiyun #define REG_A5XX_GPMU_TEMP_VAL 0x0000ac02
2755*4882a593Smuzhiyun
2756*4882a593Smuzhiyun #define REG_A5XX_GPMU_DELTA_TEMP_THRESHOLD 0x0000ac03
2757*4882a593Smuzhiyun
2758*4882a593Smuzhiyun #define REG_A5XX_GPMU_TEMP_THRESHOLD_INTR_STATUS 0x0000ac05
2759*4882a593Smuzhiyun
2760*4882a593Smuzhiyun #define REG_A5XX_GPMU_TEMP_THRESHOLD_INTR_EN_MASK 0x0000ac06
2761*4882a593Smuzhiyun
2762*4882a593Smuzhiyun #define REG_A5XX_GPMU_LEAKAGE_TEMP_COEFF_0_1 0x0000ac40
2763*4882a593Smuzhiyun
2764*4882a593Smuzhiyun #define REG_A5XX_GPMU_LEAKAGE_TEMP_COEFF_2_3 0x0000ac41
2765*4882a593Smuzhiyun
2766*4882a593Smuzhiyun #define REG_A5XX_GPMU_LEAKAGE_VTG_COEFF_0_1 0x0000ac42
2767*4882a593Smuzhiyun
2768*4882a593Smuzhiyun #define REG_A5XX_GPMU_LEAKAGE_VTG_COEFF_2_3 0x0000ac43
2769*4882a593Smuzhiyun
2770*4882a593Smuzhiyun #define REG_A5XX_GPMU_BASE_LEAKAGE 0x0000ac46
2771*4882a593Smuzhiyun
2772*4882a593Smuzhiyun #define REG_A5XX_GPMU_GPMU_VOLTAGE 0x0000ac60
2773*4882a593Smuzhiyun
2774*4882a593Smuzhiyun #define REG_A5XX_GPMU_GPMU_VOLTAGE_INTR_STATUS 0x0000ac61
2775*4882a593Smuzhiyun
2776*4882a593Smuzhiyun #define REG_A5XX_GPMU_GPMU_VOLTAGE_INTR_EN_MASK 0x0000ac62
2777*4882a593Smuzhiyun
2778*4882a593Smuzhiyun #define REG_A5XX_GPMU_GPMU_PWR_THRESHOLD 0x0000ac80
2779*4882a593Smuzhiyun
2780*4882a593Smuzhiyun #define REG_A5XX_GPMU_GPMU_LLM_GLM_SLEEP_CTRL 0x0000acc4
2781*4882a593Smuzhiyun
2782*4882a593Smuzhiyun #define REG_A5XX_GPMU_GPMU_LLM_GLM_SLEEP_STATUS 0x0000acc5
2783*4882a593Smuzhiyun
2784*4882a593Smuzhiyun #define REG_A5XX_GDPM_CONFIG1 0x0000b80c
2785*4882a593Smuzhiyun
2786*4882a593Smuzhiyun #define REG_A5XX_GDPM_CONFIG2 0x0000b80d
2787*4882a593Smuzhiyun
2788*4882a593Smuzhiyun #define REG_A5XX_GDPM_INT_EN 0x0000b80f
2789*4882a593Smuzhiyun
2790*4882a593Smuzhiyun #define REG_A5XX_GDPM_INT_MASK 0x0000b811
2791*4882a593Smuzhiyun
2792*4882a593Smuzhiyun #define REG_A5XX_GPMU_BEC_ENABLE 0x0000b9a0
2793*4882a593Smuzhiyun
2794*4882a593Smuzhiyun #define REG_A5XX_GPU_CS_SENSOR_GENERAL_STATUS 0x0000c41a
2795*4882a593Smuzhiyun
2796*4882a593Smuzhiyun #define REG_A5XX_GPU_CS_AMP_CALIBRATION_STATUS1_0 0x0000c41d
2797*4882a593Smuzhiyun
2798*4882a593Smuzhiyun #define REG_A5XX_GPU_CS_AMP_CALIBRATION_STATUS1_2 0x0000c41f
2799*4882a593Smuzhiyun
2800*4882a593Smuzhiyun #define REG_A5XX_GPU_CS_AMP_CALIBRATION_STATUS1_4 0x0000c421
2801*4882a593Smuzhiyun
2802*4882a593Smuzhiyun #define REG_A5XX_GPU_CS_ENABLE_REG 0x0000c520
2803*4882a593Smuzhiyun
2804*4882a593Smuzhiyun #define REG_A5XX_GPU_CS_AMP_CALIBRATION_CONTROL1 0x0000c557
2805*4882a593Smuzhiyun
2806*4882a593Smuzhiyun #define REG_A5XX_GRAS_CL_CNTL 0x0000e000
2807*4882a593Smuzhiyun #define A5XX_GRAS_CL_CNTL_ZERO_GB_SCALE_Z 0x00000040
2808*4882a593Smuzhiyun
2809*4882a593Smuzhiyun #define REG_A5XX_UNKNOWN_E001 0x0000e001
2810*4882a593Smuzhiyun
2811*4882a593Smuzhiyun #define REG_A5XX_UNKNOWN_E004 0x0000e004
2812*4882a593Smuzhiyun
2813*4882a593Smuzhiyun #define REG_A5XX_GRAS_CNTL 0x0000e005
2814*4882a593Smuzhiyun #define A5XX_GRAS_CNTL_IJ_PERSP_PIXEL 0x00000001
2815*4882a593Smuzhiyun #define A5XX_GRAS_CNTL_IJ_PERSP_CENTROID 0x00000002
2816*4882a593Smuzhiyun #define A5XX_GRAS_CNTL_IJ_PERSP_SAMPLE 0x00000004
2817*4882a593Smuzhiyun #define A5XX_GRAS_CNTL_SIZE 0x00000008
2818*4882a593Smuzhiyun #define A5XX_GRAS_CNTL_COORD_MASK__MASK 0x000003c0
2819*4882a593Smuzhiyun #define A5XX_GRAS_CNTL_COORD_MASK__SHIFT 6
A5XX_GRAS_CNTL_COORD_MASK(uint32_t val)2820*4882a593Smuzhiyun static inline uint32_t A5XX_GRAS_CNTL_COORD_MASK(uint32_t val)
2821*4882a593Smuzhiyun {
2822*4882a593Smuzhiyun return ((val) << A5XX_GRAS_CNTL_COORD_MASK__SHIFT) & A5XX_GRAS_CNTL_COORD_MASK__MASK;
2823*4882a593Smuzhiyun }
2824*4882a593Smuzhiyun
2825*4882a593Smuzhiyun #define REG_A5XX_GRAS_CL_GUARDBAND_CLIP_ADJ 0x0000e006
2826*4882a593Smuzhiyun #define A5XX_GRAS_CL_GUARDBAND_CLIP_ADJ_HORZ__MASK 0x000003ff
2827*4882a593Smuzhiyun #define A5XX_GRAS_CL_GUARDBAND_CLIP_ADJ_HORZ__SHIFT 0
A5XX_GRAS_CL_GUARDBAND_CLIP_ADJ_HORZ(uint32_t val)2828*4882a593Smuzhiyun static inline uint32_t A5XX_GRAS_CL_GUARDBAND_CLIP_ADJ_HORZ(uint32_t val)
2829*4882a593Smuzhiyun {
2830*4882a593Smuzhiyun return ((val) << A5XX_GRAS_CL_GUARDBAND_CLIP_ADJ_HORZ__SHIFT) & A5XX_GRAS_CL_GUARDBAND_CLIP_ADJ_HORZ__MASK;
2831*4882a593Smuzhiyun }
2832*4882a593Smuzhiyun #define A5XX_GRAS_CL_GUARDBAND_CLIP_ADJ_VERT__MASK 0x000ffc00
2833*4882a593Smuzhiyun #define A5XX_GRAS_CL_GUARDBAND_CLIP_ADJ_VERT__SHIFT 10
A5XX_GRAS_CL_GUARDBAND_CLIP_ADJ_VERT(uint32_t val)2834*4882a593Smuzhiyun static inline uint32_t A5XX_GRAS_CL_GUARDBAND_CLIP_ADJ_VERT(uint32_t val)
2835*4882a593Smuzhiyun {
2836*4882a593Smuzhiyun return ((val) << A5XX_GRAS_CL_GUARDBAND_CLIP_ADJ_VERT__SHIFT) & A5XX_GRAS_CL_GUARDBAND_CLIP_ADJ_VERT__MASK;
2837*4882a593Smuzhiyun }
2838*4882a593Smuzhiyun
2839*4882a593Smuzhiyun #define REG_A5XX_GRAS_CL_VPORT_XOFFSET_0 0x0000e010
2840*4882a593Smuzhiyun #define A5XX_GRAS_CL_VPORT_XOFFSET_0__MASK 0xffffffff
2841*4882a593Smuzhiyun #define A5XX_GRAS_CL_VPORT_XOFFSET_0__SHIFT 0
A5XX_GRAS_CL_VPORT_XOFFSET_0(float val)2842*4882a593Smuzhiyun static inline uint32_t A5XX_GRAS_CL_VPORT_XOFFSET_0(float val)
2843*4882a593Smuzhiyun {
2844*4882a593Smuzhiyun return ((fui(val)) << A5XX_GRAS_CL_VPORT_XOFFSET_0__SHIFT) & A5XX_GRAS_CL_VPORT_XOFFSET_0__MASK;
2845*4882a593Smuzhiyun }
2846*4882a593Smuzhiyun
2847*4882a593Smuzhiyun #define REG_A5XX_GRAS_CL_VPORT_XSCALE_0 0x0000e011
2848*4882a593Smuzhiyun #define A5XX_GRAS_CL_VPORT_XSCALE_0__MASK 0xffffffff
2849*4882a593Smuzhiyun #define A5XX_GRAS_CL_VPORT_XSCALE_0__SHIFT 0
A5XX_GRAS_CL_VPORT_XSCALE_0(float val)2850*4882a593Smuzhiyun static inline uint32_t A5XX_GRAS_CL_VPORT_XSCALE_0(float val)
2851*4882a593Smuzhiyun {
2852*4882a593Smuzhiyun return ((fui(val)) << A5XX_GRAS_CL_VPORT_XSCALE_0__SHIFT) & A5XX_GRAS_CL_VPORT_XSCALE_0__MASK;
2853*4882a593Smuzhiyun }
2854*4882a593Smuzhiyun
2855*4882a593Smuzhiyun #define REG_A5XX_GRAS_CL_VPORT_YOFFSET_0 0x0000e012
2856*4882a593Smuzhiyun #define A5XX_GRAS_CL_VPORT_YOFFSET_0__MASK 0xffffffff
2857*4882a593Smuzhiyun #define A5XX_GRAS_CL_VPORT_YOFFSET_0__SHIFT 0
A5XX_GRAS_CL_VPORT_YOFFSET_0(float val)2858*4882a593Smuzhiyun static inline uint32_t A5XX_GRAS_CL_VPORT_YOFFSET_0(float val)
2859*4882a593Smuzhiyun {
2860*4882a593Smuzhiyun return ((fui(val)) << A5XX_GRAS_CL_VPORT_YOFFSET_0__SHIFT) & A5XX_GRAS_CL_VPORT_YOFFSET_0__MASK;
2861*4882a593Smuzhiyun }
2862*4882a593Smuzhiyun
2863*4882a593Smuzhiyun #define REG_A5XX_GRAS_CL_VPORT_YSCALE_0 0x0000e013
2864*4882a593Smuzhiyun #define A5XX_GRAS_CL_VPORT_YSCALE_0__MASK 0xffffffff
2865*4882a593Smuzhiyun #define A5XX_GRAS_CL_VPORT_YSCALE_0__SHIFT 0
A5XX_GRAS_CL_VPORT_YSCALE_0(float val)2866*4882a593Smuzhiyun static inline uint32_t A5XX_GRAS_CL_VPORT_YSCALE_0(float val)
2867*4882a593Smuzhiyun {
2868*4882a593Smuzhiyun return ((fui(val)) << A5XX_GRAS_CL_VPORT_YSCALE_0__SHIFT) & A5XX_GRAS_CL_VPORT_YSCALE_0__MASK;
2869*4882a593Smuzhiyun }
2870*4882a593Smuzhiyun
2871*4882a593Smuzhiyun #define REG_A5XX_GRAS_CL_VPORT_ZOFFSET_0 0x0000e014
2872*4882a593Smuzhiyun #define A5XX_GRAS_CL_VPORT_ZOFFSET_0__MASK 0xffffffff
2873*4882a593Smuzhiyun #define A5XX_GRAS_CL_VPORT_ZOFFSET_0__SHIFT 0
A5XX_GRAS_CL_VPORT_ZOFFSET_0(float val)2874*4882a593Smuzhiyun static inline uint32_t A5XX_GRAS_CL_VPORT_ZOFFSET_0(float val)
2875*4882a593Smuzhiyun {
2876*4882a593Smuzhiyun return ((fui(val)) << A5XX_GRAS_CL_VPORT_ZOFFSET_0__SHIFT) & A5XX_GRAS_CL_VPORT_ZOFFSET_0__MASK;
2877*4882a593Smuzhiyun }
2878*4882a593Smuzhiyun
2879*4882a593Smuzhiyun #define REG_A5XX_GRAS_CL_VPORT_ZSCALE_0 0x0000e015
2880*4882a593Smuzhiyun #define A5XX_GRAS_CL_VPORT_ZSCALE_0__MASK 0xffffffff
2881*4882a593Smuzhiyun #define A5XX_GRAS_CL_VPORT_ZSCALE_0__SHIFT 0
A5XX_GRAS_CL_VPORT_ZSCALE_0(float val)2882*4882a593Smuzhiyun static inline uint32_t A5XX_GRAS_CL_VPORT_ZSCALE_0(float val)
2883*4882a593Smuzhiyun {
2884*4882a593Smuzhiyun return ((fui(val)) << A5XX_GRAS_CL_VPORT_ZSCALE_0__SHIFT) & A5XX_GRAS_CL_VPORT_ZSCALE_0__MASK;
2885*4882a593Smuzhiyun }
2886*4882a593Smuzhiyun
2887*4882a593Smuzhiyun #define REG_A5XX_GRAS_SU_CNTL 0x0000e090
2888*4882a593Smuzhiyun #define A5XX_GRAS_SU_CNTL_CULL_FRONT 0x00000001
2889*4882a593Smuzhiyun #define A5XX_GRAS_SU_CNTL_CULL_BACK 0x00000002
2890*4882a593Smuzhiyun #define A5XX_GRAS_SU_CNTL_FRONT_CW 0x00000004
2891*4882a593Smuzhiyun #define A5XX_GRAS_SU_CNTL_LINEHALFWIDTH__MASK 0x000007f8
2892*4882a593Smuzhiyun #define A5XX_GRAS_SU_CNTL_LINEHALFWIDTH__SHIFT 3
A5XX_GRAS_SU_CNTL_LINEHALFWIDTH(float val)2893*4882a593Smuzhiyun static inline uint32_t A5XX_GRAS_SU_CNTL_LINEHALFWIDTH(float val)
2894*4882a593Smuzhiyun {
2895*4882a593Smuzhiyun return ((((int32_t)(val * 4.0))) << A5XX_GRAS_SU_CNTL_LINEHALFWIDTH__SHIFT) & A5XX_GRAS_SU_CNTL_LINEHALFWIDTH__MASK;
2896*4882a593Smuzhiyun }
2897*4882a593Smuzhiyun #define A5XX_GRAS_SU_CNTL_POLY_OFFSET 0x00000800
2898*4882a593Smuzhiyun #define A5XX_GRAS_SU_CNTL_MSAA_ENABLE 0x00002000
2899*4882a593Smuzhiyun
2900*4882a593Smuzhiyun #define REG_A5XX_GRAS_SU_POINT_MINMAX 0x0000e091
2901*4882a593Smuzhiyun #define A5XX_GRAS_SU_POINT_MINMAX_MIN__MASK 0x0000ffff
2902*4882a593Smuzhiyun #define A5XX_GRAS_SU_POINT_MINMAX_MIN__SHIFT 0
A5XX_GRAS_SU_POINT_MINMAX_MIN(float val)2903*4882a593Smuzhiyun static inline uint32_t A5XX_GRAS_SU_POINT_MINMAX_MIN(float val)
2904*4882a593Smuzhiyun {
2905*4882a593Smuzhiyun return ((((uint32_t)(val * 16.0))) << A5XX_GRAS_SU_POINT_MINMAX_MIN__SHIFT) & A5XX_GRAS_SU_POINT_MINMAX_MIN__MASK;
2906*4882a593Smuzhiyun }
2907*4882a593Smuzhiyun #define A5XX_GRAS_SU_POINT_MINMAX_MAX__MASK 0xffff0000
2908*4882a593Smuzhiyun #define A5XX_GRAS_SU_POINT_MINMAX_MAX__SHIFT 16
A5XX_GRAS_SU_POINT_MINMAX_MAX(float val)2909*4882a593Smuzhiyun static inline uint32_t A5XX_GRAS_SU_POINT_MINMAX_MAX(float val)
2910*4882a593Smuzhiyun {
2911*4882a593Smuzhiyun return ((((uint32_t)(val * 16.0))) << A5XX_GRAS_SU_POINT_MINMAX_MAX__SHIFT) & A5XX_GRAS_SU_POINT_MINMAX_MAX__MASK;
2912*4882a593Smuzhiyun }
2913*4882a593Smuzhiyun
2914*4882a593Smuzhiyun #define REG_A5XX_GRAS_SU_POINT_SIZE 0x0000e092
2915*4882a593Smuzhiyun #define A5XX_GRAS_SU_POINT_SIZE__MASK 0xffffffff
2916*4882a593Smuzhiyun #define A5XX_GRAS_SU_POINT_SIZE__SHIFT 0
A5XX_GRAS_SU_POINT_SIZE(float val)2917*4882a593Smuzhiyun static inline uint32_t A5XX_GRAS_SU_POINT_SIZE(float val)
2918*4882a593Smuzhiyun {
2919*4882a593Smuzhiyun return ((((int32_t)(val * 16.0))) << A5XX_GRAS_SU_POINT_SIZE__SHIFT) & A5XX_GRAS_SU_POINT_SIZE__MASK;
2920*4882a593Smuzhiyun }
2921*4882a593Smuzhiyun
2922*4882a593Smuzhiyun #define REG_A5XX_GRAS_SU_LAYERED 0x0000e093
2923*4882a593Smuzhiyun
2924*4882a593Smuzhiyun #define REG_A5XX_GRAS_SU_DEPTH_PLANE_CNTL 0x0000e094
2925*4882a593Smuzhiyun #define A5XX_GRAS_SU_DEPTH_PLANE_CNTL_FRAG_WRITES_Z 0x00000001
2926*4882a593Smuzhiyun #define A5XX_GRAS_SU_DEPTH_PLANE_CNTL_UNK1 0x00000002
2927*4882a593Smuzhiyun
2928*4882a593Smuzhiyun #define REG_A5XX_GRAS_SU_POLY_OFFSET_SCALE 0x0000e095
2929*4882a593Smuzhiyun #define A5XX_GRAS_SU_POLY_OFFSET_SCALE__MASK 0xffffffff
2930*4882a593Smuzhiyun #define A5XX_GRAS_SU_POLY_OFFSET_SCALE__SHIFT 0
A5XX_GRAS_SU_POLY_OFFSET_SCALE(float val)2931*4882a593Smuzhiyun static inline uint32_t A5XX_GRAS_SU_POLY_OFFSET_SCALE(float val)
2932*4882a593Smuzhiyun {
2933*4882a593Smuzhiyun return ((fui(val)) << A5XX_GRAS_SU_POLY_OFFSET_SCALE__SHIFT) & A5XX_GRAS_SU_POLY_OFFSET_SCALE__MASK;
2934*4882a593Smuzhiyun }
2935*4882a593Smuzhiyun
2936*4882a593Smuzhiyun #define REG_A5XX_GRAS_SU_POLY_OFFSET_OFFSET 0x0000e096
2937*4882a593Smuzhiyun #define A5XX_GRAS_SU_POLY_OFFSET_OFFSET__MASK 0xffffffff
2938*4882a593Smuzhiyun #define A5XX_GRAS_SU_POLY_OFFSET_OFFSET__SHIFT 0
A5XX_GRAS_SU_POLY_OFFSET_OFFSET(float val)2939*4882a593Smuzhiyun static inline uint32_t A5XX_GRAS_SU_POLY_OFFSET_OFFSET(float val)
2940*4882a593Smuzhiyun {
2941*4882a593Smuzhiyun return ((fui(val)) << A5XX_GRAS_SU_POLY_OFFSET_OFFSET__SHIFT) & A5XX_GRAS_SU_POLY_OFFSET_OFFSET__MASK;
2942*4882a593Smuzhiyun }
2943*4882a593Smuzhiyun
2944*4882a593Smuzhiyun #define REG_A5XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP 0x0000e097
2945*4882a593Smuzhiyun #define A5XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP__MASK 0xffffffff
2946*4882a593Smuzhiyun #define A5XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP__SHIFT 0
A5XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP(float val)2947*4882a593Smuzhiyun static inline uint32_t A5XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP(float val)
2948*4882a593Smuzhiyun {
2949*4882a593Smuzhiyun return ((fui(val)) << A5XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP__SHIFT) & A5XX_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP__MASK;
2950*4882a593Smuzhiyun }
2951*4882a593Smuzhiyun
2952*4882a593Smuzhiyun #define REG_A5XX_GRAS_SU_DEPTH_BUFFER_INFO 0x0000e098
2953*4882a593Smuzhiyun #define A5XX_GRAS_SU_DEPTH_BUFFER_INFO_DEPTH_FORMAT__MASK 0x00000007
2954*4882a593Smuzhiyun #define A5XX_GRAS_SU_DEPTH_BUFFER_INFO_DEPTH_FORMAT__SHIFT 0
A5XX_GRAS_SU_DEPTH_BUFFER_INFO_DEPTH_FORMAT(enum a5xx_depth_format val)2955*4882a593Smuzhiyun static inline uint32_t A5XX_GRAS_SU_DEPTH_BUFFER_INFO_DEPTH_FORMAT(enum a5xx_depth_format val)
2956*4882a593Smuzhiyun {
2957*4882a593Smuzhiyun return ((val) << A5XX_GRAS_SU_DEPTH_BUFFER_INFO_DEPTH_FORMAT__SHIFT) & A5XX_GRAS_SU_DEPTH_BUFFER_INFO_DEPTH_FORMAT__MASK;
2958*4882a593Smuzhiyun }
2959*4882a593Smuzhiyun
2960*4882a593Smuzhiyun #define REG_A5XX_GRAS_SU_CONSERVATIVE_RAS_CNTL 0x0000e099
2961*4882a593Smuzhiyun
2962*4882a593Smuzhiyun #define REG_A5XX_GRAS_SC_CNTL 0x0000e0a0
2963*4882a593Smuzhiyun #define A5XX_GRAS_SC_CNTL_BINNING_PASS 0x00000001
2964*4882a593Smuzhiyun #define A5XX_GRAS_SC_CNTL_SAMPLES_PASSED 0x00008000
2965*4882a593Smuzhiyun
2966*4882a593Smuzhiyun #define REG_A5XX_GRAS_SC_BIN_CNTL 0x0000e0a1
2967*4882a593Smuzhiyun
2968*4882a593Smuzhiyun #define REG_A5XX_GRAS_SC_RAS_MSAA_CNTL 0x0000e0a2
2969*4882a593Smuzhiyun #define A5XX_GRAS_SC_RAS_MSAA_CNTL_SAMPLES__MASK 0x00000003
2970*4882a593Smuzhiyun #define A5XX_GRAS_SC_RAS_MSAA_CNTL_SAMPLES__SHIFT 0
A5XX_GRAS_SC_RAS_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)2971*4882a593Smuzhiyun static inline uint32_t A5XX_GRAS_SC_RAS_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)
2972*4882a593Smuzhiyun {
2973*4882a593Smuzhiyun return ((val) << A5XX_GRAS_SC_RAS_MSAA_CNTL_SAMPLES__SHIFT) & A5XX_GRAS_SC_RAS_MSAA_CNTL_SAMPLES__MASK;
2974*4882a593Smuzhiyun }
2975*4882a593Smuzhiyun
2976*4882a593Smuzhiyun #define REG_A5XX_GRAS_SC_DEST_MSAA_CNTL 0x0000e0a3
2977*4882a593Smuzhiyun #define A5XX_GRAS_SC_DEST_MSAA_CNTL_SAMPLES__MASK 0x00000003
2978*4882a593Smuzhiyun #define A5XX_GRAS_SC_DEST_MSAA_CNTL_SAMPLES__SHIFT 0
A5XX_GRAS_SC_DEST_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)2979*4882a593Smuzhiyun static inline uint32_t A5XX_GRAS_SC_DEST_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)
2980*4882a593Smuzhiyun {
2981*4882a593Smuzhiyun return ((val) << A5XX_GRAS_SC_DEST_MSAA_CNTL_SAMPLES__SHIFT) & A5XX_GRAS_SC_DEST_MSAA_CNTL_SAMPLES__MASK;
2982*4882a593Smuzhiyun }
2983*4882a593Smuzhiyun #define A5XX_GRAS_SC_DEST_MSAA_CNTL_MSAA_DISABLE 0x00000004
2984*4882a593Smuzhiyun
2985*4882a593Smuzhiyun #define REG_A5XX_GRAS_SC_SCREEN_SCISSOR_CNTL 0x0000e0a4
2986*4882a593Smuzhiyun
2987*4882a593Smuzhiyun #define REG_A5XX_GRAS_SC_SCREEN_SCISSOR_TL_0 0x0000e0aa
2988*4882a593Smuzhiyun #define A5XX_GRAS_SC_SCREEN_SCISSOR_TL_0_WINDOW_OFFSET_DISABLE 0x80000000
2989*4882a593Smuzhiyun #define A5XX_GRAS_SC_SCREEN_SCISSOR_TL_0_X__MASK 0x00007fff
2990*4882a593Smuzhiyun #define A5XX_GRAS_SC_SCREEN_SCISSOR_TL_0_X__SHIFT 0
A5XX_GRAS_SC_SCREEN_SCISSOR_TL_0_X(uint32_t val)2991*4882a593Smuzhiyun static inline uint32_t A5XX_GRAS_SC_SCREEN_SCISSOR_TL_0_X(uint32_t val)
2992*4882a593Smuzhiyun {
2993*4882a593Smuzhiyun return ((val) << A5XX_GRAS_SC_SCREEN_SCISSOR_TL_0_X__SHIFT) & A5XX_GRAS_SC_SCREEN_SCISSOR_TL_0_X__MASK;
2994*4882a593Smuzhiyun }
2995*4882a593Smuzhiyun #define A5XX_GRAS_SC_SCREEN_SCISSOR_TL_0_Y__MASK 0x7fff0000
2996*4882a593Smuzhiyun #define A5XX_GRAS_SC_SCREEN_SCISSOR_TL_0_Y__SHIFT 16
A5XX_GRAS_SC_SCREEN_SCISSOR_TL_0_Y(uint32_t val)2997*4882a593Smuzhiyun static inline uint32_t A5XX_GRAS_SC_SCREEN_SCISSOR_TL_0_Y(uint32_t val)
2998*4882a593Smuzhiyun {
2999*4882a593Smuzhiyun return ((val) << A5XX_GRAS_SC_SCREEN_SCISSOR_TL_0_Y__SHIFT) & A5XX_GRAS_SC_SCREEN_SCISSOR_TL_0_Y__MASK;
3000*4882a593Smuzhiyun }
3001*4882a593Smuzhiyun
3002*4882a593Smuzhiyun #define REG_A5XX_GRAS_SC_SCREEN_SCISSOR_BR_0 0x0000e0ab
3003*4882a593Smuzhiyun #define A5XX_GRAS_SC_SCREEN_SCISSOR_BR_0_WINDOW_OFFSET_DISABLE 0x80000000
3004*4882a593Smuzhiyun #define A5XX_GRAS_SC_SCREEN_SCISSOR_BR_0_X__MASK 0x00007fff
3005*4882a593Smuzhiyun #define A5XX_GRAS_SC_SCREEN_SCISSOR_BR_0_X__SHIFT 0
A5XX_GRAS_SC_SCREEN_SCISSOR_BR_0_X(uint32_t val)3006*4882a593Smuzhiyun static inline uint32_t A5XX_GRAS_SC_SCREEN_SCISSOR_BR_0_X(uint32_t val)
3007*4882a593Smuzhiyun {
3008*4882a593Smuzhiyun return ((val) << A5XX_GRAS_SC_SCREEN_SCISSOR_BR_0_X__SHIFT) & A5XX_GRAS_SC_SCREEN_SCISSOR_BR_0_X__MASK;
3009*4882a593Smuzhiyun }
3010*4882a593Smuzhiyun #define A5XX_GRAS_SC_SCREEN_SCISSOR_BR_0_Y__MASK 0x7fff0000
3011*4882a593Smuzhiyun #define A5XX_GRAS_SC_SCREEN_SCISSOR_BR_0_Y__SHIFT 16
A5XX_GRAS_SC_SCREEN_SCISSOR_BR_0_Y(uint32_t val)3012*4882a593Smuzhiyun static inline uint32_t A5XX_GRAS_SC_SCREEN_SCISSOR_BR_0_Y(uint32_t val)
3013*4882a593Smuzhiyun {
3014*4882a593Smuzhiyun return ((val) << A5XX_GRAS_SC_SCREEN_SCISSOR_BR_0_Y__SHIFT) & A5XX_GRAS_SC_SCREEN_SCISSOR_BR_0_Y__MASK;
3015*4882a593Smuzhiyun }
3016*4882a593Smuzhiyun
3017*4882a593Smuzhiyun #define REG_A5XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0 0x0000e0ca
3018*4882a593Smuzhiyun #define A5XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_WINDOW_OFFSET_DISABLE 0x80000000
3019*4882a593Smuzhiyun #define A5XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_X__MASK 0x00007fff
3020*4882a593Smuzhiyun #define A5XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_X__SHIFT 0
A5XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_X(uint32_t val)3021*4882a593Smuzhiyun static inline uint32_t A5XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_X(uint32_t val)
3022*4882a593Smuzhiyun {
3023*4882a593Smuzhiyun return ((val) << A5XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_X__SHIFT) & A5XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_X__MASK;
3024*4882a593Smuzhiyun }
3025*4882a593Smuzhiyun #define A5XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_Y__MASK 0x7fff0000
3026*4882a593Smuzhiyun #define A5XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_Y__SHIFT 16
A5XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_Y(uint32_t val)3027*4882a593Smuzhiyun static inline uint32_t A5XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_Y(uint32_t val)
3028*4882a593Smuzhiyun {
3029*4882a593Smuzhiyun return ((val) << A5XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_Y__SHIFT) & A5XX_GRAS_SC_VIEWPORT_SCISSOR_TL_0_Y__MASK;
3030*4882a593Smuzhiyun }
3031*4882a593Smuzhiyun
3032*4882a593Smuzhiyun #define REG_A5XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0 0x0000e0cb
3033*4882a593Smuzhiyun #define A5XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_WINDOW_OFFSET_DISABLE 0x80000000
3034*4882a593Smuzhiyun #define A5XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_X__MASK 0x00007fff
3035*4882a593Smuzhiyun #define A5XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_X__SHIFT 0
A5XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_X(uint32_t val)3036*4882a593Smuzhiyun static inline uint32_t A5XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_X(uint32_t val)
3037*4882a593Smuzhiyun {
3038*4882a593Smuzhiyun return ((val) << A5XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_X__SHIFT) & A5XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_X__MASK;
3039*4882a593Smuzhiyun }
3040*4882a593Smuzhiyun #define A5XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_Y__MASK 0x7fff0000
3041*4882a593Smuzhiyun #define A5XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_Y__SHIFT 16
A5XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_Y(uint32_t val)3042*4882a593Smuzhiyun static inline uint32_t A5XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_Y(uint32_t val)
3043*4882a593Smuzhiyun {
3044*4882a593Smuzhiyun return ((val) << A5XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_Y__SHIFT) & A5XX_GRAS_SC_VIEWPORT_SCISSOR_BR_0_Y__MASK;
3045*4882a593Smuzhiyun }
3046*4882a593Smuzhiyun
3047*4882a593Smuzhiyun #define REG_A5XX_GRAS_SC_WINDOW_SCISSOR_TL 0x0000e0ea
3048*4882a593Smuzhiyun #define A5XX_GRAS_SC_WINDOW_SCISSOR_TL_WINDOW_OFFSET_DISABLE 0x80000000
3049*4882a593Smuzhiyun #define A5XX_GRAS_SC_WINDOW_SCISSOR_TL_X__MASK 0x00007fff
3050*4882a593Smuzhiyun #define A5XX_GRAS_SC_WINDOW_SCISSOR_TL_X__SHIFT 0
A5XX_GRAS_SC_WINDOW_SCISSOR_TL_X(uint32_t val)3051*4882a593Smuzhiyun static inline uint32_t A5XX_GRAS_SC_WINDOW_SCISSOR_TL_X(uint32_t val)
3052*4882a593Smuzhiyun {
3053*4882a593Smuzhiyun return ((val) << A5XX_GRAS_SC_WINDOW_SCISSOR_TL_X__SHIFT) & A5XX_GRAS_SC_WINDOW_SCISSOR_TL_X__MASK;
3054*4882a593Smuzhiyun }
3055*4882a593Smuzhiyun #define A5XX_GRAS_SC_WINDOW_SCISSOR_TL_Y__MASK 0x7fff0000
3056*4882a593Smuzhiyun #define A5XX_GRAS_SC_WINDOW_SCISSOR_TL_Y__SHIFT 16
A5XX_GRAS_SC_WINDOW_SCISSOR_TL_Y(uint32_t val)3057*4882a593Smuzhiyun static inline uint32_t A5XX_GRAS_SC_WINDOW_SCISSOR_TL_Y(uint32_t val)
3058*4882a593Smuzhiyun {
3059*4882a593Smuzhiyun return ((val) << A5XX_GRAS_SC_WINDOW_SCISSOR_TL_Y__SHIFT) & A5XX_GRAS_SC_WINDOW_SCISSOR_TL_Y__MASK;
3060*4882a593Smuzhiyun }
3061*4882a593Smuzhiyun
3062*4882a593Smuzhiyun #define REG_A5XX_GRAS_SC_WINDOW_SCISSOR_BR 0x0000e0eb
3063*4882a593Smuzhiyun #define A5XX_GRAS_SC_WINDOW_SCISSOR_BR_WINDOW_OFFSET_DISABLE 0x80000000
3064*4882a593Smuzhiyun #define A5XX_GRAS_SC_WINDOW_SCISSOR_BR_X__MASK 0x00007fff
3065*4882a593Smuzhiyun #define A5XX_GRAS_SC_WINDOW_SCISSOR_BR_X__SHIFT 0
A5XX_GRAS_SC_WINDOW_SCISSOR_BR_X(uint32_t val)3066*4882a593Smuzhiyun static inline uint32_t A5XX_GRAS_SC_WINDOW_SCISSOR_BR_X(uint32_t val)
3067*4882a593Smuzhiyun {
3068*4882a593Smuzhiyun return ((val) << A5XX_GRAS_SC_WINDOW_SCISSOR_BR_X__SHIFT) & A5XX_GRAS_SC_WINDOW_SCISSOR_BR_X__MASK;
3069*4882a593Smuzhiyun }
3070*4882a593Smuzhiyun #define A5XX_GRAS_SC_WINDOW_SCISSOR_BR_Y__MASK 0x7fff0000
3071*4882a593Smuzhiyun #define A5XX_GRAS_SC_WINDOW_SCISSOR_BR_Y__SHIFT 16
A5XX_GRAS_SC_WINDOW_SCISSOR_BR_Y(uint32_t val)3072*4882a593Smuzhiyun static inline uint32_t A5XX_GRAS_SC_WINDOW_SCISSOR_BR_Y(uint32_t val)
3073*4882a593Smuzhiyun {
3074*4882a593Smuzhiyun return ((val) << A5XX_GRAS_SC_WINDOW_SCISSOR_BR_Y__SHIFT) & A5XX_GRAS_SC_WINDOW_SCISSOR_BR_Y__MASK;
3075*4882a593Smuzhiyun }
3076*4882a593Smuzhiyun
3077*4882a593Smuzhiyun #define REG_A5XX_GRAS_LRZ_CNTL 0x0000e100
3078*4882a593Smuzhiyun #define A5XX_GRAS_LRZ_CNTL_ENABLE 0x00000001
3079*4882a593Smuzhiyun #define A5XX_GRAS_LRZ_CNTL_LRZ_WRITE 0x00000002
3080*4882a593Smuzhiyun #define A5XX_GRAS_LRZ_CNTL_GREATER 0x00000004
3081*4882a593Smuzhiyun
3082*4882a593Smuzhiyun #define REG_A5XX_GRAS_LRZ_BUFFER_BASE_LO 0x0000e101
3083*4882a593Smuzhiyun
3084*4882a593Smuzhiyun #define REG_A5XX_GRAS_LRZ_BUFFER_BASE_HI 0x0000e102
3085*4882a593Smuzhiyun
3086*4882a593Smuzhiyun #define REG_A5XX_GRAS_LRZ_BUFFER_PITCH 0x0000e103
3087*4882a593Smuzhiyun #define A5XX_GRAS_LRZ_BUFFER_PITCH__MASK 0xffffffff
3088*4882a593Smuzhiyun #define A5XX_GRAS_LRZ_BUFFER_PITCH__SHIFT 0
A5XX_GRAS_LRZ_BUFFER_PITCH(uint32_t val)3089*4882a593Smuzhiyun static inline uint32_t A5XX_GRAS_LRZ_BUFFER_PITCH(uint32_t val)
3090*4882a593Smuzhiyun {
3091*4882a593Smuzhiyun return ((val >> 5) << A5XX_GRAS_LRZ_BUFFER_PITCH__SHIFT) & A5XX_GRAS_LRZ_BUFFER_PITCH__MASK;
3092*4882a593Smuzhiyun }
3093*4882a593Smuzhiyun
3094*4882a593Smuzhiyun #define REG_A5XX_GRAS_LRZ_FAST_CLEAR_BUFFER_BASE_LO 0x0000e104
3095*4882a593Smuzhiyun
3096*4882a593Smuzhiyun #define REG_A5XX_GRAS_LRZ_FAST_CLEAR_BUFFER_BASE_HI 0x0000e105
3097*4882a593Smuzhiyun
3098*4882a593Smuzhiyun #define REG_A5XX_RB_CNTL 0x0000e140
3099*4882a593Smuzhiyun #define A5XX_RB_CNTL_WIDTH__MASK 0x000000ff
3100*4882a593Smuzhiyun #define A5XX_RB_CNTL_WIDTH__SHIFT 0
A5XX_RB_CNTL_WIDTH(uint32_t val)3101*4882a593Smuzhiyun static inline uint32_t A5XX_RB_CNTL_WIDTH(uint32_t val)
3102*4882a593Smuzhiyun {
3103*4882a593Smuzhiyun return ((val >> 5) << A5XX_RB_CNTL_WIDTH__SHIFT) & A5XX_RB_CNTL_WIDTH__MASK;
3104*4882a593Smuzhiyun }
3105*4882a593Smuzhiyun #define A5XX_RB_CNTL_HEIGHT__MASK 0x0001fe00
3106*4882a593Smuzhiyun #define A5XX_RB_CNTL_HEIGHT__SHIFT 9
A5XX_RB_CNTL_HEIGHT(uint32_t val)3107*4882a593Smuzhiyun static inline uint32_t A5XX_RB_CNTL_HEIGHT(uint32_t val)
3108*4882a593Smuzhiyun {
3109*4882a593Smuzhiyun return ((val >> 5) << A5XX_RB_CNTL_HEIGHT__SHIFT) & A5XX_RB_CNTL_HEIGHT__MASK;
3110*4882a593Smuzhiyun }
3111*4882a593Smuzhiyun #define A5XX_RB_CNTL_BYPASS 0x00020000
3112*4882a593Smuzhiyun
3113*4882a593Smuzhiyun #define REG_A5XX_RB_RENDER_CNTL 0x0000e141
3114*4882a593Smuzhiyun #define A5XX_RB_RENDER_CNTL_BINNING_PASS 0x00000001
3115*4882a593Smuzhiyun #define A5XX_RB_RENDER_CNTL_SAMPLES_PASSED 0x00000040
3116*4882a593Smuzhiyun #define A5XX_RB_RENDER_CNTL_DISABLE_COLOR_PIPE 0x00000080
3117*4882a593Smuzhiyun #define A5XX_RB_RENDER_CNTL_FLAG_DEPTH 0x00004000
3118*4882a593Smuzhiyun #define A5XX_RB_RENDER_CNTL_FLAG_DEPTH2 0x00008000
3119*4882a593Smuzhiyun #define A5XX_RB_RENDER_CNTL_FLAG_MRTS__MASK 0x00ff0000
3120*4882a593Smuzhiyun #define A5XX_RB_RENDER_CNTL_FLAG_MRTS__SHIFT 16
A5XX_RB_RENDER_CNTL_FLAG_MRTS(uint32_t val)3121*4882a593Smuzhiyun static inline uint32_t A5XX_RB_RENDER_CNTL_FLAG_MRTS(uint32_t val)
3122*4882a593Smuzhiyun {
3123*4882a593Smuzhiyun return ((val) << A5XX_RB_RENDER_CNTL_FLAG_MRTS__SHIFT) & A5XX_RB_RENDER_CNTL_FLAG_MRTS__MASK;
3124*4882a593Smuzhiyun }
3125*4882a593Smuzhiyun #define A5XX_RB_RENDER_CNTL_FLAG_MRTS2__MASK 0xff000000
3126*4882a593Smuzhiyun #define A5XX_RB_RENDER_CNTL_FLAG_MRTS2__SHIFT 24
A5XX_RB_RENDER_CNTL_FLAG_MRTS2(uint32_t val)3127*4882a593Smuzhiyun static inline uint32_t A5XX_RB_RENDER_CNTL_FLAG_MRTS2(uint32_t val)
3128*4882a593Smuzhiyun {
3129*4882a593Smuzhiyun return ((val) << A5XX_RB_RENDER_CNTL_FLAG_MRTS2__SHIFT) & A5XX_RB_RENDER_CNTL_FLAG_MRTS2__MASK;
3130*4882a593Smuzhiyun }
3131*4882a593Smuzhiyun
3132*4882a593Smuzhiyun #define REG_A5XX_RB_RAS_MSAA_CNTL 0x0000e142
3133*4882a593Smuzhiyun #define A5XX_RB_RAS_MSAA_CNTL_SAMPLES__MASK 0x00000003
3134*4882a593Smuzhiyun #define A5XX_RB_RAS_MSAA_CNTL_SAMPLES__SHIFT 0
A5XX_RB_RAS_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)3135*4882a593Smuzhiyun static inline uint32_t A5XX_RB_RAS_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)
3136*4882a593Smuzhiyun {
3137*4882a593Smuzhiyun return ((val) << A5XX_RB_RAS_MSAA_CNTL_SAMPLES__SHIFT) & A5XX_RB_RAS_MSAA_CNTL_SAMPLES__MASK;
3138*4882a593Smuzhiyun }
3139*4882a593Smuzhiyun
3140*4882a593Smuzhiyun #define REG_A5XX_RB_DEST_MSAA_CNTL 0x0000e143
3141*4882a593Smuzhiyun #define A5XX_RB_DEST_MSAA_CNTL_SAMPLES__MASK 0x00000003
3142*4882a593Smuzhiyun #define A5XX_RB_DEST_MSAA_CNTL_SAMPLES__SHIFT 0
A5XX_RB_DEST_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)3143*4882a593Smuzhiyun static inline uint32_t A5XX_RB_DEST_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)
3144*4882a593Smuzhiyun {
3145*4882a593Smuzhiyun return ((val) << A5XX_RB_DEST_MSAA_CNTL_SAMPLES__SHIFT) & A5XX_RB_DEST_MSAA_CNTL_SAMPLES__MASK;
3146*4882a593Smuzhiyun }
3147*4882a593Smuzhiyun #define A5XX_RB_DEST_MSAA_CNTL_MSAA_DISABLE 0x00000004
3148*4882a593Smuzhiyun
3149*4882a593Smuzhiyun #define REG_A5XX_RB_RENDER_CONTROL0 0x0000e144
3150*4882a593Smuzhiyun #define A5XX_RB_RENDER_CONTROL0_IJ_PERSP_PIXEL 0x00000001
3151*4882a593Smuzhiyun #define A5XX_RB_RENDER_CONTROL0_IJ_PERSP_CENTROID 0x00000002
3152*4882a593Smuzhiyun #define A5XX_RB_RENDER_CONTROL0_IJ_PERSP_SAMPLE 0x00000004
3153*4882a593Smuzhiyun #define A5XX_RB_RENDER_CONTROL0_SIZE 0x00000008
3154*4882a593Smuzhiyun #define A5XX_RB_RENDER_CONTROL0_COORD_MASK__MASK 0x000003c0
3155*4882a593Smuzhiyun #define A5XX_RB_RENDER_CONTROL0_COORD_MASK__SHIFT 6
A5XX_RB_RENDER_CONTROL0_COORD_MASK(uint32_t val)3156*4882a593Smuzhiyun static inline uint32_t A5XX_RB_RENDER_CONTROL0_COORD_MASK(uint32_t val)
3157*4882a593Smuzhiyun {
3158*4882a593Smuzhiyun return ((val) << A5XX_RB_RENDER_CONTROL0_COORD_MASK__SHIFT) & A5XX_RB_RENDER_CONTROL0_COORD_MASK__MASK;
3159*4882a593Smuzhiyun }
3160*4882a593Smuzhiyun
3161*4882a593Smuzhiyun #define REG_A5XX_RB_RENDER_CONTROL1 0x0000e145
3162*4882a593Smuzhiyun #define A5XX_RB_RENDER_CONTROL1_SAMPLEMASK 0x00000001
3163*4882a593Smuzhiyun #define A5XX_RB_RENDER_CONTROL1_FACENESS 0x00000002
3164*4882a593Smuzhiyun #define A5XX_RB_RENDER_CONTROL1_SAMPLEID 0x00000004
3165*4882a593Smuzhiyun
3166*4882a593Smuzhiyun #define REG_A5XX_RB_FS_OUTPUT_CNTL 0x0000e146
3167*4882a593Smuzhiyun #define A5XX_RB_FS_OUTPUT_CNTL_MRT__MASK 0x0000000f
3168*4882a593Smuzhiyun #define A5XX_RB_FS_OUTPUT_CNTL_MRT__SHIFT 0
A5XX_RB_FS_OUTPUT_CNTL_MRT(uint32_t val)3169*4882a593Smuzhiyun static inline uint32_t A5XX_RB_FS_OUTPUT_CNTL_MRT(uint32_t val)
3170*4882a593Smuzhiyun {
3171*4882a593Smuzhiyun return ((val) << A5XX_RB_FS_OUTPUT_CNTL_MRT__SHIFT) & A5XX_RB_FS_OUTPUT_CNTL_MRT__MASK;
3172*4882a593Smuzhiyun }
3173*4882a593Smuzhiyun #define A5XX_RB_FS_OUTPUT_CNTL_FRAG_WRITES_Z 0x00000020
3174*4882a593Smuzhiyun
3175*4882a593Smuzhiyun #define REG_A5XX_RB_RENDER_COMPONENTS 0x0000e147
3176*4882a593Smuzhiyun #define A5XX_RB_RENDER_COMPONENTS_RT0__MASK 0x0000000f
3177*4882a593Smuzhiyun #define A5XX_RB_RENDER_COMPONENTS_RT0__SHIFT 0
A5XX_RB_RENDER_COMPONENTS_RT0(uint32_t val)3178*4882a593Smuzhiyun static inline uint32_t A5XX_RB_RENDER_COMPONENTS_RT0(uint32_t val)
3179*4882a593Smuzhiyun {
3180*4882a593Smuzhiyun return ((val) << A5XX_RB_RENDER_COMPONENTS_RT0__SHIFT) & A5XX_RB_RENDER_COMPONENTS_RT0__MASK;
3181*4882a593Smuzhiyun }
3182*4882a593Smuzhiyun #define A5XX_RB_RENDER_COMPONENTS_RT1__MASK 0x000000f0
3183*4882a593Smuzhiyun #define A5XX_RB_RENDER_COMPONENTS_RT1__SHIFT 4
A5XX_RB_RENDER_COMPONENTS_RT1(uint32_t val)3184*4882a593Smuzhiyun static inline uint32_t A5XX_RB_RENDER_COMPONENTS_RT1(uint32_t val)
3185*4882a593Smuzhiyun {
3186*4882a593Smuzhiyun return ((val) << A5XX_RB_RENDER_COMPONENTS_RT1__SHIFT) & A5XX_RB_RENDER_COMPONENTS_RT1__MASK;
3187*4882a593Smuzhiyun }
3188*4882a593Smuzhiyun #define A5XX_RB_RENDER_COMPONENTS_RT2__MASK 0x00000f00
3189*4882a593Smuzhiyun #define A5XX_RB_RENDER_COMPONENTS_RT2__SHIFT 8
A5XX_RB_RENDER_COMPONENTS_RT2(uint32_t val)3190*4882a593Smuzhiyun static inline uint32_t A5XX_RB_RENDER_COMPONENTS_RT2(uint32_t val)
3191*4882a593Smuzhiyun {
3192*4882a593Smuzhiyun return ((val) << A5XX_RB_RENDER_COMPONENTS_RT2__SHIFT) & A5XX_RB_RENDER_COMPONENTS_RT2__MASK;
3193*4882a593Smuzhiyun }
3194*4882a593Smuzhiyun #define A5XX_RB_RENDER_COMPONENTS_RT3__MASK 0x0000f000
3195*4882a593Smuzhiyun #define A5XX_RB_RENDER_COMPONENTS_RT3__SHIFT 12
A5XX_RB_RENDER_COMPONENTS_RT3(uint32_t val)3196*4882a593Smuzhiyun static inline uint32_t A5XX_RB_RENDER_COMPONENTS_RT3(uint32_t val)
3197*4882a593Smuzhiyun {
3198*4882a593Smuzhiyun return ((val) << A5XX_RB_RENDER_COMPONENTS_RT3__SHIFT) & A5XX_RB_RENDER_COMPONENTS_RT3__MASK;
3199*4882a593Smuzhiyun }
3200*4882a593Smuzhiyun #define A5XX_RB_RENDER_COMPONENTS_RT4__MASK 0x000f0000
3201*4882a593Smuzhiyun #define A5XX_RB_RENDER_COMPONENTS_RT4__SHIFT 16
A5XX_RB_RENDER_COMPONENTS_RT4(uint32_t val)3202*4882a593Smuzhiyun static inline uint32_t A5XX_RB_RENDER_COMPONENTS_RT4(uint32_t val)
3203*4882a593Smuzhiyun {
3204*4882a593Smuzhiyun return ((val) << A5XX_RB_RENDER_COMPONENTS_RT4__SHIFT) & A5XX_RB_RENDER_COMPONENTS_RT4__MASK;
3205*4882a593Smuzhiyun }
3206*4882a593Smuzhiyun #define A5XX_RB_RENDER_COMPONENTS_RT5__MASK 0x00f00000
3207*4882a593Smuzhiyun #define A5XX_RB_RENDER_COMPONENTS_RT5__SHIFT 20
A5XX_RB_RENDER_COMPONENTS_RT5(uint32_t val)3208*4882a593Smuzhiyun static inline uint32_t A5XX_RB_RENDER_COMPONENTS_RT5(uint32_t val)
3209*4882a593Smuzhiyun {
3210*4882a593Smuzhiyun return ((val) << A5XX_RB_RENDER_COMPONENTS_RT5__SHIFT) & A5XX_RB_RENDER_COMPONENTS_RT5__MASK;
3211*4882a593Smuzhiyun }
3212*4882a593Smuzhiyun #define A5XX_RB_RENDER_COMPONENTS_RT6__MASK 0x0f000000
3213*4882a593Smuzhiyun #define A5XX_RB_RENDER_COMPONENTS_RT6__SHIFT 24
A5XX_RB_RENDER_COMPONENTS_RT6(uint32_t val)3214*4882a593Smuzhiyun static inline uint32_t A5XX_RB_RENDER_COMPONENTS_RT6(uint32_t val)
3215*4882a593Smuzhiyun {
3216*4882a593Smuzhiyun return ((val) << A5XX_RB_RENDER_COMPONENTS_RT6__SHIFT) & A5XX_RB_RENDER_COMPONENTS_RT6__MASK;
3217*4882a593Smuzhiyun }
3218*4882a593Smuzhiyun #define A5XX_RB_RENDER_COMPONENTS_RT7__MASK 0xf0000000
3219*4882a593Smuzhiyun #define A5XX_RB_RENDER_COMPONENTS_RT7__SHIFT 28
A5XX_RB_RENDER_COMPONENTS_RT7(uint32_t val)3220*4882a593Smuzhiyun static inline uint32_t A5XX_RB_RENDER_COMPONENTS_RT7(uint32_t val)
3221*4882a593Smuzhiyun {
3222*4882a593Smuzhiyun return ((val) << A5XX_RB_RENDER_COMPONENTS_RT7__SHIFT) & A5XX_RB_RENDER_COMPONENTS_RT7__MASK;
3223*4882a593Smuzhiyun }
3224*4882a593Smuzhiyun
REG_A5XX_RB_MRT(uint32_t i0)3225*4882a593Smuzhiyun static inline uint32_t REG_A5XX_RB_MRT(uint32_t i0) { return 0x0000e150 + 0x7*i0; }
3226*4882a593Smuzhiyun
REG_A5XX_RB_MRT_CONTROL(uint32_t i0)3227*4882a593Smuzhiyun static inline uint32_t REG_A5XX_RB_MRT_CONTROL(uint32_t i0) { return 0x0000e150 + 0x7*i0; }
3228*4882a593Smuzhiyun #define A5XX_RB_MRT_CONTROL_BLEND 0x00000001
3229*4882a593Smuzhiyun #define A5XX_RB_MRT_CONTROL_BLEND2 0x00000002
3230*4882a593Smuzhiyun #define A5XX_RB_MRT_CONTROL_ROP_ENABLE 0x00000004
3231*4882a593Smuzhiyun #define A5XX_RB_MRT_CONTROL_ROP_CODE__MASK 0x00000078
3232*4882a593Smuzhiyun #define A5XX_RB_MRT_CONTROL_ROP_CODE__SHIFT 3
A5XX_RB_MRT_CONTROL_ROP_CODE(enum a3xx_rop_code val)3233*4882a593Smuzhiyun static inline uint32_t A5XX_RB_MRT_CONTROL_ROP_CODE(enum a3xx_rop_code val)
3234*4882a593Smuzhiyun {
3235*4882a593Smuzhiyun return ((val) << A5XX_RB_MRT_CONTROL_ROP_CODE__SHIFT) & A5XX_RB_MRT_CONTROL_ROP_CODE__MASK;
3236*4882a593Smuzhiyun }
3237*4882a593Smuzhiyun #define A5XX_RB_MRT_CONTROL_COMPONENT_ENABLE__MASK 0x00000780
3238*4882a593Smuzhiyun #define A5XX_RB_MRT_CONTROL_COMPONENT_ENABLE__SHIFT 7
A5XX_RB_MRT_CONTROL_COMPONENT_ENABLE(uint32_t val)3239*4882a593Smuzhiyun static inline uint32_t A5XX_RB_MRT_CONTROL_COMPONENT_ENABLE(uint32_t val)
3240*4882a593Smuzhiyun {
3241*4882a593Smuzhiyun return ((val) << A5XX_RB_MRT_CONTROL_COMPONENT_ENABLE__SHIFT) & A5XX_RB_MRT_CONTROL_COMPONENT_ENABLE__MASK;
3242*4882a593Smuzhiyun }
3243*4882a593Smuzhiyun
REG_A5XX_RB_MRT_BLEND_CONTROL(uint32_t i0)3244*4882a593Smuzhiyun static inline uint32_t REG_A5XX_RB_MRT_BLEND_CONTROL(uint32_t i0) { return 0x0000e151 + 0x7*i0; }
3245*4882a593Smuzhiyun #define A5XX_RB_MRT_BLEND_CONTROL_RGB_SRC_FACTOR__MASK 0x0000001f
3246*4882a593Smuzhiyun #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)3247*4882a593Smuzhiyun static inline uint32_t A5XX_RB_MRT_BLEND_CONTROL_RGB_SRC_FACTOR(enum adreno_rb_blend_factor val)
3248*4882a593Smuzhiyun {
3249*4882a593Smuzhiyun return ((val) << A5XX_RB_MRT_BLEND_CONTROL_RGB_SRC_FACTOR__SHIFT) & A5XX_RB_MRT_BLEND_CONTROL_RGB_SRC_FACTOR__MASK;
3250*4882a593Smuzhiyun }
3251*4882a593Smuzhiyun #define A5XX_RB_MRT_BLEND_CONTROL_RGB_BLEND_OPCODE__MASK 0x000000e0
3252*4882a593Smuzhiyun #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)3253*4882a593Smuzhiyun static inline uint32_t A5XX_RB_MRT_BLEND_CONTROL_RGB_BLEND_OPCODE(enum a3xx_rb_blend_opcode val)
3254*4882a593Smuzhiyun {
3255*4882a593Smuzhiyun return ((val) << A5XX_RB_MRT_BLEND_CONTROL_RGB_BLEND_OPCODE__SHIFT) & A5XX_RB_MRT_BLEND_CONTROL_RGB_BLEND_OPCODE__MASK;
3256*4882a593Smuzhiyun }
3257*4882a593Smuzhiyun #define A5XX_RB_MRT_BLEND_CONTROL_RGB_DEST_FACTOR__MASK 0x00001f00
3258*4882a593Smuzhiyun #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)3259*4882a593Smuzhiyun static inline uint32_t A5XX_RB_MRT_BLEND_CONTROL_RGB_DEST_FACTOR(enum adreno_rb_blend_factor val)
3260*4882a593Smuzhiyun {
3261*4882a593Smuzhiyun return ((val) << A5XX_RB_MRT_BLEND_CONTROL_RGB_DEST_FACTOR__SHIFT) & A5XX_RB_MRT_BLEND_CONTROL_RGB_DEST_FACTOR__MASK;
3262*4882a593Smuzhiyun }
3263*4882a593Smuzhiyun #define A5XX_RB_MRT_BLEND_CONTROL_ALPHA_SRC_FACTOR__MASK 0x001f0000
3264*4882a593Smuzhiyun #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)3265*4882a593Smuzhiyun static inline uint32_t A5XX_RB_MRT_BLEND_CONTROL_ALPHA_SRC_FACTOR(enum adreno_rb_blend_factor val)
3266*4882a593Smuzhiyun {
3267*4882a593Smuzhiyun return ((val) << A5XX_RB_MRT_BLEND_CONTROL_ALPHA_SRC_FACTOR__SHIFT) & A5XX_RB_MRT_BLEND_CONTROL_ALPHA_SRC_FACTOR__MASK;
3268*4882a593Smuzhiyun }
3269*4882a593Smuzhiyun #define A5XX_RB_MRT_BLEND_CONTROL_ALPHA_BLEND_OPCODE__MASK 0x00e00000
3270*4882a593Smuzhiyun #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)3271*4882a593Smuzhiyun static inline uint32_t A5XX_RB_MRT_BLEND_CONTROL_ALPHA_BLEND_OPCODE(enum a3xx_rb_blend_opcode val)
3272*4882a593Smuzhiyun {
3273*4882a593Smuzhiyun return ((val) << A5XX_RB_MRT_BLEND_CONTROL_ALPHA_BLEND_OPCODE__SHIFT) & A5XX_RB_MRT_BLEND_CONTROL_ALPHA_BLEND_OPCODE__MASK;
3274*4882a593Smuzhiyun }
3275*4882a593Smuzhiyun #define A5XX_RB_MRT_BLEND_CONTROL_ALPHA_DEST_FACTOR__MASK 0x1f000000
3276*4882a593Smuzhiyun #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)3277*4882a593Smuzhiyun static inline uint32_t A5XX_RB_MRT_BLEND_CONTROL_ALPHA_DEST_FACTOR(enum adreno_rb_blend_factor val)
3278*4882a593Smuzhiyun {
3279*4882a593Smuzhiyun return ((val) << A5XX_RB_MRT_BLEND_CONTROL_ALPHA_DEST_FACTOR__SHIFT) & A5XX_RB_MRT_BLEND_CONTROL_ALPHA_DEST_FACTOR__MASK;
3280*4882a593Smuzhiyun }
3281*4882a593Smuzhiyun
REG_A5XX_RB_MRT_BUF_INFO(uint32_t i0)3282*4882a593Smuzhiyun static inline uint32_t REG_A5XX_RB_MRT_BUF_INFO(uint32_t i0) { return 0x0000e152 + 0x7*i0; }
3283*4882a593Smuzhiyun #define A5XX_RB_MRT_BUF_INFO_COLOR_FORMAT__MASK 0x000000ff
3284*4882a593Smuzhiyun #define A5XX_RB_MRT_BUF_INFO_COLOR_FORMAT__SHIFT 0
A5XX_RB_MRT_BUF_INFO_COLOR_FORMAT(enum a5xx_color_fmt val)3285*4882a593Smuzhiyun static inline uint32_t A5XX_RB_MRT_BUF_INFO_COLOR_FORMAT(enum a5xx_color_fmt val)
3286*4882a593Smuzhiyun {
3287*4882a593Smuzhiyun return ((val) << A5XX_RB_MRT_BUF_INFO_COLOR_FORMAT__SHIFT) & A5XX_RB_MRT_BUF_INFO_COLOR_FORMAT__MASK;
3288*4882a593Smuzhiyun }
3289*4882a593Smuzhiyun #define A5XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE__MASK 0x00000300
3290*4882a593Smuzhiyun #define A5XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE__SHIFT 8
A5XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE(enum a5xx_tile_mode val)3291*4882a593Smuzhiyun static inline uint32_t A5XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE(enum a5xx_tile_mode val)
3292*4882a593Smuzhiyun {
3293*4882a593Smuzhiyun return ((val) << A5XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE__SHIFT) & A5XX_RB_MRT_BUF_INFO_COLOR_TILE_MODE__MASK;
3294*4882a593Smuzhiyun }
3295*4882a593Smuzhiyun #define A5XX_RB_MRT_BUF_INFO_DITHER_MODE__MASK 0x00001800
3296*4882a593Smuzhiyun #define A5XX_RB_MRT_BUF_INFO_DITHER_MODE__SHIFT 11
A5XX_RB_MRT_BUF_INFO_DITHER_MODE(enum adreno_rb_dither_mode val)3297*4882a593Smuzhiyun static inline uint32_t A5XX_RB_MRT_BUF_INFO_DITHER_MODE(enum adreno_rb_dither_mode val)
3298*4882a593Smuzhiyun {
3299*4882a593Smuzhiyun return ((val) << A5XX_RB_MRT_BUF_INFO_DITHER_MODE__SHIFT) & A5XX_RB_MRT_BUF_INFO_DITHER_MODE__MASK;
3300*4882a593Smuzhiyun }
3301*4882a593Smuzhiyun #define A5XX_RB_MRT_BUF_INFO_COLOR_SWAP__MASK 0x00006000
3302*4882a593Smuzhiyun #define A5XX_RB_MRT_BUF_INFO_COLOR_SWAP__SHIFT 13
A5XX_RB_MRT_BUF_INFO_COLOR_SWAP(enum a3xx_color_swap val)3303*4882a593Smuzhiyun static inline uint32_t A5XX_RB_MRT_BUF_INFO_COLOR_SWAP(enum a3xx_color_swap val)
3304*4882a593Smuzhiyun {
3305*4882a593Smuzhiyun return ((val) << A5XX_RB_MRT_BUF_INFO_COLOR_SWAP__SHIFT) & A5XX_RB_MRT_BUF_INFO_COLOR_SWAP__MASK;
3306*4882a593Smuzhiyun }
3307*4882a593Smuzhiyun #define A5XX_RB_MRT_BUF_INFO_COLOR_SRGB 0x00008000
3308*4882a593Smuzhiyun
REG_A5XX_RB_MRT_PITCH(uint32_t i0)3309*4882a593Smuzhiyun static inline uint32_t REG_A5XX_RB_MRT_PITCH(uint32_t i0) { return 0x0000e153 + 0x7*i0; }
3310*4882a593Smuzhiyun #define A5XX_RB_MRT_PITCH__MASK 0xffffffff
3311*4882a593Smuzhiyun #define A5XX_RB_MRT_PITCH__SHIFT 0
A5XX_RB_MRT_PITCH(uint32_t val)3312*4882a593Smuzhiyun static inline uint32_t A5XX_RB_MRT_PITCH(uint32_t val)
3313*4882a593Smuzhiyun {
3314*4882a593Smuzhiyun return ((val >> 6) << A5XX_RB_MRT_PITCH__SHIFT) & A5XX_RB_MRT_PITCH__MASK;
3315*4882a593Smuzhiyun }
3316*4882a593Smuzhiyun
REG_A5XX_RB_MRT_ARRAY_PITCH(uint32_t i0)3317*4882a593Smuzhiyun static inline uint32_t REG_A5XX_RB_MRT_ARRAY_PITCH(uint32_t i0) { return 0x0000e154 + 0x7*i0; }
3318*4882a593Smuzhiyun #define A5XX_RB_MRT_ARRAY_PITCH__MASK 0xffffffff
3319*4882a593Smuzhiyun #define A5XX_RB_MRT_ARRAY_PITCH__SHIFT 0
A5XX_RB_MRT_ARRAY_PITCH(uint32_t val)3320*4882a593Smuzhiyun static inline uint32_t A5XX_RB_MRT_ARRAY_PITCH(uint32_t val)
3321*4882a593Smuzhiyun {
3322*4882a593Smuzhiyun return ((val >> 6) << A5XX_RB_MRT_ARRAY_PITCH__SHIFT) & A5XX_RB_MRT_ARRAY_PITCH__MASK;
3323*4882a593Smuzhiyun }
3324*4882a593Smuzhiyun
REG_A5XX_RB_MRT_BASE_LO(uint32_t i0)3325*4882a593Smuzhiyun static inline uint32_t REG_A5XX_RB_MRT_BASE_LO(uint32_t i0) { return 0x0000e155 + 0x7*i0; }
3326*4882a593Smuzhiyun
REG_A5XX_RB_MRT_BASE_HI(uint32_t i0)3327*4882a593Smuzhiyun static inline uint32_t REG_A5XX_RB_MRT_BASE_HI(uint32_t i0) { return 0x0000e156 + 0x7*i0; }
3328*4882a593Smuzhiyun
3329*4882a593Smuzhiyun #define REG_A5XX_RB_BLEND_RED 0x0000e1a0
3330*4882a593Smuzhiyun #define A5XX_RB_BLEND_RED_UINT__MASK 0x000000ff
3331*4882a593Smuzhiyun #define A5XX_RB_BLEND_RED_UINT__SHIFT 0
A5XX_RB_BLEND_RED_UINT(uint32_t val)3332*4882a593Smuzhiyun static inline uint32_t A5XX_RB_BLEND_RED_UINT(uint32_t val)
3333*4882a593Smuzhiyun {
3334*4882a593Smuzhiyun return ((val) << A5XX_RB_BLEND_RED_UINT__SHIFT) & A5XX_RB_BLEND_RED_UINT__MASK;
3335*4882a593Smuzhiyun }
3336*4882a593Smuzhiyun #define A5XX_RB_BLEND_RED_SINT__MASK 0x0000ff00
3337*4882a593Smuzhiyun #define A5XX_RB_BLEND_RED_SINT__SHIFT 8
A5XX_RB_BLEND_RED_SINT(uint32_t val)3338*4882a593Smuzhiyun static inline uint32_t A5XX_RB_BLEND_RED_SINT(uint32_t val)
3339*4882a593Smuzhiyun {
3340*4882a593Smuzhiyun return ((val) << A5XX_RB_BLEND_RED_SINT__SHIFT) & A5XX_RB_BLEND_RED_SINT__MASK;
3341*4882a593Smuzhiyun }
3342*4882a593Smuzhiyun #define A5XX_RB_BLEND_RED_FLOAT__MASK 0xffff0000
3343*4882a593Smuzhiyun #define A5XX_RB_BLEND_RED_FLOAT__SHIFT 16
A5XX_RB_BLEND_RED_FLOAT(float val)3344*4882a593Smuzhiyun static inline uint32_t A5XX_RB_BLEND_RED_FLOAT(float val)
3345*4882a593Smuzhiyun {
3346*4882a593Smuzhiyun return ((util_float_to_half(val)) << A5XX_RB_BLEND_RED_FLOAT__SHIFT) & A5XX_RB_BLEND_RED_FLOAT__MASK;
3347*4882a593Smuzhiyun }
3348*4882a593Smuzhiyun
3349*4882a593Smuzhiyun #define REG_A5XX_RB_BLEND_RED_F32 0x0000e1a1
3350*4882a593Smuzhiyun #define A5XX_RB_BLEND_RED_F32__MASK 0xffffffff
3351*4882a593Smuzhiyun #define A5XX_RB_BLEND_RED_F32__SHIFT 0
A5XX_RB_BLEND_RED_F32(float val)3352*4882a593Smuzhiyun static inline uint32_t A5XX_RB_BLEND_RED_F32(float val)
3353*4882a593Smuzhiyun {
3354*4882a593Smuzhiyun return ((fui(val)) << A5XX_RB_BLEND_RED_F32__SHIFT) & A5XX_RB_BLEND_RED_F32__MASK;
3355*4882a593Smuzhiyun }
3356*4882a593Smuzhiyun
3357*4882a593Smuzhiyun #define REG_A5XX_RB_BLEND_GREEN 0x0000e1a2
3358*4882a593Smuzhiyun #define A5XX_RB_BLEND_GREEN_UINT__MASK 0x000000ff
3359*4882a593Smuzhiyun #define A5XX_RB_BLEND_GREEN_UINT__SHIFT 0
A5XX_RB_BLEND_GREEN_UINT(uint32_t val)3360*4882a593Smuzhiyun static inline uint32_t A5XX_RB_BLEND_GREEN_UINT(uint32_t val)
3361*4882a593Smuzhiyun {
3362*4882a593Smuzhiyun return ((val) << A5XX_RB_BLEND_GREEN_UINT__SHIFT) & A5XX_RB_BLEND_GREEN_UINT__MASK;
3363*4882a593Smuzhiyun }
3364*4882a593Smuzhiyun #define A5XX_RB_BLEND_GREEN_SINT__MASK 0x0000ff00
3365*4882a593Smuzhiyun #define A5XX_RB_BLEND_GREEN_SINT__SHIFT 8
A5XX_RB_BLEND_GREEN_SINT(uint32_t val)3366*4882a593Smuzhiyun static inline uint32_t A5XX_RB_BLEND_GREEN_SINT(uint32_t val)
3367*4882a593Smuzhiyun {
3368*4882a593Smuzhiyun return ((val) << A5XX_RB_BLEND_GREEN_SINT__SHIFT) & A5XX_RB_BLEND_GREEN_SINT__MASK;
3369*4882a593Smuzhiyun }
3370*4882a593Smuzhiyun #define A5XX_RB_BLEND_GREEN_FLOAT__MASK 0xffff0000
3371*4882a593Smuzhiyun #define A5XX_RB_BLEND_GREEN_FLOAT__SHIFT 16
A5XX_RB_BLEND_GREEN_FLOAT(float val)3372*4882a593Smuzhiyun static inline uint32_t A5XX_RB_BLEND_GREEN_FLOAT(float val)
3373*4882a593Smuzhiyun {
3374*4882a593Smuzhiyun return ((util_float_to_half(val)) << A5XX_RB_BLEND_GREEN_FLOAT__SHIFT) & A5XX_RB_BLEND_GREEN_FLOAT__MASK;
3375*4882a593Smuzhiyun }
3376*4882a593Smuzhiyun
3377*4882a593Smuzhiyun #define REG_A5XX_RB_BLEND_GREEN_F32 0x0000e1a3
3378*4882a593Smuzhiyun #define A5XX_RB_BLEND_GREEN_F32__MASK 0xffffffff
3379*4882a593Smuzhiyun #define A5XX_RB_BLEND_GREEN_F32__SHIFT 0
A5XX_RB_BLEND_GREEN_F32(float val)3380*4882a593Smuzhiyun static inline uint32_t A5XX_RB_BLEND_GREEN_F32(float val)
3381*4882a593Smuzhiyun {
3382*4882a593Smuzhiyun return ((fui(val)) << A5XX_RB_BLEND_GREEN_F32__SHIFT) & A5XX_RB_BLEND_GREEN_F32__MASK;
3383*4882a593Smuzhiyun }
3384*4882a593Smuzhiyun
3385*4882a593Smuzhiyun #define REG_A5XX_RB_BLEND_BLUE 0x0000e1a4
3386*4882a593Smuzhiyun #define A5XX_RB_BLEND_BLUE_UINT__MASK 0x000000ff
3387*4882a593Smuzhiyun #define A5XX_RB_BLEND_BLUE_UINT__SHIFT 0
A5XX_RB_BLEND_BLUE_UINT(uint32_t val)3388*4882a593Smuzhiyun static inline uint32_t A5XX_RB_BLEND_BLUE_UINT(uint32_t val)
3389*4882a593Smuzhiyun {
3390*4882a593Smuzhiyun return ((val) << A5XX_RB_BLEND_BLUE_UINT__SHIFT) & A5XX_RB_BLEND_BLUE_UINT__MASK;
3391*4882a593Smuzhiyun }
3392*4882a593Smuzhiyun #define A5XX_RB_BLEND_BLUE_SINT__MASK 0x0000ff00
3393*4882a593Smuzhiyun #define A5XX_RB_BLEND_BLUE_SINT__SHIFT 8
A5XX_RB_BLEND_BLUE_SINT(uint32_t val)3394*4882a593Smuzhiyun static inline uint32_t A5XX_RB_BLEND_BLUE_SINT(uint32_t val)
3395*4882a593Smuzhiyun {
3396*4882a593Smuzhiyun return ((val) << A5XX_RB_BLEND_BLUE_SINT__SHIFT) & A5XX_RB_BLEND_BLUE_SINT__MASK;
3397*4882a593Smuzhiyun }
3398*4882a593Smuzhiyun #define A5XX_RB_BLEND_BLUE_FLOAT__MASK 0xffff0000
3399*4882a593Smuzhiyun #define A5XX_RB_BLEND_BLUE_FLOAT__SHIFT 16
A5XX_RB_BLEND_BLUE_FLOAT(float val)3400*4882a593Smuzhiyun static inline uint32_t A5XX_RB_BLEND_BLUE_FLOAT(float val)
3401*4882a593Smuzhiyun {
3402*4882a593Smuzhiyun return ((util_float_to_half(val)) << A5XX_RB_BLEND_BLUE_FLOAT__SHIFT) & A5XX_RB_BLEND_BLUE_FLOAT__MASK;
3403*4882a593Smuzhiyun }
3404*4882a593Smuzhiyun
3405*4882a593Smuzhiyun #define REG_A5XX_RB_BLEND_BLUE_F32 0x0000e1a5
3406*4882a593Smuzhiyun #define A5XX_RB_BLEND_BLUE_F32__MASK 0xffffffff
3407*4882a593Smuzhiyun #define A5XX_RB_BLEND_BLUE_F32__SHIFT 0
A5XX_RB_BLEND_BLUE_F32(float val)3408*4882a593Smuzhiyun static inline uint32_t A5XX_RB_BLEND_BLUE_F32(float val)
3409*4882a593Smuzhiyun {
3410*4882a593Smuzhiyun return ((fui(val)) << A5XX_RB_BLEND_BLUE_F32__SHIFT) & A5XX_RB_BLEND_BLUE_F32__MASK;
3411*4882a593Smuzhiyun }
3412*4882a593Smuzhiyun
3413*4882a593Smuzhiyun #define REG_A5XX_RB_BLEND_ALPHA 0x0000e1a6
3414*4882a593Smuzhiyun #define A5XX_RB_BLEND_ALPHA_UINT__MASK 0x000000ff
3415*4882a593Smuzhiyun #define A5XX_RB_BLEND_ALPHA_UINT__SHIFT 0
A5XX_RB_BLEND_ALPHA_UINT(uint32_t val)3416*4882a593Smuzhiyun static inline uint32_t A5XX_RB_BLEND_ALPHA_UINT(uint32_t val)
3417*4882a593Smuzhiyun {
3418*4882a593Smuzhiyun return ((val) << A5XX_RB_BLEND_ALPHA_UINT__SHIFT) & A5XX_RB_BLEND_ALPHA_UINT__MASK;
3419*4882a593Smuzhiyun }
3420*4882a593Smuzhiyun #define A5XX_RB_BLEND_ALPHA_SINT__MASK 0x0000ff00
3421*4882a593Smuzhiyun #define A5XX_RB_BLEND_ALPHA_SINT__SHIFT 8
A5XX_RB_BLEND_ALPHA_SINT(uint32_t val)3422*4882a593Smuzhiyun static inline uint32_t A5XX_RB_BLEND_ALPHA_SINT(uint32_t val)
3423*4882a593Smuzhiyun {
3424*4882a593Smuzhiyun return ((val) << A5XX_RB_BLEND_ALPHA_SINT__SHIFT) & A5XX_RB_BLEND_ALPHA_SINT__MASK;
3425*4882a593Smuzhiyun }
3426*4882a593Smuzhiyun #define A5XX_RB_BLEND_ALPHA_FLOAT__MASK 0xffff0000
3427*4882a593Smuzhiyun #define A5XX_RB_BLEND_ALPHA_FLOAT__SHIFT 16
A5XX_RB_BLEND_ALPHA_FLOAT(float val)3428*4882a593Smuzhiyun static inline uint32_t A5XX_RB_BLEND_ALPHA_FLOAT(float val)
3429*4882a593Smuzhiyun {
3430*4882a593Smuzhiyun return ((util_float_to_half(val)) << A5XX_RB_BLEND_ALPHA_FLOAT__SHIFT) & A5XX_RB_BLEND_ALPHA_FLOAT__MASK;
3431*4882a593Smuzhiyun }
3432*4882a593Smuzhiyun
3433*4882a593Smuzhiyun #define REG_A5XX_RB_BLEND_ALPHA_F32 0x0000e1a7
3434*4882a593Smuzhiyun #define A5XX_RB_BLEND_ALPHA_F32__MASK 0xffffffff
3435*4882a593Smuzhiyun #define A5XX_RB_BLEND_ALPHA_F32__SHIFT 0
A5XX_RB_BLEND_ALPHA_F32(float val)3436*4882a593Smuzhiyun static inline uint32_t A5XX_RB_BLEND_ALPHA_F32(float val)
3437*4882a593Smuzhiyun {
3438*4882a593Smuzhiyun return ((fui(val)) << A5XX_RB_BLEND_ALPHA_F32__SHIFT) & A5XX_RB_BLEND_ALPHA_F32__MASK;
3439*4882a593Smuzhiyun }
3440*4882a593Smuzhiyun
3441*4882a593Smuzhiyun #define REG_A5XX_RB_ALPHA_CONTROL 0x0000e1a8
3442*4882a593Smuzhiyun #define A5XX_RB_ALPHA_CONTROL_ALPHA_REF__MASK 0x000000ff
3443*4882a593Smuzhiyun #define A5XX_RB_ALPHA_CONTROL_ALPHA_REF__SHIFT 0
A5XX_RB_ALPHA_CONTROL_ALPHA_REF(uint32_t val)3444*4882a593Smuzhiyun static inline uint32_t A5XX_RB_ALPHA_CONTROL_ALPHA_REF(uint32_t val)
3445*4882a593Smuzhiyun {
3446*4882a593Smuzhiyun return ((val) << A5XX_RB_ALPHA_CONTROL_ALPHA_REF__SHIFT) & A5XX_RB_ALPHA_CONTROL_ALPHA_REF__MASK;
3447*4882a593Smuzhiyun }
3448*4882a593Smuzhiyun #define A5XX_RB_ALPHA_CONTROL_ALPHA_TEST 0x00000100
3449*4882a593Smuzhiyun #define A5XX_RB_ALPHA_CONTROL_ALPHA_TEST_FUNC__MASK 0x00000e00
3450*4882a593Smuzhiyun #define A5XX_RB_ALPHA_CONTROL_ALPHA_TEST_FUNC__SHIFT 9
A5XX_RB_ALPHA_CONTROL_ALPHA_TEST_FUNC(enum adreno_compare_func val)3451*4882a593Smuzhiyun static inline uint32_t A5XX_RB_ALPHA_CONTROL_ALPHA_TEST_FUNC(enum adreno_compare_func val)
3452*4882a593Smuzhiyun {
3453*4882a593Smuzhiyun return ((val) << A5XX_RB_ALPHA_CONTROL_ALPHA_TEST_FUNC__SHIFT) & A5XX_RB_ALPHA_CONTROL_ALPHA_TEST_FUNC__MASK;
3454*4882a593Smuzhiyun }
3455*4882a593Smuzhiyun
3456*4882a593Smuzhiyun #define REG_A5XX_RB_BLEND_CNTL 0x0000e1a9
3457*4882a593Smuzhiyun #define A5XX_RB_BLEND_CNTL_ENABLE_BLEND__MASK 0x000000ff
3458*4882a593Smuzhiyun #define A5XX_RB_BLEND_CNTL_ENABLE_BLEND__SHIFT 0
A5XX_RB_BLEND_CNTL_ENABLE_BLEND(uint32_t val)3459*4882a593Smuzhiyun static inline uint32_t A5XX_RB_BLEND_CNTL_ENABLE_BLEND(uint32_t val)
3460*4882a593Smuzhiyun {
3461*4882a593Smuzhiyun return ((val) << A5XX_RB_BLEND_CNTL_ENABLE_BLEND__SHIFT) & A5XX_RB_BLEND_CNTL_ENABLE_BLEND__MASK;
3462*4882a593Smuzhiyun }
3463*4882a593Smuzhiyun #define A5XX_RB_BLEND_CNTL_INDEPENDENT_BLEND 0x00000100
3464*4882a593Smuzhiyun #define A5XX_RB_BLEND_CNTL_ALPHA_TO_COVERAGE 0x00000400
3465*4882a593Smuzhiyun #define A5XX_RB_BLEND_CNTL_SAMPLE_MASK__MASK 0xffff0000
3466*4882a593Smuzhiyun #define A5XX_RB_BLEND_CNTL_SAMPLE_MASK__SHIFT 16
A5XX_RB_BLEND_CNTL_SAMPLE_MASK(uint32_t val)3467*4882a593Smuzhiyun static inline uint32_t A5XX_RB_BLEND_CNTL_SAMPLE_MASK(uint32_t val)
3468*4882a593Smuzhiyun {
3469*4882a593Smuzhiyun return ((val) << A5XX_RB_BLEND_CNTL_SAMPLE_MASK__SHIFT) & A5XX_RB_BLEND_CNTL_SAMPLE_MASK__MASK;
3470*4882a593Smuzhiyun }
3471*4882a593Smuzhiyun
3472*4882a593Smuzhiyun #define REG_A5XX_RB_DEPTH_PLANE_CNTL 0x0000e1b0
3473*4882a593Smuzhiyun #define A5XX_RB_DEPTH_PLANE_CNTL_FRAG_WRITES_Z 0x00000001
3474*4882a593Smuzhiyun #define A5XX_RB_DEPTH_PLANE_CNTL_UNK1 0x00000002
3475*4882a593Smuzhiyun
3476*4882a593Smuzhiyun #define REG_A5XX_RB_DEPTH_CNTL 0x0000e1b1
3477*4882a593Smuzhiyun #define A5XX_RB_DEPTH_CNTL_Z_ENABLE 0x00000001
3478*4882a593Smuzhiyun #define A5XX_RB_DEPTH_CNTL_Z_WRITE_ENABLE 0x00000002
3479*4882a593Smuzhiyun #define A5XX_RB_DEPTH_CNTL_ZFUNC__MASK 0x0000001c
3480*4882a593Smuzhiyun #define A5XX_RB_DEPTH_CNTL_ZFUNC__SHIFT 2
A5XX_RB_DEPTH_CNTL_ZFUNC(enum adreno_compare_func val)3481*4882a593Smuzhiyun static inline uint32_t A5XX_RB_DEPTH_CNTL_ZFUNC(enum adreno_compare_func val)
3482*4882a593Smuzhiyun {
3483*4882a593Smuzhiyun return ((val) << A5XX_RB_DEPTH_CNTL_ZFUNC__SHIFT) & A5XX_RB_DEPTH_CNTL_ZFUNC__MASK;
3484*4882a593Smuzhiyun }
3485*4882a593Smuzhiyun #define A5XX_RB_DEPTH_CNTL_Z_TEST_ENABLE 0x00000040
3486*4882a593Smuzhiyun
3487*4882a593Smuzhiyun #define REG_A5XX_RB_DEPTH_BUFFER_INFO 0x0000e1b2
3488*4882a593Smuzhiyun #define A5XX_RB_DEPTH_BUFFER_INFO_DEPTH_FORMAT__MASK 0x00000007
3489*4882a593Smuzhiyun #define A5XX_RB_DEPTH_BUFFER_INFO_DEPTH_FORMAT__SHIFT 0
A5XX_RB_DEPTH_BUFFER_INFO_DEPTH_FORMAT(enum a5xx_depth_format val)3490*4882a593Smuzhiyun static inline uint32_t A5XX_RB_DEPTH_BUFFER_INFO_DEPTH_FORMAT(enum a5xx_depth_format val)
3491*4882a593Smuzhiyun {
3492*4882a593Smuzhiyun return ((val) << A5XX_RB_DEPTH_BUFFER_INFO_DEPTH_FORMAT__SHIFT) & A5XX_RB_DEPTH_BUFFER_INFO_DEPTH_FORMAT__MASK;
3493*4882a593Smuzhiyun }
3494*4882a593Smuzhiyun
3495*4882a593Smuzhiyun #define REG_A5XX_RB_DEPTH_BUFFER_BASE_LO 0x0000e1b3
3496*4882a593Smuzhiyun
3497*4882a593Smuzhiyun #define REG_A5XX_RB_DEPTH_BUFFER_BASE_HI 0x0000e1b4
3498*4882a593Smuzhiyun
3499*4882a593Smuzhiyun #define REG_A5XX_RB_DEPTH_BUFFER_PITCH 0x0000e1b5
3500*4882a593Smuzhiyun #define A5XX_RB_DEPTH_BUFFER_PITCH__MASK 0xffffffff
3501*4882a593Smuzhiyun #define A5XX_RB_DEPTH_BUFFER_PITCH__SHIFT 0
A5XX_RB_DEPTH_BUFFER_PITCH(uint32_t val)3502*4882a593Smuzhiyun static inline uint32_t A5XX_RB_DEPTH_BUFFER_PITCH(uint32_t val)
3503*4882a593Smuzhiyun {
3504*4882a593Smuzhiyun return ((val >> 6) << A5XX_RB_DEPTH_BUFFER_PITCH__SHIFT) & A5XX_RB_DEPTH_BUFFER_PITCH__MASK;
3505*4882a593Smuzhiyun }
3506*4882a593Smuzhiyun
3507*4882a593Smuzhiyun #define REG_A5XX_RB_DEPTH_BUFFER_ARRAY_PITCH 0x0000e1b6
3508*4882a593Smuzhiyun #define A5XX_RB_DEPTH_BUFFER_ARRAY_PITCH__MASK 0xffffffff
3509*4882a593Smuzhiyun #define A5XX_RB_DEPTH_BUFFER_ARRAY_PITCH__SHIFT 0
A5XX_RB_DEPTH_BUFFER_ARRAY_PITCH(uint32_t val)3510*4882a593Smuzhiyun static inline uint32_t A5XX_RB_DEPTH_BUFFER_ARRAY_PITCH(uint32_t val)
3511*4882a593Smuzhiyun {
3512*4882a593Smuzhiyun return ((val >> 6) << A5XX_RB_DEPTH_BUFFER_ARRAY_PITCH__SHIFT) & A5XX_RB_DEPTH_BUFFER_ARRAY_PITCH__MASK;
3513*4882a593Smuzhiyun }
3514*4882a593Smuzhiyun
3515*4882a593Smuzhiyun #define REG_A5XX_RB_STENCIL_CONTROL 0x0000e1c0
3516*4882a593Smuzhiyun #define A5XX_RB_STENCIL_CONTROL_STENCIL_ENABLE 0x00000001
3517*4882a593Smuzhiyun #define A5XX_RB_STENCIL_CONTROL_STENCIL_ENABLE_BF 0x00000002
3518*4882a593Smuzhiyun #define A5XX_RB_STENCIL_CONTROL_STENCIL_READ 0x00000004
3519*4882a593Smuzhiyun #define A5XX_RB_STENCIL_CONTROL_FUNC__MASK 0x00000700
3520*4882a593Smuzhiyun #define A5XX_RB_STENCIL_CONTROL_FUNC__SHIFT 8
A5XX_RB_STENCIL_CONTROL_FUNC(enum adreno_compare_func val)3521*4882a593Smuzhiyun static inline uint32_t A5XX_RB_STENCIL_CONTROL_FUNC(enum adreno_compare_func val)
3522*4882a593Smuzhiyun {
3523*4882a593Smuzhiyun return ((val) << A5XX_RB_STENCIL_CONTROL_FUNC__SHIFT) & A5XX_RB_STENCIL_CONTROL_FUNC__MASK;
3524*4882a593Smuzhiyun }
3525*4882a593Smuzhiyun #define A5XX_RB_STENCIL_CONTROL_FAIL__MASK 0x00003800
3526*4882a593Smuzhiyun #define A5XX_RB_STENCIL_CONTROL_FAIL__SHIFT 11
A5XX_RB_STENCIL_CONTROL_FAIL(enum adreno_stencil_op val)3527*4882a593Smuzhiyun static inline uint32_t A5XX_RB_STENCIL_CONTROL_FAIL(enum adreno_stencil_op val)
3528*4882a593Smuzhiyun {
3529*4882a593Smuzhiyun return ((val) << A5XX_RB_STENCIL_CONTROL_FAIL__SHIFT) & A5XX_RB_STENCIL_CONTROL_FAIL__MASK;
3530*4882a593Smuzhiyun }
3531*4882a593Smuzhiyun #define A5XX_RB_STENCIL_CONTROL_ZPASS__MASK 0x0001c000
3532*4882a593Smuzhiyun #define A5XX_RB_STENCIL_CONTROL_ZPASS__SHIFT 14
A5XX_RB_STENCIL_CONTROL_ZPASS(enum adreno_stencil_op val)3533*4882a593Smuzhiyun static inline uint32_t A5XX_RB_STENCIL_CONTROL_ZPASS(enum adreno_stencil_op val)
3534*4882a593Smuzhiyun {
3535*4882a593Smuzhiyun return ((val) << A5XX_RB_STENCIL_CONTROL_ZPASS__SHIFT) & A5XX_RB_STENCIL_CONTROL_ZPASS__MASK;
3536*4882a593Smuzhiyun }
3537*4882a593Smuzhiyun #define A5XX_RB_STENCIL_CONTROL_ZFAIL__MASK 0x000e0000
3538*4882a593Smuzhiyun #define A5XX_RB_STENCIL_CONTROL_ZFAIL__SHIFT 17
A5XX_RB_STENCIL_CONTROL_ZFAIL(enum adreno_stencil_op val)3539*4882a593Smuzhiyun static inline uint32_t A5XX_RB_STENCIL_CONTROL_ZFAIL(enum adreno_stencil_op val)
3540*4882a593Smuzhiyun {
3541*4882a593Smuzhiyun return ((val) << A5XX_RB_STENCIL_CONTROL_ZFAIL__SHIFT) & A5XX_RB_STENCIL_CONTROL_ZFAIL__MASK;
3542*4882a593Smuzhiyun }
3543*4882a593Smuzhiyun #define A5XX_RB_STENCIL_CONTROL_FUNC_BF__MASK 0x00700000
3544*4882a593Smuzhiyun #define A5XX_RB_STENCIL_CONTROL_FUNC_BF__SHIFT 20
A5XX_RB_STENCIL_CONTROL_FUNC_BF(enum adreno_compare_func val)3545*4882a593Smuzhiyun static inline uint32_t A5XX_RB_STENCIL_CONTROL_FUNC_BF(enum adreno_compare_func val)
3546*4882a593Smuzhiyun {
3547*4882a593Smuzhiyun return ((val) << A5XX_RB_STENCIL_CONTROL_FUNC_BF__SHIFT) & A5XX_RB_STENCIL_CONTROL_FUNC_BF__MASK;
3548*4882a593Smuzhiyun }
3549*4882a593Smuzhiyun #define A5XX_RB_STENCIL_CONTROL_FAIL_BF__MASK 0x03800000
3550*4882a593Smuzhiyun #define A5XX_RB_STENCIL_CONTROL_FAIL_BF__SHIFT 23
A5XX_RB_STENCIL_CONTROL_FAIL_BF(enum adreno_stencil_op val)3551*4882a593Smuzhiyun static inline uint32_t A5XX_RB_STENCIL_CONTROL_FAIL_BF(enum adreno_stencil_op val)
3552*4882a593Smuzhiyun {
3553*4882a593Smuzhiyun return ((val) << A5XX_RB_STENCIL_CONTROL_FAIL_BF__SHIFT) & A5XX_RB_STENCIL_CONTROL_FAIL_BF__MASK;
3554*4882a593Smuzhiyun }
3555*4882a593Smuzhiyun #define A5XX_RB_STENCIL_CONTROL_ZPASS_BF__MASK 0x1c000000
3556*4882a593Smuzhiyun #define A5XX_RB_STENCIL_CONTROL_ZPASS_BF__SHIFT 26
A5XX_RB_STENCIL_CONTROL_ZPASS_BF(enum adreno_stencil_op val)3557*4882a593Smuzhiyun static inline uint32_t A5XX_RB_STENCIL_CONTROL_ZPASS_BF(enum adreno_stencil_op val)
3558*4882a593Smuzhiyun {
3559*4882a593Smuzhiyun return ((val) << A5XX_RB_STENCIL_CONTROL_ZPASS_BF__SHIFT) & A5XX_RB_STENCIL_CONTROL_ZPASS_BF__MASK;
3560*4882a593Smuzhiyun }
3561*4882a593Smuzhiyun #define A5XX_RB_STENCIL_CONTROL_ZFAIL_BF__MASK 0xe0000000
3562*4882a593Smuzhiyun #define A5XX_RB_STENCIL_CONTROL_ZFAIL_BF__SHIFT 29
A5XX_RB_STENCIL_CONTROL_ZFAIL_BF(enum adreno_stencil_op val)3563*4882a593Smuzhiyun static inline uint32_t A5XX_RB_STENCIL_CONTROL_ZFAIL_BF(enum adreno_stencil_op val)
3564*4882a593Smuzhiyun {
3565*4882a593Smuzhiyun return ((val) << A5XX_RB_STENCIL_CONTROL_ZFAIL_BF__SHIFT) & A5XX_RB_STENCIL_CONTROL_ZFAIL_BF__MASK;
3566*4882a593Smuzhiyun }
3567*4882a593Smuzhiyun
3568*4882a593Smuzhiyun #define REG_A5XX_RB_STENCIL_INFO 0x0000e1c1
3569*4882a593Smuzhiyun #define A5XX_RB_STENCIL_INFO_SEPARATE_STENCIL 0x00000001
3570*4882a593Smuzhiyun
3571*4882a593Smuzhiyun #define REG_A5XX_RB_STENCIL_BASE_LO 0x0000e1c2
3572*4882a593Smuzhiyun
3573*4882a593Smuzhiyun #define REG_A5XX_RB_STENCIL_BASE_HI 0x0000e1c3
3574*4882a593Smuzhiyun
3575*4882a593Smuzhiyun #define REG_A5XX_RB_STENCIL_PITCH 0x0000e1c4
3576*4882a593Smuzhiyun #define A5XX_RB_STENCIL_PITCH__MASK 0xffffffff
3577*4882a593Smuzhiyun #define A5XX_RB_STENCIL_PITCH__SHIFT 0
A5XX_RB_STENCIL_PITCH(uint32_t val)3578*4882a593Smuzhiyun static inline uint32_t A5XX_RB_STENCIL_PITCH(uint32_t val)
3579*4882a593Smuzhiyun {
3580*4882a593Smuzhiyun return ((val >> 6) << A5XX_RB_STENCIL_PITCH__SHIFT) & A5XX_RB_STENCIL_PITCH__MASK;
3581*4882a593Smuzhiyun }
3582*4882a593Smuzhiyun
3583*4882a593Smuzhiyun #define REG_A5XX_RB_STENCIL_ARRAY_PITCH 0x0000e1c5
3584*4882a593Smuzhiyun #define A5XX_RB_STENCIL_ARRAY_PITCH__MASK 0xffffffff
3585*4882a593Smuzhiyun #define A5XX_RB_STENCIL_ARRAY_PITCH__SHIFT 0
A5XX_RB_STENCIL_ARRAY_PITCH(uint32_t val)3586*4882a593Smuzhiyun static inline uint32_t A5XX_RB_STENCIL_ARRAY_PITCH(uint32_t val)
3587*4882a593Smuzhiyun {
3588*4882a593Smuzhiyun return ((val >> 6) << A5XX_RB_STENCIL_ARRAY_PITCH__SHIFT) & A5XX_RB_STENCIL_ARRAY_PITCH__MASK;
3589*4882a593Smuzhiyun }
3590*4882a593Smuzhiyun
3591*4882a593Smuzhiyun #define REG_A5XX_RB_STENCILREFMASK 0x0000e1c6
3592*4882a593Smuzhiyun #define A5XX_RB_STENCILREFMASK_STENCILREF__MASK 0x000000ff
3593*4882a593Smuzhiyun #define A5XX_RB_STENCILREFMASK_STENCILREF__SHIFT 0
A5XX_RB_STENCILREFMASK_STENCILREF(uint32_t val)3594*4882a593Smuzhiyun static inline uint32_t A5XX_RB_STENCILREFMASK_STENCILREF(uint32_t val)
3595*4882a593Smuzhiyun {
3596*4882a593Smuzhiyun return ((val) << A5XX_RB_STENCILREFMASK_STENCILREF__SHIFT) & A5XX_RB_STENCILREFMASK_STENCILREF__MASK;
3597*4882a593Smuzhiyun }
3598*4882a593Smuzhiyun #define A5XX_RB_STENCILREFMASK_STENCILMASK__MASK 0x0000ff00
3599*4882a593Smuzhiyun #define A5XX_RB_STENCILREFMASK_STENCILMASK__SHIFT 8
A5XX_RB_STENCILREFMASK_STENCILMASK(uint32_t val)3600*4882a593Smuzhiyun static inline uint32_t A5XX_RB_STENCILREFMASK_STENCILMASK(uint32_t val)
3601*4882a593Smuzhiyun {
3602*4882a593Smuzhiyun return ((val) << A5XX_RB_STENCILREFMASK_STENCILMASK__SHIFT) & A5XX_RB_STENCILREFMASK_STENCILMASK__MASK;
3603*4882a593Smuzhiyun }
3604*4882a593Smuzhiyun #define A5XX_RB_STENCILREFMASK_STENCILWRITEMASK__MASK 0x00ff0000
3605*4882a593Smuzhiyun #define A5XX_RB_STENCILREFMASK_STENCILWRITEMASK__SHIFT 16
A5XX_RB_STENCILREFMASK_STENCILWRITEMASK(uint32_t val)3606*4882a593Smuzhiyun static inline uint32_t A5XX_RB_STENCILREFMASK_STENCILWRITEMASK(uint32_t val)
3607*4882a593Smuzhiyun {
3608*4882a593Smuzhiyun return ((val) << A5XX_RB_STENCILREFMASK_STENCILWRITEMASK__SHIFT) & A5XX_RB_STENCILREFMASK_STENCILWRITEMASK__MASK;
3609*4882a593Smuzhiyun }
3610*4882a593Smuzhiyun
3611*4882a593Smuzhiyun #define REG_A5XX_RB_STENCILREFMASK_BF 0x0000e1c7
3612*4882a593Smuzhiyun #define A5XX_RB_STENCILREFMASK_BF_STENCILREF__MASK 0x000000ff
3613*4882a593Smuzhiyun #define A5XX_RB_STENCILREFMASK_BF_STENCILREF__SHIFT 0
A5XX_RB_STENCILREFMASK_BF_STENCILREF(uint32_t val)3614*4882a593Smuzhiyun static inline uint32_t A5XX_RB_STENCILREFMASK_BF_STENCILREF(uint32_t val)
3615*4882a593Smuzhiyun {
3616*4882a593Smuzhiyun return ((val) << A5XX_RB_STENCILREFMASK_BF_STENCILREF__SHIFT) & A5XX_RB_STENCILREFMASK_BF_STENCILREF__MASK;
3617*4882a593Smuzhiyun }
3618*4882a593Smuzhiyun #define A5XX_RB_STENCILREFMASK_BF_STENCILMASK__MASK 0x0000ff00
3619*4882a593Smuzhiyun #define A5XX_RB_STENCILREFMASK_BF_STENCILMASK__SHIFT 8
A5XX_RB_STENCILREFMASK_BF_STENCILMASK(uint32_t val)3620*4882a593Smuzhiyun static inline uint32_t A5XX_RB_STENCILREFMASK_BF_STENCILMASK(uint32_t val)
3621*4882a593Smuzhiyun {
3622*4882a593Smuzhiyun return ((val) << A5XX_RB_STENCILREFMASK_BF_STENCILMASK__SHIFT) & A5XX_RB_STENCILREFMASK_BF_STENCILMASK__MASK;
3623*4882a593Smuzhiyun }
3624*4882a593Smuzhiyun #define A5XX_RB_STENCILREFMASK_BF_STENCILWRITEMASK__MASK 0x00ff0000
3625*4882a593Smuzhiyun #define A5XX_RB_STENCILREFMASK_BF_STENCILWRITEMASK__SHIFT 16
A5XX_RB_STENCILREFMASK_BF_STENCILWRITEMASK(uint32_t val)3626*4882a593Smuzhiyun static inline uint32_t A5XX_RB_STENCILREFMASK_BF_STENCILWRITEMASK(uint32_t val)
3627*4882a593Smuzhiyun {
3628*4882a593Smuzhiyun return ((val) << A5XX_RB_STENCILREFMASK_BF_STENCILWRITEMASK__SHIFT) & A5XX_RB_STENCILREFMASK_BF_STENCILWRITEMASK__MASK;
3629*4882a593Smuzhiyun }
3630*4882a593Smuzhiyun
3631*4882a593Smuzhiyun #define REG_A5XX_RB_WINDOW_OFFSET 0x0000e1d0
3632*4882a593Smuzhiyun #define A5XX_RB_WINDOW_OFFSET_WINDOW_OFFSET_DISABLE 0x80000000
3633*4882a593Smuzhiyun #define A5XX_RB_WINDOW_OFFSET_X__MASK 0x00007fff
3634*4882a593Smuzhiyun #define A5XX_RB_WINDOW_OFFSET_X__SHIFT 0
A5XX_RB_WINDOW_OFFSET_X(uint32_t val)3635*4882a593Smuzhiyun static inline uint32_t A5XX_RB_WINDOW_OFFSET_X(uint32_t val)
3636*4882a593Smuzhiyun {
3637*4882a593Smuzhiyun return ((val) << A5XX_RB_WINDOW_OFFSET_X__SHIFT) & A5XX_RB_WINDOW_OFFSET_X__MASK;
3638*4882a593Smuzhiyun }
3639*4882a593Smuzhiyun #define A5XX_RB_WINDOW_OFFSET_Y__MASK 0x7fff0000
3640*4882a593Smuzhiyun #define A5XX_RB_WINDOW_OFFSET_Y__SHIFT 16
A5XX_RB_WINDOW_OFFSET_Y(uint32_t val)3641*4882a593Smuzhiyun static inline uint32_t A5XX_RB_WINDOW_OFFSET_Y(uint32_t val)
3642*4882a593Smuzhiyun {
3643*4882a593Smuzhiyun return ((val) << A5XX_RB_WINDOW_OFFSET_Y__SHIFT) & A5XX_RB_WINDOW_OFFSET_Y__MASK;
3644*4882a593Smuzhiyun }
3645*4882a593Smuzhiyun
3646*4882a593Smuzhiyun #define REG_A5XX_RB_SAMPLE_COUNT_CONTROL 0x0000e1d1
3647*4882a593Smuzhiyun #define A5XX_RB_SAMPLE_COUNT_CONTROL_COPY 0x00000002
3648*4882a593Smuzhiyun
3649*4882a593Smuzhiyun #define REG_A5XX_RB_BLIT_CNTL 0x0000e210
3650*4882a593Smuzhiyun #define A5XX_RB_BLIT_CNTL_BUF__MASK 0x0000000f
3651*4882a593Smuzhiyun #define A5XX_RB_BLIT_CNTL_BUF__SHIFT 0
A5XX_RB_BLIT_CNTL_BUF(enum a5xx_blit_buf val)3652*4882a593Smuzhiyun static inline uint32_t A5XX_RB_BLIT_CNTL_BUF(enum a5xx_blit_buf val)
3653*4882a593Smuzhiyun {
3654*4882a593Smuzhiyun return ((val) << A5XX_RB_BLIT_CNTL_BUF__SHIFT) & A5XX_RB_BLIT_CNTL_BUF__MASK;
3655*4882a593Smuzhiyun }
3656*4882a593Smuzhiyun
3657*4882a593Smuzhiyun #define REG_A5XX_RB_RESOLVE_CNTL_1 0x0000e211
3658*4882a593Smuzhiyun #define A5XX_RB_RESOLVE_CNTL_1_WINDOW_OFFSET_DISABLE 0x80000000
3659*4882a593Smuzhiyun #define A5XX_RB_RESOLVE_CNTL_1_X__MASK 0x00007fff
3660*4882a593Smuzhiyun #define A5XX_RB_RESOLVE_CNTL_1_X__SHIFT 0
A5XX_RB_RESOLVE_CNTL_1_X(uint32_t val)3661*4882a593Smuzhiyun static inline uint32_t A5XX_RB_RESOLVE_CNTL_1_X(uint32_t val)
3662*4882a593Smuzhiyun {
3663*4882a593Smuzhiyun return ((val) << A5XX_RB_RESOLVE_CNTL_1_X__SHIFT) & A5XX_RB_RESOLVE_CNTL_1_X__MASK;
3664*4882a593Smuzhiyun }
3665*4882a593Smuzhiyun #define A5XX_RB_RESOLVE_CNTL_1_Y__MASK 0x7fff0000
3666*4882a593Smuzhiyun #define A5XX_RB_RESOLVE_CNTL_1_Y__SHIFT 16
A5XX_RB_RESOLVE_CNTL_1_Y(uint32_t val)3667*4882a593Smuzhiyun static inline uint32_t A5XX_RB_RESOLVE_CNTL_1_Y(uint32_t val)
3668*4882a593Smuzhiyun {
3669*4882a593Smuzhiyun return ((val) << A5XX_RB_RESOLVE_CNTL_1_Y__SHIFT) & A5XX_RB_RESOLVE_CNTL_1_Y__MASK;
3670*4882a593Smuzhiyun }
3671*4882a593Smuzhiyun
3672*4882a593Smuzhiyun #define REG_A5XX_RB_RESOLVE_CNTL_2 0x0000e212
3673*4882a593Smuzhiyun #define A5XX_RB_RESOLVE_CNTL_2_WINDOW_OFFSET_DISABLE 0x80000000
3674*4882a593Smuzhiyun #define A5XX_RB_RESOLVE_CNTL_2_X__MASK 0x00007fff
3675*4882a593Smuzhiyun #define A5XX_RB_RESOLVE_CNTL_2_X__SHIFT 0
A5XX_RB_RESOLVE_CNTL_2_X(uint32_t val)3676*4882a593Smuzhiyun static inline uint32_t A5XX_RB_RESOLVE_CNTL_2_X(uint32_t val)
3677*4882a593Smuzhiyun {
3678*4882a593Smuzhiyun return ((val) << A5XX_RB_RESOLVE_CNTL_2_X__SHIFT) & A5XX_RB_RESOLVE_CNTL_2_X__MASK;
3679*4882a593Smuzhiyun }
3680*4882a593Smuzhiyun #define A5XX_RB_RESOLVE_CNTL_2_Y__MASK 0x7fff0000
3681*4882a593Smuzhiyun #define A5XX_RB_RESOLVE_CNTL_2_Y__SHIFT 16
A5XX_RB_RESOLVE_CNTL_2_Y(uint32_t val)3682*4882a593Smuzhiyun static inline uint32_t A5XX_RB_RESOLVE_CNTL_2_Y(uint32_t val)
3683*4882a593Smuzhiyun {
3684*4882a593Smuzhiyun return ((val) << A5XX_RB_RESOLVE_CNTL_2_Y__SHIFT) & A5XX_RB_RESOLVE_CNTL_2_Y__MASK;
3685*4882a593Smuzhiyun }
3686*4882a593Smuzhiyun
3687*4882a593Smuzhiyun #define REG_A5XX_RB_RESOLVE_CNTL_3 0x0000e213
3688*4882a593Smuzhiyun #define A5XX_RB_RESOLVE_CNTL_3_TILED 0x00000001
3689*4882a593Smuzhiyun
3690*4882a593Smuzhiyun #define REG_A5XX_RB_BLIT_DST_LO 0x0000e214
3691*4882a593Smuzhiyun
3692*4882a593Smuzhiyun #define REG_A5XX_RB_BLIT_DST_HI 0x0000e215
3693*4882a593Smuzhiyun
3694*4882a593Smuzhiyun #define REG_A5XX_RB_BLIT_DST_PITCH 0x0000e216
3695*4882a593Smuzhiyun #define A5XX_RB_BLIT_DST_PITCH__MASK 0xffffffff
3696*4882a593Smuzhiyun #define A5XX_RB_BLIT_DST_PITCH__SHIFT 0
A5XX_RB_BLIT_DST_PITCH(uint32_t val)3697*4882a593Smuzhiyun static inline uint32_t A5XX_RB_BLIT_DST_PITCH(uint32_t val)
3698*4882a593Smuzhiyun {
3699*4882a593Smuzhiyun return ((val >> 6) << A5XX_RB_BLIT_DST_PITCH__SHIFT) & A5XX_RB_BLIT_DST_PITCH__MASK;
3700*4882a593Smuzhiyun }
3701*4882a593Smuzhiyun
3702*4882a593Smuzhiyun #define REG_A5XX_RB_BLIT_DST_ARRAY_PITCH 0x0000e217
3703*4882a593Smuzhiyun #define A5XX_RB_BLIT_DST_ARRAY_PITCH__MASK 0xffffffff
3704*4882a593Smuzhiyun #define A5XX_RB_BLIT_DST_ARRAY_PITCH__SHIFT 0
A5XX_RB_BLIT_DST_ARRAY_PITCH(uint32_t val)3705*4882a593Smuzhiyun static inline uint32_t A5XX_RB_BLIT_DST_ARRAY_PITCH(uint32_t val)
3706*4882a593Smuzhiyun {
3707*4882a593Smuzhiyun return ((val >> 6) << A5XX_RB_BLIT_DST_ARRAY_PITCH__SHIFT) & A5XX_RB_BLIT_DST_ARRAY_PITCH__MASK;
3708*4882a593Smuzhiyun }
3709*4882a593Smuzhiyun
3710*4882a593Smuzhiyun #define REG_A5XX_RB_CLEAR_COLOR_DW0 0x0000e218
3711*4882a593Smuzhiyun
3712*4882a593Smuzhiyun #define REG_A5XX_RB_CLEAR_COLOR_DW1 0x0000e219
3713*4882a593Smuzhiyun
3714*4882a593Smuzhiyun #define REG_A5XX_RB_CLEAR_COLOR_DW2 0x0000e21a
3715*4882a593Smuzhiyun
3716*4882a593Smuzhiyun #define REG_A5XX_RB_CLEAR_COLOR_DW3 0x0000e21b
3717*4882a593Smuzhiyun
3718*4882a593Smuzhiyun #define REG_A5XX_RB_CLEAR_CNTL 0x0000e21c
3719*4882a593Smuzhiyun #define A5XX_RB_CLEAR_CNTL_FAST_CLEAR 0x00000002
3720*4882a593Smuzhiyun #define A5XX_RB_CLEAR_CNTL_MSAA_RESOLVE 0x00000004
3721*4882a593Smuzhiyun #define A5XX_RB_CLEAR_CNTL_MASK__MASK 0x000000f0
3722*4882a593Smuzhiyun #define A5XX_RB_CLEAR_CNTL_MASK__SHIFT 4
A5XX_RB_CLEAR_CNTL_MASK(uint32_t val)3723*4882a593Smuzhiyun static inline uint32_t A5XX_RB_CLEAR_CNTL_MASK(uint32_t val)
3724*4882a593Smuzhiyun {
3725*4882a593Smuzhiyun return ((val) << A5XX_RB_CLEAR_CNTL_MASK__SHIFT) & A5XX_RB_CLEAR_CNTL_MASK__MASK;
3726*4882a593Smuzhiyun }
3727*4882a593Smuzhiyun
3728*4882a593Smuzhiyun #define REG_A5XX_RB_DEPTH_FLAG_BUFFER_BASE_LO 0x0000e240
3729*4882a593Smuzhiyun
3730*4882a593Smuzhiyun #define REG_A5XX_RB_DEPTH_FLAG_BUFFER_BASE_HI 0x0000e241
3731*4882a593Smuzhiyun
3732*4882a593Smuzhiyun #define REG_A5XX_RB_DEPTH_FLAG_BUFFER_PITCH 0x0000e242
3733*4882a593Smuzhiyun
REG_A5XX_RB_MRT_FLAG_BUFFER(uint32_t i0)3734*4882a593Smuzhiyun static inline uint32_t REG_A5XX_RB_MRT_FLAG_BUFFER(uint32_t i0) { return 0x0000e243 + 0x4*i0; }
3735*4882a593Smuzhiyun
REG_A5XX_RB_MRT_FLAG_BUFFER_ADDR_LO(uint32_t i0)3736*4882a593Smuzhiyun static inline uint32_t REG_A5XX_RB_MRT_FLAG_BUFFER_ADDR_LO(uint32_t i0) { return 0x0000e243 + 0x4*i0; }
3737*4882a593Smuzhiyun
REG_A5XX_RB_MRT_FLAG_BUFFER_ADDR_HI(uint32_t i0)3738*4882a593Smuzhiyun static inline uint32_t REG_A5XX_RB_MRT_FLAG_BUFFER_ADDR_HI(uint32_t i0) { return 0x0000e244 + 0x4*i0; }
3739*4882a593Smuzhiyun
REG_A5XX_RB_MRT_FLAG_BUFFER_PITCH(uint32_t i0)3740*4882a593Smuzhiyun static inline uint32_t REG_A5XX_RB_MRT_FLAG_BUFFER_PITCH(uint32_t i0) { return 0x0000e245 + 0x4*i0; }
3741*4882a593Smuzhiyun #define A5XX_RB_MRT_FLAG_BUFFER_PITCH__MASK 0xffffffff
3742*4882a593Smuzhiyun #define A5XX_RB_MRT_FLAG_BUFFER_PITCH__SHIFT 0
A5XX_RB_MRT_FLAG_BUFFER_PITCH(uint32_t val)3743*4882a593Smuzhiyun static inline uint32_t A5XX_RB_MRT_FLAG_BUFFER_PITCH(uint32_t val)
3744*4882a593Smuzhiyun {
3745*4882a593Smuzhiyun return ((val >> 6) << A5XX_RB_MRT_FLAG_BUFFER_PITCH__SHIFT) & A5XX_RB_MRT_FLAG_BUFFER_PITCH__MASK;
3746*4882a593Smuzhiyun }
3747*4882a593Smuzhiyun
REG_A5XX_RB_MRT_FLAG_BUFFER_ARRAY_PITCH(uint32_t i0)3748*4882a593Smuzhiyun static inline uint32_t REG_A5XX_RB_MRT_FLAG_BUFFER_ARRAY_PITCH(uint32_t i0) { return 0x0000e246 + 0x4*i0; }
3749*4882a593Smuzhiyun #define A5XX_RB_MRT_FLAG_BUFFER_ARRAY_PITCH__MASK 0xffffffff
3750*4882a593Smuzhiyun #define A5XX_RB_MRT_FLAG_BUFFER_ARRAY_PITCH__SHIFT 0
A5XX_RB_MRT_FLAG_BUFFER_ARRAY_PITCH(uint32_t val)3751*4882a593Smuzhiyun static inline uint32_t A5XX_RB_MRT_FLAG_BUFFER_ARRAY_PITCH(uint32_t val)
3752*4882a593Smuzhiyun {
3753*4882a593Smuzhiyun return ((val >> 6) << A5XX_RB_MRT_FLAG_BUFFER_ARRAY_PITCH__SHIFT) & A5XX_RB_MRT_FLAG_BUFFER_ARRAY_PITCH__MASK;
3754*4882a593Smuzhiyun }
3755*4882a593Smuzhiyun
3756*4882a593Smuzhiyun #define REG_A5XX_RB_BLIT_FLAG_DST_LO 0x0000e263
3757*4882a593Smuzhiyun
3758*4882a593Smuzhiyun #define REG_A5XX_RB_BLIT_FLAG_DST_HI 0x0000e264
3759*4882a593Smuzhiyun
3760*4882a593Smuzhiyun #define REG_A5XX_RB_BLIT_FLAG_DST_PITCH 0x0000e265
3761*4882a593Smuzhiyun #define A5XX_RB_BLIT_FLAG_DST_PITCH__MASK 0xffffffff
3762*4882a593Smuzhiyun #define A5XX_RB_BLIT_FLAG_DST_PITCH__SHIFT 0
A5XX_RB_BLIT_FLAG_DST_PITCH(uint32_t val)3763*4882a593Smuzhiyun static inline uint32_t A5XX_RB_BLIT_FLAG_DST_PITCH(uint32_t val)
3764*4882a593Smuzhiyun {
3765*4882a593Smuzhiyun return ((val >> 6) << A5XX_RB_BLIT_FLAG_DST_PITCH__SHIFT) & A5XX_RB_BLIT_FLAG_DST_PITCH__MASK;
3766*4882a593Smuzhiyun }
3767*4882a593Smuzhiyun
3768*4882a593Smuzhiyun #define REG_A5XX_RB_BLIT_FLAG_DST_ARRAY_PITCH 0x0000e266
3769*4882a593Smuzhiyun #define A5XX_RB_BLIT_FLAG_DST_ARRAY_PITCH__MASK 0xffffffff
3770*4882a593Smuzhiyun #define A5XX_RB_BLIT_FLAG_DST_ARRAY_PITCH__SHIFT 0
A5XX_RB_BLIT_FLAG_DST_ARRAY_PITCH(uint32_t val)3771*4882a593Smuzhiyun static inline uint32_t A5XX_RB_BLIT_FLAG_DST_ARRAY_PITCH(uint32_t val)
3772*4882a593Smuzhiyun {
3773*4882a593Smuzhiyun return ((val >> 6) << A5XX_RB_BLIT_FLAG_DST_ARRAY_PITCH__SHIFT) & A5XX_RB_BLIT_FLAG_DST_ARRAY_PITCH__MASK;
3774*4882a593Smuzhiyun }
3775*4882a593Smuzhiyun
3776*4882a593Smuzhiyun #define REG_A5XX_RB_SAMPLE_COUNT_ADDR_LO 0x0000e267
3777*4882a593Smuzhiyun
3778*4882a593Smuzhiyun #define REG_A5XX_RB_SAMPLE_COUNT_ADDR_HI 0x0000e268
3779*4882a593Smuzhiyun
3780*4882a593Smuzhiyun #define REG_A5XX_VPC_CNTL_0 0x0000e280
3781*4882a593Smuzhiyun #define A5XX_VPC_CNTL_0_STRIDE_IN_VPC__MASK 0x0000007f
3782*4882a593Smuzhiyun #define A5XX_VPC_CNTL_0_STRIDE_IN_VPC__SHIFT 0
A5XX_VPC_CNTL_0_STRIDE_IN_VPC(uint32_t val)3783*4882a593Smuzhiyun static inline uint32_t A5XX_VPC_CNTL_0_STRIDE_IN_VPC(uint32_t val)
3784*4882a593Smuzhiyun {
3785*4882a593Smuzhiyun return ((val) << A5XX_VPC_CNTL_0_STRIDE_IN_VPC__SHIFT) & A5XX_VPC_CNTL_0_STRIDE_IN_VPC__MASK;
3786*4882a593Smuzhiyun }
3787*4882a593Smuzhiyun #define A5XX_VPC_CNTL_0_VARYING 0x00000800
3788*4882a593Smuzhiyun
REG_A5XX_VPC_VARYING_INTERP(uint32_t i0)3789*4882a593Smuzhiyun static inline uint32_t REG_A5XX_VPC_VARYING_INTERP(uint32_t i0) { return 0x0000e282 + 0x1*i0; }
3790*4882a593Smuzhiyun
REG_A5XX_VPC_VARYING_INTERP_MODE(uint32_t i0)3791*4882a593Smuzhiyun static inline uint32_t REG_A5XX_VPC_VARYING_INTERP_MODE(uint32_t i0) { return 0x0000e282 + 0x1*i0; }
3792*4882a593Smuzhiyun
REG_A5XX_VPC_VARYING_PS_REPL(uint32_t i0)3793*4882a593Smuzhiyun static inline uint32_t REG_A5XX_VPC_VARYING_PS_REPL(uint32_t i0) { return 0x0000e28a + 0x1*i0; }
3794*4882a593Smuzhiyun
REG_A5XX_VPC_VARYING_PS_REPL_MODE(uint32_t i0)3795*4882a593Smuzhiyun static inline uint32_t REG_A5XX_VPC_VARYING_PS_REPL_MODE(uint32_t i0) { return 0x0000e28a + 0x1*i0; }
3796*4882a593Smuzhiyun
3797*4882a593Smuzhiyun #define REG_A5XX_UNKNOWN_E292 0x0000e292
3798*4882a593Smuzhiyun
3799*4882a593Smuzhiyun #define REG_A5XX_UNKNOWN_E293 0x0000e293
3800*4882a593Smuzhiyun
REG_A5XX_VPC_VAR(uint32_t i0)3801*4882a593Smuzhiyun static inline uint32_t REG_A5XX_VPC_VAR(uint32_t i0) { return 0x0000e294 + 0x1*i0; }
3802*4882a593Smuzhiyun
REG_A5XX_VPC_VAR_DISABLE(uint32_t i0)3803*4882a593Smuzhiyun static inline uint32_t REG_A5XX_VPC_VAR_DISABLE(uint32_t i0) { return 0x0000e294 + 0x1*i0; }
3804*4882a593Smuzhiyun
3805*4882a593Smuzhiyun #define REG_A5XX_VPC_GS_SIV_CNTL 0x0000e298
3806*4882a593Smuzhiyun
3807*4882a593Smuzhiyun #define REG_A5XX_UNKNOWN_E29A 0x0000e29a
3808*4882a593Smuzhiyun
3809*4882a593Smuzhiyun #define REG_A5XX_VPC_PACK 0x0000e29d
3810*4882a593Smuzhiyun #define A5XX_VPC_PACK_NUMNONPOSVAR__MASK 0x000000ff
3811*4882a593Smuzhiyun #define A5XX_VPC_PACK_NUMNONPOSVAR__SHIFT 0
A5XX_VPC_PACK_NUMNONPOSVAR(uint32_t val)3812*4882a593Smuzhiyun static inline uint32_t A5XX_VPC_PACK_NUMNONPOSVAR(uint32_t val)
3813*4882a593Smuzhiyun {
3814*4882a593Smuzhiyun return ((val) << A5XX_VPC_PACK_NUMNONPOSVAR__SHIFT) & A5XX_VPC_PACK_NUMNONPOSVAR__MASK;
3815*4882a593Smuzhiyun }
3816*4882a593Smuzhiyun #define A5XX_VPC_PACK_PSIZELOC__MASK 0x0000ff00
3817*4882a593Smuzhiyun #define A5XX_VPC_PACK_PSIZELOC__SHIFT 8
A5XX_VPC_PACK_PSIZELOC(uint32_t val)3818*4882a593Smuzhiyun static inline uint32_t A5XX_VPC_PACK_PSIZELOC(uint32_t val)
3819*4882a593Smuzhiyun {
3820*4882a593Smuzhiyun return ((val) << A5XX_VPC_PACK_PSIZELOC__SHIFT) & A5XX_VPC_PACK_PSIZELOC__MASK;
3821*4882a593Smuzhiyun }
3822*4882a593Smuzhiyun
3823*4882a593Smuzhiyun #define REG_A5XX_VPC_FS_PRIMITIVEID_CNTL 0x0000e2a0
3824*4882a593Smuzhiyun
3825*4882a593Smuzhiyun #define REG_A5XX_VPC_SO_BUF_CNTL 0x0000e2a1
3826*4882a593Smuzhiyun #define A5XX_VPC_SO_BUF_CNTL_BUF0 0x00000001
3827*4882a593Smuzhiyun #define A5XX_VPC_SO_BUF_CNTL_BUF1 0x00000008
3828*4882a593Smuzhiyun #define A5XX_VPC_SO_BUF_CNTL_BUF2 0x00000040
3829*4882a593Smuzhiyun #define A5XX_VPC_SO_BUF_CNTL_BUF3 0x00000200
3830*4882a593Smuzhiyun #define A5XX_VPC_SO_BUF_CNTL_ENABLE 0x00008000
3831*4882a593Smuzhiyun
3832*4882a593Smuzhiyun #define REG_A5XX_VPC_SO_OVERRIDE 0x0000e2a2
3833*4882a593Smuzhiyun #define A5XX_VPC_SO_OVERRIDE_SO_DISABLE 0x00000001
3834*4882a593Smuzhiyun
3835*4882a593Smuzhiyun #define REG_A5XX_VPC_SO_CNTL 0x0000e2a3
3836*4882a593Smuzhiyun #define A5XX_VPC_SO_CNTL_ENABLE 0x00010000
3837*4882a593Smuzhiyun
3838*4882a593Smuzhiyun #define REG_A5XX_VPC_SO_PROG 0x0000e2a4
3839*4882a593Smuzhiyun #define A5XX_VPC_SO_PROG_A_BUF__MASK 0x00000003
3840*4882a593Smuzhiyun #define A5XX_VPC_SO_PROG_A_BUF__SHIFT 0
A5XX_VPC_SO_PROG_A_BUF(uint32_t val)3841*4882a593Smuzhiyun static inline uint32_t A5XX_VPC_SO_PROG_A_BUF(uint32_t val)
3842*4882a593Smuzhiyun {
3843*4882a593Smuzhiyun return ((val) << A5XX_VPC_SO_PROG_A_BUF__SHIFT) & A5XX_VPC_SO_PROG_A_BUF__MASK;
3844*4882a593Smuzhiyun }
3845*4882a593Smuzhiyun #define A5XX_VPC_SO_PROG_A_OFF__MASK 0x000007fc
3846*4882a593Smuzhiyun #define A5XX_VPC_SO_PROG_A_OFF__SHIFT 2
A5XX_VPC_SO_PROG_A_OFF(uint32_t val)3847*4882a593Smuzhiyun static inline uint32_t A5XX_VPC_SO_PROG_A_OFF(uint32_t val)
3848*4882a593Smuzhiyun {
3849*4882a593Smuzhiyun return ((val >> 2) << A5XX_VPC_SO_PROG_A_OFF__SHIFT) & A5XX_VPC_SO_PROG_A_OFF__MASK;
3850*4882a593Smuzhiyun }
3851*4882a593Smuzhiyun #define A5XX_VPC_SO_PROG_A_EN 0x00000800
3852*4882a593Smuzhiyun #define A5XX_VPC_SO_PROG_B_BUF__MASK 0x00003000
3853*4882a593Smuzhiyun #define A5XX_VPC_SO_PROG_B_BUF__SHIFT 12
A5XX_VPC_SO_PROG_B_BUF(uint32_t val)3854*4882a593Smuzhiyun static inline uint32_t A5XX_VPC_SO_PROG_B_BUF(uint32_t val)
3855*4882a593Smuzhiyun {
3856*4882a593Smuzhiyun return ((val) << A5XX_VPC_SO_PROG_B_BUF__SHIFT) & A5XX_VPC_SO_PROG_B_BUF__MASK;
3857*4882a593Smuzhiyun }
3858*4882a593Smuzhiyun #define A5XX_VPC_SO_PROG_B_OFF__MASK 0x007fc000
3859*4882a593Smuzhiyun #define A5XX_VPC_SO_PROG_B_OFF__SHIFT 14
A5XX_VPC_SO_PROG_B_OFF(uint32_t val)3860*4882a593Smuzhiyun static inline uint32_t A5XX_VPC_SO_PROG_B_OFF(uint32_t val)
3861*4882a593Smuzhiyun {
3862*4882a593Smuzhiyun return ((val >> 2) << A5XX_VPC_SO_PROG_B_OFF__SHIFT) & A5XX_VPC_SO_PROG_B_OFF__MASK;
3863*4882a593Smuzhiyun }
3864*4882a593Smuzhiyun #define A5XX_VPC_SO_PROG_B_EN 0x00800000
3865*4882a593Smuzhiyun
REG_A5XX_VPC_SO(uint32_t i0)3866*4882a593Smuzhiyun static inline uint32_t REG_A5XX_VPC_SO(uint32_t i0) { return 0x0000e2a7 + 0x7*i0; }
3867*4882a593Smuzhiyun
REG_A5XX_VPC_SO_BUFFER_BASE_LO(uint32_t i0)3868*4882a593Smuzhiyun static inline uint32_t REG_A5XX_VPC_SO_BUFFER_BASE_LO(uint32_t i0) { return 0x0000e2a7 + 0x7*i0; }
3869*4882a593Smuzhiyun
REG_A5XX_VPC_SO_BUFFER_BASE_HI(uint32_t i0)3870*4882a593Smuzhiyun static inline uint32_t REG_A5XX_VPC_SO_BUFFER_BASE_HI(uint32_t i0) { return 0x0000e2a8 + 0x7*i0; }
3871*4882a593Smuzhiyun
REG_A5XX_VPC_SO_BUFFER_SIZE(uint32_t i0)3872*4882a593Smuzhiyun static inline uint32_t REG_A5XX_VPC_SO_BUFFER_SIZE(uint32_t i0) { return 0x0000e2a9 + 0x7*i0; }
3873*4882a593Smuzhiyun
REG_A5XX_VPC_SO_NCOMP(uint32_t i0)3874*4882a593Smuzhiyun static inline uint32_t REG_A5XX_VPC_SO_NCOMP(uint32_t i0) { return 0x0000e2aa + 0x7*i0; }
3875*4882a593Smuzhiyun
REG_A5XX_VPC_SO_BUFFER_OFFSET(uint32_t i0)3876*4882a593Smuzhiyun static inline uint32_t REG_A5XX_VPC_SO_BUFFER_OFFSET(uint32_t i0) { return 0x0000e2ab + 0x7*i0; }
3877*4882a593Smuzhiyun
REG_A5XX_VPC_SO_FLUSH_BASE_LO(uint32_t i0)3878*4882a593Smuzhiyun static inline uint32_t REG_A5XX_VPC_SO_FLUSH_BASE_LO(uint32_t i0) { return 0x0000e2ac + 0x7*i0; }
3879*4882a593Smuzhiyun
REG_A5XX_VPC_SO_FLUSH_BASE_HI(uint32_t i0)3880*4882a593Smuzhiyun static inline uint32_t REG_A5XX_VPC_SO_FLUSH_BASE_HI(uint32_t i0) { return 0x0000e2ad + 0x7*i0; }
3881*4882a593Smuzhiyun
3882*4882a593Smuzhiyun #define REG_A5XX_PC_PRIMITIVE_CNTL 0x0000e384
3883*4882a593Smuzhiyun #define A5XX_PC_PRIMITIVE_CNTL_STRIDE_IN_VPC__MASK 0x0000007f
3884*4882a593Smuzhiyun #define A5XX_PC_PRIMITIVE_CNTL_STRIDE_IN_VPC__SHIFT 0
A5XX_PC_PRIMITIVE_CNTL_STRIDE_IN_VPC(uint32_t val)3885*4882a593Smuzhiyun static inline uint32_t A5XX_PC_PRIMITIVE_CNTL_STRIDE_IN_VPC(uint32_t val)
3886*4882a593Smuzhiyun {
3887*4882a593Smuzhiyun return ((val) << A5XX_PC_PRIMITIVE_CNTL_STRIDE_IN_VPC__SHIFT) & A5XX_PC_PRIMITIVE_CNTL_STRIDE_IN_VPC__MASK;
3888*4882a593Smuzhiyun }
3889*4882a593Smuzhiyun #define A5XX_PC_PRIMITIVE_CNTL_PRIMITIVE_RESTART 0x00000100
3890*4882a593Smuzhiyun #define A5XX_PC_PRIMITIVE_CNTL_COUNT_PRIMITIVES 0x00000200
3891*4882a593Smuzhiyun #define A5XX_PC_PRIMITIVE_CNTL_PROVOKING_VTX_LAST 0x00000400
3892*4882a593Smuzhiyun
3893*4882a593Smuzhiyun #define REG_A5XX_PC_PRIM_VTX_CNTL 0x0000e385
3894*4882a593Smuzhiyun #define A5XX_PC_PRIM_VTX_CNTL_PSIZE 0x00000800
3895*4882a593Smuzhiyun
3896*4882a593Smuzhiyun #define REG_A5XX_PC_RASTER_CNTL 0x0000e388
3897*4882a593Smuzhiyun #define A5XX_PC_RASTER_CNTL_POLYMODE_FRONT_PTYPE__MASK 0x00000007
3898*4882a593Smuzhiyun #define A5XX_PC_RASTER_CNTL_POLYMODE_FRONT_PTYPE__SHIFT 0
A5XX_PC_RASTER_CNTL_POLYMODE_FRONT_PTYPE(enum adreno_pa_su_sc_draw val)3899*4882a593Smuzhiyun static inline uint32_t A5XX_PC_RASTER_CNTL_POLYMODE_FRONT_PTYPE(enum adreno_pa_su_sc_draw val)
3900*4882a593Smuzhiyun {
3901*4882a593Smuzhiyun return ((val) << A5XX_PC_RASTER_CNTL_POLYMODE_FRONT_PTYPE__SHIFT) & A5XX_PC_RASTER_CNTL_POLYMODE_FRONT_PTYPE__MASK;
3902*4882a593Smuzhiyun }
3903*4882a593Smuzhiyun #define A5XX_PC_RASTER_CNTL_POLYMODE_BACK_PTYPE__MASK 0x00000038
3904*4882a593Smuzhiyun #define A5XX_PC_RASTER_CNTL_POLYMODE_BACK_PTYPE__SHIFT 3
A5XX_PC_RASTER_CNTL_POLYMODE_BACK_PTYPE(enum adreno_pa_su_sc_draw val)3905*4882a593Smuzhiyun static inline uint32_t A5XX_PC_RASTER_CNTL_POLYMODE_BACK_PTYPE(enum adreno_pa_su_sc_draw val)
3906*4882a593Smuzhiyun {
3907*4882a593Smuzhiyun return ((val) << A5XX_PC_RASTER_CNTL_POLYMODE_BACK_PTYPE__SHIFT) & A5XX_PC_RASTER_CNTL_POLYMODE_BACK_PTYPE__MASK;
3908*4882a593Smuzhiyun }
3909*4882a593Smuzhiyun #define A5XX_PC_RASTER_CNTL_POLYMODE_ENABLE 0x00000040
3910*4882a593Smuzhiyun
3911*4882a593Smuzhiyun #define REG_A5XX_UNKNOWN_E389 0x0000e389
3912*4882a593Smuzhiyun
3913*4882a593Smuzhiyun #define REG_A5XX_PC_RESTART_INDEX 0x0000e38c
3914*4882a593Smuzhiyun
3915*4882a593Smuzhiyun #define REG_A5XX_PC_GS_LAYERED 0x0000e38d
3916*4882a593Smuzhiyun
3917*4882a593Smuzhiyun #define REG_A5XX_PC_GS_PARAM 0x0000e38e
3918*4882a593Smuzhiyun #define A5XX_PC_GS_PARAM_MAX_VERTICES__MASK 0x000003ff
3919*4882a593Smuzhiyun #define A5XX_PC_GS_PARAM_MAX_VERTICES__SHIFT 0
A5XX_PC_GS_PARAM_MAX_VERTICES(uint32_t val)3920*4882a593Smuzhiyun static inline uint32_t A5XX_PC_GS_PARAM_MAX_VERTICES(uint32_t val)
3921*4882a593Smuzhiyun {
3922*4882a593Smuzhiyun return ((val) << A5XX_PC_GS_PARAM_MAX_VERTICES__SHIFT) & A5XX_PC_GS_PARAM_MAX_VERTICES__MASK;
3923*4882a593Smuzhiyun }
3924*4882a593Smuzhiyun #define A5XX_PC_GS_PARAM_INVOCATIONS__MASK 0x0000f800
3925*4882a593Smuzhiyun #define A5XX_PC_GS_PARAM_INVOCATIONS__SHIFT 11
A5XX_PC_GS_PARAM_INVOCATIONS(uint32_t val)3926*4882a593Smuzhiyun static inline uint32_t A5XX_PC_GS_PARAM_INVOCATIONS(uint32_t val)
3927*4882a593Smuzhiyun {
3928*4882a593Smuzhiyun return ((val) << A5XX_PC_GS_PARAM_INVOCATIONS__SHIFT) & A5XX_PC_GS_PARAM_INVOCATIONS__MASK;
3929*4882a593Smuzhiyun }
3930*4882a593Smuzhiyun #define A5XX_PC_GS_PARAM_PRIMTYPE__MASK 0x01800000
3931*4882a593Smuzhiyun #define A5XX_PC_GS_PARAM_PRIMTYPE__SHIFT 23
A5XX_PC_GS_PARAM_PRIMTYPE(enum adreno_pa_su_sc_draw val)3932*4882a593Smuzhiyun static inline uint32_t A5XX_PC_GS_PARAM_PRIMTYPE(enum adreno_pa_su_sc_draw val)
3933*4882a593Smuzhiyun {
3934*4882a593Smuzhiyun return ((val) << A5XX_PC_GS_PARAM_PRIMTYPE__SHIFT) & A5XX_PC_GS_PARAM_PRIMTYPE__MASK;
3935*4882a593Smuzhiyun }
3936*4882a593Smuzhiyun
3937*4882a593Smuzhiyun #define REG_A5XX_PC_HS_PARAM 0x0000e38f
3938*4882a593Smuzhiyun #define A5XX_PC_HS_PARAM_VERTICES_OUT__MASK 0x0000003f
3939*4882a593Smuzhiyun #define A5XX_PC_HS_PARAM_VERTICES_OUT__SHIFT 0
A5XX_PC_HS_PARAM_VERTICES_OUT(uint32_t val)3940*4882a593Smuzhiyun static inline uint32_t A5XX_PC_HS_PARAM_VERTICES_OUT(uint32_t val)
3941*4882a593Smuzhiyun {
3942*4882a593Smuzhiyun return ((val) << A5XX_PC_HS_PARAM_VERTICES_OUT__SHIFT) & A5XX_PC_HS_PARAM_VERTICES_OUT__MASK;
3943*4882a593Smuzhiyun }
3944*4882a593Smuzhiyun #define A5XX_PC_HS_PARAM_SPACING__MASK 0x00600000
3945*4882a593Smuzhiyun #define A5XX_PC_HS_PARAM_SPACING__SHIFT 21
A5XX_PC_HS_PARAM_SPACING(enum a4xx_tess_spacing val)3946*4882a593Smuzhiyun static inline uint32_t A5XX_PC_HS_PARAM_SPACING(enum a4xx_tess_spacing val)
3947*4882a593Smuzhiyun {
3948*4882a593Smuzhiyun return ((val) << A5XX_PC_HS_PARAM_SPACING__SHIFT) & A5XX_PC_HS_PARAM_SPACING__MASK;
3949*4882a593Smuzhiyun }
3950*4882a593Smuzhiyun #define A5XX_PC_HS_PARAM_CW 0x00800000
3951*4882a593Smuzhiyun #define A5XX_PC_HS_PARAM_CONNECTED 0x01000000
3952*4882a593Smuzhiyun
3953*4882a593Smuzhiyun #define REG_A5XX_PC_POWER_CNTL 0x0000e3b0
3954*4882a593Smuzhiyun
3955*4882a593Smuzhiyun #define REG_A5XX_VFD_CONTROL_0 0x0000e400
3956*4882a593Smuzhiyun #define A5XX_VFD_CONTROL_0_VTXCNT__MASK 0x0000003f
3957*4882a593Smuzhiyun #define A5XX_VFD_CONTROL_0_VTXCNT__SHIFT 0
A5XX_VFD_CONTROL_0_VTXCNT(uint32_t val)3958*4882a593Smuzhiyun static inline uint32_t A5XX_VFD_CONTROL_0_VTXCNT(uint32_t val)
3959*4882a593Smuzhiyun {
3960*4882a593Smuzhiyun return ((val) << A5XX_VFD_CONTROL_0_VTXCNT__SHIFT) & A5XX_VFD_CONTROL_0_VTXCNT__MASK;
3961*4882a593Smuzhiyun }
3962*4882a593Smuzhiyun
3963*4882a593Smuzhiyun #define REG_A5XX_VFD_CONTROL_1 0x0000e401
3964*4882a593Smuzhiyun #define A5XX_VFD_CONTROL_1_REGID4VTX__MASK 0x000000ff
3965*4882a593Smuzhiyun #define A5XX_VFD_CONTROL_1_REGID4VTX__SHIFT 0
A5XX_VFD_CONTROL_1_REGID4VTX(uint32_t val)3966*4882a593Smuzhiyun static inline uint32_t A5XX_VFD_CONTROL_1_REGID4VTX(uint32_t val)
3967*4882a593Smuzhiyun {
3968*4882a593Smuzhiyun return ((val) << A5XX_VFD_CONTROL_1_REGID4VTX__SHIFT) & A5XX_VFD_CONTROL_1_REGID4VTX__MASK;
3969*4882a593Smuzhiyun }
3970*4882a593Smuzhiyun #define A5XX_VFD_CONTROL_1_REGID4INST__MASK 0x0000ff00
3971*4882a593Smuzhiyun #define A5XX_VFD_CONTROL_1_REGID4INST__SHIFT 8
A5XX_VFD_CONTROL_1_REGID4INST(uint32_t val)3972*4882a593Smuzhiyun static inline uint32_t A5XX_VFD_CONTROL_1_REGID4INST(uint32_t val)
3973*4882a593Smuzhiyun {
3974*4882a593Smuzhiyun return ((val) << A5XX_VFD_CONTROL_1_REGID4INST__SHIFT) & A5XX_VFD_CONTROL_1_REGID4INST__MASK;
3975*4882a593Smuzhiyun }
3976*4882a593Smuzhiyun #define A5XX_VFD_CONTROL_1_REGID4PRIMID__MASK 0x00ff0000
3977*4882a593Smuzhiyun #define A5XX_VFD_CONTROL_1_REGID4PRIMID__SHIFT 16
A5XX_VFD_CONTROL_1_REGID4PRIMID(uint32_t val)3978*4882a593Smuzhiyun static inline uint32_t A5XX_VFD_CONTROL_1_REGID4PRIMID(uint32_t val)
3979*4882a593Smuzhiyun {
3980*4882a593Smuzhiyun return ((val) << A5XX_VFD_CONTROL_1_REGID4PRIMID__SHIFT) & A5XX_VFD_CONTROL_1_REGID4PRIMID__MASK;
3981*4882a593Smuzhiyun }
3982*4882a593Smuzhiyun
3983*4882a593Smuzhiyun #define REG_A5XX_VFD_CONTROL_2 0x0000e402
3984*4882a593Smuzhiyun #define A5XX_VFD_CONTROL_2_REGID_PATCHID__MASK 0x000000ff
3985*4882a593Smuzhiyun #define A5XX_VFD_CONTROL_2_REGID_PATCHID__SHIFT 0
A5XX_VFD_CONTROL_2_REGID_PATCHID(uint32_t val)3986*4882a593Smuzhiyun static inline uint32_t A5XX_VFD_CONTROL_2_REGID_PATCHID(uint32_t val)
3987*4882a593Smuzhiyun {
3988*4882a593Smuzhiyun return ((val) << A5XX_VFD_CONTROL_2_REGID_PATCHID__SHIFT) & A5XX_VFD_CONTROL_2_REGID_PATCHID__MASK;
3989*4882a593Smuzhiyun }
3990*4882a593Smuzhiyun
3991*4882a593Smuzhiyun #define REG_A5XX_VFD_CONTROL_3 0x0000e403
3992*4882a593Smuzhiyun #define A5XX_VFD_CONTROL_3_REGID_PATCHID__MASK 0x0000ff00
3993*4882a593Smuzhiyun #define A5XX_VFD_CONTROL_3_REGID_PATCHID__SHIFT 8
A5XX_VFD_CONTROL_3_REGID_PATCHID(uint32_t val)3994*4882a593Smuzhiyun static inline uint32_t A5XX_VFD_CONTROL_3_REGID_PATCHID(uint32_t val)
3995*4882a593Smuzhiyun {
3996*4882a593Smuzhiyun return ((val) << A5XX_VFD_CONTROL_3_REGID_PATCHID__SHIFT) & A5XX_VFD_CONTROL_3_REGID_PATCHID__MASK;
3997*4882a593Smuzhiyun }
3998*4882a593Smuzhiyun #define A5XX_VFD_CONTROL_3_REGID_TESSX__MASK 0x00ff0000
3999*4882a593Smuzhiyun #define A5XX_VFD_CONTROL_3_REGID_TESSX__SHIFT 16
A5XX_VFD_CONTROL_3_REGID_TESSX(uint32_t val)4000*4882a593Smuzhiyun static inline uint32_t A5XX_VFD_CONTROL_3_REGID_TESSX(uint32_t val)
4001*4882a593Smuzhiyun {
4002*4882a593Smuzhiyun return ((val) << A5XX_VFD_CONTROL_3_REGID_TESSX__SHIFT) & A5XX_VFD_CONTROL_3_REGID_TESSX__MASK;
4003*4882a593Smuzhiyun }
4004*4882a593Smuzhiyun #define A5XX_VFD_CONTROL_3_REGID_TESSY__MASK 0xff000000
4005*4882a593Smuzhiyun #define A5XX_VFD_CONTROL_3_REGID_TESSY__SHIFT 24
A5XX_VFD_CONTROL_3_REGID_TESSY(uint32_t val)4006*4882a593Smuzhiyun static inline uint32_t A5XX_VFD_CONTROL_3_REGID_TESSY(uint32_t val)
4007*4882a593Smuzhiyun {
4008*4882a593Smuzhiyun return ((val) << A5XX_VFD_CONTROL_3_REGID_TESSY__SHIFT) & A5XX_VFD_CONTROL_3_REGID_TESSY__MASK;
4009*4882a593Smuzhiyun }
4010*4882a593Smuzhiyun
4011*4882a593Smuzhiyun #define REG_A5XX_VFD_CONTROL_4 0x0000e404
4012*4882a593Smuzhiyun
4013*4882a593Smuzhiyun #define REG_A5XX_VFD_CONTROL_5 0x0000e405
4014*4882a593Smuzhiyun
4015*4882a593Smuzhiyun #define REG_A5XX_VFD_INDEX_OFFSET 0x0000e408
4016*4882a593Smuzhiyun
4017*4882a593Smuzhiyun #define REG_A5XX_VFD_INSTANCE_START_OFFSET 0x0000e409
4018*4882a593Smuzhiyun
REG_A5XX_VFD_FETCH(uint32_t i0)4019*4882a593Smuzhiyun static inline uint32_t REG_A5XX_VFD_FETCH(uint32_t i0) { return 0x0000e40a + 0x4*i0; }
4020*4882a593Smuzhiyun
REG_A5XX_VFD_FETCH_BASE_LO(uint32_t i0)4021*4882a593Smuzhiyun static inline uint32_t REG_A5XX_VFD_FETCH_BASE_LO(uint32_t i0) { return 0x0000e40a + 0x4*i0; }
4022*4882a593Smuzhiyun
REG_A5XX_VFD_FETCH_BASE_HI(uint32_t i0)4023*4882a593Smuzhiyun static inline uint32_t REG_A5XX_VFD_FETCH_BASE_HI(uint32_t i0) { return 0x0000e40b + 0x4*i0; }
4024*4882a593Smuzhiyun
REG_A5XX_VFD_FETCH_SIZE(uint32_t i0)4025*4882a593Smuzhiyun static inline uint32_t REG_A5XX_VFD_FETCH_SIZE(uint32_t i0) { return 0x0000e40c + 0x4*i0; }
4026*4882a593Smuzhiyun
REG_A5XX_VFD_FETCH_STRIDE(uint32_t i0)4027*4882a593Smuzhiyun static inline uint32_t REG_A5XX_VFD_FETCH_STRIDE(uint32_t i0) { return 0x0000e40d + 0x4*i0; }
4028*4882a593Smuzhiyun
REG_A5XX_VFD_DECODE(uint32_t i0)4029*4882a593Smuzhiyun static inline uint32_t REG_A5XX_VFD_DECODE(uint32_t i0) { return 0x0000e48a + 0x2*i0; }
4030*4882a593Smuzhiyun
REG_A5XX_VFD_DECODE_INSTR(uint32_t i0)4031*4882a593Smuzhiyun static inline uint32_t REG_A5XX_VFD_DECODE_INSTR(uint32_t i0) { return 0x0000e48a + 0x2*i0; }
4032*4882a593Smuzhiyun #define A5XX_VFD_DECODE_INSTR_IDX__MASK 0x0000001f
4033*4882a593Smuzhiyun #define A5XX_VFD_DECODE_INSTR_IDX__SHIFT 0
A5XX_VFD_DECODE_INSTR_IDX(uint32_t val)4034*4882a593Smuzhiyun static inline uint32_t A5XX_VFD_DECODE_INSTR_IDX(uint32_t val)
4035*4882a593Smuzhiyun {
4036*4882a593Smuzhiyun return ((val) << A5XX_VFD_DECODE_INSTR_IDX__SHIFT) & A5XX_VFD_DECODE_INSTR_IDX__MASK;
4037*4882a593Smuzhiyun }
4038*4882a593Smuzhiyun #define A5XX_VFD_DECODE_INSTR_INSTANCED 0x00020000
4039*4882a593Smuzhiyun #define A5XX_VFD_DECODE_INSTR_FORMAT__MASK 0x0ff00000
4040*4882a593Smuzhiyun #define A5XX_VFD_DECODE_INSTR_FORMAT__SHIFT 20
A5XX_VFD_DECODE_INSTR_FORMAT(enum a5xx_vtx_fmt val)4041*4882a593Smuzhiyun static inline uint32_t A5XX_VFD_DECODE_INSTR_FORMAT(enum a5xx_vtx_fmt val)
4042*4882a593Smuzhiyun {
4043*4882a593Smuzhiyun return ((val) << A5XX_VFD_DECODE_INSTR_FORMAT__SHIFT) & A5XX_VFD_DECODE_INSTR_FORMAT__MASK;
4044*4882a593Smuzhiyun }
4045*4882a593Smuzhiyun #define A5XX_VFD_DECODE_INSTR_SWAP__MASK 0x30000000
4046*4882a593Smuzhiyun #define A5XX_VFD_DECODE_INSTR_SWAP__SHIFT 28
A5XX_VFD_DECODE_INSTR_SWAP(enum a3xx_color_swap val)4047*4882a593Smuzhiyun static inline uint32_t A5XX_VFD_DECODE_INSTR_SWAP(enum a3xx_color_swap val)
4048*4882a593Smuzhiyun {
4049*4882a593Smuzhiyun return ((val) << A5XX_VFD_DECODE_INSTR_SWAP__SHIFT) & A5XX_VFD_DECODE_INSTR_SWAP__MASK;
4050*4882a593Smuzhiyun }
4051*4882a593Smuzhiyun #define A5XX_VFD_DECODE_INSTR_UNK30 0x40000000
4052*4882a593Smuzhiyun #define A5XX_VFD_DECODE_INSTR_FLOAT 0x80000000
4053*4882a593Smuzhiyun
REG_A5XX_VFD_DECODE_STEP_RATE(uint32_t i0)4054*4882a593Smuzhiyun static inline uint32_t REG_A5XX_VFD_DECODE_STEP_RATE(uint32_t i0) { return 0x0000e48b + 0x2*i0; }
4055*4882a593Smuzhiyun
REG_A5XX_VFD_DEST_CNTL(uint32_t i0)4056*4882a593Smuzhiyun static inline uint32_t REG_A5XX_VFD_DEST_CNTL(uint32_t i0) { return 0x0000e4ca + 0x1*i0; }
4057*4882a593Smuzhiyun
REG_A5XX_VFD_DEST_CNTL_INSTR(uint32_t i0)4058*4882a593Smuzhiyun static inline uint32_t REG_A5XX_VFD_DEST_CNTL_INSTR(uint32_t i0) { return 0x0000e4ca + 0x1*i0; }
4059*4882a593Smuzhiyun #define A5XX_VFD_DEST_CNTL_INSTR_WRITEMASK__MASK 0x0000000f
4060*4882a593Smuzhiyun #define A5XX_VFD_DEST_CNTL_INSTR_WRITEMASK__SHIFT 0
A5XX_VFD_DEST_CNTL_INSTR_WRITEMASK(uint32_t val)4061*4882a593Smuzhiyun static inline uint32_t A5XX_VFD_DEST_CNTL_INSTR_WRITEMASK(uint32_t val)
4062*4882a593Smuzhiyun {
4063*4882a593Smuzhiyun return ((val) << A5XX_VFD_DEST_CNTL_INSTR_WRITEMASK__SHIFT) & A5XX_VFD_DEST_CNTL_INSTR_WRITEMASK__MASK;
4064*4882a593Smuzhiyun }
4065*4882a593Smuzhiyun #define A5XX_VFD_DEST_CNTL_INSTR_REGID__MASK 0x00000ff0
4066*4882a593Smuzhiyun #define A5XX_VFD_DEST_CNTL_INSTR_REGID__SHIFT 4
A5XX_VFD_DEST_CNTL_INSTR_REGID(uint32_t val)4067*4882a593Smuzhiyun static inline uint32_t A5XX_VFD_DEST_CNTL_INSTR_REGID(uint32_t val)
4068*4882a593Smuzhiyun {
4069*4882a593Smuzhiyun return ((val) << A5XX_VFD_DEST_CNTL_INSTR_REGID__SHIFT) & A5XX_VFD_DEST_CNTL_INSTR_REGID__MASK;
4070*4882a593Smuzhiyun }
4071*4882a593Smuzhiyun
4072*4882a593Smuzhiyun #define REG_A5XX_VFD_POWER_CNTL 0x0000e4f0
4073*4882a593Smuzhiyun
4074*4882a593Smuzhiyun #define REG_A5XX_SP_SP_CNTL 0x0000e580
4075*4882a593Smuzhiyun
4076*4882a593Smuzhiyun #define REG_A5XX_SP_VS_CONFIG 0x0000e584
4077*4882a593Smuzhiyun #define A5XX_SP_VS_CONFIG_ENABLED 0x00000001
4078*4882a593Smuzhiyun #define A5XX_SP_VS_CONFIG_CONSTOBJECTOFFSET__MASK 0x000000fe
4079*4882a593Smuzhiyun #define A5XX_SP_VS_CONFIG_CONSTOBJECTOFFSET__SHIFT 1
A5XX_SP_VS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)4080*4882a593Smuzhiyun static inline uint32_t A5XX_SP_VS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)
4081*4882a593Smuzhiyun {
4082*4882a593Smuzhiyun return ((val) << A5XX_SP_VS_CONFIG_CONSTOBJECTOFFSET__SHIFT) & A5XX_SP_VS_CONFIG_CONSTOBJECTOFFSET__MASK;
4083*4882a593Smuzhiyun }
4084*4882a593Smuzhiyun #define A5XX_SP_VS_CONFIG_SHADEROBJOFFSET__MASK 0x00007f00
4085*4882a593Smuzhiyun #define A5XX_SP_VS_CONFIG_SHADEROBJOFFSET__SHIFT 8
A5XX_SP_VS_CONFIG_SHADEROBJOFFSET(uint32_t val)4086*4882a593Smuzhiyun static inline uint32_t A5XX_SP_VS_CONFIG_SHADEROBJOFFSET(uint32_t val)
4087*4882a593Smuzhiyun {
4088*4882a593Smuzhiyun return ((val) << A5XX_SP_VS_CONFIG_SHADEROBJOFFSET__SHIFT) & A5XX_SP_VS_CONFIG_SHADEROBJOFFSET__MASK;
4089*4882a593Smuzhiyun }
4090*4882a593Smuzhiyun
4091*4882a593Smuzhiyun #define REG_A5XX_SP_FS_CONFIG 0x0000e585
4092*4882a593Smuzhiyun #define A5XX_SP_FS_CONFIG_ENABLED 0x00000001
4093*4882a593Smuzhiyun #define A5XX_SP_FS_CONFIG_CONSTOBJECTOFFSET__MASK 0x000000fe
4094*4882a593Smuzhiyun #define A5XX_SP_FS_CONFIG_CONSTOBJECTOFFSET__SHIFT 1
A5XX_SP_FS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)4095*4882a593Smuzhiyun static inline uint32_t A5XX_SP_FS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)
4096*4882a593Smuzhiyun {
4097*4882a593Smuzhiyun return ((val) << A5XX_SP_FS_CONFIG_CONSTOBJECTOFFSET__SHIFT) & A5XX_SP_FS_CONFIG_CONSTOBJECTOFFSET__MASK;
4098*4882a593Smuzhiyun }
4099*4882a593Smuzhiyun #define A5XX_SP_FS_CONFIG_SHADEROBJOFFSET__MASK 0x00007f00
4100*4882a593Smuzhiyun #define A5XX_SP_FS_CONFIG_SHADEROBJOFFSET__SHIFT 8
A5XX_SP_FS_CONFIG_SHADEROBJOFFSET(uint32_t val)4101*4882a593Smuzhiyun static inline uint32_t A5XX_SP_FS_CONFIG_SHADEROBJOFFSET(uint32_t val)
4102*4882a593Smuzhiyun {
4103*4882a593Smuzhiyun return ((val) << A5XX_SP_FS_CONFIG_SHADEROBJOFFSET__SHIFT) & A5XX_SP_FS_CONFIG_SHADEROBJOFFSET__MASK;
4104*4882a593Smuzhiyun }
4105*4882a593Smuzhiyun
4106*4882a593Smuzhiyun #define REG_A5XX_SP_HS_CONFIG 0x0000e586
4107*4882a593Smuzhiyun #define A5XX_SP_HS_CONFIG_ENABLED 0x00000001
4108*4882a593Smuzhiyun #define A5XX_SP_HS_CONFIG_CONSTOBJECTOFFSET__MASK 0x000000fe
4109*4882a593Smuzhiyun #define A5XX_SP_HS_CONFIG_CONSTOBJECTOFFSET__SHIFT 1
A5XX_SP_HS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)4110*4882a593Smuzhiyun static inline uint32_t A5XX_SP_HS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)
4111*4882a593Smuzhiyun {
4112*4882a593Smuzhiyun return ((val) << A5XX_SP_HS_CONFIG_CONSTOBJECTOFFSET__SHIFT) & A5XX_SP_HS_CONFIG_CONSTOBJECTOFFSET__MASK;
4113*4882a593Smuzhiyun }
4114*4882a593Smuzhiyun #define A5XX_SP_HS_CONFIG_SHADEROBJOFFSET__MASK 0x00007f00
4115*4882a593Smuzhiyun #define A5XX_SP_HS_CONFIG_SHADEROBJOFFSET__SHIFT 8
A5XX_SP_HS_CONFIG_SHADEROBJOFFSET(uint32_t val)4116*4882a593Smuzhiyun static inline uint32_t A5XX_SP_HS_CONFIG_SHADEROBJOFFSET(uint32_t val)
4117*4882a593Smuzhiyun {
4118*4882a593Smuzhiyun return ((val) << A5XX_SP_HS_CONFIG_SHADEROBJOFFSET__SHIFT) & A5XX_SP_HS_CONFIG_SHADEROBJOFFSET__MASK;
4119*4882a593Smuzhiyun }
4120*4882a593Smuzhiyun
4121*4882a593Smuzhiyun #define REG_A5XX_SP_DS_CONFIG 0x0000e587
4122*4882a593Smuzhiyun #define A5XX_SP_DS_CONFIG_ENABLED 0x00000001
4123*4882a593Smuzhiyun #define A5XX_SP_DS_CONFIG_CONSTOBJECTOFFSET__MASK 0x000000fe
4124*4882a593Smuzhiyun #define A5XX_SP_DS_CONFIG_CONSTOBJECTOFFSET__SHIFT 1
A5XX_SP_DS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)4125*4882a593Smuzhiyun static inline uint32_t A5XX_SP_DS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)
4126*4882a593Smuzhiyun {
4127*4882a593Smuzhiyun return ((val) << A5XX_SP_DS_CONFIG_CONSTOBJECTOFFSET__SHIFT) & A5XX_SP_DS_CONFIG_CONSTOBJECTOFFSET__MASK;
4128*4882a593Smuzhiyun }
4129*4882a593Smuzhiyun #define A5XX_SP_DS_CONFIG_SHADEROBJOFFSET__MASK 0x00007f00
4130*4882a593Smuzhiyun #define A5XX_SP_DS_CONFIG_SHADEROBJOFFSET__SHIFT 8
A5XX_SP_DS_CONFIG_SHADEROBJOFFSET(uint32_t val)4131*4882a593Smuzhiyun static inline uint32_t A5XX_SP_DS_CONFIG_SHADEROBJOFFSET(uint32_t val)
4132*4882a593Smuzhiyun {
4133*4882a593Smuzhiyun return ((val) << A5XX_SP_DS_CONFIG_SHADEROBJOFFSET__SHIFT) & A5XX_SP_DS_CONFIG_SHADEROBJOFFSET__MASK;
4134*4882a593Smuzhiyun }
4135*4882a593Smuzhiyun
4136*4882a593Smuzhiyun #define REG_A5XX_SP_GS_CONFIG 0x0000e588
4137*4882a593Smuzhiyun #define A5XX_SP_GS_CONFIG_ENABLED 0x00000001
4138*4882a593Smuzhiyun #define A5XX_SP_GS_CONFIG_CONSTOBJECTOFFSET__MASK 0x000000fe
4139*4882a593Smuzhiyun #define A5XX_SP_GS_CONFIG_CONSTOBJECTOFFSET__SHIFT 1
A5XX_SP_GS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)4140*4882a593Smuzhiyun static inline uint32_t A5XX_SP_GS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)
4141*4882a593Smuzhiyun {
4142*4882a593Smuzhiyun return ((val) << A5XX_SP_GS_CONFIG_CONSTOBJECTOFFSET__SHIFT) & A5XX_SP_GS_CONFIG_CONSTOBJECTOFFSET__MASK;
4143*4882a593Smuzhiyun }
4144*4882a593Smuzhiyun #define A5XX_SP_GS_CONFIG_SHADEROBJOFFSET__MASK 0x00007f00
4145*4882a593Smuzhiyun #define A5XX_SP_GS_CONFIG_SHADEROBJOFFSET__SHIFT 8
A5XX_SP_GS_CONFIG_SHADEROBJOFFSET(uint32_t val)4146*4882a593Smuzhiyun static inline uint32_t A5XX_SP_GS_CONFIG_SHADEROBJOFFSET(uint32_t val)
4147*4882a593Smuzhiyun {
4148*4882a593Smuzhiyun return ((val) << A5XX_SP_GS_CONFIG_SHADEROBJOFFSET__SHIFT) & A5XX_SP_GS_CONFIG_SHADEROBJOFFSET__MASK;
4149*4882a593Smuzhiyun }
4150*4882a593Smuzhiyun
4151*4882a593Smuzhiyun #define REG_A5XX_SP_CS_CONFIG 0x0000e589
4152*4882a593Smuzhiyun #define A5XX_SP_CS_CONFIG_ENABLED 0x00000001
4153*4882a593Smuzhiyun #define A5XX_SP_CS_CONFIG_CONSTOBJECTOFFSET__MASK 0x000000fe
4154*4882a593Smuzhiyun #define A5XX_SP_CS_CONFIG_CONSTOBJECTOFFSET__SHIFT 1
A5XX_SP_CS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)4155*4882a593Smuzhiyun static inline uint32_t A5XX_SP_CS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)
4156*4882a593Smuzhiyun {
4157*4882a593Smuzhiyun return ((val) << A5XX_SP_CS_CONFIG_CONSTOBJECTOFFSET__SHIFT) & A5XX_SP_CS_CONFIG_CONSTOBJECTOFFSET__MASK;
4158*4882a593Smuzhiyun }
4159*4882a593Smuzhiyun #define A5XX_SP_CS_CONFIG_SHADEROBJOFFSET__MASK 0x00007f00
4160*4882a593Smuzhiyun #define A5XX_SP_CS_CONFIG_SHADEROBJOFFSET__SHIFT 8
A5XX_SP_CS_CONFIG_SHADEROBJOFFSET(uint32_t val)4161*4882a593Smuzhiyun static inline uint32_t A5XX_SP_CS_CONFIG_SHADEROBJOFFSET(uint32_t val)
4162*4882a593Smuzhiyun {
4163*4882a593Smuzhiyun return ((val) << A5XX_SP_CS_CONFIG_SHADEROBJOFFSET__SHIFT) & A5XX_SP_CS_CONFIG_SHADEROBJOFFSET__MASK;
4164*4882a593Smuzhiyun }
4165*4882a593Smuzhiyun
4166*4882a593Smuzhiyun #define REG_A5XX_SP_VS_CONFIG_MAX_CONST 0x0000e58a
4167*4882a593Smuzhiyun
4168*4882a593Smuzhiyun #define REG_A5XX_SP_FS_CONFIG_MAX_CONST 0x0000e58b
4169*4882a593Smuzhiyun
4170*4882a593Smuzhiyun #define REG_A5XX_SP_VS_CTRL_REG0 0x0000e590
4171*4882a593Smuzhiyun #define A5XX_SP_VS_CTRL_REG0_THREADSIZE__MASK 0x00000008
4172*4882a593Smuzhiyun #define A5XX_SP_VS_CTRL_REG0_THREADSIZE__SHIFT 3
A5XX_SP_VS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)4173*4882a593Smuzhiyun static inline uint32_t A5XX_SP_VS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)
4174*4882a593Smuzhiyun {
4175*4882a593Smuzhiyun return ((val) << A5XX_SP_VS_CTRL_REG0_THREADSIZE__SHIFT) & A5XX_SP_VS_CTRL_REG0_THREADSIZE__MASK;
4176*4882a593Smuzhiyun }
4177*4882a593Smuzhiyun #define A5XX_SP_VS_CTRL_REG0_HALFREGFOOTPRINT__MASK 0x000003f0
4178*4882a593Smuzhiyun #define A5XX_SP_VS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT 4
A5XX_SP_VS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)4179*4882a593Smuzhiyun static inline uint32_t A5XX_SP_VS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)
4180*4882a593Smuzhiyun {
4181*4882a593Smuzhiyun return ((val) << A5XX_SP_VS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT) & A5XX_SP_VS_CTRL_REG0_HALFREGFOOTPRINT__MASK;
4182*4882a593Smuzhiyun }
4183*4882a593Smuzhiyun #define A5XX_SP_VS_CTRL_REG0_FULLREGFOOTPRINT__MASK 0x0000fc00
4184*4882a593Smuzhiyun #define A5XX_SP_VS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT 10
A5XX_SP_VS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)4185*4882a593Smuzhiyun static inline uint32_t A5XX_SP_VS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)
4186*4882a593Smuzhiyun {
4187*4882a593Smuzhiyun return ((val) << A5XX_SP_VS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT) & A5XX_SP_VS_CTRL_REG0_FULLREGFOOTPRINT__MASK;
4188*4882a593Smuzhiyun }
4189*4882a593Smuzhiyun #define A5XX_SP_VS_CTRL_REG0_VARYING 0x00010000
4190*4882a593Smuzhiyun #define A5XX_SP_VS_CTRL_REG0_PIXLODENABLE 0x00100000
4191*4882a593Smuzhiyun #define A5XX_SP_VS_CTRL_REG0_BRANCHSTACK__MASK 0xfe000000
4192*4882a593Smuzhiyun #define A5XX_SP_VS_CTRL_REG0_BRANCHSTACK__SHIFT 25
A5XX_SP_VS_CTRL_REG0_BRANCHSTACK(uint32_t val)4193*4882a593Smuzhiyun static inline uint32_t A5XX_SP_VS_CTRL_REG0_BRANCHSTACK(uint32_t val)
4194*4882a593Smuzhiyun {
4195*4882a593Smuzhiyun return ((val) << A5XX_SP_VS_CTRL_REG0_BRANCHSTACK__SHIFT) & A5XX_SP_VS_CTRL_REG0_BRANCHSTACK__MASK;
4196*4882a593Smuzhiyun }
4197*4882a593Smuzhiyun
4198*4882a593Smuzhiyun #define REG_A5XX_SP_PRIMITIVE_CNTL 0x0000e592
4199*4882a593Smuzhiyun #define A5XX_SP_PRIMITIVE_CNTL_VSOUT__MASK 0x0000001f
4200*4882a593Smuzhiyun #define A5XX_SP_PRIMITIVE_CNTL_VSOUT__SHIFT 0
A5XX_SP_PRIMITIVE_CNTL_VSOUT(uint32_t val)4201*4882a593Smuzhiyun static inline uint32_t A5XX_SP_PRIMITIVE_CNTL_VSOUT(uint32_t val)
4202*4882a593Smuzhiyun {
4203*4882a593Smuzhiyun return ((val) << A5XX_SP_PRIMITIVE_CNTL_VSOUT__SHIFT) & A5XX_SP_PRIMITIVE_CNTL_VSOUT__MASK;
4204*4882a593Smuzhiyun }
4205*4882a593Smuzhiyun
REG_A5XX_SP_VS_OUT(uint32_t i0)4206*4882a593Smuzhiyun static inline uint32_t REG_A5XX_SP_VS_OUT(uint32_t i0) { return 0x0000e593 + 0x1*i0; }
4207*4882a593Smuzhiyun
REG_A5XX_SP_VS_OUT_REG(uint32_t i0)4208*4882a593Smuzhiyun static inline uint32_t REG_A5XX_SP_VS_OUT_REG(uint32_t i0) { return 0x0000e593 + 0x1*i0; }
4209*4882a593Smuzhiyun #define A5XX_SP_VS_OUT_REG_A_REGID__MASK 0x000000ff
4210*4882a593Smuzhiyun #define A5XX_SP_VS_OUT_REG_A_REGID__SHIFT 0
A5XX_SP_VS_OUT_REG_A_REGID(uint32_t val)4211*4882a593Smuzhiyun static inline uint32_t A5XX_SP_VS_OUT_REG_A_REGID(uint32_t val)
4212*4882a593Smuzhiyun {
4213*4882a593Smuzhiyun return ((val) << A5XX_SP_VS_OUT_REG_A_REGID__SHIFT) & A5XX_SP_VS_OUT_REG_A_REGID__MASK;
4214*4882a593Smuzhiyun }
4215*4882a593Smuzhiyun #define A5XX_SP_VS_OUT_REG_A_COMPMASK__MASK 0x00000f00
4216*4882a593Smuzhiyun #define A5XX_SP_VS_OUT_REG_A_COMPMASK__SHIFT 8
A5XX_SP_VS_OUT_REG_A_COMPMASK(uint32_t val)4217*4882a593Smuzhiyun static inline uint32_t A5XX_SP_VS_OUT_REG_A_COMPMASK(uint32_t val)
4218*4882a593Smuzhiyun {
4219*4882a593Smuzhiyun return ((val) << A5XX_SP_VS_OUT_REG_A_COMPMASK__SHIFT) & A5XX_SP_VS_OUT_REG_A_COMPMASK__MASK;
4220*4882a593Smuzhiyun }
4221*4882a593Smuzhiyun #define A5XX_SP_VS_OUT_REG_B_REGID__MASK 0x00ff0000
4222*4882a593Smuzhiyun #define A5XX_SP_VS_OUT_REG_B_REGID__SHIFT 16
A5XX_SP_VS_OUT_REG_B_REGID(uint32_t val)4223*4882a593Smuzhiyun static inline uint32_t A5XX_SP_VS_OUT_REG_B_REGID(uint32_t val)
4224*4882a593Smuzhiyun {
4225*4882a593Smuzhiyun return ((val) << A5XX_SP_VS_OUT_REG_B_REGID__SHIFT) & A5XX_SP_VS_OUT_REG_B_REGID__MASK;
4226*4882a593Smuzhiyun }
4227*4882a593Smuzhiyun #define A5XX_SP_VS_OUT_REG_B_COMPMASK__MASK 0x0f000000
4228*4882a593Smuzhiyun #define A5XX_SP_VS_OUT_REG_B_COMPMASK__SHIFT 24
A5XX_SP_VS_OUT_REG_B_COMPMASK(uint32_t val)4229*4882a593Smuzhiyun static inline uint32_t A5XX_SP_VS_OUT_REG_B_COMPMASK(uint32_t val)
4230*4882a593Smuzhiyun {
4231*4882a593Smuzhiyun return ((val) << A5XX_SP_VS_OUT_REG_B_COMPMASK__SHIFT) & A5XX_SP_VS_OUT_REG_B_COMPMASK__MASK;
4232*4882a593Smuzhiyun }
4233*4882a593Smuzhiyun
REG_A5XX_SP_VS_VPC_DST(uint32_t i0)4234*4882a593Smuzhiyun static inline uint32_t REG_A5XX_SP_VS_VPC_DST(uint32_t i0) { return 0x0000e5a3 + 0x1*i0; }
4235*4882a593Smuzhiyun
REG_A5XX_SP_VS_VPC_DST_REG(uint32_t i0)4236*4882a593Smuzhiyun static inline uint32_t REG_A5XX_SP_VS_VPC_DST_REG(uint32_t i0) { return 0x0000e5a3 + 0x1*i0; }
4237*4882a593Smuzhiyun #define A5XX_SP_VS_VPC_DST_REG_OUTLOC0__MASK 0x000000ff
4238*4882a593Smuzhiyun #define A5XX_SP_VS_VPC_DST_REG_OUTLOC0__SHIFT 0
A5XX_SP_VS_VPC_DST_REG_OUTLOC0(uint32_t val)4239*4882a593Smuzhiyun static inline uint32_t A5XX_SP_VS_VPC_DST_REG_OUTLOC0(uint32_t val)
4240*4882a593Smuzhiyun {
4241*4882a593Smuzhiyun return ((val) << A5XX_SP_VS_VPC_DST_REG_OUTLOC0__SHIFT) & A5XX_SP_VS_VPC_DST_REG_OUTLOC0__MASK;
4242*4882a593Smuzhiyun }
4243*4882a593Smuzhiyun #define A5XX_SP_VS_VPC_DST_REG_OUTLOC1__MASK 0x0000ff00
4244*4882a593Smuzhiyun #define A5XX_SP_VS_VPC_DST_REG_OUTLOC1__SHIFT 8
A5XX_SP_VS_VPC_DST_REG_OUTLOC1(uint32_t val)4245*4882a593Smuzhiyun static inline uint32_t A5XX_SP_VS_VPC_DST_REG_OUTLOC1(uint32_t val)
4246*4882a593Smuzhiyun {
4247*4882a593Smuzhiyun return ((val) << A5XX_SP_VS_VPC_DST_REG_OUTLOC1__SHIFT) & A5XX_SP_VS_VPC_DST_REG_OUTLOC1__MASK;
4248*4882a593Smuzhiyun }
4249*4882a593Smuzhiyun #define A5XX_SP_VS_VPC_DST_REG_OUTLOC2__MASK 0x00ff0000
4250*4882a593Smuzhiyun #define A5XX_SP_VS_VPC_DST_REG_OUTLOC2__SHIFT 16
A5XX_SP_VS_VPC_DST_REG_OUTLOC2(uint32_t val)4251*4882a593Smuzhiyun static inline uint32_t A5XX_SP_VS_VPC_DST_REG_OUTLOC2(uint32_t val)
4252*4882a593Smuzhiyun {
4253*4882a593Smuzhiyun return ((val) << A5XX_SP_VS_VPC_DST_REG_OUTLOC2__SHIFT) & A5XX_SP_VS_VPC_DST_REG_OUTLOC2__MASK;
4254*4882a593Smuzhiyun }
4255*4882a593Smuzhiyun #define A5XX_SP_VS_VPC_DST_REG_OUTLOC3__MASK 0xff000000
4256*4882a593Smuzhiyun #define A5XX_SP_VS_VPC_DST_REG_OUTLOC3__SHIFT 24
A5XX_SP_VS_VPC_DST_REG_OUTLOC3(uint32_t val)4257*4882a593Smuzhiyun static inline uint32_t A5XX_SP_VS_VPC_DST_REG_OUTLOC3(uint32_t val)
4258*4882a593Smuzhiyun {
4259*4882a593Smuzhiyun return ((val) << A5XX_SP_VS_VPC_DST_REG_OUTLOC3__SHIFT) & A5XX_SP_VS_VPC_DST_REG_OUTLOC3__MASK;
4260*4882a593Smuzhiyun }
4261*4882a593Smuzhiyun
4262*4882a593Smuzhiyun #define REG_A5XX_UNKNOWN_E5AB 0x0000e5ab
4263*4882a593Smuzhiyun
4264*4882a593Smuzhiyun #define REG_A5XX_SP_VS_OBJ_START_LO 0x0000e5ac
4265*4882a593Smuzhiyun
4266*4882a593Smuzhiyun #define REG_A5XX_SP_VS_OBJ_START_HI 0x0000e5ad
4267*4882a593Smuzhiyun
4268*4882a593Smuzhiyun #define REG_A5XX_SP_FS_CTRL_REG0 0x0000e5c0
4269*4882a593Smuzhiyun #define A5XX_SP_FS_CTRL_REG0_THREADSIZE__MASK 0x00000008
4270*4882a593Smuzhiyun #define A5XX_SP_FS_CTRL_REG0_THREADSIZE__SHIFT 3
A5XX_SP_FS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)4271*4882a593Smuzhiyun static inline uint32_t A5XX_SP_FS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)
4272*4882a593Smuzhiyun {
4273*4882a593Smuzhiyun return ((val) << A5XX_SP_FS_CTRL_REG0_THREADSIZE__SHIFT) & A5XX_SP_FS_CTRL_REG0_THREADSIZE__MASK;
4274*4882a593Smuzhiyun }
4275*4882a593Smuzhiyun #define A5XX_SP_FS_CTRL_REG0_HALFREGFOOTPRINT__MASK 0x000003f0
4276*4882a593Smuzhiyun #define A5XX_SP_FS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT 4
A5XX_SP_FS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)4277*4882a593Smuzhiyun static inline uint32_t A5XX_SP_FS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)
4278*4882a593Smuzhiyun {
4279*4882a593Smuzhiyun return ((val) << A5XX_SP_FS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT) & A5XX_SP_FS_CTRL_REG0_HALFREGFOOTPRINT__MASK;
4280*4882a593Smuzhiyun }
4281*4882a593Smuzhiyun #define A5XX_SP_FS_CTRL_REG0_FULLREGFOOTPRINT__MASK 0x0000fc00
4282*4882a593Smuzhiyun #define A5XX_SP_FS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT 10
A5XX_SP_FS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)4283*4882a593Smuzhiyun static inline uint32_t A5XX_SP_FS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)
4284*4882a593Smuzhiyun {
4285*4882a593Smuzhiyun return ((val) << A5XX_SP_FS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT) & A5XX_SP_FS_CTRL_REG0_FULLREGFOOTPRINT__MASK;
4286*4882a593Smuzhiyun }
4287*4882a593Smuzhiyun #define A5XX_SP_FS_CTRL_REG0_VARYING 0x00010000
4288*4882a593Smuzhiyun #define A5XX_SP_FS_CTRL_REG0_PIXLODENABLE 0x00100000
4289*4882a593Smuzhiyun #define A5XX_SP_FS_CTRL_REG0_BRANCHSTACK__MASK 0xfe000000
4290*4882a593Smuzhiyun #define A5XX_SP_FS_CTRL_REG0_BRANCHSTACK__SHIFT 25
A5XX_SP_FS_CTRL_REG0_BRANCHSTACK(uint32_t val)4291*4882a593Smuzhiyun static inline uint32_t A5XX_SP_FS_CTRL_REG0_BRANCHSTACK(uint32_t val)
4292*4882a593Smuzhiyun {
4293*4882a593Smuzhiyun return ((val) << A5XX_SP_FS_CTRL_REG0_BRANCHSTACK__SHIFT) & A5XX_SP_FS_CTRL_REG0_BRANCHSTACK__MASK;
4294*4882a593Smuzhiyun }
4295*4882a593Smuzhiyun
4296*4882a593Smuzhiyun #define REG_A5XX_UNKNOWN_E5C2 0x0000e5c2
4297*4882a593Smuzhiyun
4298*4882a593Smuzhiyun #define REG_A5XX_SP_FS_OBJ_START_LO 0x0000e5c3
4299*4882a593Smuzhiyun
4300*4882a593Smuzhiyun #define REG_A5XX_SP_FS_OBJ_START_HI 0x0000e5c4
4301*4882a593Smuzhiyun
4302*4882a593Smuzhiyun #define REG_A5XX_SP_BLEND_CNTL 0x0000e5c9
4303*4882a593Smuzhiyun #define A5XX_SP_BLEND_CNTL_ENABLED 0x00000001
4304*4882a593Smuzhiyun #define A5XX_SP_BLEND_CNTL_UNK8 0x00000100
4305*4882a593Smuzhiyun #define A5XX_SP_BLEND_CNTL_ALPHA_TO_COVERAGE 0x00000400
4306*4882a593Smuzhiyun
4307*4882a593Smuzhiyun #define REG_A5XX_SP_FS_OUTPUT_CNTL 0x0000e5ca
4308*4882a593Smuzhiyun #define A5XX_SP_FS_OUTPUT_CNTL_MRT__MASK 0x0000000f
4309*4882a593Smuzhiyun #define A5XX_SP_FS_OUTPUT_CNTL_MRT__SHIFT 0
A5XX_SP_FS_OUTPUT_CNTL_MRT(uint32_t val)4310*4882a593Smuzhiyun static inline uint32_t A5XX_SP_FS_OUTPUT_CNTL_MRT(uint32_t val)
4311*4882a593Smuzhiyun {
4312*4882a593Smuzhiyun return ((val) << A5XX_SP_FS_OUTPUT_CNTL_MRT__SHIFT) & A5XX_SP_FS_OUTPUT_CNTL_MRT__MASK;
4313*4882a593Smuzhiyun }
4314*4882a593Smuzhiyun #define A5XX_SP_FS_OUTPUT_CNTL_DEPTH_REGID__MASK 0x00001fe0
4315*4882a593Smuzhiyun #define A5XX_SP_FS_OUTPUT_CNTL_DEPTH_REGID__SHIFT 5
A5XX_SP_FS_OUTPUT_CNTL_DEPTH_REGID(uint32_t val)4316*4882a593Smuzhiyun static inline uint32_t A5XX_SP_FS_OUTPUT_CNTL_DEPTH_REGID(uint32_t val)
4317*4882a593Smuzhiyun {
4318*4882a593Smuzhiyun return ((val) << A5XX_SP_FS_OUTPUT_CNTL_DEPTH_REGID__SHIFT) & A5XX_SP_FS_OUTPUT_CNTL_DEPTH_REGID__MASK;
4319*4882a593Smuzhiyun }
4320*4882a593Smuzhiyun #define A5XX_SP_FS_OUTPUT_CNTL_SAMPLEMASK_REGID__MASK 0x001fe000
4321*4882a593Smuzhiyun #define A5XX_SP_FS_OUTPUT_CNTL_SAMPLEMASK_REGID__SHIFT 13
A5XX_SP_FS_OUTPUT_CNTL_SAMPLEMASK_REGID(uint32_t val)4322*4882a593Smuzhiyun static inline uint32_t A5XX_SP_FS_OUTPUT_CNTL_SAMPLEMASK_REGID(uint32_t val)
4323*4882a593Smuzhiyun {
4324*4882a593Smuzhiyun return ((val) << A5XX_SP_FS_OUTPUT_CNTL_SAMPLEMASK_REGID__SHIFT) & A5XX_SP_FS_OUTPUT_CNTL_SAMPLEMASK_REGID__MASK;
4325*4882a593Smuzhiyun }
4326*4882a593Smuzhiyun
REG_A5XX_SP_FS_OUTPUT(uint32_t i0)4327*4882a593Smuzhiyun static inline uint32_t REG_A5XX_SP_FS_OUTPUT(uint32_t i0) { return 0x0000e5cb + 0x1*i0; }
4328*4882a593Smuzhiyun
REG_A5XX_SP_FS_OUTPUT_REG(uint32_t i0)4329*4882a593Smuzhiyun static inline uint32_t REG_A5XX_SP_FS_OUTPUT_REG(uint32_t i0) { return 0x0000e5cb + 0x1*i0; }
4330*4882a593Smuzhiyun #define A5XX_SP_FS_OUTPUT_REG_REGID__MASK 0x000000ff
4331*4882a593Smuzhiyun #define A5XX_SP_FS_OUTPUT_REG_REGID__SHIFT 0
A5XX_SP_FS_OUTPUT_REG_REGID(uint32_t val)4332*4882a593Smuzhiyun static inline uint32_t A5XX_SP_FS_OUTPUT_REG_REGID(uint32_t val)
4333*4882a593Smuzhiyun {
4334*4882a593Smuzhiyun return ((val) << A5XX_SP_FS_OUTPUT_REG_REGID__SHIFT) & A5XX_SP_FS_OUTPUT_REG_REGID__MASK;
4335*4882a593Smuzhiyun }
4336*4882a593Smuzhiyun #define A5XX_SP_FS_OUTPUT_REG_HALF_PRECISION 0x00000100
4337*4882a593Smuzhiyun
REG_A5XX_SP_FS_MRT(uint32_t i0)4338*4882a593Smuzhiyun static inline uint32_t REG_A5XX_SP_FS_MRT(uint32_t i0) { return 0x0000e5d3 + 0x1*i0; }
4339*4882a593Smuzhiyun
REG_A5XX_SP_FS_MRT_REG(uint32_t i0)4340*4882a593Smuzhiyun static inline uint32_t REG_A5XX_SP_FS_MRT_REG(uint32_t i0) { return 0x0000e5d3 + 0x1*i0; }
4341*4882a593Smuzhiyun #define A5XX_SP_FS_MRT_REG_COLOR_FORMAT__MASK 0x000000ff
4342*4882a593Smuzhiyun #define A5XX_SP_FS_MRT_REG_COLOR_FORMAT__SHIFT 0
A5XX_SP_FS_MRT_REG_COLOR_FORMAT(enum a5xx_color_fmt val)4343*4882a593Smuzhiyun static inline uint32_t A5XX_SP_FS_MRT_REG_COLOR_FORMAT(enum a5xx_color_fmt val)
4344*4882a593Smuzhiyun {
4345*4882a593Smuzhiyun return ((val) << A5XX_SP_FS_MRT_REG_COLOR_FORMAT__SHIFT) & A5XX_SP_FS_MRT_REG_COLOR_FORMAT__MASK;
4346*4882a593Smuzhiyun }
4347*4882a593Smuzhiyun #define A5XX_SP_FS_MRT_REG_COLOR_SINT 0x00000100
4348*4882a593Smuzhiyun #define A5XX_SP_FS_MRT_REG_COLOR_UINT 0x00000200
4349*4882a593Smuzhiyun #define A5XX_SP_FS_MRT_REG_COLOR_SRGB 0x00000400
4350*4882a593Smuzhiyun
4351*4882a593Smuzhiyun #define REG_A5XX_UNKNOWN_E5DB 0x0000e5db
4352*4882a593Smuzhiyun
4353*4882a593Smuzhiyun #define REG_A5XX_SP_CS_CTRL_REG0 0x0000e5f0
4354*4882a593Smuzhiyun #define A5XX_SP_CS_CTRL_REG0_THREADSIZE__MASK 0x00000008
4355*4882a593Smuzhiyun #define A5XX_SP_CS_CTRL_REG0_THREADSIZE__SHIFT 3
A5XX_SP_CS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)4356*4882a593Smuzhiyun static inline uint32_t A5XX_SP_CS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)
4357*4882a593Smuzhiyun {
4358*4882a593Smuzhiyun return ((val) << A5XX_SP_CS_CTRL_REG0_THREADSIZE__SHIFT) & A5XX_SP_CS_CTRL_REG0_THREADSIZE__MASK;
4359*4882a593Smuzhiyun }
4360*4882a593Smuzhiyun #define A5XX_SP_CS_CTRL_REG0_HALFREGFOOTPRINT__MASK 0x000003f0
4361*4882a593Smuzhiyun #define A5XX_SP_CS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT 4
A5XX_SP_CS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)4362*4882a593Smuzhiyun static inline uint32_t A5XX_SP_CS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)
4363*4882a593Smuzhiyun {
4364*4882a593Smuzhiyun return ((val) << A5XX_SP_CS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT) & A5XX_SP_CS_CTRL_REG0_HALFREGFOOTPRINT__MASK;
4365*4882a593Smuzhiyun }
4366*4882a593Smuzhiyun #define A5XX_SP_CS_CTRL_REG0_FULLREGFOOTPRINT__MASK 0x0000fc00
4367*4882a593Smuzhiyun #define A5XX_SP_CS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT 10
A5XX_SP_CS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)4368*4882a593Smuzhiyun static inline uint32_t A5XX_SP_CS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)
4369*4882a593Smuzhiyun {
4370*4882a593Smuzhiyun return ((val) << A5XX_SP_CS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT) & A5XX_SP_CS_CTRL_REG0_FULLREGFOOTPRINT__MASK;
4371*4882a593Smuzhiyun }
4372*4882a593Smuzhiyun #define A5XX_SP_CS_CTRL_REG0_VARYING 0x00010000
4373*4882a593Smuzhiyun #define A5XX_SP_CS_CTRL_REG0_PIXLODENABLE 0x00100000
4374*4882a593Smuzhiyun #define A5XX_SP_CS_CTRL_REG0_BRANCHSTACK__MASK 0xfe000000
4375*4882a593Smuzhiyun #define A5XX_SP_CS_CTRL_REG0_BRANCHSTACK__SHIFT 25
A5XX_SP_CS_CTRL_REG0_BRANCHSTACK(uint32_t val)4376*4882a593Smuzhiyun static inline uint32_t A5XX_SP_CS_CTRL_REG0_BRANCHSTACK(uint32_t val)
4377*4882a593Smuzhiyun {
4378*4882a593Smuzhiyun return ((val) << A5XX_SP_CS_CTRL_REG0_BRANCHSTACK__SHIFT) & A5XX_SP_CS_CTRL_REG0_BRANCHSTACK__MASK;
4379*4882a593Smuzhiyun }
4380*4882a593Smuzhiyun
4381*4882a593Smuzhiyun #define REG_A5XX_UNKNOWN_E5F2 0x0000e5f2
4382*4882a593Smuzhiyun
4383*4882a593Smuzhiyun #define REG_A5XX_SP_CS_OBJ_START_LO 0x0000e5f3
4384*4882a593Smuzhiyun
4385*4882a593Smuzhiyun #define REG_A5XX_SP_CS_OBJ_START_HI 0x0000e5f4
4386*4882a593Smuzhiyun
4387*4882a593Smuzhiyun #define REG_A5XX_SP_HS_CTRL_REG0 0x0000e600
4388*4882a593Smuzhiyun #define A5XX_SP_HS_CTRL_REG0_THREADSIZE__MASK 0x00000008
4389*4882a593Smuzhiyun #define A5XX_SP_HS_CTRL_REG0_THREADSIZE__SHIFT 3
A5XX_SP_HS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)4390*4882a593Smuzhiyun static inline uint32_t A5XX_SP_HS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)
4391*4882a593Smuzhiyun {
4392*4882a593Smuzhiyun return ((val) << A5XX_SP_HS_CTRL_REG0_THREADSIZE__SHIFT) & A5XX_SP_HS_CTRL_REG0_THREADSIZE__MASK;
4393*4882a593Smuzhiyun }
4394*4882a593Smuzhiyun #define A5XX_SP_HS_CTRL_REG0_HALFREGFOOTPRINT__MASK 0x000003f0
4395*4882a593Smuzhiyun #define A5XX_SP_HS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT 4
A5XX_SP_HS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)4396*4882a593Smuzhiyun static inline uint32_t A5XX_SP_HS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)
4397*4882a593Smuzhiyun {
4398*4882a593Smuzhiyun return ((val) << A5XX_SP_HS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT) & A5XX_SP_HS_CTRL_REG0_HALFREGFOOTPRINT__MASK;
4399*4882a593Smuzhiyun }
4400*4882a593Smuzhiyun #define A5XX_SP_HS_CTRL_REG0_FULLREGFOOTPRINT__MASK 0x0000fc00
4401*4882a593Smuzhiyun #define A5XX_SP_HS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT 10
A5XX_SP_HS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)4402*4882a593Smuzhiyun static inline uint32_t A5XX_SP_HS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)
4403*4882a593Smuzhiyun {
4404*4882a593Smuzhiyun return ((val) << A5XX_SP_HS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT) & A5XX_SP_HS_CTRL_REG0_FULLREGFOOTPRINT__MASK;
4405*4882a593Smuzhiyun }
4406*4882a593Smuzhiyun #define A5XX_SP_HS_CTRL_REG0_VARYING 0x00010000
4407*4882a593Smuzhiyun #define A5XX_SP_HS_CTRL_REG0_PIXLODENABLE 0x00100000
4408*4882a593Smuzhiyun #define A5XX_SP_HS_CTRL_REG0_BRANCHSTACK__MASK 0xfe000000
4409*4882a593Smuzhiyun #define A5XX_SP_HS_CTRL_REG0_BRANCHSTACK__SHIFT 25
A5XX_SP_HS_CTRL_REG0_BRANCHSTACK(uint32_t val)4410*4882a593Smuzhiyun static inline uint32_t A5XX_SP_HS_CTRL_REG0_BRANCHSTACK(uint32_t val)
4411*4882a593Smuzhiyun {
4412*4882a593Smuzhiyun return ((val) << A5XX_SP_HS_CTRL_REG0_BRANCHSTACK__SHIFT) & A5XX_SP_HS_CTRL_REG0_BRANCHSTACK__MASK;
4413*4882a593Smuzhiyun }
4414*4882a593Smuzhiyun
4415*4882a593Smuzhiyun #define REG_A5XX_UNKNOWN_E602 0x0000e602
4416*4882a593Smuzhiyun
4417*4882a593Smuzhiyun #define REG_A5XX_SP_HS_OBJ_START_LO 0x0000e603
4418*4882a593Smuzhiyun
4419*4882a593Smuzhiyun #define REG_A5XX_SP_HS_OBJ_START_HI 0x0000e604
4420*4882a593Smuzhiyun
4421*4882a593Smuzhiyun #define REG_A5XX_SP_DS_CTRL_REG0 0x0000e610
4422*4882a593Smuzhiyun #define A5XX_SP_DS_CTRL_REG0_THREADSIZE__MASK 0x00000008
4423*4882a593Smuzhiyun #define A5XX_SP_DS_CTRL_REG0_THREADSIZE__SHIFT 3
A5XX_SP_DS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)4424*4882a593Smuzhiyun static inline uint32_t A5XX_SP_DS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)
4425*4882a593Smuzhiyun {
4426*4882a593Smuzhiyun return ((val) << A5XX_SP_DS_CTRL_REG0_THREADSIZE__SHIFT) & A5XX_SP_DS_CTRL_REG0_THREADSIZE__MASK;
4427*4882a593Smuzhiyun }
4428*4882a593Smuzhiyun #define A5XX_SP_DS_CTRL_REG0_HALFREGFOOTPRINT__MASK 0x000003f0
4429*4882a593Smuzhiyun #define A5XX_SP_DS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT 4
A5XX_SP_DS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)4430*4882a593Smuzhiyun static inline uint32_t A5XX_SP_DS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)
4431*4882a593Smuzhiyun {
4432*4882a593Smuzhiyun return ((val) << A5XX_SP_DS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT) & A5XX_SP_DS_CTRL_REG0_HALFREGFOOTPRINT__MASK;
4433*4882a593Smuzhiyun }
4434*4882a593Smuzhiyun #define A5XX_SP_DS_CTRL_REG0_FULLREGFOOTPRINT__MASK 0x0000fc00
4435*4882a593Smuzhiyun #define A5XX_SP_DS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT 10
A5XX_SP_DS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)4436*4882a593Smuzhiyun static inline uint32_t A5XX_SP_DS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)
4437*4882a593Smuzhiyun {
4438*4882a593Smuzhiyun return ((val) << A5XX_SP_DS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT) & A5XX_SP_DS_CTRL_REG0_FULLREGFOOTPRINT__MASK;
4439*4882a593Smuzhiyun }
4440*4882a593Smuzhiyun #define A5XX_SP_DS_CTRL_REG0_VARYING 0x00010000
4441*4882a593Smuzhiyun #define A5XX_SP_DS_CTRL_REG0_PIXLODENABLE 0x00100000
4442*4882a593Smuzhiyun #define A5XX_SP_DS_CTRL_REG0_BRANCHSTACK__MASK 0xfe000000
4443*4882a593Smuzhiyun #define A5XX_SP_DS_CTRL_REG0_BRANCHSTACK__SHIFT 25
A5XX_SP_DS_CTRL_REG0_BRANCHSTACK(uint32_t val)4444*4882a593Smuzhiyun static inline uint32_t A5XX_SP_DS_CTRL_REG0_BRANCHSTACK(uint32_t val)
4445*4882a593Smuzhiyun {
4446*4882a593Smuzhiyun return ((val) << A5XX_SP_DS_CTRL_REG0_BRANCHSTACK__SHIFT) & A5XX_SP_DS_CTRL_REG0_BRANCHSTACK__MASK;
4447*4882a593Smuzhiyun }
4448*4882a593Smuzhiyun
4449*4882a593Smuzhiyun #define REG_A5XX_UNKNOWN_E62B 0x0000e62b
4450*4882a593Smuzhiyun
4451*4882a593Smuzhiyun #define REG_A5XX_SP_DS_OBJ_START_LO 0x0000e62c
4452*4882a593Smuzhiyun
4453*4882a593Smuzhiyun #define REG_A5XX_SP_DS_OBJ_START_HI 0x0000e62d
4454*4882a593Smuzhiyun
4455*4882a593Smuzhiyun #define REG_A5XX_SP_GS_CTRL_REG0 0x0000e640
4456*4882a593Smuzhiyun #define A5XX_SP_GS_CTRL_REG0_THREADSIZE__MASK 0x00000008
4457*4882a593Smuzhiyun #define A5XX_SP_GS_CTRL_REG0_THREADSIZE__SHIFT 3
A5XX_SP_GS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)4458*4882a593Smuzhiyun static inline uint32_t A5XX_SP_GS_CTRL_REG0_THREADSIZE(enum a3xx_threadsize val)
4459*4882a593Smuzhiyun {
4460*4882a593Smuzhiyun return ((val) << A5XX_SP_GS_CTRL_REG0_THREADSIZE__SHIFT) & A5XX_SP_GS_CTRL_REG0_THREADSIZE__MASK;
4461*4882a593Smuzhiyun }
4462*4882a593Smuzhiyun #define A5XX_SP_GS_CTRL_REG0_HALFREGFOOTPRINT__MASK 0x000003f0
4463*4882a593Smuzhiyun #define A5XX_SP_GS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT 4
A5XX_SP_GS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)4464*4882a593Smuzhiyun static inline uint32_t A5XX_SP_GS_CTRL_REG0_HALFREGFOOTPRINT(uint32_t val)
4465*4882a593Smuzhiyun {
4466*4882a593Smuzhiyun return ((val) << A5XX_SP_GS_CTRL_REG0_HALFREGFOOTPRINT__SHIFT) & A5XX_SP_GS_CTRL_REG0_HALFREGFOOTPRINT__MASK;
4467*4882a593Smuzhiyun }
4468*4882a593Smuzhiyun #define A5XX_SP_GS_CTRL_REG0_FULLREGFOOTPRINT__MASK 0x0000fc00
4469*4882a593Smuzhiyun #define A5XX_SP_GS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT 10
A5XX_SP_GS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)4470*4882a593Smuzhiyun static inline uint32_t A5XX_SP_GS_CTRL_REG0_FULLREGFOOTPRINT(uint32_t val)
4471*4882a593Smuzhiyun {
4472*4882a593Smuzhiyun return ((val) << A5XX_SP_GS_CTRL_REG0_FULLREGFOOTPRINT__SHIFT) & A5XX_SP_GS_CTRL_REG0_FULLREGFOOTPRINT__MASK;
4473*4882a593Smuzhiyun }
4474*4882a593Smuzhiyun #define A5XX_SP_GS_CTRL_REG0_VARYING 0x00010000
4475*4882a593Smuzhiyun #define A5XX_SP_GS_CTRL_REG0_PIXLODENABLE 0x00100000
4476*4882a593Smuzhiyun #define A5XX_SP_GS_CTRL_REG0_BRANCHSTACK__MASK 0xfe000000
4477*4882a593Smuzhiyun #define A5XX_SP_GS_CTRL_REG0_BRANCHSTACK__SHIFT 25
A5XX_SP_GS_CTRL_REG0_BRANCHSTACK(uint32_t val)4478*4882a593Smuzhiyun static inline uint32_t A5XX_SP_GS_CTRL_REG0_BRANCHSTACK(uint32_t val)
4479*4882a593Smuzhiyun {
4480*4882a593Smuzhiyun return ((val) << A5XX_SP_GS_CTRL_REG0_BRANCHSTACK__SHIFT) & A5XX_SP_GS_CTRL_REG0_BRANCHSTACK__MASK;
4481*4882a593Smuzhiyun }
4482*4882a593Smuzhiyun
4483*4882a593Smuzhiyun #define REG_A5XX_UNKNOWN_E65B 0x0000e65b
4484*4882a593Smuzhiyun
4485*4882a593Smuzhiyun #define REG_A5XX_SP_GS_OBJ_START_LO 0x0000e65c
4486*4882a593Smuzhiyun
4487*4882a593Smuzhiyun #define REG_A5XX_SP_GS_OBJ_START_HI 0x0000e65d
4488*4882a593Smuzhiyun
4489*4882a593Smuzhiyun #define REG_A5XX_TPL1_TP_RAS_MSAA_CNTL 0x0000e704
4490*4882a593Smuzhiyun #define A5XX_TPL1_TP_RAS_MSAA_CNTL_SAMPLES__MASK 0x00000003
4491*4882a593Smuzhiyun #define A5XX_TPL1_TP_RAS_MSAA_CNTL_SAMPLES__SHIFT 0
A5XX_TPL1_TP_RAS_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)4492*4882a593Smuzhiyun static inline uint32_t A5XX_TPL1_TP_RAS_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)
4493*4882a593Smuzhiyun {
4494*4882a593Smuzhiyun return ((val) << A5XX_TPL1_TP_RAS_MSAA_CNTL_SAMPLES__SHIFT) & A5XX_TPL1_TP_RAS_MSAA_CNTL_SAMPLES__MASK;
4495*4882a593Smuzhiyun }
4496*4882a593Smuzhiyun
4497*4882a593Smuzhiyun #define REG_A5XX_TPL1_TP_DEST_MSAA_CNTL 0x0000e705
4498*4882a593Smuzhiyun #define A5XX_TPL1_TP_DEST_MSAA_CNTL_SAMPLES__MASK 0x00000003
4499*4882a593Smuzhiyun #define A5XX_TPL1_TP_DEST_MSAA_CNTL_SAMPLES__SHIFT 0
A5XX_TPL1_TP_DEST_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)4500*4882a593Smuzhiyun static inline uint32_t A5XX_TPL1_TP_DEST_MSAA_CNTL_SAMPLES(enum a3xx_msaa_samples val)
4501*4882a593Smuzhiyun {
4502*4882a593Smuzhiyun return ((val) << A5XX_TPL1_TP_DEST_MSAA_CNTL_SAMPLES__SHIFT) & A5XX_TPL1_TP_DEST_MSAA_CNTL_SAMPLES__MASK;
4503*4882a593Smuzhiyun }
4504*4882a593Smuzhiyun #define A5XX_TPL1_TP_DEST_MSAA_CNTL_MSAA_DISABLE 0x00000004
4505*4882a593Smuzhiyun
4506*4882a593Smuzhiyun #define REG_A5XX_TPL1_TP_BORDER_COLOR_BASE_ADDR_LO 0x0000e706
4507*4882a593Smuzhiyun
4508*4882a593Smuzhiyun #define REG_A5XX_TPL1_TP_BORDER_COLOR_BASE_ADDR_HI 0x0000e707
4509*4882a593Smuzhiyun
4510*4882a593Smuzhiyun #define REG_A5XX_TPL1_VS_TEX_COUNT 0x0000e700
4511*4882a593Smuzhiyun
4512*4882a593Smuzhiyun #define REG_A5XX_TPL1_HS_TEX_COUNT 0x0000e701
4513*4882a593Smuzhiyun
4514*4882a593Smuzhiyun #define REG_A5XX_TPL1_DS_TEX_COUNT 0x0000e702
4515*4882a593Smuzhiyun
4516*4882a593Smuzhiyun #define REG_A5XX_TPL1_GS_TEX_COUNT 0x0000e703
4517*4882a593Smuzhiyun
4518*4882a593Smuzhiyun #define REG_A5XX_TPL1_VS_TEX_SAMP_LO 0x0000e722
4519*4882a593Smuzhiyun
4520*4882a593Smuzhiyun #define REG_A5XX_TPL1_VS_TEX_SAMP_HI 0x0000e723
4521*4882a593Smuzhiyun
4522*4882a593Smuzhiyun #define REG_A5XX_TPL1_HS_TEX_SAMP_LO 0x0000e724
4523*4882a593Smuzhiyun
4524*4882a593Smuzhiyun #define REG_A5XX_TPL1_HS_TEX_SAMP_HI 0x0000e725
4525*4882a593Smuzhiyun
4526*4882a593Smuzhiyun #define REG_A5XX_TPL1_DS_TEX_SAMP_LO 0x0000e726
4527*4882a593Smuzhiyun
4528*4882a593Smuzhiyun #define REG_A5XX_TPL1_DS_TEX_SAMP_HI 0x0000e727
4529*4882a593Smuzhiyun
4530*4882a593Smuzhiyun #define REG_A5XX_TPL1_GS_TEX_SAMP_LO 0x0000e728
4531*4882a593Smuzhiyun
4532*4882a593Smuzhiyun #define REG_A5XX_TPL1_GS_TEX_SAMP_HI 0x0000e729
4533*4882a593Smuzhiyun
4534*4882a593Smuzhiyun #define REG_A5XX_TPL1_VS_TEX_CONST_LO 0x0000e72a
4535*4882a593Smuzhiyun
4536*4882a593Smuzhiyun #define REG_A5XX_TPL1_VS_TEX_CONST_HI 0x0000e72b
4537*4882a593Smuzhiyun
4538*4882a593Smuzhiyun #define REG_A5XX_TPL1_HS_TEX_CONST_LO 0x0000e72c
4539*4882a593Smuzhiyun
4540*4882a593Smuzhiyun #define REG_A5XX_TPL1_HS_TEX_CONST_HI 0x0000e72d
4541*4882a593Smuzhiyun
4542*4882a593Smuzhiyun #define REG_A5XX_TPL1_DS_TEX_CONST_LO 0x0000e72e
4543*4882a593Smuzhiyun
4544*4882a593Smuzhiyun #define REG_A5XX_TPL1_DS_TEX_CONST_HI 0x0000e72f
4545*4882a593Smuzhiyun
4546*4882a593Smuzhiyun #define REG_A5XX_TPL1_GS_TEX_CONST_LO 0x0000e730
4547*4882a593Smuzhiyun
4548*4882a593Smuzhiyun #define REG_A5XX_TPL1_GS_TEX_CONST_HI 0x0000e731
4549*4882a593Smuzhiyun
4550*4882a593Smuzhiyun #define REG_A5XX_TPL1_FS_TEX_COUNT 0x0000e750
4551*4882a593Smuzhiyun
4552*4882a593Smuzhiyun #define REG_A5XX_TPL1_CS_TEX_COUNT 0x0000e751
4553*4882a593Smuzhiyun
4554*4882a593Smuzhiyun #define REG_A5XX_TPL1_FS_TEX_SAMP_LO 0x0000e75a
4555*4882a593Smuzhiyun
4556*4882a593Smuzhiyun #define REG_A5XX_TPL1_FS_TEX_SAMP_HI 0x0000e75b
4557*4882a593Smuzhiyun
4558*4882a593Smuzhiyun #define REG_A5XX_TPL1_CS_TEX_SAMP_LO 0x0000e75c
4559*4882a593Smuzhiyun
4560*4882a593Smuzhiyun #define REG_A5XX_TPL1_CS_TEX_SAMP_HI 0x0000e75d
4561*4882a593Smuzhiyun
4562*4882a593Smuzhiyun #define REG_A5XX_TPL1_FS_TEX_CONST_LO 0x0000e75e
4563*4882a593Smuzhiyun
4564*4882a593Smuzhiyun #define REG_A5XX_TPL1_FS_TEX_CONST_HI 0x0000e75f
4565*4882a593Smuzhiyun
4566*4882a593Smuzhiyun #define REG_A5XX_TPL1_CS_TEX_CONST_LO 0x0000e760
4567*4882a593Smuzhiyun
4568*4882a593Smuzhiyun #define REG_A5XX_TPL1_CS_TEX_CONST_HI 0x0000e761
4569*4882a593Smuzhiyun
4570*4882a593Smuzhiyun #define REG_A5XX_TPL1_TP_FS_ROTATION_CNTL 0x0000e764
4571*4882a593Smuzhiyun
4572*4882a593Smuzhiyun #define REG_A5XX_HLSQ_CONTROL_0_REG 0x0000e784
4573*4882a593Smuzhiyun #define A5XX_HLSQ_CONTROL_0_REG_FSTHREADSIZE__MASK 0x00000001
4574*4882a593Smuzhiyun #define A5XX_HLSQ_CONTROL_0_REG_FSTHREADSIZE__SHIFT 0
A5XX_HLSQ_CONTROL_0_REG_FSTHREADSIZE(enum a3xx_threadsize val)4575*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_CONTROL_0_REG_FSTHREADSIZE(enum a3xx_threadsize val)
4576*4882a593Smuzhiyun {
4577*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_CONTROL_0_REG_FSTHREADSIZE__SHIFT) & A5XX_HLSQ_CONTROL_0_REG_FSTHREADSIZE__MASK;
4578*4882a593Smuzhiyun }
4579*4882a593Smuzhiyun #define A5XX_HLSQ_CONTROL_0_REG_CSTHREADSIZE__MASK 0x00000004
4580*4882a593Smuzhiyun #define A5XX_HLSQ_CONTROL_0_REG_CSTHREADSIZE__SHIFT 2
A5XX_HLSQ_CONTROL_0_REG_CSTHREADSIZE(enum a3xx_threadsize val)4581*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_CONTROL_0_REG_CSTHREADSIZE(enum a3xx_threadsize val)
4582*4882a593Smuzhiyun {
4583*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_CONTROL_0_REG_CSTHREADSIZE__SHIFT) & A5XX_HLSQ_CONTROL_0_REG_CSTHREADSIZE__MASK;
4584*4882a593Smuzhiyun }
4585*4882a593Smuzhiyun
4586*4882a593Smuzhiyun #define REG_A5XX_HLSQ_CONTROL_1_REG 0x0000e785
4587*4882a593Smuzhiyun #define A5XX_HLSQ_CONTROL_1_REG_PRIMALLOCTHRESHOLD__MASK 0x0000003f
4588*4882a593Smuzhiyun #define A5XX_HLSQ_CONTROL_1_REG_PRIMALLOCTHRESHOLD__SHIFT 0
A5XX_HLSQ_CONTROL_1_REG_PRIMALLOCTHRESHOLD(uint32_t val)4589*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_CONTROL_1_REG_PRIMALLOCTHRESHOLD(uint32_t val)
4590*4882a593Smuzhiyun {
4591*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_CONTROL_1_REG_PRIMALLOCTHRESHOLD__SHIFT) & A5XX_HLSQ_CONTROL_1_REG_PRIMALLOCTHRESHOLD__MASK;
4592*4882a593Smuzhiyun }
4593*4882a593Smuzhiyun
4594*4882a593Smuzhiyun #define REG_A5XX_HLSQ_CONTROL_2_REG 0x0000e786
4595*4882a593Smuzhiyun #define A5XX_HLSQ_CONTROL_2_REG_FACEREGID__MASK 0x000000ff
4596*4882a593Smuzhiyun #define A5XX_HLSQ_CONTROL_2_REG_FACEREGID__SHIFT 0
A5XX_HLSQ_CONTROL_2_REG_FACEREGID(uint32_t val)4597*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_CONTROL_2_REG_FACEREGID(uint32_t val)
4598*4882a593Smuzhiyun {
4599*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_CONTROL_2_REG_FACEREGID__SHIFT) & A5XX_HLSQ_CONTROL_2_REG_FACEREGID__MASK;
4600*4882a593Smuzhiyun }
4601*4882a593Smuzhiyun #define A5XX_HLSQ_CONTROL_2_REG_SAMPLEID__MASK 0x0000ff00
4602*4882a593Smuzhiyun #define A5XX_HLSQ_CONTROL_2_REG_SAMPLEID__SHIFT 8
A5XX_HLSQ_CONTROL_2_REG_SAMPLEID(uint32_t val)4603*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_CONTROL_2_REG_SAMPLEID(uint32_t val)
4604*4882a593Smuzhiyun {
4605*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_CONTROL_2_REG_SAMPLEID__SHIFT) & A5XX_HLSQ_CONTROL_2_REG_SAMPLEID__MASK;
4606*4882a593Smuzhiyun }
4607*4882a593Smuzhiyun #define A5XX_HLSQ_CONTROL_2_REG_SAMPLEMASK__MASK 0x00ff0000
4608*4882a593Smuzhiyun #define A5XX_HLSQ_CONTROL_2_REG_SAMPLEMASK__SHIFT 16
A5XX_HLSQ_CONTROL_2_REG_SAMPLEMASK(uint32_t val)4609*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_CONTROL_2_REG_SAMPLEMASK(uint32_t val)
4610*4882a593Smuzhiyun {
4611*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_CONTROL_2_REG_SAMPLEMASK__SHIFT) & A5XX_HLSQ_CONTROL_2_REG_SAMPLEMASK__MASK;
4612*4882a593Smuzhiyun }
4613*4882a593Smuzhiyun #define A5XX_HLSQ_CONTROL_2_REG_SIZE__MASK 0xff000000
4614*4882a593Smuzhiyun #define A5XX_HLSQ_CONTROL_2_REG_SIZE__SHIFT 24
A5XX_HLSQ_CONTROL_2_REG_SIZE(uint32_t val)4615*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_CONTROL_2_REG_SIZE(uint32_t val)
4616*4882a593Smuzhiyun {
4617*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_CONTROL_2_REG_SIZE__SHIFT) & A5XX_HLSQ_CONTROL_2_REG_SIZE__MASK;
4618*4882a593Smuzhiyun }
4619*4882a593Smuzhiyun
4620*4882a593Smuzhiyun #define REG_A5XX_HLSQ_CONTROL_3_REG 0x0000e787
4621*4882a593Smuzhiyun #define A5XX_HLSQ_CONTROL_3_REG_IJ_PERSP_PIXEL__MASK 0x000000ff
4622*4882a593Smuzhiyun #define A5XX_HLSQ_CONTROL_3_REG_IJ_PERSP_PIXEL__SHIFT 0
A5XX_HLSQ_CONTROL_3_REG_IJ_PERSP_PIXEL(uint32_t val)4623*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_CONTROL_3_REG_IJ_PERSP_PIXEL(uint32_t val)
4624*4882a593Smuzhiyun {
4625*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_CONTROL_3_REG_IJ_PERSP_PIXEL__SHIFT) & A5XX_HLSQ_CONTROL_3_REG_IJ_PERSP_PIXEL__MASK;
4626*4882a593Smuzhiyun }
4627*4882a593Smuzhiyun #define A5XX_HLSQ_CONTROL_3_REG_IJ_LINEAR_PIXEL__MASK 0x0000ff00
4628*4882a593Smuzhiyun #define A5XX_HLSQ_CONTROL_3_REG_IJ_LINEAR_PIXEL__SHIFT 8
A5XX_HLSQ_CONTROL_3_REG_IJ_LINEAR_PIXEL(uint32_t val)4629*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_CONTROL_3_REG_IJ_LINEAR_PIXEL(uint32_t val)
4630*4882a593Smuzhiyun {
4631*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_CONTROL_3_REG_IJ_LINEAR_PIXEL__SHIFT) & A5XX_HLSQ_CONTROL_3_REG_IJ_LINEAR_PIXEL__MASK;
4632*4882a593Smuzhiyun }
4633*4882a593Smuzhiyun #define A5XX_HLSQ_CONTROL_3_REG_IJ_PERSP_CENTROID__MASK 0x00ff0000
4634*4882a593Smuzhiyun #define A5XX_HLSQ_CONTROL_3_REG_IJ_PERSP_CENTROID__SHIFT 16
A5XX_HLSQ_CONTROL_3_REG_IJ_PERSP_CENTROID(uint32_t val)4635*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_CONTROL_3_REG_IJ_PERSP_CENTROID(uint32_t val)
4636*4882a593Smuzhiyun {
4637*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_CONTROL_3_REG_IJ_PERSP_CENTROID__SHIFT) & A5XX_HLSQ_CONTROL_3_REG_IJ_PERSP_CENTROID__MASK;
4638*4882a593Smuzhiyun }
4639*4882a593Smuzhiyun #define A5XX_HLSQ_CONTROL_3_REG_IJ_LINEAR_CENTROID__MASK 0xff000000
4640*4882a593Smuzhiyun #define A5XX_HLSQ_CONTROL_3_REG_IJ_LINEAR_CENTROID__SHIFT 24
A5XX_HLSQ_CONTROL_3_REG_IJ_LINEAR_CENTROID(uint32_t val)4641*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_CONTROL_3_REG_IJ_LINEAR_CENTROID(uint32_t val)
4642*4882a593Smuzhiyun {
4643*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_CONTROL_3_REG_IJ_LINEAR_CENTROID__SHIFT) & A5XX_HLSQ_CONTROL_3_REG_IJ_LINEAR_CENTROID__MASK;
4644*4882a593Smuzhiyun }
4645*4882a593Smuzhiyun
4646*4882a593Smuzhiyun #define REG_A5XX_HLSQ_CONTROL_4_REG 0x0000e788
4647*4882a593Smuzhiyun #define A5XX_HLSQ_CONTROL_4_REG_IJ_PERSP_SAMPLE__MASK 0x000000ff
4648*4882a593Smuzhiyun #define A5XX_HLSQ_CONTROL_4_REG_IJ_PERSP_SAMPLE__SHIFT 0
A5XX_HLSQ_CONTROL_4_REG_IJ_PERSP_SAMPLE(uint32_t val)4649*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_CONTROL_4_REG_IJ_PERSP_SAMPLE(uint32_t val)
4650*4882a593Smuzhiyun {
4651*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_CONTROL_4_REG_IJ_PERSP_SAMPLE__SHIFT) & A5XX_HLSQ_CONTROL_4_REG_IJ_PERSP_SAMPLE__MASK;
4652*4882a593Smuzhiyun }
4653*4882a593Smuzhiyun #define A5XX_HLSQ_CONTROL_4_REG_IJ_LINEAR_SAMPLE__MASK 0x0000ff00
4654*4882a593Smuzhiyun #define A5XX_HLSQ_CONTROL_4_REG_IJ_LINEAR_SAMPLE__SHIFT 8
A5XX_HLSQ_CONTROL_4_REG_IJ_LINEAR_SAMPLE(uint32_t val)4655*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_CONTROL_4_REG_IJ_LINEAR_SAMPLE(uint32_t val)
4656*4882a593Smuzhiyun {
4657*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_CONTROL_4_REG_IJ_LINEAR_SAMPLE__SHIFT) & A5XX_HLSQ_CONTROL_4_REG_IJ_LINEAR_SAMPLE__MASK;
4658*4882a593Smuzhiyun }
4659*4882a593Smuzhiyun #define A5XX_HLSQ_CONTROL_4_REG_XYCOORDREGID__MASK 0x00ff0000
4660*4882a593Smuzhiyun #define A5XX_HLSQ_CONTROL_4_REG_XYCOORDREGID__SHIFT 16
A5XX_HLSQ_CONTROL_4_REG_XYCOORDREGID(uint32_t val)4661*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_CONTROL_4_REG_XYCOORDREGID(uint32_t val)
4662*4882a593Smuzhiyun {
4663*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_CONTROL_4_REG_XYCOORDREGID__SHIFT) & A5XX_HLSQ_CONTROL_4_REG_XYCOORDREGID__MASK;
4664*4882a593Smuzhiyun }
4665*4882a593Smuzhiyun #define A5XX_HLSQ_CONTROL_4_REG_ZWCOORDREGID__MASK 0xff000000
4666*4882a593Smuzhiyun #define A5XX_HLSQ_CONTROL_4_REG_ZWCOORDREGID__SHIFT 24
A5XX_HLSQ_CONTROL_4_REG_ZWCOORDREGID(uint32_t val)4667*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_CONTROL_4_REG_ZWCOORDREGID(uint32_t val)
4668*4882a593Smuzhiyun {
4669*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_CONTROL_4_REG_ZWCOORDREGID__SHIFT) & A5XX_HLSQ_CONTROL_4_REG_ZWCOORDREGID__MASK;
4670*4882a593Smuzhiyun }
4671*4882a593Smuzhiyun
4672*4882a593Smuzhiyun #define REG_A5XX_HLSQ_UPDATE_CNTL 0x0000e78a
4673*4882a593Smuzhiyun
4674*4882a593Smuzhiyun #define REG_A5XX_HLSQ_VS_CONFIG 0x0000e78b
4675*4882a593Smuzhiyun #define A5XX_HLSQ_VS_CONFIG_ENABLED 0x00000001
4676*4882a593Smuzhiyun #define A5XX_HLSQ_VS_CONFIG_CONSTOBJECTOFFSET__MASK 0x000000fe
4677*4882a593Smuzhiyun #define A5XX_HLSQ_VS_CONFIG_CONSTOBJECTOFFSET__SHIFT 1
A5XX_HLSQ_VS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)4678*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_VS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)
4679*4882a593Smuzhiyun {
4680*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_VS_CONFIG_CONSTOBJECTOFFSET__SHIFT) & A5XX_HLSQ_VS_CONFIG_CONSTOBJECTOFFSET__MASK;
4681*4882a593Smuzhiyun }
4682*4882a593Smuzhiyun #define A5XX_HLSQ_VS_CONFIG_SHADEROBJOFFSET__MASK 0x00007f00
4683*4882a593Smuzhiyun #define A5XX_HLSQ_VS_CONFIG_SHADEROBJOFFSET__SHIFT 8
A5XX_HLSQ_VS_CONFIG_SHADEROBJOFFSET(uint32_t val)4684*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_VS_CONFIG_SHADEROBJOFFSET(uint32_t val)
4685*4882a593Smuzhiyun {
4686*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_VS_CONFIG_SHADEROBJOFFSET__SHIFT) & A5XX_HLSQ_VS_CONFIG_SHADEROBJOFFSET__MASK;
4687*4882a593Smuzhiyun }
4688*4882a593Smuzhiyun
4689*4882a593Smuzhiyun #define REG_A5XX_HLSQ_FS_CONFIG 0x0000e78c
4690*4882a593Smuzhiyun #define A5XX_HLSQ_FS_CONFIG_ENABLED 0x00000001
4691*4882a593Smuzhiyun #define A5XX_HLSQ_FS_CONFIG_CONSTOBJECTOFFSET__MASK 0x000000fe
4692*4882a593Smuzhiyun #define A5XX_HLSQ_FS_CONFIG_CONSTOBJECTOFFSET__SHIFT 1
A5XX_HLSQ_FS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)4693*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_FS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)
4694*4882a593Smuzhiyun {
4695*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_FS_CONFIG_CONSTOBJECTOFFSET__SHIFT) & A5XX_HLSQ_FS_CONFIG_CONSTOBJECTOFFSET__MASK;
4696*4882a593Smuzhiyun }
4697*4882a593Smuzhiyun #define A5XX_HLSQ_FS_CONFIG_SHADEROBJOFFSET__MASK 0x00007f00
4698*4882a593Smuzhiyun #define A5XX_HLSQ_FS_CONFIG_SHADEROBJOFFSET__SHIFT 8
A5XX_HLSQ_FS_CONFIG_SHADEROBJOFFSET(uint32_t val)4699*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_FS_CONFIG_SHADEROBJOFFSET(uint32_t val)
4700*4882a593Smuzhiyun {
4701*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_FS_CONFIG_SHADEROBJOFFSET__SHIFT) & A5XX_HLSQ_FS_CONFIG_SHADEROBJOFFSET__MASK;
4702*4882a593Smuzhiyun }
4703*4882a593Smuzhiyun
4704*4882a593Smuzhiyun #define REG_A5XX_HLSQ_HS_CONFIG 0x0000e78d
4705*4882a593Smuzhiyun #define A5XX_HLSQ_HS_CONFIG_ENABLED 0x00000001
4706*4882a593Smuzhiyun #define A5XX_HLSQ_HS_CONFIG_CONSTOBJECTOFFSET__MASK 0x000000fe
4707*4882a593Smuzhiyun #define A5XX_HLSQ_HS_CONFIG_CONSTOBJECTOFFSET__SHIFT 1
A5XX_HLSQ_HS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)4708*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_HS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)
4709*4882a593Smuzhiyun {
4710*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_HS_CONFIG_CONSTOBJECTOFFSET__SHIFT) & A5XX_HLSQ_HS_CONFIG_CONSTOBJECTOFFSET__MASK;
4711*4882a593Smuzhiyun }
4712*4882a593Smuzhiyun #define A5XX_HLSQ_HS_CONFIG_SHADEROBJOFFSET__MASK 0x00007f00
4713*4882a593Smuzhiyun #define A5XX_HLSQ_HS_CONFIG_SHADEROBJOFFSET__SHIFT 8
A5XX_HLSQ_HS_CONFIG_SHADEROBJOFFSET(uint32_t val)4714*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_HS_CONFIG_SHADEROBJOFFSET(uint32_t val)
4715*4882a593Smuzhiyun {
4716*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_HS_CONFIG_SHADEROBJOFFSET__SHIFT) & A5XX_HLSQ_HS_CONFIG_SHADEROBJOFFSET__MASK;
4717*4882a593Smuzhiyun }
4718*4882a593Smuzhiyun
4719*4882a593Smuzhiyun #define REG_A5XX_HLSQ_DS_CONFIG 0x0000e78e
4720*4882a593Smuzhiyun #define A5XX_HLSQ_DS_CONFIG_ENABLED 0x00000001
4721*4882a593Smuzhiyun #define A5XX_HLSQ_DS_CONFIG_CONSTOBJECTOFFSET__MASK 0x000000fe
4722*4882a593Smuzhiyun #define A5XX_HLSQ_DS_CONFIG_CONSTOBJECTOFFSET__SHIFT 1
A5XX_HLSQ_DS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)4723*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_DS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)
4724*4882a593Smuzhiyun {
4725*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_DS_CONFIG_CONSTOBJECTOFFSET__SHIFT) & A5XX_HLSQ_DS_CONFIG_CONSTOBJECTOFFSET__MASK;
4726*4882a593Smuzhiyun }
4727*4882a593Smuzhiyun #define A5XX_HLSQ_DS_CONFIG_SHADEROBJOFFSET__MASK 0x00007f00
4728*4882a593Smuzhiyun #define A5XX_HLSQ_DS_CONFIG_SHADEROBJOFFSET__SHIFT 8
A5XX_HLSQ_DS_CONFIG_SHADEROBJOFFSET(uint32_t val)4729*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_DS_CONFIG_SHADEROBJOFFSET(uint32_t val)
4730*4882a593Smuzhiyun {
4731*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_DS_CONFIG_SHADEROBJOFFSET__SHIFT) & A5XX_HLSQ_DS_CONFIG_SHADEROBJOFFSET__MASK;
4732*4882a593Smuzhiyun }
4733*4882a593Smuzhiyun
4734*4882a593Smuzhiyun #define REG_A5XX_HLSQ_GS_CONFIG 0x0000e78f
4735*4882a593Smuzhiyun #define A5XX_HLSQ_GS_CONFIG_ENABLED 0x00000001
4736*4882a593Smuzhiyun #define A5XX_HLSQ_GS_CONFIG_CONSTOBJECTOFFSET__MASK 0x000000fe
4737*4882a593Smuzhiyun #define A5XX_HLSQ_GS_CONFIG_CONSTOBJECTOFFSET__SHIFT 1
A5XX_HLSQ_GS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)4738*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_GS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)
4739*4882a593Smuzhiyun {
4740*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_GS_CONFIG_CONSTOBJECTOFFSET__SHIFT) & A5XX_HLSQ_GS_CONFIG_CONSTOBJECTOFFSET__MASK;
4741*4882a593Smuzhiyun }
4742*4882a593Smuzhiyun #define A5XX_HLSQ_GS_CONFIG_SHADEROBJOFFSET__MASK 0x00007f00
4743*4882a593Smuzhiyun #define A5XX_HLSQ_GS_CONFIG_SHADEROBJOFFSET__SHIFT 8
A5XX_HLSQ_GS_CONFIG_SHADEROBJOFFSET(uint32_t val)4744*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_GS_CONFIG_SHADEROBJOFFSET(uint32_t val)
4745*4882a593Smuzhiyun {
4746*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_GS_CONFIG_SHADEROBJOFFSET__SHIFT) & A5XX_HLSQ_GS_CONFIG_SHADEROBJOFFSET__MASK;
4747*4882a593Smuzhiyun }
4748*4882a593Smuzhiyun
4749*4882a593Smuzhiyun #define REG_A5XX_HLSQ_CS_CONFIG 0x0000e790
4750*4882a593Smuzhiyun #define A5XX_HLSQ_CS_CONFIG_ENABLED 0x00000001
4751*4882a593Smuzhiyun #define A5XX_HLSQ_CS_CONFIG_CONSTOBJECTOFFSET__MASK 0x000000fe
4752*4882a593Smuzhiyun #define A5XX_HLSQ_CS_CONFIG_CONSTOBJECTOFFSET__SHIFT 1
A5XX_HLSQ_CS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)4753*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_CS_CONFIG_CONSTOBJECTOFFSET(uint32_t val)
4754*4882a593Smuzhiyun {
4755*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_CS_CONFIG_CONSTOBJECTOFFSET__SHIFT) & A5XX_HLSQ_CS_CONFIG_CONSTOBJECTOFFSET__MASK;
4756*4882a593Smuzhiyun }
4757*4882a593Smuzhiyun #define A5XX_HLSQ_CS_CONFIG_SHADEROBJOFFSET__MASK 0x00007f00
4758*4882a593Smuzhiyun #define A5XX_HLSQ_CS_CONFIG_SHADEROBJOFFSET__SHIFT 8
A5XX_HLSQ_CS_CONFIG_SHADEROBJOFFSET(uint32_t val)4759*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_CS_CONFIG_SHADEROBJOFFSET(uint32_t val)
4760*4882a593Smuzhiyun {
4761*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_CS_CONFIG_SHADEROBJOFFSET__SHIFT) & A5XX_HLSQ_CS_CONFIG_SHADEROBJOFFSET__MASK;
4762*4882a593Smuzhiyun }
4763*4882a593Smuzhiyun
4764*4882a593Smuzhiyun #define REG_A5XX_HLSQ_VS_CNTL 0x0000e791
4765*4882a593Smuzhiyun #define A5XX_HLSQ_VS_CNTL_SSBO_ENABLE 0x00000001
4766*4882a593Smuzhiyun #define A5XX_HLSQ_VS_CNTL_INSTRLEN__MASK 0xfffffffe
4767*4882a593Smuzhiyun #define A5XX_HLSQ_VS_CNTL_INSTRLEN__SHIFT 1
A5XX_HLSQ_VS_CNTL_INSTRLEN(uint32_t val)4768*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_VS_CNTL_INSTRLEN(uint32_t val)
4769*4882a593Smuzhiyun {
4770*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_VS_CNTL_INSTRLEN__SHIFT) & A5XX_HLSQ_VS_CNTL_INSTRLEN__MASK;
4771*4882a593Smuzhiyun }
4772*4882a593Smuzhiyun
4773*4882a593Smuzhiyun #define REG_A5XX_HLSQ_FS_CNTL 0x0000e792
4774*4882a593Smuzhiyun #define A5XX_HLSQ_FS_CNTL_SSBO_ENABLE 0x00000001
4775*4882a593Smuzhiyun #define A5XX_HLSQ_FS_CNTL_INSTRLEN__MASK 0xfffffffe
4776*4882a593Smuzhiyun #define A5XX_HLSQ_FS_CNTL_INSTRLEN__SHIFT 1
A5XX_HLSQ_FS_CNTL_INSTRLEN(uint32_t val)4777*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_FS_CNTL_INSTRLEN(uint32_t val)
4778*4882a593Smuzhiyun {
4779*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_FS_CNTL_INSTRLEN__SHIFT) & A5XX_HLSQ_FS_CNTL_INSTRLEN__MASK;
4780*4882a593Smuzhiyun }
4781*4882a593Smuzhiyun
4782*4882a593Smuzhiyun #define REG_A5XX_HLSQ_HS_CNTL 0x0000e793
4783*4882a593Smuzhiyun #define A5XX_HLSQ_HS_CNTL_SSBO_ENABLE 0x00000001
4784*4882a593Smuzhiyun #define A5XX_HLSQ_HS_CNTL_INSTRLEN__MASK 0xfffffffe
4785*4882a593Smuzhiyun #define A5XX_HLSQ_HS_CNTL_INSTRLEN__SHIFT 1
A5XX_HLSQ_HS_CNTL_INSTRLEN(uint32_t val)4786*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_HS_CNTL_INSTRLEN(uint32_t val)
4787*4882a593Smuzhiyun {
4788*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_HS_CNTL_INSTRLEN__SHIFT) & A5XX_HLSQ_HS_CNTL_INSTRLEN__MASK;
4789*4882a593Smuzhiyun }
4790*4882a593Smuzhiyun
4791*4882a593Smuzhiyun #define REG_A5XX_HLSQ_DS_CNTL 0x0000e794
4792*4882a593Smuzhiyun #define A5XX_HLSQ_DS_CNTL_SSBO_ENABLE 0x00000001
4793*4882a593Smuzhiyun #define A5XX_HLSQ_DS_CNTL_INSTRLEN__MASK 0xfffffffe
4794*4882a593Smuzhiyun #define A5XX_HLSQ_DS_CNTL_INSTRLEN__SHIFT 1
A5XX_HLSQ_DS_CNTL_INSTRLEN(uint32_t val)4795*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_DS_CNTL_INSTRLEN(uint32_t val)
4796*4882a593Smuzhiyun {
4797*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_DS_CNTL_INSTRLEN__SHIFT) & A5XX_HLSQ_DS_CNTL_INSTRLEN__MASK;
4798*4882a593Smuzhiyun }
4799*4882a593Smuzhiyun
4800*4882a593Smuzhiyun #define REG_A5XX_HLSQ_GS_CNTL 0x0000e795
4801*4882a593Smuzhiyun #define A5XX_HLSQ_GS_CNTL_SSBO_ENABLE 0x00000001
4802*4882a593Smuzhiyun #define A5XX_HLSQ_GS_CNTL_INSTRLEN__MASK 0xfffffffe
4803*4882a593Smuzhiyun #define A5XX_HLSQ_GS_CNTL_INSTRLEN__SHIFT 1
A5XX_HLSQ_GS_CNTL_INSTRLEN(uint32_t val)4804*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_GS_CNTL_INSTRLEN(uint32_t val)
4805*4882a593Smuzhiyun {
4806*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_GS_CNTL_INSTRLEN__SHIFT) & A5XX_HLSQ_GS_CNTL_INSTRLEN__MASK;
4807*4882a593Smuzhiyun }
4808*4882a593Smuzhiyun
4809*4882a593Smuzhiyun #define REG_A5XX_HLSQ_CS_CNTL 0x0000e796
4810*4882a593Smuzhiyun #define A5XX_HLSQ_CS_CNTL_SSBO_ENABLE 0x00000001
4811*4882a593Smuzhiyun #define A5XX_HLSQ_CS_CNTL_INSTRLEN__MASK 0xfffffffe
4812*4882a593Smuzhiyun #define A5XX_HLSQ_CS_CNTL_INSTRLEN__SHIFT 1
A5XX_HLSQ_CS_CNTL_INSTRLEN(uint32_t val)4813*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_CS_CNTL_INSTRLEN(uint32_t val)
4814*4882a593Smuzhiyun {
4815*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_CS_CNTL_INSTRLEN__SHIFT) & A5XX_HLSQ_CS_CNTL_INSTRLEN__MASK;
4816*4882a593Smuzhiyun }
4817*4882a593Smuzhiyun
4818*4882a593Smuzhiyun #define REG_A5XX_HLSQ_CS_KERNEL_GROUP_X 0x0000e7b9
4819*4882a593Smuzhiyun
4820*4882a593Smuzhiyun #define REG_A5XX_HLSQ_CS_KERNEL_GROUP_Y 0x0000e7ba
4821*4882a593Smuzhiyun
4822*4882a593Smuzhiyun #define REG_A5XX_HLSQ_CS_KERNEL_GROUP_Z 0x0000e7bb
4823*4882a593Smuzhiyun
4824*4882a593Smuzhiyun #define REG_A5XX_HLSQ_CS_NDRANGE_0 0x0000e7b0
4825*4882a593Smuzhiyun #define A5XX_HLSQ_CS_NDRANGE_0_KERNELDIM__MASK 0x00000003
4826*4882a593Smuzhiyun #define A5XX_HLSQ_CS_NDRANGE_0_KERNELDIM__SHIFT 0
A5XX_HLSQ_CS_NDRANGE_0_KERNELDIM(uint32_t val)4827*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_CS_NDRANGE_0_KERNELDIM(uint32_t val)
4828*4882a593Smuzhiyun {
4829*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_CS_NDRANGE_0_KERNELDIM__SHIFT) & A5XX_HLSQ_CS_NDRANGE_0_KERNELDIM__MASK;
4830*4882a593Smuzhiyun }
4831*4882a593Smuzhiyun #define A5XX_HLSQ_CS_NDRANGE_0_LOCALSIZEX__MASK 0x00000ffc
4832*4882a593Smuzhiyun #define A5XX_HLSQ_CS_NDRANGE_0_LOCALSIZEX__SHIFT 2
A5XX_HLSQ_CS_NDRANGE_0_LOCALSIZEX(uint32_t val)4833*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_CS_NDRANGE_0_LOCALSIZEX(uint32_t val)
4834*4882a593Smuzhiyun {
4835*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_CS_NDRANGE_0_LOCALSIZEX__SHIFT) & A5XX_HLSQ_CS_NDRANGE_0_LOCALSIZEX__MASK;
4836*4882a593Smuzhiyun }
4837*4882a593Smuzhiyun #define A5XX_HLSQ_CS_NDRANGE_0_LOCALSIZEY__MASK 0x003ff000
4838*4882a593Smuzhiyun #define A5XX_HLSQ_CS_NDRANGE_0_LOCALSIZEY__SHIFT 12
A5XX_HLSQ_CS_NDRANGE_0_LOCALSIZEY(uint32_t val)4839*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_CS_NDRANGE_0_LOCALSIZEY(uint32_t val)
4840*4882a593Smuzhiyun {
4841*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_CS_NDRANGE_0_LOCALSIZEY__SHIFT) & A5XX_HLSQ_CS_NDRANGE_0_LOCALSIZEY__MASK;
4842*4882a593Smuzhiyun }
4843*4882a593Smuzhiyun #define A5XX_HLSQ_CS_NDRANGE_0_LOCALSIZEZ__MASK 0xffc00000
4844*4882a593Smuzhiyun #define A5XX_HLSQ_CS_NDRANGE_0_LOCALSIZEZ__SHIFT 22
A5XX_HLSQ_CS_NDRANGE_0_LOCALSIZEZ(uint32_t val)4845*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_CS_NDRANGE_0_LOCALSIZEZ(uint32_t val)
4846*4882a593Smuzhiyun {
4847*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_CS_NDRANGE_0_LOCALSIZEZ__SHIFT) & A5XX_HLSQ_CS_NDRANGE_0_LOCALSIZEZ__MASK;
4848*4882a593Smuzhiyun }
4849*4882a593Smuzhiyun
4850*4882a593Smuzhiyun #define REG_A5XX_HLSQ_CS_NDRANGE_1 0x0000e7b1
4851*4882a593Smuzhiyun #define A5XX_HLSQ_CS_NDRANGE_1_GLOBALSIZE_X__MASK 0xffffffff
4852*4882a593Smuzhiyun #define A5XX_HLSQ_CS_NDRANGE_1_GLOBALSIZE_X__SHIFT 0
A5XX_HLSQ_CS_NDRANGE_1_GLOBALSIZE_X(uint32_t val)4853*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_CS_NDRANGE_1_GLOBALSIZE_X(uint32_t val)
4854*4882a593Smuzhiyun {
4855*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_CS_NDRANGE_1_GLOBALSIZE_X__SHIFT) & A5XX_HLSQ_CS_NDRANGE_1_GLOBALSIZE_X__MASK;
4856*4882a593Smuzhiyun }
4857*4882a593Smuzhiyun
4858*4882a593Smuzhiyun #define REG_A5XX_HLSQ_CS_NDRANGE_2 0x0000e7b2
4859*4882a593Smuzhiyun #define A5XX_HLSQ_CS_NDRANGE_2_GLOBALOFF_X__MASK 0xffffffff
4860*4882a593Smuzhiyun #define A5XX_HLSQ_CS_NDRANGE_2_GLOBALOFF_X__SHIFT 0
A5XX_HLSQ_CS_NDRANGE_2_GLOBALOFF_X(uint32_t val)4861*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_CS_NDRANGE_2_GLOBALOFF_X(uint32_t val)
4862*4882a593Smuzhiyun {
4863*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_CS_NDRANGE_2_GLOBALOFF_X__SHIFT) & A5XX_HLSQ_CS_NDRANGE_2_GLOBALOFF_X__MASK;
4864*4882a593Smuzhiyun }
4865*4882a593Smuzhiyun
4866*4882a593Smuzhiyun #define REG_A5XX_HLSQ_CS_NDRANGE_3 0x0000e7b3
4867*4882a593Smuzhiyun #define A5XX_HLSQ_CS_NDRANGE_3_GLOBALSIZE_Y__MASK 0xffffffff
4868*4882a593Smuzhiyun #define A5XX_HLSQ_CS_NDRANGE_3_GLOBALSIZE_Y__SHIFT 0
A5XX_HLSQ_CS_NDRANGE_3_GLOBALSIZE_Y(uint32_t val)4869*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_CS_NDRANGE_3_GLOBALSIZE_Y(uint32_t val)
4870*4882a593Smuzhiyun {
4871*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_CS_NDRANGE_3_GLOBALSIZE_Y__SHIFT) & A5XX_HLSQ_CS_NDRANGE_3_GLOBALSIZE_Y__MASK;
4872*4882a593Smuzhiyun }
4873*4882a593Smuzhiyun
4874*4882a593Smuzhiyun #define REG_A5XX_HLSQ_CS_NDRANGE_4 0x0000e7b4
4875*4882a593Smuzhiyun #define A5XX_HLSQ_CS_NDRANGE_4_GLOBALOFF_Y__MASK 0xffffffff
4876*4882a593Smuzhiyun #define A5XX_HLSQ_CS_NDRANGE_4_GLOBALOFF_Y__SHIFT 0
A5XX_HLSQ_CS_NDRANGE_4_GLOBALOFF_Y(uint32_t val)4877*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_CS_NDRANGE_4_GLOBALOFF_Y(uint32_t val)
4878*4882a593Smuzhiyun {
4879*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_CS_NDRANGE_4_GLOBALOFF_Y__SHIFT) & A5XX_HLSQ_CS_NDRANGE_4_GLOBALOFF_Y__MASK;
4880*4882a593Smuzhiyun }
4881*4882a593Smuzhiyun
4882*4882a593Smuzhiyun #define REG_A5XX_HLSQ_CS_NDRANGE_5 0x0000e7b5
4883*4882a593Smuzhiyun #define A5XX_HLSQ_CS_NDRANGE_5_GLOBALSIZE_Z__MASK 0xffffffff
4884*4882a593Smuzhiyun #define A5XX_HLSQ_CS_NDRANGE_5_GLOBALSIZE_Z__SHIFT 0
A5XX_HLSQ_CS_NDRANGE_5_GLOBALSIZE_Z(uint32_t val)4885*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_CS_NDRANGE_5_GLOBALSIZE_Z(uint32_t val)
4886*4882a593Smuzhiyun {
4887*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_CS_NDRANGE_5_GLOBALSIZE_Z__SHIFT) & A5XX_HLSQ_CS_NDRANGE_5_GLOBALSIZE_Z__MASK;
4888*4882a593Smuzhiyun }
4889*4882a593Smuzhiyun
4890*4882a593Smuzhiyun #define REG_A5XX_HLSQ_CS_NDRANGE_6 0x0000e7b6
4891*4882a593Smuzhiyun #define A5XX_HLSQ_CS_NDRANGE_6_GLOBALOFF_Z__MASK 0xffffffff
4892*4882a593Smuzhiyun #define A5XX_HLSQ_CS_NDRANGE_6_GLOBALOFF_Z__SHIFT 0
A5XX_HLSQ_CS_NDRANGE_6_GLOBALOFF_Z(uint32_t val)4893*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_CS_NDRANGE_6_GLOBALOFF_Z(uint32_t val)
4894*4882a593Smuzhiyun {
4895*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_CS_NDRANGE_6_GLOBALOFF_Z__SHIFT) & A5XX_HLSQ_CS_NDRANGE_6_GLOBALOFF_Z__MASK;
4896*4882a593Smuzhiyun }
4897*4882a593Smuzhiyun
4898*4882a593Smuzhiyun #define REG_A5XX_HLSQ_CS_CNTL_0 0x0000e7b7
4899*4882a593Smuzhiyun #define A5XX_HLSQ_CS_CNTL_0_WGIDCONSTID__MASK 0x000000ff
4900*4882a593Smuzhiyun #define A5XX_HLSQ_CS_CNTL_0_WGIDCONSTID__SHIFT 0
A5XX_HLSQ_CS_CNTL_0_WGIDCONSTID(uint32_t val)4901*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_CS_CNTL_0_WGIDCONSTID(uint32_t val)
4902*4882a593Smuzhiyun {
4903*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_CS_CNTL_0_WGIDCONSTID__SHIFT) & A5XX_HLSQ_CS_CNTL_0_WGIDCONSTID__MASK;
4904*4882a593Smuzhiyun }
4905*4882a593Smuzhiyun #define A5XX_HLSQ_CS_CNTL_0_UNK0__MASK 0x0000ff00
4906*4882a593Smuzhiyun #define A5XX_HLSQ_CS_CNTL_0_UNK0__SHIFT 8
A5XX_HLSQ_CS_CNTL_0_UNK0(uint32_t val)4907*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_CS_CNTL_0_UNK0(uint32_t val)
4908*4882a593Smuzhiyun {
4909*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_CS_CNTL_0_UNK0__SHIFT) & A5XX_HLSQ_CS_CNTL_0_UNK0__MASK;
4910*4882a593Smuzhiyun }
4911*4882a593Smuzhiyun #define A5XX_HLSQ_CS_CNTL_0_UNK1__MASK 0x00ff0000
4912*4882a593Smuzhiyun #define A5XX_HLSQ_CS_CNTL_0_UNK1__SHIFT 16
A5XX_HLSQ_CS_CNTL_0_UNK1(uint32_t val)4913*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_CS_CNTL_0_UNK1(uint32_t val)
4914*4882a593Smuzhiyun {
4915*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_CS_CNTL_0_UNK1__SHIFT) & A5XX_HLSQ_CS_CNTL_0_UNK1__MASK;
4916*4882a593Smuzhiyun }
4917*4882a593Smuzhiyun #define A5XX_HLSQ_CS_CNTL_0_LOCALIDREGID__MASK 0xff000000
4918*4882a593Smuzhiyun #define A5XX_HLSQ_CS_CNTL_0_LOCALIDREGID__SHIFT 24
A5XX_HLSQ_CS_CNTL_0_LOCALIDREGID(uint32_t val)4919*4882a593Smuzhiyun static inline uint32_t A5XX_HLSQ_CS_CNTL_0_LOCALIDREGID(uint32_t val)
4920*4882a593Smuzhiyun {
4921*4882a593Smuzhiyun return ((val) << A5XX_HLSQ_CS_CNTL_0_LOCALIDREGID__SHIFT) & A5XX_HLSQ_CS_CNTL_0_LOCALIDREGID__MASK;
4922*4882a593Smuzhiyun }
4923*4882a593Smuzhiyun
4924*4882a593Smuzhiyun #define REG_A5XX_HLSQ_CS_CNTL_1 0x0000e7b8
4925*4882a593Smuzhiyun
4926*4882a593Smuzhiyun #define REG_A5XX_UNKNOWN_E7C0 0x0000e7c0
4927*4882a593Smuzhiyun
4928*4882a593Smuzhiyun #define REG_A5XX_HLSQ_VS_CONSTLEN 0x0000e7c3
4929*4882a593Smuzhiyun
4930*4882a593Smuzhiyun #define REG_A5XX_HLSQ_VS_INSTRLEN 0x0000e7c4
4931*4882a593Smuzhiyun
4932*4882a593Smuzhiyun #define REG_A5XX_UNKNOWN_E7C5 0x0000e7c5
4933*4882a593Smuzhiyun
4934*4882a593Smuzhiyun #define REG_A5XX_HLSQ_HS_CONSTLEN 0x0000e7c8
4935*4882a593Smuzhiyun
4936*4882a593Smuzhiyun #define REG_A5XX_HLSQ_HS_INSTRLEN 0x0000e7c9
4937*4882a593Smuzhiyun
4938*4882a593Smuzhiyun #define REG_A5XX_UNKNOWN_E7CA 0x0000e7ca
4939*4882a593Smuzhiyun
4940*4882a593Smuzhiyun #define REG_A5XX_HLSQ_DS_CONSTLEN 0x0000e7cd
4941*4882a593Smuzhiyun
4942*4882a593Smuzhiyun #define REG_A5XX_HLSQ_DS_INSTRLEN 0x0000e7ce
4943*4882a593Smuzhiyun
4944*4882a593Smuzhiyun #define REG_A5XX_UNKNOWN_E7CF 0x0000e7cf
4945*4882a593Smuzhiyun
4946*4882a593Smuzhiyun #define REG_A5XX_HLSQ_GS_CONSTLEN 0x0000e7d2
4947*4882a593Smuzhiyun
4948*4882a593Smuzhiyun #define REG_A5XX_HLSQ_GS_INSTRLEN 0x0000e7d3
4949*4882a593Smuzhiyun
4950*4882a593Smuzhiyun #define REG_A5XX_UNKNOWN_E7D4 0x0000e7d4
4951*4882a593Smuzhiyun
4952*4882a593Smuzhiyun #define REG_A5XX_HLSQ_FS_CONSTLEN 0x0000e7d7
4953*4882a593Smuzhiyun
4954*4882a593Smuzhiyun #define REG_A5XX_HLSQ_FS_INSTRLEN 0x0000e7d8
4955*4882a593Smuzhiyun
4956*4882a593Smuzhiyun #define REG_A5XX_UNKNOWN_E7D9 0x0000e7d9
4957*4882a593Smuzhiyun
4958*4882a593Smuzhiyun #define REG_A5XX_HLSQ_CS_CONSTLEN 0x0000e7dc
4959*4882a593Smuzhiyun
4960*4882a593Smuzhiyun #define REG_A5XX_HLSQ_CS_INSTRLEN 0x0000e7dd
4961*4882a593Smuzhiyun
4962*4882a593Smuzhiyun #define REG_A5XX_RB_2D_BLIT_CNTL 0x00002100
4963*4882a593Smuzhiyun
4964*4882a593Smuzhiyun #define REG_A5XX_RB_2D_SRC_SOLID_DW0 0x00002101
4965*4882a593Smuzhiyun
4966*4882a593Smuzhiyun #define REG_A5XX_RB_2D_SRC_SOLID_DW1 0x00002102
4967*4882a593Smuzhiyun
4968*4882a593Smuzhiyun #define REG_A5XX_RB_2D_SRC_SOLID_DW2 0x00002103
4969*4882a593Smuzhiyun
4970*4882a593Smuzhiyun #define REG_A5XX_RB_2D_SRC_SOLID_DW3 0x00002104
4971*4882a593Smuzhiyun
4972*4882a593Smuzhiyun #define REG_A5XX_RB_2D_SRC_INFO 0x00002107
4973*4882a593Smuzhiyun #define A5XX_RB_2D_SRC_INFO_COLOR_FORMAT__MASK 0x000000ff
4974*4882a593Smuzhiyun #define A5XX_RB_2D_SRC_INFO_COLOR_FORMAT__SHIFT 0
A5XX_RB_2D_SRC_INFO_COLOR_FORMAT(enum a5xx_color_fmt val)4975*4882a593Smuzhiyun static inline uint32_t A5XX_RB_2D_SRC_INFO_COLOR_FORMAT(enum a5xx_color_fmt val)
4976*4882a593Smuzhiyun {
4977*4882a593Smuzhiyun return ((val) << A5XX_RB_2D_SRC_INFO_COLOR_FORMAT__SHIFT) & A5XX_RB_2D_SRC_INFO_COLOR_FORMAT__MASK;
4978*4882a593Smuzhiyun }
4979*4882a593Smuzhiyun #define A5XX_RB_2D_SRC_INFO_TILE_MODE__MASK 0x00000300
4980*4882a593Smuzhiyun #define A5XX_RB_2D_SRC_INFO_TILE_MODE__SHIFT 8
A5XX_RB_2D_SRC_INFO_TILE_MODE(enum a5xx_tile_mode val)4981*4882a593Smuzhiyun static inline uint32_t A5XX_RB_2D_SRC_INFO_TILE_MODE(enum a5xx_tile_mode val)
4982*4882a593Smuzhiyun {
4983*4882a593Smuzhiyun return ((val) << A5XX_RB_2D_SRC_INFO_TILE_MODE__SHIFT) & A5XX_RB_2D_SRC_INFO_TILE_MODE__MASK;
4984*4882a593Smuzhiyun }
4985*4882a593Smuzhiyun #define A5XX_RB_2D_SRC_INFO_COLOR_SWAP__MASK 0x00000c00
4986*4882a593Smuzhiyun #define A5XX_RB_2D_SRC_INFO_COLOR_SWAP__SHIFT 10
A5XX_RB_2D_SRC_INFO_COLOR_SWAP(enum a3xx_color_swap val)4987*4882a593Smuzhiyun static inline uint32_t A5XX_RB_2D_SRC_INFO_COLOR_SWAP(enum a3xx_color_swap val)
4988*4882a593Smuzhiyun {
4989*4882a593Smuzhiyun return ((val) << A5XX_RB_2D_SRC_INFO_COLOR_SWAP__SHIFT) & A5XX_RB_2D_SRC_INFO_COLOR_SWAP__MASK;
4990*4882a593Smuzhiyun }
4991*4882a593Smuzhiyun #define A5XX_RB_2D_SRC_INFO_FLAGS 0x00001000
4992*4882a593Smuzhiyun
4993*4882a593Smuzhiyun #define REG_A5XX_RB_2D_SRC_LO 0x00002108
4994*4882a593Smuzhiyun
4995*4882a593Smuzhiyun #define REG_A5XX_RB_2D_SRC_HI 0x00002109
4996*4882a593Smuzhiyun
4997*4882a593Smuzhiyun #define REG_A5XX_RB_2D_SRC_SIZE 0x0000210a
4998*4882a593Smuzhiyun #define A5XX_RB_2D_SRC_SIZE_PITCH__MASK 0x0000ffff
4999*4882a593Smuzhiyun #define A5XX_RB_2D_SRC_SIZE_PITCH__SHIFT 0
A5XX_RB_2D_SRC_SIZE_PITCH(uint32_t val)5000*4882a593Smuzhiyun static inline uint32_t A5XX_RB_2D_SRC_SIZE_PITCH(uint32_t val)
5001*4882a593Smuzhiyun {
5002*4882a593Smuzhiyun return ((val >> 6) << A5XX_RB_2D_SRC_SIZE_PITCH__SHIFT) & A5XX_RB_2D_SRC_SIZE_PITCH__MASK;
5003*4882a593Smuzhiyun }
5004*4882a593Smuzhiyun #define A5XX_RB_2D_SRC_SIZE_ARRAY_PITCH__MASK 0xffff0000
5005*4882a593Smuzhiyun #define A5XX_RB_2D_SRC_SIZE_ARRAY_PITCH__SHIFT 16
A5XX_RB_2D_SRC_SIZE_ARRAY_PITCH(uint32_t val)5006*4882a593Smuzhiyun static inline uint32_t A5XX_RB_2D_SRC_SIZE_ARRAY_PITCH(uint32_t val)
5007*4882a593Smuzhiyun {
5008*4882a593Smuzhiyun return ((val >> 6) << A5XX_RB_2D_SRC_SIZE_ARRAY_PITCH__SHIFT) & A5XX_RB_2D_SRC_SIZE_ARRAY_PITCH__MASK;
5009*4882a593Smuzhiyun }
5010*4882a593Smuzhiyun
5011*4882a593Smuzhiyun #define REG_A5XX_RB_2D_DST_INFO 0x00002110
5012*4882a593Smuzhiyun #define A5XX_RB_2D_DST_INFO_COLOR_FORMAT__MASK 0x000000ff
5013*4882a593Smuzhiyun #define A5XX_RB_2D_DST_INFO_COLOR_FORMAT__SHIFT 0
A5XX_RB_2D_DST_INFO_COLOR_FORMAT(enum a5xx_color_fmt val)5014*4882a593Smuzhiyun static inline uint32_t A5XX_RB_2D_DST_INFO_COLOR_FORMAT(enum a5xx_color_fmt val)
5015*4882a593Smuzhiyun {
5016*4882a593Smuzhiyun return ((val) << A5XX_RB_2D_DST_INFO_COLOR_FORMAT__SHIFT) & A5XX_RB_2D_DST_INFO_COLOR_FORMAT__MASK;
5017*4882a593Smuzhiyun }
5018*4882a593Smuzhiyun #define A5XX_RB_2D_DST_INFO_TILE_MODE__MASK 0x00000300
5019*4882a593Smuzhiyun #define A5XX_RB_2D_DST_INFO_TILE_MODE__SHIFT 8
A5XX_RB_2D_DST_INFO_TILE_MODE(enum a5xx_tile_mode val)5020*4882a593Smuzhiyun static inline uint32_t A5XX_RB_2D_DST_INFO_TILE_MODE(enum a5xx_tile_mode val)
5021*4882a593Smuzhiyun {
5022*4882a593Smuzhiyun return ((val) << A5XX_RB_2D_DST_INFO_TILE_MODE__SHIFT) & A5XX_RB_2D_DST_INFO_TILE_MODE__MASK;
5023*4882a593Smuzhiyun }
5024*4882a593Smuzhiyun #define A5XX_RB_2D_DST_INFO_COLOR_SWAP__MASK 0x00000c00
5025*4882a593Smuzhiyun #define A5XX_RB_2D_DST_INFO_COLOR_SWAP__SHIFT 10
A5XX_RB_2D_DST_INFO_COLOR_SWAP(enum a3xx_color_swap val)5026*4882a593Smuzhiyun static inline uint32_t A5XX_RB_2D_DST_INFO_COLOR_SWAP(enum a3xx_color_swap val)
5027*4882a593Smuzhiyun {
5028*4882a593Smuzhiyun return ((val) << A5XX_RB_2D_DST_INFO_COLOR_SWAP__SHIFT) & A5XX_RB_2D_DST_INFO_COLOR_SWAP__MASK;
5029*4882a593Smuzhiyun }
5030*4882a593Smuzhiyun #define A5XX_RB_2D_DST_INFO_FLAGS 0x00001000
5031*4882a593Smuzhiyun
5032*4882a593Smuzhiyun #define REG_A5XX_RB_2D_DST_LO 0x00002111
5033*4882a593Smuzhiyun
5034*4882a593Smuzhiyun #define REG_A5XX_RB_2D_DST_HI 0x00002112
5035*4882a593Smuzhiyun
5036*4882a593Smuzhiyun #define REG_A5XX_RB_2D_DST_SIZE 0x00002113
5037*4882a593Smuzhiyun #define A5XX_RB_2D_DST_SIZE_PITCH__MASK 0x0000ffff
5038*4882a593Smuzhiyun #define A5XX_RB_2D_DST_SIZE_PITCH__SHIFT 0
A5XX_RB_2D_DST_SIZE_PITCH(uint32_t val)5039*4882a593Smuzhiyun static inline uint32_t A5XX_RB_2D_DST_SIZE_PITCH(uint32_t val)
5040*4882a593Smuzhiyun {
5041*4882a593Smuzhiyun return ((val >> 6) << A5XX_RB_2D_DST_SIZE_PITCH__SHIFT) & A5XX_RB_2D_DST_SIZE_PITCH__MASK;
5042*4882a593Smuzhiyun }
5043*4882a593Smuzhiyun #define A5XX_RB_2D_DST_SIZE_ARRAY_PITCH__MASK 0xffff0000
5044*4882a593Smuzhiyun #define A5XX_RB_2D_DST_SIZE_ARRAY_PITCH__SHIFT 16
A5XX_RB_2D_DST_SIZE_ARRAY_PITCH(uint32_t val)5045*4882a593Smuzhiyun static inline uint32_t A5XX_RB_2D_DST_SIZE_ARRAY_PITCH(uint32_t val)
5046*4882a593Smuzhiyun {
5047*4882a593Smuzhiyun return ((val >> 6) << A5XX_RB_2D_DST_SIZE_ARRAY_PITCH__SHIFT) & A5XX_RB_2D_DST_SIZE_ARRAY_PITCH__MASK;
5048*4882a593Smuzhiyun }
5049*4882a593Smuzhiyun
5050*4882a593Smuzhiyun #define REG_A5XX_RB_2D_SRC_FLAGS_LO 0x00002140
5051*4882a593Smuzhiyun
5052*4882a593Smuzhiyun #define REG_A5XX_RB_2D_SRC_FLAGS_HI 0x00002141
5053*4882a593Smuzhiyun
5054*4882a593Smuzhiyun #define REG_A5XX_RB_2D_SRC_FLAGS_PITCH 0x00002142
5055*4882a593Smuzhiyun #define A5XX_RB_2D_SRC_FLAGS_PITCH__MASK 0xffffffff
5056*4882a593Smuzhiyun #define A5XX_RB_2D_SRC_FLAGS_PITCH__SHIFT 0
A5XX_RB_2D_SRC_FLAGS_PITCH(uint32_t val)5057*4882a593Smuzhiyun static inline uint32_t A5XX_RB_2D_SRC_FLAGS_PITCH(uint32_t val)
5058*4882a593Smuzhiyun {
5059*4882a593Smuzhiyun return ((val >> 6) << A5XX_RB_2D_SRC_FLAGS_PITCH__SHIFT) & A5XX_RB_2D_SRC_FLAGS_PITCH__MASK;
5060*4882a593Smuzhiyun }
5061*4882a593Smuzhiyun
5062*4882a593Smuzhiyun #define REG_A5XX_RB_2D_DST_FLAGS_LO 0x00002143
5063*4882a593Smuzhiyun
5064*4882a593Smuzhiyun #define REG_A5XX_RB_2D_DST_FLAGS_HI 0x00002144
5065*4882a593Smuzhiyun
5066*4882a593Smuzhiyun #define REG_A5XX_RB_2D_DST_FLAGS_PITCH 0x00002145
5067*4882a593Smuzhiyun #define A5XX_RB_2D_DST_FLAGS_PITCH__MASK 0xffffffff
5068*4882a593Smuzhiyun #define A5XX_RB_2D_DST_FLAGS_PITCH__SHIFT 0
A5XX_RB_2D_DST_FLAGS_PITCH(uint32_t val)5069*4882a593Smuzhiyun static inline uint32_t A5XX_RB_2D_DST_FLAGS_PITCH(uint32_t val)
5070*4882a593Smuzhiyun {
5071*4882a593Smuzhiyun return ((val >> 6) << A5XX_RB_2D_DST_FLAGS_PITCH__SHIFT) & A5XX_RB_2D_DST_FLAGS_PITCH__MASK;
5072*4882a593Smuzhiyun }
5073*4882a593Smuzhiyun
5074*4882a593Smuzhiyun #define REG_A5XX_GRAS_2D_BLIT_CNTL 0x00002180
5075*4882a593Smuzhiyun
5076*4882a593Smuzhiyun #define REG_A5XX_GRAS_2D_SRC_INFO 0x00002181
5077*4882a593Smuzhiyun #define A5XX_GRAS_2D_SRC_INFO_COLOR_FORMAT__MASK 0x000000ff
5078*4882a593Smuzhiyun #define A5XX_GRAS_2D_SRC_INFO_COLOR_FORMAT__SHIFT 0
A5XX_GRAS_2D_SRC_INFO_COLOR_FORMAT(enum a5xx_color_fmt val)5079*4882a593Smuzhiyun static inline uint32_t A5XX_GRAS_2D_SRC_INFO_COLOR_FORMAT(enum a5xx_color_fmt val)
5080*4882a593Smuzhiyun {
5081*4882a593Smuzhiyun return ((val) << A5XX_GRAS_2D_SRC_INFO_COLOR_FORMAT__SHIFT) & A5XX_GRAS_2D_SRC_INFO_COLOR_FORMAT__MASK;
5082*4882a593Smuzhiyun }
5083*4882a593Smuzhiyun #define A5XX_GRAS_2D_SRC_INFO_TILE_MODE__MASK 0x00000300
5084*4882a593Smuzhiyun #define A5XX_GRAS_2D_SRC_INFO_TILE_MODE__SHIFT 8
A5XX_GRAS_2D_SRC_INFO_TILE_MODE(enum a5xx_tile_mode val)5085*4882a593Smuzhiyun static inline uint32_t A5XX_GRAS_2D_SRC_INFO_TILE_MODE(enum a5xx_tile_mode val)
5086*4882a593Smuzhiyun {
5087*4882a593Smuzhiyun return ((val) << A5XX_GRAS_2D_SRC_INFO_TILE_MODE__SHIFT) & A5XX_GRAS_2D_SRC_INFO_TILE_MODE__MASK;
5088*4882a593Smuzhiyun }
5089*4882a593Smuzhiyun #define A5XX_GRAS_2D_SRC_INFO_COLOR_SWAP__MASK 0x00000c00
5090*4882a593Smuzhiyun #define A5XX_GRAS_2D_SRC_INFO_COLOR_SWAP__SHIFT 10
A5XX_GRAS_2D_SRC_INFO_COLOR_SWAP(enum a3xx_color_swap val)5091*4882a593Smuzhiyun static inline uint32_t A5XX_GRAS_2D_SRC_INFO_COLOR_SWAP(enum a3xx_color_swap val)
5092*4882a593Smuzhiyun {
5093*4882a593Smuzhiyun return ((val) << A5XX_GRAS_2D_SRC_INFO_COLOR_SWAP__SHIFT) & A5XX_GRAS_2D_SRC_INFO_COLOR_SWAP__MASK;
5094*4882a593Smuzhiyun }
5095*4882a593Smuzhiyun #define A5XX_GRAS_2D_SRC_INFO_FLAGS 0x00001000
5096*4882a593Smuzhiyun
5097*4882a593Smuzhiyun #define REG_A5XX_GRAS_2D_DST_INFO 0x00002182
5098*4882a593Smuzhiyun #define A5XX_GRAS_2D_DST_INFO_COLOR_FORMAT__MASK 0x000000ff
5099*4882a593Smuzhiyun #define A5XX_GRAS_2D_DST_INFO_COLOR_FORMAT__SHIFT 0
A5XX_GRAS_2D_DST_INFO_COLOR_FORMAT(enum a5xx_color_fmt val)5100*4882a593Smuzhiyun static inline uint32_t A5XX_GRAS_2D_DST_INFO_COLOR_FORMAT(enum a5xx_color_fmt val)
5101*4882a593Smuzhiyun {
5102*4882a593Smuzhiyun return ((val) << A5XX_GRAS_2D_DST_INFO_COLOR_FORMAT__SHIFT) & A5XX_GRAS_2D_DST_INFO_COLOR_FORMAT__MASK;
5103*4882a593Smuzhiyun }
5104*4882a593Smuzhiyun #define A5XX_GRAS_2D_DST_INFO_TILE_MODE__MASK 0x00000300
5105*4882a593Smuzhiyun #define A5XX_GRAS_2D_DST_INFO_TILE_MODE__SHIFT 8
A5XX_GRAS_2D_DST_INFO_TILE_MODE(enum a5xx_tile_mode val)5106*4882a593Smuzhiyun static inline uint32_t A5XX_GRAS_2D_DST_INFO_TILE_MODE(enum a5xx_tile_mode val)
5107*4882a593Smuzhiyun {
5108*4882a593Smuzhiyun return ((val) << A5XX_GRAS_2D_DST_INFO_TILE_MODE__SHIFT) & A5XX_GRAS_2D_DST_INFO_TILE_MODE__MASK;
5109*4882a593Smuzhiyun }
5110*4882a593Smuzhiyun #define A5XX_GRAS_2D_DST_INFO_COLOR_SWAP__MASK 0x00000c00
5111*4882a593Smuzhiyun #define A5XX_GRAS_2D_DST_INFO_COLOR_SWAP__SHIFT 10
A5XX_GRAS_2D_DST_INFO_COLOR_SWAP(enum a3xx_color_swap val)5112*4882a593Smuzhiyun static inline uint32_t A5XX_GRAS_2D_DST_INFO_COLOR_SWAP(enum a3xx_color_swap val)
5113*4882a593Smuzhiyun {
5114*4882a593Smuzhiyun return ((val) << A5XX_GRAS_2D_DST_INFO_COLOR_SWAP__SHIFT) & A5XX_GRAS_2D_DST_INFO_COLOR_SWAP__MASK;
5115*4882a593Smuzhiyun }
5116*4882a593Smuzhiyun #define A5XX_GRAS_2D_DST_INFO_FLAGS 0x00001000
5117*4882a593Smuzhiyun
5118*4882a593Smuzhiyun #define REG_A5XX_UNKNOWN_2100 0x00002100
5119*4882a593Smuzhiyun
5120*4882a593Smuzhiyun #define REG_A5XX_UNKNOWN_2180 0x00002180
5121*4882a593Smuzhiyun
5122*4882a593Smuzhiyun #define REG_A5XX_UNKNOWN_2184 0x00002184
5123*4882a593Smuzhiyun
5124*4882a593Smuzhiyun #define REG_A5XX_TEX_SAMP_0 0x00000000
5125*4882a593Smuzhiyun #define A5XX_TEX_SAMP_0_MIPFILTER_LINEAR_NEAR 0x00000001
5126*4882a593Smuzhiyun #define A5XX_TEX_SAMP_0_XY_MAG__MASK 0x00000006
5127*4882a593Smuzhiyun #define A5XX_TEX_SAMP_0_XY_MAG__SHIFT 1
A5XX_TEX_SAMP_0_XY_MAG(enum a5xx_tex_filter val)5128*4882a593Smuzhiyun static inline uint32_t A5XX_TEX_SAMP_0_XY_MAG(enum a5xx_tex_filter val)
5129*4882a593Smuzhiyun {
5130*4882a593Smuzhiyun return ((val) << A5XX_TEX_SAMP_0_XY_MAG__SHIFT) & A5XX_TEX_SAMP_0_XY_MAG__MASK;
5131*4882a593Smuzhiyun }
5132*4882a593Smuzhiyun #define A5XX_TEX_SAMP_0_XY_MIN__MASK 0x00000018
5133*4882a593Smuzhiyun #define A5XX_TEX_SAMP_0_XY_MIN__SHIFT 3
A5XX_TEX_SAMP_0_XY_MIN(enum a5xx_tex_filter val)5134*4882a593Smuzhiyun static inline uint32_t A5XX_TEX_SAMP_0_XY_MIN(enum a5xx_tex_filter val)
5135*4882a593Smuzhiyun {
5136*4882a593Smuzhiyun return ((val) << A5XX_TEX_SAMP_0_XY_MIN__SHIFT) & A5XX_TEX_SAMP_0_XY_MIN__MASK;
5137*4882a593Smuzhiyun }
5138*4882a593Smuzhiyun #define A5XX_TEX_SAMP_0_WRAP_S__MASK 0x000000e0
5139*4882a593Smuzhiyun #define A5XX_TEX_SAMP_0_WRAP_S__SHIFT 5
A5XX_TEX_SAMP_0_WRAP_S(enum a5xx_tex_clamp val)5140*4882a593Smuzhiyun static inline uint32_t A5XX_TEX_SAMP_0_WRAP_S(enum a5xx_tex_clamp val)
5141*4882a593Smuzhiyun {
5142*4882a593Smuzhiyun return ((val) << A5XX_TEX_SAMP_0_WRAP_S__SHIFT) & A5XX_TEX_SAMP_0_WRAP_S__MASK;
5143*4882a593Smuzhiyun }
5144*4882a593Smuzhiyun #define A5XX_TEX_SAMP_0_WRAP_T__MASK 0x00000700
5145*4882a593Smuzhiyun #define A5XX_TEX_SAMP_0_WRAP_T__SHIFT 8
A5XX_TEX_SAMP_0_WRAP_T(enum a5xx_tex_clamp val)5146*4882a593Smuzhiyun static inline uint32_t A5XX_TEX_SAMP_0_WRAP_T(enum a5xx_tex_clamp val)
5147*4882a593Smuzhiyun {
5148*4882a593Smuzhiyun return ((val) << A5XX_TEX_SAMP_0_WRAP_T__SHIFT) & A5XX_TEX_SAMP_0_WRAP_T__MASK;
5149*4882a593Smuzhiyun }
5150*4882a593Smuzhiyun #define A5XX_TEX_SAMP_0_WRAP_R__MASK 0x00003800
5151*4882a593Smuzhiyun #define A5XX_TEX_SAMP_0_WRAP_R__SHIFT 11
A5XX_TEX_SAMP_0_WRAP_R(enum a5xx_tex_clamp val)5152*4882a593Smuzhiyun static inline uint32_t A5XX_TEX_SAMP_0_WRAP_R(enum a5xx_tex_clamp val)
5153*4882a593Smuzhiyun {
5154*4882a593Smuzhiyun return ((val) << A5XX_TEX_SAMP_0_WRAP_R__SHIFT) & A5XX_TEX_SAMP_0_WRAP_R__MASK;
5155*4882a593Smuzhiyun }
5156*4882a593Smuzhiyun #define A5XX_TEX_SAMP_0_ANISO__MASK 0x0001c000
5157*4882a593Smuzhiyun #define A5XX_TEX_SAMP_0_ANISO__SHIFT 14
A5XX_TEX_SAMP_0_ANISO(enum a5xx_tex_aniso val)5158*4882a593Smuzhiyun static inline uint32_t A5XX_TEX_SAMP_0_ANISO(enum a5xx_tex_aniso val)
5159*4882a593Smuzhiyun {
5160*4882a593Smuzhiyun return ((val) << A5XX_TEX_SAMP_0_ANISO__SHIFT) & A5XX_TEX_SAMP_0_ANISO__MASK;
5161*4882a593Smuzhiyun }
5162*4882a593Smuzhiyun #define A5XX_TEX_SAMP_0_LOD_BIAS__MASK 0xfff80000
5163*4882a593Smuzhiyun #define A5XX_TEX_SAMP_0_LOD_BIAS__SHIFT 19
A5XX_TEX_SAMP_0_LOD_BIAS(float val)5164*4882a593Smuzhiyun static inline uint32_t A5XX_TEX_SAMP_0_LOD_BIAS(float val)
5165*4882a593Smuzhiyun {
5166*4882a593Smuzhiyun return ((((int32_t)(val * 256.0))) << A5XX_TEX_SAMP_0_LOD_BIAS__SHIFT) & A5XX_TEX_SAMP_0_LOD_BIAS__MASK;
5167*4882a593Smuzhiyun }
5168*4882a593Smuzhiyun
5169*4882a593Smuzhiyun #define REG_A5XX_TEX_SAMP_1 0x00000001
5170*4882a593Smuzhiyun #define A5XX_TEX_SAMP_1_COMPARE_FUNC__MASK 0x0000000e
5171*4882a593Smuzhiyun #define A5XX_TEX_SAMP_1_COMPARE_FUNC__SHIFT 1
A5XX_TEX_SAMP_1_COMPARE_FUNC(enum adreno_compare_func val)5172*4882a593Smuzhiyun static inline uint32_t A5XX_TEX_SAMP_1_COMPARE_FUNC(enum adreno_compare_func val)
5173*4882a593Smuzhiyun {
5174*4882a593Smuzhiyun return ((val) << A5XX_TEX_SAMP_1_COMPARE_FUNC__SHIFT) & A5XX_TEX_SAMP_1_COMPARE_FUNC__MASK;
5175*4882a593Smuzhiyun }
5176*4882a593Smuzhiyun #define A5XX_TEX_SAMP_1_CUBEMAPSEAMLESSFILTOFF 0x00000010
5177*4882a593Smuzhiyun #define A5XX_TEX_SAMP_1_UNNORM_COORDS 0x00000020
5178*4882a593Smuzhiyun #define A5XX_TEX_SAMP_1_MIPFILTER_LINEAR_FAR 0x00000040
5179*4882a593Smuzhiyun #define A5XX_TEX_SAMP_1_MAX_LOD__MASK 0x000fff00
5180*4882a593Smuzhiyun #define A5XX_TEX_SAMP_1_MAX_LOD__SHIFT 8
A5XX_TEX_SAMP_1_MAX_LOD(float val)5181*4882a593Smuzhiyun static inline uint32_t A5XX_TEX_SAMP_1_MAX_LOD(float val)
5182*4882a593Smuzhiyun {
5183*4882a593Smuzhiyun return ((((uint32_t)(val * 256.0))) << A5XX_TEX_SAMP_1_MAX_LOD__SHIFT) & A5XX_TEX_SAMP_1_MAX_LOD__MASK;
5184*4882a593Smuzhiyun }
5185*4882a593Smuzhiyun #define A5XX_TEX_SAMP_1_MIN_LOD__MASK 0xfff00000
5186*4882a593Smuzhiyun #define A5XX_TEX_SAMP_1_MIN_LOD__SHIFT 20
A5XX_TEX_SAMP_1_MIN_LOD(float val)5187*4882a593Smuzhiyun static inline uint32_t A5XX_TEX_SAMP_1_MIN_LOD(float val)
5188*4882a593Smuzhiyun {
5189*4882a593Smuzhiyun return ((((uint32_t)(val * 256.0))) << A5XX_TEX_SAMP_1_MIN_LOD__SHIFT) & A5XX_TEX_SAMP_1_MIN_LOD__MASK;
5190*4882a593Smuzhiyun }
5191*4882a593Smuzhiyun
5192*4882a593Smuzhiyun #define REG_A5XX_TEX_SAMP_2 0x00000002
5193*4882a593Smuzhiyun #define A5XX_TEX_SAMP_2_BCOLOR_OFFSET__MASK 0xfffffff0
5194*4882a593Smuzhiyun #define A5XX_TEX_SAMP_2_BCOLOR_OFFSET__SHIFT 4
A5XX_TEX_SAMP_2_BCOLOR_OFFSET(uint32_t val)5195*4882a593Smuzhiyun static inline uint32_t A5XX_TEX_SAMP_2_BCOLOR_OFFSET(uint32_t val)
5196*4882a593Smuzhiyun {
5197*4882a593Smuzhiyun return ((val) << A5XX_TEX_SAMP_2_BCOLOR_OFFSET__SHIFT) & A5XX_TEX_SAMP_2_BCOLOR_OFFSET__MASK;
5198*4882a593Smuzhiyun }
5199*4882a593Smuzhiyun
5200*4882a593Smuzhiyun #define REG_A5XX_TEX_SAMP_3 0x00000003
5201*4882a593Smuzhiyun
5202*4882a593Smuzhiyun #define REG_A5XX_TEX_CONST_0 0x00000000
5203*4882a593Smuzhiyun #define A5XX_TEX_CONST_0_TILE_MODE__MASK 0x00000003
5204*4882a593Smuzhiyun #define A5XX_TEX_CONST_0_TILE_MODE__SHIFT 0
A5XX_TEX_CONST_0_TILE_MODE(enum a5xx_tile_mode val)5205*4882a593Smuzhiyun static inline uint32_t A5XX_TEX_CONST_0_TILE_MODE(enum a5xx_tile_mode val)
5206*4882a593Smuzhiyun {
5207*4882a593Smuzhiyun return ((val) << A5XX_TEX_CONST_0_TILE_MODE__SHIFT) & A5XX_TEX_CONST_0_TILE_MODE__MASK;
5208*4882a593Smuzhiyun }
5209*4882a593Smuzhiyun #define A5XX_TEX_CONST_0_SRGB 0x00000004
5210*4882a593Smuzhiyun #define A5XX_TEX_CONST_0_SWIZ_X__MASK 0x00000070
5211*4882a593Smuzhiyun #define A5XX_TEX_CONST_0_SWIZ_X__SHIFT 4
A5XX_TEX_CONST_0_SWIZ_X(enum a5xx_tex_swiz val)5212*4882a593Smuzhiyun static inline uint32_t A5XX_TEX_CONST_0_SWIZ_X(enum a5xx_tex_swiz val)
5213*4882a593Smuzhiyun {
5214*4882a593Smuzhiyun return ((val) << A5XX_TEX_CONST_0_SWIZ_X__SHIFT) & A5XX_TEX_CONST_0_SWIZ_X__MASK;
5215*4882a593Smuzhiyun }
5216*4882a593Smuzhiyun #define A5XX_TEX_CONST_0_SWIZ_Y__MASK 0x00000380
5217*4882a593Smuzhiyun #define A5XX_TEX_CONST_0_SWIZ_Y__SHIFT 7
A5XX_TEX_CONST_0_SWIZ_Y(enum a5xx_tex_swiz val)5218*4882a593Smuzhiyun static inline uint32_t A5XX_TEX_CONST_0_SWIZ_Y(enum a5xx_tex_swiz val)
5219*4882a593Smuzhiyun {
5220*4882a593Smuzhiyun return ((val) << A5XX_TEX_CONST_0_SWIZ_Y__SHIFT) & A5XX_TEX_CONST_0_SWIZ_Y__MASK;
5221*4882a593Smuzhiyun }
5222*4882a593Smuzhiyun #define A5XX_TEX_CONST_0_SWIZ_Z__MASK 0x00001c00
5223*4882a593Smuzhiyun #define A5XX_TEX_CONST_0_SWIZ_Z__SHIFT 10
A5XX_TEX_CONST_0_SWIZ_Z(enum a5xx_tex_swiz val)5224*4882a593Smuzhiyun static inline uint32_t A5XX_TEX_CONST_0_SWIZ_Z(enum a5xx_tex_swiz val)
5225*4882a593Smuzhiyun {
5226*4882a593Smuzhiyun return ((val) << A5XX_TEX_CONST_0_SWIZ_Z__SHIFT) & A5XX_TEX_CONST_0_SWIZ_Z__MASK;
5227*4882a593Smuzhiyun }
5228*4882a593Smuzhiyun #define A5XX_TEX_CONST_0_SWIZ_W__MASK 0x0000e000
5229*4882a593Smuzhiyun #define A5XX_TEX_CONST_0_SWIZ_W__SHIFT 13
A5XX_TEX_CONST_0_SWIZ_W(enum a5xx_tex_swiz val)5230*4882a593Smuzhiyun static inline uint32_t A5XX_TEX_CONST_0_SWIZ_W(enum a5xx_tex_swiz val)
5231*4882a593Smuzhiyun {
5232*4882a593Smuzhiyun return ((val) << A5XX_TEX_CONST_0_SWIZ_W__SHIFT) & A5XX_TEX_CONST_0_SWIZ_W__MASK;
5233*4882a593Smuzhiyun }
5234*4882a593Smuzhiyun #define A5XX_TEX_CONST_0_MIPLVLS__MASK 0x000f0000
5235*4882a593Smuzhiyun #define A5XX_TEX_CONST_0_MIPLVLS__SHIFT 16
A5XX_TEX_CONST_0_MIPLVLS(uint32_t val)5236*4882a593Smuzhiyun static inline uint32_t A5XX_TEX_CONST_0_MIPLVLS(uint32_t val)
5237*4882a593Smuzhiyun {
5238*4882a593Smuzhiyun return ((val) << A5XX_TEX_CONST_0_MIPLVLS__SHIFT) & A5XX_TEX_CONST_0_MIPLVLS__MASK;
5239*4882a593Smuzhiyun }
5240*4882a593Smuzhiyun #define A5XX_TEX_CONST_0_SAMPLES__MASK 0x00300000
5241*4882a593Smuzhiyun #define A5XX_TEX_CONST_0_SAMPLES__SHIFT 20
A5XX_TEX_CONST_0_SAMPLES(enum a3xx_msaa_samples val)5242*4882a593Smuzhiyun static inline uint32_t A5XX_TEX_CONST_0_SAMPLES(enum a3xx_msaa_samples val)
5243*4882a593Smuzhiyun {
5244*4882a593Smuzhiyun return ((val) << A5XX_TEX_CONST_0_SAMPLES__SHIFT) & A5XX_TEX_CONST_0_SAMPLES__MASK;
5245*4882a593Smuzhiyun }
5246*4882a593Smuzhiyun #define A5XX_TEX_CONST_0_FMT__MASK 0x3fc00000
5247*4882a593Smuzhiyun #define A5XX_TEX_CONST_0_FMT__SHIFT 22
A5XX_TEX_CONST_0_FMT(enum a5xx_tex_fmt val)5248*4882a593Smuzhiyun static inline uint32_t A5XX_TEX_CONST_0_FMT(enum a5xx_tex_fmt val)
5249*4882a593Smuzhiyun {
5250*4882a593Smuzhiyun return ((val) << A5XX_TEX_CONST_0_FMT__SHIFT) & A5XX_TEX_CONST_0_FMT__MASK;
5251*4882a593Smuzhiyun }
5252*4882a593Smuzhiyun #define A5XX_TEX_CONST_0_SWAP__MASK 0xc0000000
5253*4882a593Smuzhiyun #define A5XX_TEX_CONST_0_SWAP__SHIFT 30
A5XX_TEX_CONST_0_SWAP(enum a3xx_color_swap val)5254*4882a593Smuzhiyun static inline uint32_t A5XX_TEX_CONST_0_SWAP(enum a3xx_color_swap val)
5255*4882a593Smuzhiyun {
5256*4882a593Smuzhiyun return ((val) << A5XX_TEX_CONST_0_SWAP__SHIFT) & A5XX_TEX_CONST_0_SWAP__MASK;
5257*4882a593Smuzhiyun }
5258*4882a593Smuzhiyun
5259*4882a593Smuzhiyun #define REG_A5XX_TEX_CONST_1 0x00000001
5260*4882a593Smuzhiyun #define A5XX_TEX_CONST_1_WIDTH__MASK 0x00007fff
5261*4882a593Smuzhiyun #define A5XX_TEX_CONST_1_WIDTH__SHIFT 0
A5XX_TEX_CONST_1_WIDTH(uint32_t val)5262*4882a593Smuzhiyun static inline uint32_t A5XX_TEX_CONST_1_WIDTH(uint32_t val)
5263*4882a593Smuzhiyun {
5264*4882a593Smuzhiyun return ((val) << A5XX_TEX_CONST_1_WIDTH__SHIFT) & A5XX_TEX_CONST_1_WIDTH__MASK;
5265*4882a593Smuzhiyun }
5266*4882a593Smuzhiyun #define A5XX_TEX_CONST_1_HEIGHT__MASK 0x3fff8000
5267*4882a593Smuzhiyun #define A5XX_TEX_CONST_1_HEIGHT__SHIFT 15
A5XX_TEX_CONST_1_HEIGHT(uint32_t val)5268*4882a593Smuzhiyun static inline uint32_t A5XX_TEX_CONST_1_HEIGHT(uint32_t val)
5269*4882a593Smuzhiyun {
5270*4882a593Smuzhiyun return ((val) << A5XX_TEX_CONST_1_HEIGHT__SHIFT) & A5XX_TEX_CONST_1_HEIGHT__MASK;
5271*4882a593Smuzhiyun }
5272*4882a593Smuzhiyun
5273*4882a593Smuzhiyun #define REG_A5XX_TEX_CONST_2 0x00000002
5274*4882a593Smuzhiyun #define A5XX_TEX_CONST_2_PITCHALIGN__MASK 0x0000000f
5275*4882a593Smuzhiyun #define A5XX_TEX_CONST_2_PITCHALIGN__SHIFT 0
A5XX_TEX_CONST_2_PITCHALIGN(uint32_t val)5276*4882a593Smuzhiyun static inline uint32_t A5XX_TEX_CONST_2_PITCHALIGN(uint32_t val)
5277*4882a593Smuzhiyun {
5278*4882a593Smuzhiyun return ((val) << A5XX_TEX_CONST_2_PITCHALIGN__SHIFT) & A5XX_TEX_CONST_2_PITCHALIGN__MASK;
5279*4882a593Smuzhiyun }
5280*4882a593Smuzhiyun #define A5XX_TEX_CONST_2_PITCH__MASK 0x1fffff80
5281*4882a593Smuzhiyun #define A5XX_TEX_CONST_2_PITCH__SHIFT 7
A5XX_TEX_CONST_2_PITCH(uint32_t val)5282*4882a593Smuzhiyun static inline uint32_t A5XX_TEX_CONST_2_PITCH(uint32_t val)
5283*4882a593Smuzhiyun {
5284*4882a593Smuzhiyun return ((val) << A5XX_TEX_CONST_2_PITCH__SHIFT) & A5XX_TEX_CONST_2_PITCH__MASK;
5285*4882a593Smuzhiyun }
5286*4882a593Smuzhiyun #define A5XX_TEX_CONST_2_TYPE__MASK 0x60000000
5287*4882a593Smuzhiyun #define A5XX_TEX_CONST_2_TYPE__SHIFT 29
A5XX_TEX_CONST_2_TYPE(enum a5xx_tex_type val)5288*4882a593Smuzhiyun static inline uint32_t A5XX_TEX_CONST_2_TYPE(enum a5xx_tex_type val)
5289*4882a593Smuzhiyun {
5290*4882a593Smuzhiyun return ((val) << A5XX_TEX_CONST_2_TYPE__SHIFT) & A5XX_TEX_CONST_2_TYPE__MASK;
5291*4882a593Smuzhiyun }
5292*4882a593Smuzhiyun
5293*4882a593Smuzhiyun #define REG_A5XX_TEX_CONST_3 0x00000003
5294*4882a593Smuzhiyun #define A5XX_TEX_CONST_3_ARRAY_PITCH__MASK 0x00003fff
5295*4882a593Smuzhiyun #define A5XX_TEX_CONST_3_ARRAY_PITCH__SHIFT 0
A5XX_TEX_CONST_3_ARRAY_PITCH(uint32_t val)5296*4882a593Smuzhiyun static inline uint32_t A5XX_TEX_CONST_3_ARRAY_PITCH(uint32_t val)
5297*4882a593Smuzhiyun {
5298*4882a593Smuzhiyun return ((val >> 12) << A5XX_TEX_CONST_3_ARRAY_PITCH__SHIFT) & A5XX_TEX_CONST_3_ARRAY_PITCH__MASK;
5299*4882a593Smuzhiyun }
5300*4882a593Smuzhiyun #define A5XX_TEX_CONST_3_MIN_LAYERSZ__MASK 0x07800000
5301*4882a593Smuzhiyun #define A5XX_TEX_CONST_3_MIN_LAYERSZ__SHIFT 23
A5XX_TEX_CONST_3_MIN_LAYERSZ(uint32_t val)5302*4882a593Smuzhiyun static inline uint32_t A5XX_TEX_CONST_3_MIN_LAYERSZ(uint32_t val)
5303*4882a593Smuzhiyun {
5304*4882a593Smuzhiyun return ((val >> 12) << A5XX_TEX_CONST_3_MIN_LAYERSZ__SHIFT) & A5XX_TEX_CONST_3_MIN_LAYERSZ__MASK;
5305*4882a593Smuzhiyun }
5306*4882a593Smuzhiyun #define A5XX_TEX_CONST_3_TILE_ALL 0x08000000
5307*4882a593Smuzhiyun #define A5XX_TEX_CONST_3_FLAG 0x10000000
5308*4882a593Smuzhiyun
5309*4882a593Smuzhiyun #define REG_A5XX_TEX_CONST_4 0x00000004
5310*4882a593Smuzhiyun #define A5XX_TEX_CONST_4_BASE_LO__MASK 0xffffffe0
5311*4882a593Smuzhiyun #define A5XX_TEX_CONST_4_BASE_LO__SHIFT 5
A5XX_TEX_CONST_4_BASE_LO(uint32_t val)5312*4882a593Smuzhiyun static inline uint32_t A5XX_TEX_CONST_4_BASE_LO(uint32_t val)
5313*4882a593Smuzhiyun {
5314*4882a593Smuzhiyun return ((val >> 5) << A5XX_TEX_CONST_4_BASE_LO__SHIFT) & A5XX_TEX_CONST_4_BASE_LO__MASK;
5315*4882a593Smuzhiyun }
5316*4882a593Smuzhiyun
5317*4882a593Smuzhiyun #define REG_A5XX_TEX_CONST_5 0x00000005
5318*4882a593Smuzhiyun #define A5XX_TEX_CONST_5_BASE_HI__MASK 0x0001ffff
5319*4882a593Smuzhiyun #define A5XX_TEX_CONST_5_BASE_HI__SHIFT 0
A5XX_TEX_CONST_5_BASE_HI(uint32_t val)5320*4882a593Smuzhiyun static inline uint32_t A5XX_TEX_CONST_5_BASE_HI(uint32_t val)
5321*4882a593Smuzhiyun {
5322*4882a593Smuzhiyun return ((val) << A5XX_TEX_CONST_5_BASE_HI__SHIFT) & A5XX_TEX_CONST_5_BASE_HI__MASK;
5323*4882a593Smuzhiyun }
5324*4882a593Smuzhiyun #define A5XX_TEX_CONST_5_DEPTH__MASK 0x3ffe0000
5325*4882a593Smuzhiyun #define A5XX_TEX_CONST_5_DEPTH__SHIFT 17
A5XX_TEX_CONST_5_DEPTH(uint32_t val)5326*4882a593Smuzhiyun static inline uint32_t A5XX_TEX_CONST_5_DEPTH(uint32_t val)
5327*4882a593Smuzhiyun {
5328*4882a593Smuzhiyun return ((val) << A5XX_TEX_CONST_5_DEPTH__SHIFT) & A5XX_TEX_CONST_5_DEPTH__MASK;
5329*4882a593Smuzhiyun }
5330*4882a593Smuzhiyun
5331*4882a593Smuzhiyun #define REG_A5XX_TEX_CONST_6 0x00000006
5332*4882a593Smuzhiyun
5333*4882a593Smuzhiyun #define REG_A5XX_TEX_CONST_7 0x00000007
5334*4882a593Smuzhiyun
5335*4882a593Smuzhiyun #define REG_A5XX_TEX_CONST_8 0x00000008
5336*4882a593Smuzhiyun
5337*4882a593Smuzhiyun #define REG_A5XX_TEX_CONST_9 0x00000009
5338*4882a593Smuzhiyun
5339*4882a593Smuzhiyun #define REG_A5XX_TEX_CONST_10 0x0000000a
5340*4882a593Smuzhiyun
5341*4882a593Smuzhiyun #define REG_A5XX_TEX_CONST_11 0x0000000b
5342*4882a593Smuzhiyun
5343*4882a593Smuzhiyun #define REG_A5XX_SSBO_0_0 0x00000000
5344*4882a593Smuzhiyun #define A5XX_SSBO_0_0_BASE_LO__MASK 0xffffffe0
5345*4882a593Smuzhiyun #define A5XX_SSBO_0_0_BASE_LO__SHIFT 5
A5XX_SSBO_0_0_BASE_LO(uint32_t val)5346*4882a593Smuzhiyun static inline uint32_t A5XX_SSBO_0_0_BASE_LO(uint32_t val)
5347*4882a593Smuzhiyun {
5348*4882a593Smuzhiyun return ((val >> 5) << A5XX_SSBO_0_0_BASE_LO__SHIFT) & A5XX_SSBO_0_0_BASE_LO__MASK;
5349*4882a593Smuzhiyun }
5350*4882a593Smuzhiyun
5351*4882a593Smuzhiyun #define REG_A5XX_SSBO_0_1 0x00000001
5352*4882a593Smuzhiyun #define A5XX_SSBO_0_1_PITCH__MASK 0x003fffff
5353*4882a593Smuzhiyun #define A5XX_SSBO_0_1_PITCH__SHIFT 0
A5XX_SSBO_0_1_PITCH(uint32_t val)5354*4882a593Smuzhiyun static inline uint32_t A5XX_SSBO_0_1_PITCH(uint32_t val)
5355*4882a593Smuzhiyun {
5356*4882a593Smuzhiyun return ((val) << A5XX_SSBO_0_1_PITCH__SHIFT) & A5XX_SSBO_0_1_PITCH__MASK;
5357*4882a593Smuzhiyun }
5358*4882a593Smuzhiyun
5359*4882a593Smuzhiyun #define REG_A5XX_SSBO_0_2 0x00000002
5360*4882a593Smuzhiyun #define A5XX_SSBO_0_2_ARRAY_PITCH__MASK 0x03fff000
5361*4882a593Smuzhiyun #define A5XX_SSBO_0_2_ARRAY_PITCH__SHIFT 12
A5XX_SSBO_0_2_ARRAY_PITCH(uint32_t val)5362*4882a593Smuzhiyun static inline uint32_t A5XX_SSBO_0_2_ARRAY_PITCH(uint32_t val)
5363*4882a593Smuzhiyun {
5364*4882a593Smuzhiyun return ((val >> 12) << A5XX_SSBO_0_2_ARRAY_PITCH__SHIFT) & A5XX_SSBO_0_2_ARRAY_PITCH__MASK;
5365*4882a593Smuzhiyun }
5366*4882a593Smuzhiyun
5367*4882a593Smuzhiyun #define REG_A5XX_SSBO_0_3 0x00000003
5368*4882a593Smuzhiyun #define A5XX_SSBO_0_3_CPP__MASK 0x0000003f
5369*4882a593Smuzhiyun #define A5XX_SSBO_0_3_CPP__SHIFT 0
A5XX_SSBO_0_3_CPP(uint32_t val)5370*4882a593Smuzhiyun static inline uint32_t A5XX_SSBO_0_3_CPP(uint32_t val)
5371*4882a593Smuzhiyun {
5372*4882a593Smuzhiyun return ((val) << A5XX_SSBO_0_3_CPP__SHIFT) & A5XX_SSBO_0_3_CPP__MASK;
5373*4882a593Smuzhiyun }
5374*4882a593Smuzhiyun
5375*4882a593Smuzhiyun #define REG_A5XX_SSBO_1_0 0x00000000
5376*4882a593Smuzhiyun #define A5XX_SSBO_1_0_FMT__MASK 0x0000ff00
5377*4882a593Smuzhiyun #define A5XX_SSBO_1_0_FMT__SHIFT 8
A5XX_SSBO_1_0_FMT(enum a5xx_tex_fmt val)5378*4882a593Smuzhiyun static inline uint32_t A5XX_SSBO_1_0_FMT(enum a5xx_tex_fmt val)
5379*4882a593Smuzhiyun {
5380*4882a593Smuzhiyun return ((val) << A5XX_SSBO_1_0_FMT__SHIFT) & A5XX_SSBO_1_0_FMT__MASK;
5381*4882a593Smuzhiyun }
5382*4882a593Smuzhiyun #define A5XX_SSBO_1_0_WIDTH__MASK 0xffff0000
5383*4882a593Smuzhiyun #define A5XX_SSBO_1_0_WIDTH__SHIFT 16
A5XX_SSBO_1_0_WIDTH(uint32_t val)5384*4882a593Smuzhiyun static inline uint32_t A5XX_SSBO_1_0_WIDTH(uint32_t val)
5385*4882a593Smuzhiyun {
5386*4882a593Smuzhiyun return ((val) << A5XX_SSBO_1_0_WIDTH__SHIFT) & A5XX_SSBO_1_0_WIDTH__MASK;
5387*4882a593Smuzhiyun }
5388*4882a593Smuzhiyun
5389*4882a593Smuzhiyun #define REG_A5XX_SSBO_1_1 0x00000001
5390*4882a593Smuzhiyun #define A5XX_SSBO_1_1_HEIGHT__MASK 0x0000ffff
5391*4882a593Smuzhiyun #define A5XX_SSBO_1_1_HEIGHT__SHIFT 0
A5XX_SSBO_1_1_HEIGHT(uint32_t val)5392*4882a593Smuzhiyun static inline uint32_t A5XX_SSBO_1_1_HEIGHT(uint32_t val)
5393*4882a593Smuzhiyun {
5394*4882a593Smuzhiyun return ((val) << A5XX_SSBO_1_1_HEIGHT__SHIFT) & A5XX_SSBO_1_1_HEIGHT__MASK;
5395*4882a593Smuzhiyun }
5396*4882a593Smuzhiyun #define A5XX_SSBO_1_1_DEPTH__MASK 0xffff0000
5397*4882a593Smuzhiyun #define A5XX_SSBO_1_1_DEPTH__SHIFT 16
A5XX_SSBO_1_1_DEPTH(uint32_t val)5398*4882a593Smuzhiyun static inline uint32_t A5XX_SSBO_1_1_DEPTH(uint32_t val)
5399*4882a593Smuzhiyun {
5400*4882a593Smuzhiyun return ((val) << A5XX_SSBO_1_1_DEPTH__SHIFT) & A5XX_SSBO_1_1_DEPTH__MASK;
5401*4882a593Smuzhiyun }
5402*4882a593Smuzhiyun
5403*4882a593Smuzhiyun #define REG_A5XX_SSBO_2_0 0x00000000
5404*4882a593Smuzhiyun #define A5XX_SSBO_2_0_BASE_LO__MASK 0xffffffff
5405*4882a593Smuzhiyun #define A5XX_SSBO_2_0_BASE_LO__SHIFT 0
A5XX_SSBO_2_0_BASE_LO(uint32_t val)5406*4882a593Smuzhiyun static inline uint32_t A5XX_SSBO_2_0_BASE_LO(uint32_t val)
5407*4882a593Smuzhiyun {
5408*4882a593Smuzhiyun return ((val) << A5XX_SSBO_2_0_BASE_LO__SHIFT) & A5XX_SSBO_2_0_BASE_LO__MASK;
5409*4882a593Smuzhiyun }
5410*4882a593Smuzhiyun
5411*4882a593Smuzhiyun #define REG_A5XX_SSBO_2_1 0x00000001
5412*4882a593Smuzhiyun #define A5XX_SSBO_2_1_BASE_HI__MASK 0xffffffff
5413*4882a593Smuzhiyun #define A5XX_SSBO_2_1_BASE_HI__SHIFT 0
A5XX_SSBO_2_1_BASE_HI(uint32_t val)5414*4882a593Smuzhiyun static inline uint32_t A5XX_SSBO_2_1_BASE_HI(uint32_t val)
5415*4882a593Smuzhiyun {
5416*4882a593Smuzhiyun return ((val) << A5XX_SSBO_2_1_BASE_HI__SHIFT) & A5XX_SSBO_2_1_BASE_HI__MASK;
5417*4882a593Smuzhiyun }
5418*4882a593Smuzhiyun
5419*4882a593Smuzhiyun #define REG_A5XX_UBO_0 0x00000000
5420*4882a593Smuzhiyun #define A5XX_UBO_0_BASE_LO__MASK 0xffffffff
5421*4882a593Smuzhiyun #define A5XX_UBO_0_BASE_LO__SHIFT 0
A5XX_UBO_0_BASE_LO(uint32_t val)5422*4882a593Smuzhiyun static inline uint32_t A5XX_UBO_0_BASE_LO(uint32_t val)
5423*4882a593Smuzhiyun {
5424*4882a593Smuzhiyun return ((val) << A5XX_UBO_0_BASE_LO__SHIFT) & A5XX_UBO_0_BASE_LO__MASK;
5425*4882a593Smuzhiyun }
5426*4882a593Smuzhiyun
5427*4882a593Smuzhiyun #define REG_A5XX_UBO_1 0x00000001
5428*4882a593Smuzhiyun #define A5XX_UBO_1_BASE_HI__MASK 0x0001ffff
5429*4882a593Smuzhiyun #define A5XX_UBO_1_BASE_HI__SHIFT 0
A5XX_UBO_1_BASE_HI(uint32_t val)5430*4882a593Smuzhiyun static inline uint32_t A5XX_UBO_1_BASE_HI(uint32_t val)
5431*4882a593Smuzhiyun {
5432*4882a593Smuzhiyun return ((val) << A5XX_UBO_1_BASE_HI__SHIFT) & A5XX_UBO_1_BASE_HI__MASK;
5433*4882a593Smuzhiyun }
5434*4882a593Smuzhiyun
5435*4882a593Smuzhiyun
5436*4882a593Smuzhiyun #endif /* A5XX_XML */
5437