xref: /OK3568_Linux_fs/kernel/drivers/gpu/drm/msm/adreno/a2xx.xml.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun #ifndef A2XX_XML
2*4882a593Smuzhiyun #define A2XX_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 a2xx_rb_dither_type {
52*4882a593Smuzhiyun 	DITHER_PIXEL = 0,
53*4882a593Smuzhiyun 	DITHER_SUBPIXEL = 1,
54*4882a593Smuzhiyun };
55*4882a593Smuzhiyun 
56*4882a593Smuzhiyun enum a2xx_colorformatx {
57*4882a593Smuzhiyun 	COLORX_4_4_4_4 = 0,
58*4882a593Smuzhiyun 	COLORX_1_5_5_5 = 1,
59*4882a593Smuzhiyun 	COLORX_5_6_5 = 2,
60*4882a593Smuzhiyun 	COLORX_8 = 3,
61*4882a593Smuzhiyun 	COLORX_8_8 = 4,
62*4882a593Smuzhiyun 	COLORX_8_8_8_8 = 5,
63*4882a593Smuzhiyun 	COLORX_S8_8_8_8 = 6,
64*4882a593Smuzhiyun 	COLORX_16_FLOAT = 7,
65*4882a593Smuzhiyun 	COLORX_16_16_FLOAT = 8,
66*4882a593Smuzhiyun 	COLORX_16_16_16_16_FLOAT = 9,
67*4882a593Smuzhiyun 	COLORX_32_FLOAT = 10,
68*4882a593Smuzhiyun 	COLORX_32_32_FLOAT = 11,
69*4882a593Smuzhiyun 	COLORX_32_32_32_32_FLOAT = 12,
70*4882a593Smuzhiyun 	COLORX_2_3_3 = 13,
71*4882a593Smuzhiyun 	COLORX_8_8_8 = 14,
72*4882a593Smuzhiyun };
73*4882a593Smuzhiyun 
74*4882a593Smuzhiyun enum a2xx_sq_surfaceformat {
75*4882a593Smuzhiyun 	FMT_1_REVERSE = 0,
76*4882a593Smuzhiyun 	FMT_1 = 1,
77*4882a593Smuzhiyun 	FMT_8 = 2,
78*4882a593Smuzhiyun 	FMT_1_5_5_5 = 3,
79*4882a593Smuzhiyun 	FMT_5_6_5 = 4,
80*4882a593Smuzhiyun 	FMT_6_5_5 = 5,
81*4882a593Smuzhiyun 	FMT_8_8_8_8 = 6,
82*4882a593Smuzhiyun 	FMT_2_10_10_10 = 7,
83*4882a593Smuzhiyun 	FMT_8_A = 8,
84*4882a593Smuzhiyun 	FMT_8_B = 9,
85*4882a593Smuzhiyun 	FMT_8_8 = 10,
86*4882a593Smuzhiyun 	FMT_Cr_Y1_Cb_Y0 = 11,
87*4882a593Smuzhiyun 	FMT_Y1_Cr_Y0_Cb = 12,
88*4882a593Smuzhiyun 	FMT_5_5_5_1 = 13,
89*4882a593Smuzhiyun 	FMT_8_8_8_8_A = 14,
90*4882a593Smuzhiyun 	FMT_4_4_4_4 = 15,
91*4882a593Smuzhiyun 	FMT_8_8_8 = 16,
92*4882a593Smuzhiyun 	FMT_DXT1 = 18,
93*4882a593Smuzhiyun 	FMT_DXT2_3 = 19,
94*4882a593Smuzhiyun 	FMT_DXT4_5 = 20,
95*4882a593Smuzhiyun 	FMT_10_10_10_2 = 21,
96*4882a593Smuzhiyun 	FMT_24_8 = 22,
97*4882a593Smuzhiyun 	FMT_16 = 24,
98*4882a593Smuzhiyun 	FMT_16_16 = 25,
99*4882a593Smuzhiyun 	FMT_16_16_16_16 = 26,
100*4882a593Smuzhiyun 	FMT_16_EXPAND = 27,
101*4882a593Smuzhiyun 	FMT_16_16_EXPAND = 28,
102*4882a593Smuzhiyun 	FMT_16_16_16_16_EXPAND = 29,
103*4882a593Smuzhiyun 	FMT_16_FLOAT = 30,
104*4882a593Smuzhiyun 	FMT_16_16_FLOAT = 31,
105*4882a593Smuzhiyun 	FMT_16_16_16_16_FLOAT = 32,
106*4882a593Smuzhiyun 	FMT_32 = 33,
107*4882a593Smuzhiyun 	FMT_32_32 = 34,
108*4882a593Smuzhiyun 	FMT_32_32_32_32 = 35,
109*4882a593Smuzhiyun 	FMT_32_FLOAT = 36,
110*4882a593Smuzhiyun 	FMT_32_32_FLOAT = 37,
111*4882a593Smuzhiyun 	FMT_32_32_32_32_FLOAT = 38,
112*4882a593Smuzhiyun 	FMT_ATI_TC_RGB = 39,
113*4882a593Smuzhiyun 	FMT_ATI_TC_RGBA = 40,
114*4882a593Smuzhiyun 	FMT_ATI_TC_555_565_RGB = 41,
115*4882a593Smuzhiyun 	FMT_ATI_TC_555_565_RGBA = 42,
116*4882a593Smuzhiyun 	FMT_ATI_TC_RGBA_INTERP = 43,
117*4882a593Smuzhiyun 	FMT_ATI_TC_555_565_RGBA_INTERP = 44,
118*4882a593Smuzhiyun 	FMT_ETC1_RGBA_INTERP = 46,
119*4882a593Smuzhiyun 	FMT_ETC1_RGB = 47,
120*4882a593Smuzhiyun 	FMT_ETC1_RGBA = 48,
121*4882a593Smuzhiyun 	FMT_DXN = 49,
122*4882a593Smuzhiyun 	FMT_2_3_3 = 51,
123*4882a593Smuzhiyun 	FMT_2_10_10_10_AS_16_16_16_16 = 54,
124*4882a593Smuzhiyun 	FMT_10_10_10_2_AS_16_16_16_16 = 55,
125*4882a593Smuzhiyun 	FMT_32_32_32_FLOAT = 57,
126*4882a593Smuzhiyun 	FMT_DXT3A = 58,
127*4882a593Smuzhiyun 	FMT_DXT5A = 59,
128*4882a593Smuzhiyun 	FMT_CTX1 = 60,
129*4882a593Smuzhiyun };
130*4882a593Smuzhiyun 
131*4882a593Smuzhiyun enum a2xx_sq_ps_vtx_mode {
132*4882a593Smuzhiyun 	POSITION_1_VECTOR = 0,
133*4882a593Smuzhiyun 	POSITION_2_VECTORS_UNUSED = 1,
134*4882a593Smuzhiyun 	POSITION_2_VECTORS_SPRITE = 2,
135*4882a593Smuzhiyun 	POSITION_2_VECTORS_EDGE = 3,
136*4882a593Smuzhiyun 	POSITION_2_VECTORS_KILL = 4,
137*4882a593Smuzhiyun 	POSITION_2_VECTORS_SPRITE_KILL = 5,
138*4882a593Smuzhiyun 	POSITION_2_VECTORS_EDGE_KILL = 6,
139*4882a593Smuzhiyun 	MULTIPASS = 7,
140*4882a593Smuzhiyun };
141*4882a593Smuzhiyun 
142*4882a593Smuzhiyun enum a2xx_sq_sample_cntl {
143*4882a593Smuzhiyun 	CENTROIDS_ONLY = 0,
144*4882a593Smuzhiyun 	CENTERS_ONLY = 1,
145*4882a593Smuzhiyun 	CENTROIDS_AND_CENTERS = 2,
146*4882a593Smuzhiyun };
147*4882a593Smuzhiyun 
148*4882a593Smuzhiyun enum a2xx_dx_clip_space {
149*4882a593Smuzhiyun 	DXCLIP_OPENGL = 0,
150*4882a593Smuzhiyun 	DXCLIP_DIRECTX = 1,
151*4882a593Smuzhiyun };
152*4882a593Smuzhiyun 
153*4882a593Smuzhiyun enum a2xx_pa_su_sc_polymode {
154*4882a593Smuzhiyun 	POLY_DISABLED = 0,
155*4882a593Smuzhiyun 	POLY_DUALMODE = 1,
156*4882a593Smuzhiyun };
157*4882a593Smuzhiyun 
158*4882a593Smuzhiyun enum a2xx_rb_edram_mode {
159*4882a593Smuzhiyun 	EDRAM_NOP = 0,
160*4882a593Smuzhiyun 	COLOR_DEPTH = 4,
161*4882a593Smuzhiyun 	DEPTH_ONLY = 5,
162*4882a593Smuzhiyun 	EDRAM_COPY = 6,
163*4882a593Smuzhiyun };
164*4882a593Smuzhiyun 
165*4882a593Smuzhiyun enum a2xx_pa_sc_pattern_bit_order {
166*4882a593Smuzhiyun 	LITTLE = 0,
167*4882a593Smuzhiyun 	BIG = 1,
168*4882a593Smuzhiyun };
169*4882a593Smuzhiyun 
170*4882a593Smuzhiyun enum a2xx_pa_sc_auto_reset_cntl {
171*4882a593Smuzhiyun 	NEVER = 0,
172*4882a593Smuzhiyun 	EACH_PRIMITIVE = 1,
173*4882a593Smuzhiyun 	EACH_PACKET = 2,
174*4882a593Smuzhiyun };
175*4882a593Smuzhiyun 
176*4882a593Smuzhiyun enum a2xx_pa_pixcenter {
177*4882a593Smuzhiyun 	PIXCENTER_D3D = 0,
178*4882a593Smuzhiyun 	PIXCENTER_OGL = 1,
179*4882a593Smuzhiyun };
180*4882a593Smuzhiyun 
181*4882a593Smuzhiyun enum a2xx_pa_roundmode {
182*4882a593Smuzhiyun 	TRUNCATE = 0,
183*4882a593Smuzhiyun 	ROUND = 1,
184*4882a593Smuzhiyun 	ROUNDTOEVEN = 2,
185*4882a593Smuzhiyun 	ROUNDTOODD = 3,
186*4882a593Smuzhiyun };
187*4882a593Smuzhiyun 
188*4882a593Smuzhiyun enum a2xx_pa_quantmode {
189*4882a593Smuzhiyun 	ONE_SIXTEENTH = 0,
190*4882a593Smuzhiyun 	ONE_EIGTH = 1,
191*4882a593Smuzhiyun 	ONE_QUARTER = 2,
192*4882a593Smuzhiyun 	ONE_HALF = 3,
193*4882a593Smuzhiyun 	ONE = 4,
194*4882a593Smuzhiyun };
195*4882a593Smuzhiyun 
196*4882a593Smuzhiyun enum a2xx_rb_copy_sample_select {
197*4882a593Smuzhiyun 	SAMPLE_0 = 0,
198*4882a593Smuzhiyun 	SAMPLE_1 = 1,
199*4882a593Smuzhiyun 	SAMPLE_2 = 2,
200*4882a593Smuzhiyun 	SAMPLE_3 = 3,
201*4882a593Smuzhiyun 	SAMPLE_01 = 4,
202*4882a593Smuzhiyun 	SAMPLE_23 = 5,
203*4882a593Smuzhiyun 	SAMPLE_0123 = 6,
204*4882a593Smuzhiyun };
205*4882a593Smuzhiyun 
206*4882a593Smuzhiyun enum a2xx_rb_blend_opcode {
207*4882a593Smuzhiyun 	BLEND2_DST_PLUS_SRC = 0,
208*4882a593Smuzhiyun 	BLEND2_SRC_MINUS_DST = 1,
209*4882a593Smuzhiyun 	BLEND2_MIN_DST_SRC = 2,
210*4882a593Smuzhiyun 	BLEND2_MAX_DST_SRC = 3,
211*4882a593Smuzhiyun 	BLEND2_DST_MINUS_SRC = 4,
212*4882a593Smuzhiyun 	BLEND2_DST_PLUS_SRC_BIAS = 5,
213*4882a593Smuzhiyun };
214*4882a593Smuzhiyun 
215*4882a593Smuzhiyun enum a2xx_su_perfcnt_select {
216*4882a593Smuzhiyun 	PERF_PAPC_PASX_REQ = 0,
217*4882a593Smuzhiyun 	PERF_PAPC_PASX_FIRST_VECTOR = 2,
218*4882a593Smuzhiyun 	PERF_PAPC_PASX_SECOND_VECTOR = 3,
219*4882a593Smuzhiyun 	PERF_PAPC_PASX_FIRST_DEAD = 4,
220*4882a593Smuzhiyun 	PERF_PAPC_PASX_SECOND_DEAD = 5,
221*4882a593Smuzhiyun 	PERF_PAPC_PASX_VTX_KILL_DISCARD = 6,
222*4882a593Smuzhiyun 	PERF_PAPC_PASX_VTX_NAN_DISCARD = 7,
223*4882a593Smuzhiyun 	PERF_PAPC_PA_INPUT_PRIM = 8,
224*4882a593Smuzhiyun 	PERF_PAPC_PA_INPUT_NULL_PRIM = 9,
225*4882a593Smuzhiyun 	PERF_PAPC_PA_INPUT_EVENT_FLAG = 10,
226*4882a593Smuzhiyun 	PERF_PAPC_PA_INPUT_FIRST_PRIM_SLOT = 11,
227*4882a593Smuzhiyun 	PERF_PAPC_PA_INPUT_END_OF_PACKET = 12,
228*4882a593Smuzhiyun 	PERF_PAPC_CLPR_CULL_PRIM = 13,
229*4882a593Smuzhiyun 	PERF_PAPC_CLPR_VV_CULL_PRIM = 15,
230*4882a593Smuzhiyun 	PERF_PAPC_CLPR_VTX_KILL_CULL_PRIM = 17,
231*4882a593Smuzhiyun 	PERF_PAPC_CLPR_VTX_NAN_CULL_PRIM = 18,
232*4882a593Smuzhiyun 	PERF_PAPC_CLPR_CULL_TO_NULL_PRIM = 19,
233*4882a593Smuzhiyun 	PERF_PAPC_CLPR_VV_CLIP_PRIM = 21,
234*4882a593Smuzhiyun 	PERF_PAPC_CLPR_POINT_CLIP_CANDIDATE = 23,
235*4882a593Smuzhiyun 	PERF_PAPC_CLPR_CLIP_PLANE_CNT_1 = 24,
236*4882a593Smuzhiyun 	PERF_PAPC_CLPR_CLIP_PLANE_CNT_2 = 25,
237*4882a593Smuzhiyun 	PERF_PAPC_CLPR_CLIP_PLANE_CNT_3 = 26,
238*4882a593Smuzhiyun 	PERF_PAPC_CLPR_CLIP_PLANE_CNT_4 = 27,
239*4882a593Smuzhiyun 	PERF_PAPC_CLPR_CLIP_PLANE_CNT_5 = 28,
240*4882a593Smuzhiyun 	PERF_PAPC_CLPR_CLIP_PLANE_CNT_6 = 29,
241*4882a593Smuzhiyun 	PERF_PAPC_CLPR_CLIP_PLANE_NEAR = 30,
242*4882a593Smuzhiyun 	PERF_PAPC_CLPR_CLIP_PLANE_FAR = 31,
243*4882a593Smuzhiyun 	PERF_PAPC_CLPR_CLIP_PLANE_LEFT = 32,
244*4882a593Smuzhiyun 	PERF_PAPC_CLPR_CLIP_PLANE_RIGHT = 33,
245*4882a593Smuzhiyun 	PERF_PAPC_CLPR_CLIP_PLANE_TOP = 34,
246*4882a593Smuzhiyun 	PERF_PAPC_CLPR_CLIP_PLANE_BOTTOM = 35,
247*4882a593Smuzhiyun 	PERF_PAPC_CLSM_NULL_PRIM = 36,
248*4882a593Smuzhiyun 	PERF_PAPC_CLSM_TOTALLY_VISIBLE_PRIM = 37,
249*4882a593Smuzhiyun 	PERF_PAPC_CLSM_CLIP_PRIM = 38,
250*4882a593Smuzhiyun 	PERF_PAPC_CLSM_CULL_TO_NULL_PRIM = 39,
251*4882a593Smuzhiyun 	PERF_PAPC_CLSM_OUT_PRIM_CNT_1 = 40,
252*4882a593Smuzhiyun 	PERF_PAPC_CLSM_OUT_PRIM_CNT_2 = 41,
253*4882a593Smuzhiyun 	PERF_PAPC_CLSM_OUT_PRIM_CNT_3 = 42,
254*4882a593Smuzhiyun 	PERF_PAPC_CLSM_OUT_PRIM_CNT_4 = 43,
255*4882a593Smuzhiyun 	PERF_PAPC_CLSM_OUT_PRIM_CNT_5 = 44,
256*4882a593Smuzhiyun 	PERF_PAPC_CLSM_OUT_PRIM_CNT_6_7 = 45,
257*4882a593Smuzhiyun 	PERF_PAPC_CLSM_NON_TRIVIAL_CULL = 46,
258*4882a593Smuzhiyun 	PERF_PAPC_SU_INPUT_PRIM = 47,
259*4882a593Smuzhiyun 	PERF_PAPC_SU_INPUT_CLIP_PRIM = 48,
260*4882a593Smuzhiyun 	PERF_PAPC_SU_INPUT_NULL_PRIM = 49,
261*4882a593Smuzhiyun 	PERF_PAPC_SU_ZERO_AREA_CULL_PRIM = 50,
262*4882a593Smuzhiyun 	PERF_PAPC_SU_BACK_FACE_CULL_PRIM = 51,
263*4882a593Smuzhiyun 	PERF_PAPC_SU_FRONT_FACE_CULL_PRIM = 52,
264*4882a593Smuzhiyun 	PERF_PAPC_SU_POLYMODE_FACE_CULL = 53,
265*4882a593Smuzhiyun 	PERF_PAPC_SU_POLYMODE_BACK_CULL = 54,
266*4882a593Smuzhiyun 	PERF_PAPC_SU_POLYMODE_FRONT_CULL = 55,
267*4882a593Smuzhiyun 	PERF_PAPC_SU_POLYMODE_INVALID_FILL = 56,
268*4882a593Smuzhiyun 	PERF_PAPC_SU_OUTPUT_PRIM = 57,
269*4882a593Smuzhiyun 	PERF_PAPC_SU_OUTPUT_CLIP_PRIM = 58,
270*4882a593Smuzhiyun 	PERF_PAPC_SU_OUTPUT_NULL_PRIM = 59,
271*4882a593Smuzhiyun 	PERF_PAPC_SU_OUTPUT_EVENT_FLAG = 60,
272*4882a593Smuzhiyun 	PERF_PAPC_SU_OUTPUT_FIRST_PRIM_SLOT = 61,
273*4882a593Smuzhiyun 	PERF_PAPC_SU_OUTPUT_END_OF_PACKET = 62,
274*4882a593Smuzhiyun 	PERF_PAPC_SU_OUTPUT_POLYMODE_FACE = 63,
275*4882a593Smuzhiyun 	PERF_PAPC_SU_OUTPUT_POLYMODE_BACK = 64,
276*4882a593Smuzhiyun 	PERF_PAPC_SU_OUTPUT_POLYMODE_FRONT = 65,
277*4882a593Smuzhiyun 	PERF_PAPC_SU_OUT_CLIP_POLYMODE_FACE = 66,
278*4882a593Smuzhiyun 	PERF_PAPC_SU_OUT_CLIP_POLYMODE_BACK = 67,
279*4882a593Smuzhiyun 	PERF_PAPC_SU_OUT_CLIP_POLYMODE_FRONT = 68,
280*4882a593Smuzhiyun 	PERF_PAPC_PASX_REQ_IDLE = 69,
281*4882a593Smuzhiyun 	PERF_PAPC_PASX_REQ_BUSY = 70,
282*4882a593Smuzhiyun 	PERF_PAPC_PASX_REQ_STALLED = 71,
283*4882a593Smuzhiyun 	PERF_PAPC_PASX_REC_IDLE = 72,
284*4882a593Smuzhiyun 	PERF_PAPC_PASX_REC_BUSY = 73,
285*4882a593Smuzhiyun 	PERF_PAPC_PASX_REC_STARVED_SX = 74,
286*4882a593Smuzhiyun 	PERF_PAPC_PASX_REC_STALLED = 75,
287*4882a593Smuzhiyun 	PERF_PAPC_PASX_REC_STALLED_POS_MEM = 76,
288*4882a593Smuzhiyun 	PERF_PAPC_PASX_REC_STALLED_CCGSM_IN = 77,
289*4882a593Smuzhiyun 	PERF_PAPC_CCGSM_IDLE = 78,
290*4882a593Smuzhiyun 	PERF_PAPC_CCGSM_BUSY = 79,
291*4882a593Smuzhiyun 	PERF_PAPC_CCGSM_STALLED = 80,
292*4882a593Smuzhiyun 	PERF_PAPC_CLPRIM_IDLE = 81,
293*4882a593Smuzhiyun 	PERF_PAPC_CLPRIM_BUSY = 82,
294*4882a593Smuzhiyun 	PERF_PAPC_CLPRIM_STALLED = 83,
295*4882a593Smuzhiyun 	PERF_PAPC_CLPRIM_STARVED_CCGSM = 84,
296*4882a593Smuzhiyun 	PERF_PAPC_CLIPSM_IDLE = 85,
297*4882a593Smuzhiyun 	PERF_PAPC_CLIPSM_BUSY = 86,
298*4882a593Smuzhiyun 	PERF_PAPC_CLIPSM_WAIT_CLIP_VERT_ENGH = 87,
299*4882a593Smuzhiyun 	PERF_PAPC_CLIPSM_WAIT_HIGH_PRI_SEQ = 88,
300*4882a593Smuzhiyun 	PERF_PAPC_CLIPSM_WAIT_CLIPGA = 89,
301*4882a593Smuzhiyun 	PERF_PAPC_CLIPSM_WAIT_AVAIL_VTE_CLIP = 90,
302*4882a593Smuzhiyun 	PERF_PAPC_CLIPSM_WAIT_CLIP_OUTSM = 91,
303*4882a593Smuzhiyun 	PERF_PAPC_CLIPGA_IDLE = 92,
304*4882a593Smuzhiyun 	PERF_PAPC_CLIPGA_BUSY = 93,
305*4882a593Smuzhiyun 	PERF_PAPC_CLIPGA_STARVED_VTE_CLIP = 94,
306*4882a593Smuzhiyun 	PERF_PAPC_CLIPGA_STALLED = 95,
307*4882a593Smuzhiyun 	PERF_PAPC_CLIP_IDLE = 96,
308*4882a593Smuzhiyun 	PERF_PAPC_CLIP_BUSY = 97,
309*4882a593Smuzhiyun 	PERF_PAPC_SU_IDLE = 98,
310*4882a593Smuzhiyun 	PERF_PAPC_SU_BUSY = 99,
311*4882a593Smuzhiyun 	PERF_PAPC_SU_STARVED_CLIP = 100,
312*4882a593Smuzhiyun 	PERF_PAPC_SU_STALLED_SC = 101,
313*4882a593Smuzhiyun 	PERF_PAPC_SU_FACENESS_CULL = 102,
314*4882a593Smuzhiyun };
315*4882a593Smuzhiyun 
316*4882a593Smuzhiyun enum a2xx_sc_perfcnt_select {
317*4882a593Smuzhiyun 	SC_SR_WINDOW_VALID = 0,
318*4882a593Smuzhiyun 	SC_CW_WINDOW_VALID = 1,
319*4882a593Smuzhiyun 	SC_QM_WINDOW_VALID = 2,
320*4882a593Smuzhiyun 	SC_FW_WINDOW_VALID = 3,
321*4882a593Smuzhiyun 	SC_EZ_WINDOW_VALID = 4,
322*4882a593Smuzhiyun 	SC_IT_WINDOW_VALID = 5,
323*4882a593Smuzhiyun 	SC_STARVED_BY_PA = 6,
324*4882a593Smuzhiyun 	SC_STALLED_BY_RB_TILE = 7,
325*4882a593Smuzhiyun 	SC_STALLED_BY_RB_SAMP = 8,
326*4882a593Smuzhiyun 	SC_STARVED_BY_RB_EZ = 9,
327*4882a593Smuzhiyun 	SC_STALLED_BY_SAMPLE_FF = 10,
328*4882a593Smuzhiyun 	SC_STALLED_BY_SQ = 11,
329*4882a593Smuzhiyun 	SC_STALLED_BY_SP = 12,
330*4882a593Smuzhiyun 	SC_TOTAL_NO_PRIMS = 13,
331*4882a593Smuzhiyun 	SC_NON_EMPTY_PRIMS = 14,
332*4882a593Smuzhiyun 	SC_NO_TILES_PASSING_QM = 15,
333*4882a593Smuzhiyun 	SC_NO_PIXELS_PRE_EZ = 16,
334*4882a593Smuzhiyun 	SC_NO_PIXELS_POST_EZ = 17,
335*4882a593Smuzhiyun };
336*4882a593Smuzhiyun 
337*4882a593Smuzhiyun enum a2xx_vgt_perfcount_select {
338*4882a593Smuzhiyun 	VGT_SQ_EVENT_WINDOW_ACTIVE = 0,
339*4882a593Smuzhiyun 	VGT_SQ_SEND = 1,
340*4882a593Smuzhiyun 	VGT_SQ_STALLED = 2,
341*4882a593Smuzhiyun 	VGT_SQ_STARVED_BUSY = 3,
342*4882a593Smuzhiyun 	VGT_SQ_STARVED_IDLE = 4,
343*4882a593Smuzhiyun 	VGT_SQ_STATIC = 5,
344*4882a593Smuzhiyun 	VGT_PA_EVENT_WINDOW_ACTIVE = 6,
345*4882a593Smuzhiyun 	VGT_PA_CLIP_V_SEND = 7,
346*4882a593Smuzhiyun 	VGT_PA_CLIP_V_STALLED = 8,
347*4882a593Smuzhiyun 	VGT_PA_CLIP_V_STARVED_BUSY = 9,
348*4882a593Smuzhiyun 	VGT_PA_CLIP_V_STARVED_IDLE = 10,
349*4882a593Smuzhiyun 	VGT_PA_CLIP_V_STATIC = 11,
350*4882a593Smuzhiyun 	VGT_PA_CLIP_P_SEND = 12,
351*4882a593Smuzhiyun 	VGT_PA_CLIP_P_STALLED = 13,
352*4882a593Smuzhiyun 	VGT_PA_CLIP_P_STARVED_BUSY = 14,
353*4882a593Smuzhiyun 	VGT_PA_CLIP_P_STARVED_IDLE = 15,
354*4882a593Smuzhiyun 	VGT_PA_CLIP_P_STATIC = 16,
355*4882a593Smuzhiyun 	VGT_PA_CLIP_S_SEND = 17,
356*4882a593Smuzhiyun 	VGT_PA_CLIP_S_STALLED = 18,
357*4882a593Smuzhiyun 	VGT_PA_CLIP_S_STARVED_BUSY = 19,
358*4882a593Smuzhiyun 	VGT_PA_CLIP_S_STARVED_IDLE = 20,
359*4882a593Smuzhiyun 	VGT_PA_CLIP_S_STATIC = 21,
360*4882a593Smuzhiyun 	RBIU_FIFOS_EVENT_WINDOW_ACTIVE = 22,
361*4882a593Smuzhiyun 	RBIU_IMMED_DATA_FIFO_STARVED = 23,
362*4882a593Smuzhiyun 	RBIU_IMMED_DATA_FIFO_STALLED = 24,
363*4882a593Smuzhiyun 	RBIU_DMA_REQUEST_FIFO_STARVED = 25,
364*4882a593Smuzhiyun 	RBIU_DMA_REQUEST_FIFO_STALLED = 26,
365*4882a593Smuzhiyun 	RBIU_DRAW_INITIATOR_FIFO_STARVED = 27,
366*4882a593Smuzhiyun 	RBIU_DRAW_INITIATOR_FIFO_STALLED = 28,
367*4882a593Smuzhiyun 	BIN_PRIM_NEAR_CULL = 29,
368*4882a593Smuzhiyun 	BIN_PRIM_ZERO_CULL = 30,
369*4882a593Smuzhiyun 	BIN_PRIM_FAR_CULL = 31,
370*4882a593Smuzhiyun 	BIN_PRIM_BIN_CULL = 32,
371*4882a593Smuzhiyun 	BIN_PRIM_FACE_CULL = 33,
372*4882a593Smuzhiyun 	SPARE34 = 34,
373*4882a593Smuzhiyun 	SPARE35 = 35,
374*4882a593Smuzhiyun 	SPARE36 = 36,
375*4882a593Smuzhiyun 	SPARE37 = 37,
376*4882a593Smuzhiyun 	SPARE38 = 38,
377*4882a593Smuzhiyun 	SPARE39 = 39,
378*4882a593Smuzhiyun 	TE_SU_IN_VALID = 40,
379*4882a593Smuzhiyun 	TE_SU_IN_READ = 41,
380*4882a593Smuzhiyun 	TE_SU_IN_PRIM = 42,
381*4882a593Smuzhiyun 	TE_SU_IN_EOP = 43,
382*4882a593Smuzhiyun 	TE_SU_IN_NULL_PRIM = 44,
383*4882a593Smuzhiyun 	TE_WK_IN_VALID = 45,
384*4882a593Smuzhiyun 	TE_WK_IN_READ = 46,
385*4882a593Smuzhiyun 	TE_OUT_PRIM_VALID = 47,
386*4882a593Smuzhiyun 	TE_OUT_PRIM_READ = 48,
387*4882a593Smuzhiyun };
388*4882a593Smuzhiyun 
389*4882a593Smuzhiyun enum a2xx_tcr_perfcount_select {
390*4882a593Smuzhiyun 	DGMMPD_IPMUX0_STALL = 0,
391*4882a593Smuzhiyun 	DGMMPD_IPMUX_ALL_STALL = 4,
392*4882a593Smuzhiyun 	OPMUX0_L2_WRITES = 5,
393*4882a593Smuzhiyun };
394*4882a593Smuzhiyun 
395*4882a593Smuzhiyun enum a2xx_tp_perfcount_select {
396*4882a593Smuzhiyun 	POINT_QUADS = 0,
397*4882a593Smuzhiyun 	BILIN_QUADS = 1,
398*4882a593Smuzhiyun 	ANISO_QUADS = 2,
399*4882a593Smuzhiyun 	MIP_QUADS = 3,
400*4882a593Smuzhiyun 	VOL_QUADS = 4,
401*4882a593Smuzhiyun 	MIP_VOL_QUADS = 5,
402*4882a593Smuzhiyun 	MIP_ANISO_QUADS = 6,
403*4882a593Smuzhiyun 	VOL_ANISO_QUADS = 7,
404*4882a593Smuzhiyun 	ANISO_2_1_QUADS = 8,
405*4882a593Smuzhiyun 	ANISO_4_1_QUADS = 9,
406*4882a593Smuzhiyun 	ANISO_6_1_QUADS = 10,
407*4882a593Smuzhiyun 	ANISO_8_1_QUADS = 11,
408*4882a593Smuzhiyun 	ANISO_10_1_QUADS = 12,
409*4882a593Smuzhiyun 	ANISO_12_1_QUADS = 13,
410*4882a593Smuzhiyun 	ANISO_14_1_QUADS = 14,
411*4882a593Smuzhiyun 	ANISO_16_1_QUADS = 15,
412*4882a593Smuzhiyun 	MIP_VOL_ANISO_QUADS = 16,
413*4882a593Smuzhiyun 	ALIGN_2_QUADS = 17,
414*4882a593Smuzhiyun 	ALIGN_4_QUADS = 18,
415*4882a593Smuzhiyun 	PIX_0_QUAD = 19,
416*4882a593Smuzhiyun 	PIX_1_QUAD = 20,
417*4882a593Smuzhiyun 	PIX_2_QUAD = 21,
418*4882a593Smuzhiyun 	PIX_3_QUAD = 22,
419*4882a593Smuzhiyun 	PIX_4_QUAD = 23,
420*4882a593Smuzhiyun 	TP_MIPMAP_LOD0 = 24,
421*4882a593Smuzhiyun 	TP_MIPMAP_LOD1 = 25,
422*4882a593Smuzhiyun 	TP_MIPMAP_LOD2 = 26,
423*4882a593Smuzhiyun 	TP_MIPMAP_LOD3 = 27,
424*4882a593Smuzhiyun 	TP_MIPMAP_LOD4 = 28,
425*4882a593Smuzhiyun 	TP_MIPMAP_LOD5 = 29,
426*4882a593Smuzhiyun 	TP_MIPMAP_LOD6 = 30,
427*4882a593Smuzhiyun 	TP_MIPMAP_LOD7 = 31,
428*4882a593Smuzhiyun 	TP_MIPMAP_LOD8 = 32,
429*4882a593Smuzhiyun 	TP_MIPMAP_LOD9 = 33,
430*4882a593Smuzhiyun 	TP_MIPMAP_LOD10 = 34,
431*4882a593Smuzhiyun 	TP_MIPMAP_LOD11 = 35,
432*4882a593Smuzhiyun 	TP_MIPMAP_LOD12 = 36,
433*4882a593Smuzhiyun 	TP_MIPMAP_LOD13 = 37,
434*4882a593Smuzhiyun 	TP_MIPMAP_LOD14 = 38,
435*4882a593Smuzhiyun };
436*4882a593Smuzhiyun 
437*4882a593Smuzhiyun enum a2xx_tcm_perfcount_select {
438*4882a593Smuzhiyun 	QUAD0_RD_LAT_FIFO_EMPTY = 0,
439*4882a593Smuzhiyun 	QUAD0_RD_LAT_FIFO_4TH_FULL = 3,
440*4882a593Smuzhiyun 	QUAD0_RD_LAT_FIFO_HALF_FULL = 4,
441*4882a593Smuzhiyun 	QUAD0_RD_LAT_FIFO_FULL = 5,
442*4882a593Smuzhiyun 	QUAD0_RD_LAT_FIFO_LT_4TH_FULL = 6,
443*4882a593Smuzhiyun 	READ_STARVED_QUAD0 = 28,
444*4882a593Smuzhiyun 	READ_STARVED = 32,
445*4882a593Smuzhiyun 	READ_STALLED_QUAD0 = 33,
446*4882a593Smuzhiyun 	READ_STALLED = 37,
447*4882a593Smuzhiyun 	VALID_READ_QUAD0 = 38,
448*4882a593Smuzhiyun 	TC_TP_STARVED_QUAD0 = 42,
449*4882a593Smuzhiyun 	TC_TP_STARVED = 46,
450*4882a593Smuzhiyun };
451*4882a593Smuzhiyun 
452*4882a593Smuzhiyun enum a2xx_tcf_perfcount_select {
453*4882a593Smuzhiyun 	VALID_CYCLES = 0,
454*4882a593Smuzhiyun 	SINGLE_PHASES = 1,
455*4882a593Smuzhiyun 	ANISO_PHASES = 2,
456*4882a593Smuzhiyun 	MIP_PHASES = 3,
457*4882a593Smuzhiyun 	VOL_PHASES = 4,
458*4882a593Smuzhiyun 	MIP_VOL_PHASES = 5,
459*4882a593Smuzhiyun 	MIP_ANISO_PHASES = 6,
460*4882a593Smuzhiyun 	VOL_ANISO_PHASES = 7,
461*4882a593Smuzhiyun 	ANISO_2_1_PHASES = 8,
462*4882a593Smuzhiyun 	ANISO_4_1_PHASES = 9,
463*4882a593Smuzhiyun 	ANISO_6_1_PHASES = 10,
464*4882a593Smuzhiyun 	ANISO_8_1_PHASES = 11,
465*4882a593Smuzhiyun 	ANISO_10_1_PHASES = 12,
466*4882a593Smuzhiyun 	ANISO_12_1_PHASES = 13,
467*4882a593Smuzhiyun 	ANISO_14_1_PHASES = 14,
468*4882a593Smuzhiyun 	ANISO_16_1_PHASES = 15,
469*4882a593Smuzhiyun 	MIP_VOL_ANISO_PHASES = 16,
470*4882a593Smuzhiyun 	ALIGN_2_PHASES = 17,
471*4882a593Smuzhiyun 	ALIGN_4_PHASES = 18,
472*4882a593Smuzhiyun 	TPC_BUSY = 19,
473*4882a593Smuzhiyun 	TPC_STALLED = 20,
474*4882a593Smuzhiyun 	TPC_STARVED = 21,
475*4882a593Smuzhiyun 	TPC_WORKING = 22,
476*4882a593Smuzhiyun 	TPC_WALKER_BUSY = 23,
477*4882a593Smuzhiyun 	TPC_WALKER_STALLED = 24,
478*4882a593Smuzhiyun 	TPC_WALKER_WORKING = 25,
479*4882a593Smuzhiyun 	TPC_ALIGNER_BUSY = 26,
480*4882a593Smuzhiyun 	TPC_ALIGNER_STALLED = 27,
481*4882a593Smuzhiyun 	TPC_ALIGNER_STALLED_BY_BLEND = 28,
482*4882a593Smuzhiyun 	TPC_ALIGNER_STALLED_BY_CACHE = 29,
483*4882a593Smuzhiyun 	TPC_ALIGNER_WORKING = 30,
484*4882a593Smuzhiyun 	TPC_BLEND_BUSY = 31,
485*4882a593Smuzhiyun 	TPC_BLEND_SYNC = 32,
486*4882a593Smuzhiyun 	TPC_BLEND_STARVED = 33,
487*4882a593Smuzhiyun 	TPC_BLEND_WORKING = 34,
488*4882a593Smuzhiyun 	OPCODE_0x00 = 35,
489*4882a593Smuzhiyun 	OPCODE_0x01 = 36,
490*4882a593Smuzhiyun 	OPCODE_0x04 = 37,
491*4882a593Smuzhiyun 	OPCODE_0x10 = 38,
492*4882a593Smuzhiyun 	OPCODE_0x11 = 39,
493*4882a593Smuzhiyun 	OPCODE_0x12 = 40,
494*4882a593Smuzhiyun 	OPCODE_0x13 = 41,
495*4882a593Smuzhiyun 	OPCODE_0x18 = 42,
496*4882a593Smuzhiyun 	OPCODE_0x19 = 43,
497*4882a593Smuzhiyun 	OPCODE_0x1A = 44,
498*4882a593Smuzhiyun 	OPCODE_OTHER = 45,
499*4882a593Smuzhiyun 	IN_FIFO_0_EMPTY = 56,
500*4882a593Smuzhiyun 	IN_FIFO_0_LT_HALF_FULL = 57,
501*4882a593Smuzhiyun 	IN_FIFO_0_HALF_FULL = 58,
502*4882a593Smuzhiyun 	IN_FIFO_0_FULL = 59,
503*4882a593Smuzhiyun 	IN_FIFO_TPC_EMPTY = 72,
504*4882a593Smuzhiyun 	IN_FIFO_TPC_LT_HALF_FULL = 73,
505*4882a593Smuzhiyun 	IN_FIFO_TPC_HALF_FULL = 74,
506*4882a593Smuzhiyun 	IN_FIFO_TPC_FULL = 75,
507*4882a593Smuzhiyun 	TPC_TC_XFC = 76,
508*4882a593Smuzhiyun 	TPC_TC_STATE = 77,
509*4882a593Smuzhiyun 	TC_STALL = 78,
510*4882a593Smuzhiyun 	QUAD0_TAPS = 79,
511*4882a593Smuzhiyun 	QUADS = 83,
512*4882a593Smuzhiyun 	TCA_SYNC_STALL = 84,
513*4882a593Smuzhiyun 	TAG_STALL = 85,
514*4882a593Smuzhiyun 	TCB_SYNC_STALL = 88,
515*4882a593Smuzhiyun 	TCA_VALID = 89,
516*4882a593Smuzhiyun 	PROBES_VALID = 90,
517*4882a593Smuzhiyun 	MISS_STALL = 91,
518*4882a593Smuzhiyun 	FETCH_FIFO_STALL = 92,
519*4882a593Smuzhiyun 	TCO_STALL = 93,
520*4882a593Smuzhiyun 	ANY_STALL = 94,
521*4882a593Smuzhiyun 	TAG_MISSES = 95,
522*4882a593Smuzhiyun 	TAG_HITS = 96,
523*4882a593Smuzhiyun 	SUB_TAG_MISSES = 97,
524*4882a593Smuzhiyun 	SET0_INVALIDATES = 98,
525*4882a593Smuzhiyun 	SET1_INVALIDATES = 99,
526*4882a593Smuzhiyun 	SET2_INVALIDATES = 100,
527*4882a593Smuzhiyun 	SET3_INVALIDATES = 101,
528*4882a593Smuzhiyun 	SET0_TAG_MISSES = 102,
529*4882a593Smuzhiyun 	SET1_TAG_MISSES = 103,
530*4882a593Smuzhiyun 	SET2_TAG_MISSES = 104,
531*4882a593Smuzhiyun 	SET3_TAG_MISSES = 105,
532*4882a593Smuzhiyun 	SET0_TAG_HITS = 106,
533*4882a593Smuzhiyun 	SET1_TAG_HITS = 107,
534*4882a593Smuzhiyun 	SET2_TAG_HITS = 108,
535*4882a593Smuzhiyun 	SET3_TAG_HITS = 109,
536*4882a593Smuzhiyun 	SET0_SUB_TAG_MISSES = 110,
537*4882a593Smuzhiyun 	SET1_SUB_TAG_MISSES = 111,
538*4882a593Smuzhiyun 	SET2_SUB_TAG_MISSES = 112,
539*4882a593Smuzhiyun 	SET3_SUB_TAG_MISSES = 113,
540*4882a593Smuzhiyun 	SET0_EVICT1 = 114,
541*4882a593Smuzhiyun 	SET0_EVICT2 = 115,
542*4882a593Smuzhiyun 	SET0_EVICT3 = 116,
543*4882a593Smuzhiyun 	SET0_EVICT4 = 117,
544*4882a593Smuzhiyun 	SET0_EVICT5 = 118,
545*4882a593Smuzhiyun 	SET0_EVICT6 = 119,
546*4882a593Smuzhiyun 	SET0_EVICT7 = 120,
547*4882a593Smuzhiyun 	SET0_EVICT8 = 121,
548*4882a593Smuzhiyun 	SET1_EVICT1 = 130,
549*4882a593Smuzhiyun 	SET1_EVICT2 = 131,
550*4882a593Smuzhiyun 	SET1_EVICT3 = 132,
551*4882a593Smuzhiyun 	SET1_EVICT4 = 133,
552*4882a593Smuzhiyun 	SET1_EVICT5 = 134,
553*4882a593Smuzhiyun 	SET1_EVICT6 = 135,
554*4882a593Smuzhiyun 	SET1_EVICT7 = 136,
555*4882a593Smuzhiyun 	SET1_EVICT8 = 137,
556*4882a593Smuzhiyun 	SET2_EVICT1 = 146,
557*4882a593Smuzhiyun 	SET2_EVICT2 = 147,
558*4882a593Smuzhiyun 	SET2_EVICT3 = 148,
559*4882a593Smuzhiyun 	SET2_EVICT4 = 149,
560*4882a593Smuzhiyun 	SET2_EVICT5 = 150,
561*4882a593Smuzhiyun 	SET2_EVICT6 = 151,
562*4882a593Smuzhiyun 	SET2_EVICT7 = 152,
563*4882a593Smuzhiyun 	SET2_EVICT8 = 153,
564*4882a593Smuzhiyun 	SET3_EVICT1 = 162,
565*4882a593Smuzhiyun 	SET3_EVICT2 = 163,
566*4882a593Smuzhiyun 	SET3_EVICT3 = 164,
567*4882a593Smuzhiyun 	SET3_EVICT4 = 165,
568*4882a593Smuzhiyun 	SET3_EVICT5 = 166,
569*4882a593Smuzhiyun 	SET3_EVICT6 = 167,
570*4882a593Smuzhiyun 	SET3_EVICT7 = 168,
571*4882a593Smuzhiyun 	SET3_EVICT8 = 169,
572*4882a593Smuzhiyun 	FF_EMPTY = 178,
573*4882a593Smuzhiyun 	FF_LT_HALF_FULL = 179,
574*4882a593Smuzhiyun 	FF_HALF_FULL = 180,
575*4882a593Smuzhiyun 	FF_FULL = 181,
576*4882a593Smuzhiyun 	FF_XFC = 182,
577*4882a593Smuzhiyun 	FF_STALLED = 183,
578*4882a593Smuzhiyun 	FG_MASKS = 184,
579*4882a593Smuzhiyun 	FG_LEFT_MASKS = 185,
580*4882a593Smuzhiyun 	FG_LEFT_MASK_STALLED = 186,
581*4882a593Smuzhiyun 	FG_LEFT_NOT_DONE_STALL = 187,
582*4882a593Smuzhiyun 	FG_LEFT_FG_STALL = 188,
583*4882a593Smuzhiyun 	FG_LEFT_SECTORS = 189,
584*4882a593Smuzhiyun 	FG0_REQUESTS = 195,
585*4882a593Smuzhiyun 	FG0_STALLED = 196,
586*4882a593Smuzhiyun 	MEM_REQ512 = 199,
587*4882a593Smuzhiyun 	MEM_REQ_SENT = 200,
588*4882a593Smuzhiyun 	MEM_LOCAL_READ_REQ = 202,
589*4882a593Smuzhiyun 	TC0_MH_STALLED = 203,
590*4882a593Smuzhiyun };
591*4882a593Smuzhiyun 
592*4882a593Smuzhiyun enum a2xx_sq_perfcnt_select {
593*4882a593Smuzhiyun 	SQ_PIXEL_VECTORS_SUB = 0,
594*4882a593Smuzhiyun 	SQ_VERTEX_VECTORS_SUB = 1,
595*4882a593Smuzhiyun 	SQ_ALU0_ACTIVE_VTX_SIMD0 = 2,
596*4882a593Smuzhiyun 	SQ_ALU1_ACTIVE_VTX_SIMD0 = 3,
597*4882a593Smuzhiyun 	SQ_ALU0_ACTIVE_PIX_SIMD0 = 4,
598*4882a593Smuzhiyun 	SQ_ALU1_ACTIVE_PIX_SIMD0 = 5,
599*4882a593Smuzhiyun 	SQ_ALU0_ACTIVE_VTX_SIMD1 = 6,
600*4882a593Smuzhiyun 	SQ_ALU1_ACTIVE_VTX_SIMD1 = 7,
601*4882a593Smuzhiyun 	SQ_ALU0_ACTIVE_PIX_SIMD1 = 8,
602*4882a593Smuzhiyun 	SQ_ALU1_ACTIVE_PIX_SIMD1 = 9,
603*4882a593Smuzhiyun 	SQ_EXPORT_CYCLES = 10,
604*4882a593Smuzhiyun 	SQ_ALU_CST_WRITTEN = 11,
605*4882a593Smuzhiyun 	SQ_TEX_CST_WRITTEN = 12,
606*4882a593Smuzhiyun 	SQ_ALU_CST_STALL = 13,
607*4882a593Smuzhiyun 	SQ_ALU_TEX_STALL = 14,
608*4882a593Smuzhiyun 	SQ_INST_WRITTEN = 15,
609*4882a593Smuzhiyun 	SQ_BOOLEAN_WRITTEN = 16,
610*4882a593Smuzhiyun 	SQ_LOOPS_WRITTEN = 17,
611*4882a593Smuzhiyun 	SQ_PIXEL_SWAP_IN = 18,
612*4882a593Smuzhiyun 	SQ_PIXEL_SWAP_OUT = 19,
613*4882a593Smuzhiyun 	SQ_VERTEX_SWAP_IN = 20,
614*4882a593Smuzhiyun 	SQ_VERTEX_SWAP_OUT = 21,
615*4882a593Smuzhiyun 	SQ_ALU_VTX_INST_ISSUED = 22,
616*4882a593Smuzhiyun 	SQ_TEX_VTX_INST_ISSUED = 23,
617*4882a593Smuzhiyun 	SQ_VC_VTX_INST_ISSUED = 24,
618*4882a593Smuzhiyun 	SQ_CF_VTX_INST_ISSUED = 25,
619*4882a593Smuzhiyun 	SQ_ALU_PIX_INST_ISSUED = 26,
620*4882a593Smuzhiyun 	SQ_TEX_PIX_INST_ISSUED = 27,
621*4882a593Smuzhiyun 	SQ_VC_PIX_INST_ISSUED = 28,
622*4882a593Smuzhiyun 	SQ_CF_PIX_INST_ISSUED = 29,
623*4882a593Smuzhiyun 	SQ_ALU0_FIFO_EMPTY_SIMD0 = 30,
624*4882a593Smuzhiyun 	SQ_ALU1_FIFO_EMPTY_SIMD0 = 31,
625*4882a593Smuzhiyun 	SQ_ALU0_FIFO_EMPTY_SIMD1 = 32,
626*4882a593Smuzhiyun 	SQ_ALU1_FIFO_EMPTY_SIMD1 = 33,
627*4882a593Smuzhiyun 	SQ_ALU_NOPS = 34,
628*4882a593Smuzhiyun 	SQ_PRED_SKIP = 35,
629*4882a593Smuzhiyun 	SQ_SYNC_ALU_STALL_SIMD0_VTX = 36,
630*4882a593Smuzhiyun 	SQ_SYNC_ALU_STALL_SIMD1_VTX = 37,
631*4882a593Smuzhiyun 	SQ_SYNC_TEX_STALL_VTX = 38,
632*4882a593Smuzhiyun 	SQ_SYNC_VC_STALL_VTX = 39,
633*4882a593Smuzhiyun 	SQ_CONSTANTS_USED_SIMD0 = 40,
634*4882a593Smuzhiyun 	SQ_CONSTANTS_SENT_SP_SIMD0 = 41,
635*4882a593Smuzhiyun 	SQ_GPR_STALL_VTX = 42,
636*4882a593Smuzhiyun 	SQ_GPR_STALL_PIX = 43,
637*4882a593Smuzhiyun 	SQ_VTX_RS_STALL = 44,
638*4882a593Smuzhiyun 	SQ_PIX_RS_STALL = 45,
639*4882a593Smuzhiyun 	SQ_SX_PC_FULL = 46,
640*4882a593Smuzhiyun 	SQ_SX_EXP_BUFF_FULL = 47,
641*4882a593Smuzhiyun 	SQ_SX_POS_BUFF_FULL = 48,
642*4882a593Smuzhiyun 	SQ_INTERP_QUADS = 49,
643*4882a593Smuzhiyun 	SQ_INTERP_ACTIVE = 50,
644*4882a593Smuzhiyun 	SQ_IN_PIXEL_STALL = 51,
645*4882a593Smuzhiyun 	SQ_IN_VTX_STALL = 52,
646*4882a593Smuzhiyun 	SQ_VTX_CNT = 53,
647*4882a593Smuzhiyun 	SQ_VTX_VECTOR2 = 54,
648*4882a593Smuzhiyun 	SQ_VTX_VECTOR3 = 55,
649*4882a593Smuzhiyun 	SQ_VTX_VECTOR4 = 56,
650*4882a593Smuzhiyun 	SQ_PIXEL_VECTOR1 = 57,
651*4882a593Smuzhiyun 	SQ_PIXEL_VECTOR23 = 58,
652*4882a593Smuzhiyun 	SQ_PIXEL_VECTOR4 = 59,
653*4882a593Smuzhiyun 	SQ_CONSTANTS_USED_SIMD1 = 60,
654*4882a593Smuzhiyun 	SQ_CONSTANTS_SENT_SP_SIMD1 = 61,
655*4882a593Smuzhiyun 	SQ_SX_MEM_EXP_FULL = 62,
656*4882a593Smuzhiyun 	SQ_ALU0_ACTIVE_VTX_SIMD2 = 63,
657*4882a593Smuzhiyun 	SQ_ALU1_ACTIVE_VTX_SIMD2 = 64,
658*4882a593Smuzhiyun 	SQ_ALU0_ACTIVE_PIX_SIMD2 = 65,
659*4882a593Smuzhiyun 	SQ_ALU1_ACTIVE_PIX_SIMD2 = 66,
660*4882a593Smuzhiyun 	SQ_ALU0_ACTIVE_VTX_SIMD3 = 67,
661*4882a593Smuzhiyun 	SQ_PERFCOUNT_VTX_QUAL_TP_DONE = 68,
662*4882a593Smuzhiyun 	SQ_ALU0_ACTIVE_PIX_SIMD3 = 69,
663*4882a593Smuzhiyun 	SQ_PERFCOUNT_PIX_QUAL_TP_DONE = 70,
664*4882a593Smuzhiyun 	SQ_ALU0_FIFO_EMPTY_SIMD2 = 71,
665*4882a593Smuzhiyun 	SQ_ALU1_FIFO_EMPTY_SIMD2 = 72,
666*4882a593Smuzhiyun 	SQ_ALU0_FIFO_EMPTY_SIMD3 = 73,
667*4882a593Smuzhiyun 	SQ_ALU1_FIFO_EMPTY_SIMD3 = 74,
668*4882a593Smuzhiyun 	SQ_SYNC_ALU_STALL_SIMD2_VTX = 75,
669*4882a593Smuzhiyun 	SQ_PERFCOUNT_VTX_POP_THREAD = 76,
670*4882a593Smuzhiyun 	SQ_SYNC_ALU_STALL_SIMD0_PIX = 77,
671*4882a593Smuzhiyun 	SQ_SYNC_ALU_STALL_SIMD1_PIX = 78,
672*4882a593Smuzhiyun 	SQ_SYNC_ALU_STALL_SIMD2_PIX = 79,
673*4882a593Smuzhiyun 	SQ_PERFCOUNT_PIX_POP_THREAD = 80,
674*4882a593Smuzhiyun 	SQ_SYNC_TEX_STALL_PIX = 81,
675*4882a593Smuzhiyun 	SQ_SYNC_VC_STALL_PIX = 82,
676*4882a593Smuzhiyun 	SQ_CONSTANTS_USED_SIMD2 = 83,
677*4882a593Smuzhiyun 	SQ_CONSTANTS_SENT_SP_SIMD2 = 84,
678*4882a593Smuzhiyun 	SQ_PERFCOUNT_VTX_DEALLOC_ACK = 85,
679*4882a593Smuzhiyun 	SQ_PERFCOUNT_PIX_DEALLOC_ACK = 86,
680*4882a593Smuzhiyun 	SQ_ALU0_FIFO_FULL_SIMD0 = 87,
681*4882a593Smuzhiyun 	SQ_ALU1_FIFO_FULL_SIMD0 = 88,
682*4882a593Smuzhiyun 	SQ_ALU0_FIFO_FULL_SIMD1 = 89,
683*4882a593Smuzhiyun 	SQ_ALU1_FIFO_FULL_SIMD1 = 90,
684*4882a593Smuzhiyun 	SQ_ALU0_FIFO_FULL_SIMD2 = 91,
685*4882a593Smuzhiyun 	SQ_ALU1_FIFO_FULL_SIMD2 = 92,
686*4882a593Smuzhiyun 	SQ_ALU0_FIFO_FULL_SIMD3 = 93,
687*4882a593Smuzhiyun 	SQ_ALU1_FIFO_FULL_SIMD3 = 94,
688*4882a593Smuzhiyun 	VC_PERF_STATIC = 95,
689*4882a593Smuzhiyun 	VC_PERF_STALLED = 96,
690*4882a593Smuzhiyun 	VC_PERF_STARVED = 97,
691*4882a593Smuzhiyun 	VC_PERF_SEND = 98,
692*4882a593Smuzhiyun 	VC_PERF_ACTUAL_STARVED = 99,
693*4882a593Smuzhiyun 	PIXEL_THREAD_0_ACTIVE = 100,
694*4882a593Smuzhiyun 	VERTEX_THREAD_0_ACTIVE = 101,
695*4882a593Smuzhiyun 	PIXEL_THREAD_0_NUMBER = 102,
696*4882a593Smuzhiyun 	VERTEX_THREAD_0_NUMBER = 103,
697*4882a593Smuzhiyun 	VERTEX_EVENT_NUMBER = 104,
698*4882a593Smuzhiyun 	PIXEL_EVENT_NUMBER = 105,
699*4882a593Smuzhiyun 	PTRBUFF_EF_PUSH = 106,
700*4882a593Smuzhiyun 	PTRBUFF_EF_POP_EVENT = 107,
701*4882a593Smuzhiyun 	PTRBUFF_EF_POP_NEW_VTX = 108,
702*4882a593Smuzhiyun 	PTRBUFF_EF_POP_DEALLOC = 109,
703*4882a593Smuzhiyun 	PTRBUFF_EF_POP_PVECTOR = 110,
704*4882a593Smuzhiyun 	PTRBUFF_EF_POP_PVECTOR_X = 111,
705*4882a593Smuzhiyun 	PTRBUFF_EF_POP_PVECTOR_VNZ = 112,
706*4882a593Smuzhiyun 	PTRBUFF_PB_DEALLOC = 113,
707*4882a593Smuzhiyun 	PTRBUFF_PI_STATE_PPB_POP = 114,
708*4882a593Smuzhiyun 	PTRBUFF_PI_RTR = 115,
709*4882a593Smuzhiyun 	PTRBUFF_PI_READ_EN = 116,
710*4882a593Smuzhiyun 	PTRBUFF_PI_BUFF_SWAP = 117,
711*4882a593Smuzhiyun 	PTRBUFF_SQ_FREE_BUFF = 118,
712*4882a593Smuzhiyun 	PTRBUFF_SQ_DEC = 119,
713*4882a593Smuzhiyun 	PTRBUFF_SC_VALID_CNTL_EVENT = 120,
714*4882a593Smuzhiyun 	PTRBUFF_SC_VALID_IJ_XFER = 121,
715*4882a593Smuzhiyun 	PTRBUFF_SC_NEW_VECTOR_1_Q = 122,
716*4882a593Smuzhiyun 	PTRBUFF_QUAL_NEW_VECTOR = 123,
717*4882a593Smuzhiyun 	PTRBUFF_QUAL_EVENT = 124,
718*4882a593Smuzhiyun 	PTRBUFF_END_BUFFER = 125,
719*4882a593Smuzhiyun 	PTRBUFF_FILL_QUAD = 126,
720*4882a593Smuzhiyun 	VERTS_WRITTEN_SPI = 127,
721*4882a593Smuzhiyun 	TP_FETCH_INSTR_EXEC = 128,
722*4882a593Smuzhiyun 	TP_FETCH_INSTR_REQ = 129,
723*4882a593Smuzhiyun 	TP_DATA_RETURN = 130,
724*4882a593Smuzhiyun 	SPI_WRITE_CYCLES_SP = 131,
725*4882a593Smuzhiyun 	SPI_WRITES_SP = 132,
726*4882a593Smuzhiyun 	SP_ALU_INSTR_EXEC = 133,
727*4882a593Smuzhiyun 	SP_CONST_ADDR_TO_SQ = 134,
728*4882a593Smuzhiyun 	SP_PRED_KILLS_TO_SQ = 135,
729*4882a593Smuzhiyun 	SP_EXPORT_CYCLES_TO_SX = 136,
730*4882a593Smuzhiyun 	SP_EXPORTS_TO_SX = 137,
731*4882a593Smuzhiyun 	SQ_CYCLES_ELAPSED = 138,
732*4882a593Smuzhiyun 	SQ_TCFS_OPT_ALLOC_EXEC = 139,
733*4882a593Smuzhiyun 	SQ_TCFS_NO_OPT_ALLOC = 140,
734*4882a593Smuzhiyun 	SQ_ALU0_NO_OPT_ALLOC = 141,
735*4882a593Smuzhiyun 	SQ_ALU1_NO_OPT_ALLOC = 142,
736*4882a593Smuzhiyun 	SQ_TCFS_ARB_XFC_CNT = 143,
737*4882a593Smuzhiyun 	SQ_ALU0_ARB_XFC_CNT = 144,
738*4882a593Smuzhiyun 	SQ_ALU1_ARB_XFC_CNT = 145,
739*4882a593Smuzhiyun 	SQ_TCFS_CFS_UPDATE_CNT = 146,
740*4882a593Smuzhiyun 	SQ_ALU0_CFS_UPDATE_CNT = 147,
741*4882a593Smuzhiyun 	SQ_ALU1_CFS_UPDATE_CNT = 148,
742*4882a593Smuzhiyun 	SQ_VTX_PUSH_THREAD_CNT = 149,
743*4882a593Smuzhiyun 	SQ_VTX_POP_THREAD_CNT = 150,
744*4882a593Smuzhiyun 	SQ_PIX_PUSH_THREAD_CNT = 151,
745*4882a593Smuzhiyun 	SQ_PIX_POP_THREAD_CNT = 152,
746*4882a593Smuzhiyun 	SQ_PIX_TOTAL = 153,
747*4882a593Smuzhiyun 	SQ_PIX_KILLED = 154,
748*4882a593Smuzhiyun };
749*4882a593Smuzhiyun 
750*4882a593Smuzhiyun enum a2xx_sx_perfcnt_select {
751*4882a593Smuzhiyun 	SX_EXPORT_VECTORS = 0,
752*4882a593Smuzhiyun 	SX_DUMMY_QUADS = 1,
753*4882a593Smuzhiyun 	SX_ALPHA_FAIL = 2,
754*4882a593Smuzhiyun 	SX_RB_QUAD_BUSY = 3,
755*4882a593Smuzhiyun 	SX_RB_COLOR_BUSY = 4,
756*4882a593Smuzhiyun 	SX_RB_QUAD_STALL = 5,
757*4882a593Smuzhiyun 	SX_RB_COLOR_STALL = 6,
758*4882a593Smuzhiyun };
759*4882a593Smuzhiyun 
760*4882a593Smuzhiyun enum a2xx_rbbm_perfcount1_sel {
761*4882a593Smuzhiyun 	RBBM1_COUNT = 0,
762*4882a593Smuzhiyun 	RBBM1_NRT_BUSY = 1,
763*4882a593Smuzhiyun 	RBBM1_RB_BUSY = 2,
764*4882a593Smuzhiyun 	RBBM1_SQ_CNTX0_BUSY = 3,
765*4882a593Smuzhiyun 	RBBM1_SQ_CNTX17_BUSY = 4,
766*4882a593Smuzhiyun 	RBBM1_VGT_BUSY = 5,
767*4882a593Smuzhiyun 	RBBM1_VGT_NODMA_BUSY = 6,
768*4882a593Smuzhiyun 	RBBM1_PA_BUSY = 7,
769*4882a593Smuzhiyun 	RBBM1_SC_CNTX_BUSY = 8,
770*4882a593Smuzhiyun 	RBBM1_TPC_BUSY = 9,
771*4882a593Smuzhiyun 	RBBM1_TC_BUSY = 10,
772*4882a593Smuzhiyun 	RBBM1_SX_BUSY = 11,
773*4882a593Smuzhiyun 	RBBM1_CP_COHER_BUSY = 12,
774*4882a593Smuzhiyun 	RBBM1_CP_NRT_BUSY = 13,
775*4882a593Smuzhiyun 	RBBM1_GFX_IDLE_STALL = 14,
776*4882a593Smuzhiyun 	RBBM1_INTERRUPT = 15,
777*4882a593Smuzhiyun };
778*4882a593Smuzhiyun 
779*4882a593Smuzhiyun enum a2xx_cp_perfcount_sel {
780*4882a593Smuzhiyun 	ALWAYS_COUNT = 0,
781*4882a593Smuzhiyun 	TRANS_FIFO_FULL = 1,
782*4882a593Smuzhiyun 	TRANS_FIFO_AF = 2,
783*4882a593Smuzhiyun 	RCIU_PFPTRANS_WAIT = 3,
784*4882a593Smuzhiyun 	RCIU_NRTTRANS_WAIT = 6,
785*4882a593Smuzhiyun 	CSF_NRT_READ_WAIT = 8,
786*4882a593Smuzhiyun 	CSF_I1_FIFO_FULL = 9,
787*4882a593Smuzhiyun 	CSF_I2_FIFO_FULL = 10,
788*4882a593Smuzhiyun 	CSF_ST_FIFO_FULL = 11,
789*4882a593Smuzhiyun 	CSF_RING_ROQ_FULL = 13,
790*4882a593Smuzhiyun 	CSF_I1_ROQ_FULL = 14,
791*4882a593Smuzhiyun 	CSF_I2_ROQ_FULL = 15,
792*4882a593Smuzhiyun 	CSF_ST_ROQ_FULL = 16,
793*4882a593Smuzhiyun 	MIU_TAG_MEM_FULL = 18,
794*4882a593Smuzhiyun 	MIU_WRITECLEAN = 19,
795*4882a593Smuzhiyun 	MIU_NRT_WRITE_STALLED = 22,
796*4882a593Smuzhiyun 	MIU_NRT_READ_STALLED = 23,
797*4882a593Smuzhiyun 	ME_WRITE_CONFIRM_FIFO_FULL = 24,
798*4882a593Smuzhiyun 	ME_VS_DEALLOC_FIFO_FULL = 25,
799*4882a593Smuzhiyun 	ME_PS_DEALLOC_FIFO_FULL = 26,
800*4882a593Smuzhiyun 	ME_REGS_VS_EVENT_FIFO_FULL = 27,
801*4882a593Smuzhiyun 	ME_REGS_PS_EVENT_FIFO_FULL = 28,
802*4882a593Smuzhiyun 	ME_REGS_CF_EVENT_FIFO_FULL = 29,
803*4882a593Smuzhiyun 	ME_MICRO_RB_STARVED = 30,
804*4882a593Smuzhiyun 	ME_MICRO_I1_STARVED = 31,
805*4882a593Smuzhiyun 	ME_MICRO_I2_STARVED = 32,
806*4882a593Smuzhiyun 	ME_MICRO_ST_STARVED = 33,
807*4882a593Smuzhiyun 	RCIU_RBBM_DWORD_SENT = 40,
808*4882a593Smuzhiyun 	ME_BUSY_CLOCKS = 41,
809*4882a593Smuzhiyun 	ME_WAIT_CONTEXT_AVAIL = 42,
810*4882a593Smuzhiyun 	PFP_TYPE0_PACKET = 43,
811*4882a593Smuzhiyun 	PFP_TYPE3_PACKET = 44,
812*4882a593Smuzhiyun 	CSF_RB_WPTR_NEQ_RPTR = 45,
813*4882a593Smuzhiyun 	CSF_I1_SIZE_NEQ_ZERO = 46,
814*4882a593Smuzhiyun 	CSF_I2_SIZE_NEQ_ZERO = 47,
815*4882a593Smuzhiyun 	CSF_RBI1I2_FETCHING = 48,
816*4882a593Smuzhiyun };
817*4882a593Smuzhiyun 
818*4882a593Smuzhiyun enum a2xx_rb_perfcnt_select {
819*4882a593Smuzhiyun 	RBPERF_CNTX_BUSY = 0,
820*4882a593Smuzhiyun 	RBPERF_CNTX_BUSY_MAX = 1,
821*4882a593Smuzhiyun 	RBPERF_SX_QUAD_STARVED = 2,
822*4882a593Smuzhiyun 	RBPERF_SX_QUAD_STARVED_MAX = 3,
823*4882a593Smuzhiyun 	RBPERF_GA_GC_CH0_SYS_REQ = 4,
824*4882a593Smuzhiyun 	RBPERF_GA_GC_CH0_SYS_REQ_MAX = 5,
825*4882a593Smuzhiyun 	RBPERF_GA_GC_CH1_SYS_REQ = 6,
826*4882a593Smuzhiyun 	RBPERF_GA_GC_CH1_SYS_REQ_MAX = 7,
827*4882a593Smuzhiyun 	RBPERF_MH_STARVED = 8,
828*4882a593Smuzhiyun 	RBPERF_MH_STARVED_MAX = 9,
829*4882a593Smuzhiyun 	RBPERF_AZ_BC_COLOR_BUSY = 10,
830*4882a593Smuzhiyun 	RBPERF_AZ_BC_COLOR_BUSY_MAX = 11,
831*4882a593Smuzhiyun 	RBPERF_AZ_BC_Z_BUSY = 12,
832*4882a593Smuzhiyun 	RBPERF_AZ_BC_Z_BUSY_MAX = 13,
833*4882a593Smuzhiyun 	RBPERF_RB_SC_TILE_RTR_N = 14,
834*4882a593Smuzhiyun 	RBPERF_RB_SC_TILE_RTR_N_MAX = 15,
835*4882a593Smuzhiyun 	RBPERF_RB_SC_SAMP_RTR_N = 16,
836*4882a593Smuzhiyun 	RBPERF_RB_SC_SAMP_RTR_N_MAX = 17,
837*4882a593Smuzhiyun 	RBPERF_RB_SX_QUAD_RTR_N = 18,
838*4882a593Smuzhiyun 	RBPERF_RB_SX_QUAD_RTR_N_MAX = 19,
839*4882a593Smuzhiyun 	RBPERF_RB_SX_COLOR_RTR_N = 20,
840*4882a593Smuzhiyun 	RBPERF_RB_SX_COLOR_RTR_N_MAX = 21,
841*4882a593Smuzhiyun 	RBPERF_RB_SC_SAMP_LZ_BUSY = 22,
842*4882a593Smuzhiyun 	RBPERF_RB_SC_SAMP_LZ_BUSY_MAX = 23,
843*4882a593Smuzhiyun 	RBPERF_ZXP_STALL = 24,
844*4882a593Smuzhiyun 	RBPERF_ZXP_STALL_MAX = 25,
845*4882a593Smuzhiyun 	RBPERF_EVENT_PENDING = 26,
846*4882a593Smuzhiyun 	RBPERF_EVENT_PENDING_MAX = 27,
847*4882a593Smuzhiyun 	RBPERF_RB_MH_VALID = 28,
848*4882a593Smuzhiyun 	RBPERF_RB_MH_VALID_MAX = 29,
849*4882a593Smuzhiyun 	RBPERF_SX_RB_QUAD_SEND = 30,
850*4882a593Smuzhiyun 	RBPERF_SX_RB_COLOR_SEND = 31,
851*4882a593Smuzhiyun 	RBPERF_SC_RB_TILE_SEND = 32,
852*4882a593Smuzhiyun 	RBPERF_SC_RB_SAMPLE_SEND = 33,
853*4882a593Smuzhiyun 	RBPERF_SX_RB_MEM_EXPORT = 34,
854*4882a593Smuzhiyun 	RBPERF_SX_RB_QUAD_EVENT = 35,
855*4882a593Smuzhiyun 	RBPERF_SC_RB_TILE_EVENT_FILTERED = 36,
856*4882a593Smuzhiyun 	RBPERF_SC_RB_TILE_EVENT_ALL = 37,
857*4882a593Smuzhiyun 	RBPERF_RB_SC_EZ_SEND = 38,
858*4882a593Smuzhiyun 	RBPERF_RB_SX_INDEX_SEND = 39,
859*4882a593Smuzhiyun 	RBPERF_GMEM_INTFO_RD = 40,
860*4882a593Smuzhiyun 	RBPERF_GMEM_INTF1_RD = 41,
861*4882a593Smuzhiyun 	RBPERF_GMEM_INTFO_WR = 42,
862*4882a593Smuzhiyun 	RBPERF_GMEM_INTF1_WR = 43,
863*4882a593Smuzhiyun 	RBPERF_RB_CP_CONTEXT_DONE = 44,
864*4882a593Smuzhiyun 	RBPERF_RB_CP_CACHE_FLUSH = 45,
865*4882a593Smuzhiyun 	RBPERF_ZPASS_DONE = 46,
866*4882a593Smuzhiyun 	RBPERF_ZCMD_VALID = 47,
867*4882a593Smuzhiyun 	RBPERF_CCMD_VALID = 48,
868*4882a593Smuzhiyun 	RBPERF_ACCUM_GRANT = 49,
869*4882a593Smuzhiyun 	RBPERF_ACCUM_C0_GRANT = 50,
870*4882a593Smuzhiyun 	RBPERF_ACCUM_C1_GRANT = 51,
871*4882a593Smuzhiyun 	RBPERF_ACCUM_FULL_BE_WR = 52,
872*4882a593Smuzhiyun 	RBPERF_ACCUM_REQUEST_NO_GRANT = 53,
873*4882a593Smuzhiyun 	RBPERF_ACCUM_TIMEOUT_PULSE = 54,
874*4882a593Smuzhiyun 	RBPERF_ACCUM_LIN_TIMEOUT_PULSE = 55,
875*4882a593Smuzhiyun 	RBPERF_ACCUM_CAM_HIT_FLUSHING = 56,
876*4882a593Smuzhiyun };
877*4882a593Smuzhiyun 
878*4882a593Smuzhiyun enum a2xx_mh_perfcnt_select {
879*4882a593Smuzhiyun 	CP_R0_REQUESTS = 0,
880*4882a593Smuzhiyun 	CP_R1_REQUESTS = 1,
881*4882a593Smuzhiyun 	CP_R2_REQUESTS = 2,
882*4882a593Smuzhiyun 	CP_R3_REQUESTS = 3,
883*4882a593Smuzhiyun 	CP_R4_REQUESTS = 4,
884*4882a593Smuzhiyun 	CP_TOTAL_READ_REQUESTS = 5,
885*4882a593Smuzhiyun 	CP_TOTAL_WRITE_REQUESTS = 6,
886*4882a593Smuzhiyun 	CP_TOTAL_REQUESTS = 7,
887*4882a593Smuzhiyun 	CP_DATA_BYTES_WRITTEN = 8,
888*4882a593Smuzhiyun 	CP_WRITE_CLEAN_RESPONSES = 9,
889*4882a593Smuzhiyun 	CP_R0_READ_BURSTS_RECEIVED = 10,
890*4882a593Smuzhiyun 	CP_R1_READ_BURSTS_RECEIVED = 11,
891*4882a593Smuzhiyun 	CP_R2_READ_BURSTS_RECEIVED = 12,
892*4882a593Smuzhiyun 	CP_R3_READ_BURSTS_RECEIVED = 13,
893*4882a593Smuzhiyun 	CP_R4_READ_BURSTS_RECEIVED = 14,
894*4882a593Smuzhiyun 	CP_TOTAL_READ_BURSTS_RECEIVED = 15,
895*4882a593Smuzhiyun 	CP_R0_DATA_BEATS_READ = 16,
896*4882a593Smuzhiyun 	CP_R1_DATA_BEATS_READ = 17,
897*4882a593Smuzhiyun 	CP_R2_DATA_BEATS_READ = 18,
898*4882a593Smuzhiyun 	CP_R3_DATA_BEATS_READ = 19,
899*4882a593Smuzhiyun 	CP_R4_DATA_BEATS_READ = 20,
900*4882a593Smuzhiyun 	CP_TOTAL_DATA_BEATS_READ = 21,
901*4882a593Smuzhiyun 	VGT_R0_REQUESTS = 22,
902*4882a593Smuzhiyun 	VGT_R1_REQUESTS = 23,
903*4882a593Smuzhiyun 	VGT_TOTAL_REQUESTS = 24,
904*4882a593Smuzhiyun 	VGT_R0_READ_BURSTS_RECEIVED = 25,
905*4882a593Smuzhiyun 	VGT_R1_READ_BURSTS_RECEIVED = 26,
906*4882a593Smuzhiyun 	VGT_TOTAL_READ_BURSTS_RECEIVED = 27,
907*4882a593Smuzhiyun 	VGT_R0_DATA_BEATS_READ = 28,
908*4882a593Smuzhiyun 	VGT_R1_DATA_BEATS_READ = 29,
909*4882a593Smuzhiyun 	VGT_TOTAL_DATA_BEATS_READ = 30,
910*4882a593Smuzhiyun 	TC_TOTAL_REQUESTS = 31,
911*4882a593Smuzhiyun 	TC_ROQ_REQUESTS = 32,
912*4882a593Smuzhiyun 	TC_INFO_SENT = 33,
913*4882a593Smuzhiyun 	TC_READ_BURSTS_RECEIVED = 34,
914*4882a593Smuzhiyun 	TC_DATA_BEATS_READ = 35,
915*4882a593Smuzhiyun 	TCD_BURSTS_READ = 36,
916*4882a593Smuzhiyun 	RB_REQUESTS = 37,
917*4882a593Smuzhiyun 	RB_DATA_BYTES_WRITTEN = 38,
918*4882a593Smuzhiyun 	RB_WRITE_CLEAN_RESPONSES = 39,
919*4882a593Smuzhiyun 	AXI_READ_REQUESTS_ID_0 = 40,
920*4882a593Smuzhiyun 	AXI_READ_REQUESTS_ID_1 = 41,
921*4882a593Smuzhiyun 	AXI_READ_REQUESTS_ID_2 = 42,
922*4882a593Smuzhiyun 	AXI_READ_REQUESTS_ID_3 = 43,
923*4882a593Smuzhiyun 	AXI_READ_REQUESTS_ID_4 = 44,
924*4882a593Smuzhiyun 	AXI_READ_REQUESTS_ID_5 = 45,
925*4882a593Smuzhiyun 	AXI_READ_REQUESTS_ID_6 = 46,
926*4882a593Smuzhiyun 	AXI_READ_REQUESTS_ID_7 = 47,
927*4882a593Smuzhiyun 	AXI_TOTAL_READ_REQUESTS = 48,
928*4882a593Smuzhiyun 	AXI_WRITE_REQUESTS_ID_0 = 49,
929*4882a593Smuzhiyun 	AXI_WRITE_REQUESTS_ID_1 = 50,
930*4882a593Smuzhiyun 	AXI_WRITE_REQUESTS_ID_2 = 51,
931*4882a593Smuzhiyun 	AXI_WRITE_REQUESTS_ID_3 = 52,
932*4882a593Smuzhiyun 	AXI_WRITE_REQUESTS_ID_4 = 53,
933*4882a593Smuzhiyun 	AXI_WRITE_REQUESTS_ID_5 = 54,
934*4882a593Smuzhiyun 	AXI_WRITE_REQUESTS_ID_6 = 55,
935*4882a593Smuzhiyun 	AXI_WRITE_REQUESTS_ID_7 = 56,
936*4882a593Smuzhiyun 	AXI_TOTAL_WRITE_REQUESTS = 57,
937*4882a593Smuzhiyun 	AXI_TOTAL_REQUESTS_ID_0 = 58,
938*4882a593Smuzhiyun 	AXI_TOTAL_REQUESTS_ID_1 = 59,
939*4882a593Smuzhiyun 	AXI_TOTAL_REQUESTS_ID_2 = 60,
940*4882a593Smuzhiyun 	AXI_TOTAL_REQUESTS_ID_3 = 61,
941*4882a593Smuzhiyun 	AXI_TOTAL_REQUESTS_ID_4 = 62,
942*4882a593Smuzhiyun 	AXI_TOTAL_REQUESTS_ID_5 = 63,
943*4882a593Smuzhiyun 	AXI_TOTAL_REQUESTS_ID_6 = 64,
944*4882a593Smuzhiyun 	AXI_TOTAL_REQUESTS_ID_7 = 65,
945*4882a593Smuzhiyun 	AXI_TOTAL_REQUESTS = 66,
946*4882a593Smuzhiyun 	AXI_READ_CHANNEL_BURSTS_ID_0 = 67,
947*4882a593Smuzhiyun 	AXI_READ_CHANNEL_BURSTS_ID_1 = 68,
948*4882a593Smuzhiyun 	AXI_READ_CHANNEL_BURSTS_ID_2 = 69,
949*4882a593Smuzhiyun 	AXI_READ_CHANNEL_BURSTS_ID_3 = 70,
950*4882a593Smuzhiyun 	AXI_READ_CHANNEL_BURSTS_ID_4 = 71,
951*4882a593Smuzhiyun 	AXI_READ_CHANNEL_BURSTS_ID_5 = 72,
952*4882a593Smuzhiyun 	AXI_READ_CHANNEL_BURSTS_ID_6 = 73,
953*4882a593Smuzhiyun 	AXI_READ_CHANNEL_BURSTS_ID_7 = 74,
954*4882a593Smuzhiyun 	AXI_READ_CHANNEL_TOTAL_BURSTS = 75,
955*4882a593Smuzhiyun 	AXI_READ_CHANNEL_DATA_BEATS_READ_ID_0 = 76,
956*4882a593Smuzhiyun 	AXI_READ_CHANNEL_DATA_BEATS_READ_ID_1 = 77,
957*4882a593Smuzhiyun 	AXI_READ_CHANNEL_DATA_BEATS_READ_ID_2 = 78,
958*4882a593Smuzhiyun 	AXI_READ_CHANNEL_DATA_BEATS_READ_ID_3 = 79,
959*4882a593Smuzhiyun 	AXI_READ_CHANNEL_DATA_BEATS_READ_ID_4 = 80,
960*4882a593Smuzhiyun 	AXI_READ_CHANNEL_DATA_BEATS_READ_ID_5 = 81,
961*4882a593Smuzhiyun 	AXI_READ_CHANNEL_DATA_BEATS_READ_ID_6 = 82,
962*4882a593Smuzhiyun 	AXI_READ_CHANNEL_DATA_BEATS_READ_ID_7 = 83,
963*4882a593Smuzhiyun 	AXI_READ_CHANNEL_TOTAL_DATA_BEATS_READ = 84,
964*4882a593Smuzhiyun 	AXI_WRITE_CHANNEL_BURSTS_ID_0 = 85,
965*4882a593Smuzhiyun 	AXI_WRITE_CHANNEL_BURSTS_ID_1 = 86,
966*4882a593Smuzhiyun 	AXI_WRITE_CHANNEL_BURSTS_ID_2 = 87,
967*4882a593Smuzhiyun 	AXI_WRITE_CHANNEL_BURSTS_ID_3 = 88,
968*4882a593Smuzhiyun 	AXI_WRITE_CHANNEL_BURSTS_ID_4 = 89,
969*4882a593Smuzhiyun 	AXI_WRITE_CHANNEL_BURSTS_ID_5 = 90,
970*4882a593Smuzhiyun 	AXI_WRITE_CHANNEL_BURSTS_ID_6 = 91,
971*4882a593Smuzhiyun 	AXI_WRITE_CHANNEL_BURSTS_ID_7 = 92,
972*4882a593Smuzhiyun 	AXI_WRITE_CHANNEL_TOTAL_BURSTS = 93,
973*4882a593Smuzhiyun 	AXI_WRITE_CHANNEL_DATA_BYTES_WRITTEN_ID_0 = 94,
974*4882a593Smuzhiyun 	AXI_WRITE_CHANNEL_DATA_BYTES_WRITTEN_ID_1 = 95,
975*4882a593Smuzhiyun 	AXI_WRITE_CHANNEL_DATA_BYTES_WRITTEN_ID_2 = 96,
976*4882a593Smuzhiyun 	AXI_WRITE_CHANNEL_DATA_BYTES_WRITTEN_ID_3 = 97,
977*4882a593Smuzhiyun 	AXI_WRITE_CHANNEL_DATA_BYTES_WRITTEN_ID_4 = 98,
978*4882a593Smuzhiyun 	AXI_WRITE_CHANNEL_DATA_BYTES_WRITTEN_ID_5 = 99,
979*4882a593Smuzhiyun 	AXI_WRITE_CHANNEL_DATA_BYTES_WRITTEN_ID_6 = 100,
980*4882a593Smuzhiyun 	AXI_WRITE_CHANNEL_DATA_BYTES_WRITTEN_ID_7 = 101,
981*4882a593Smuzhiyun 	AXI_WRITE_CHANNEL_TOTAL_DATA_BYTES_WRITTEN = 102,
982*4882a593Smuzhiyun 	AXI_WRITE_RESPONSE_CHANNEL_RESPONSES_ID_0 = 103,
983*4882a593Smuzhiyun 	AXI_WRITE_RESPONSE_CHANNEL_RESPONSES_ID_1 = 104,
984*4882a593Smuzhiyun 	AXI_WRITE_RESPONSE_CHANNEL_RESPONSES_ID_2 = 105,
985*4882a593Smuzhiyun 	AXI_WRITE_RESPONSE_CHANNEL_RESPONSES_ID_3 = 106,
986*4882a593Smuzhiyun 	AXI_WRITE_RESPONSE_CHANNEL_RESPONSES_ID_4 = 107,
987*4882a593Smuzhiyun 	AXI_WRITE_RESPONSE_CHANNEL_RESPONSES_ID_5 = 108,
988*4882a593Smuzhiyun 	AXI_WRITE_RESPONSE_CHANNEL_RESPONSES_ID_6 = 109,
989*4882a593Smuzhiyun 	AXI_WRITE_RESPONSE_CHANNEL_RESPONSES_ID_7 = 110,
990*4882a593Smuzhiyun 	AXI_WRITE_RESPONSE_CHANNEL_TOTAL_RESPONSES = 111,
991*4882a593Smuzhiyun 	TOTAL_MMU_MISSES = 112,
992*4882a593Smuzhiyun 	MMU_READ_MISSES = 113,
993*4882a593Smuzhiyun 	MMU_WRITE_MISSES = 114,
994*4882a593Smuzhiyun 	TOTAL_MMU_HITS = 115,
995*4882a593Smuzhiyun 	MMU_READ_HITS = 116,
996*4882a593Smuzhiyun 	MMU_WRITE_HITS = 117,
997*4882a593Smuzhiyun 	SPLIT_MODE_TC_HITS = 118,
998*4882a593Smuzhiyun 	SPLIT_MODE_TC_MISSES = 119,
999*4882a593Smuzhiyun 	SPLIT_MODE_NON_TC_HITS = 120,
1000*4882a593Smuzhiyun 	SPLIT_MODE_NON_TC_MISSES = 121,
1001*4882a593Smuzhiyun 	STALL_AWAITING_TLB_MISS_FETCH = 122,
1002*4882a593Smuzhiyun 	MMU_TLB_MISS_READ_BURSTS_RECEIVED = 123,
1003*4882a593Smuzhiyun 	MMU_TLB_MISS_DATA_BEATS_READ = 124,
1004*4882a593Smuzhiyun 	CP_CYCLES_HELD_OFF = 125,
1005*4882a593Smuzhiyun 	VGT_CYCLES_HELD_OFF = 126,
1006*4882a593Smuzhiyun 	TC_CYCLES_HELD_OFF = 127,
1007*4882a593Smuzhiyun 	TC_ROQ_CYCLES_HELD_OFF = 128,
1008*4882a593Smuzhiyun 	TC_CYCLES_HELD_OFF_TCD_FULL = 129,
1009*4882a593Smuzhiyun 	RB_CYCLES_HELD_OFF = 130,
1010*4882a593Smuzhiyun 	TOTAL_CYCLES_ANY_CLNT_HELD_OFF = 131,
1011*4882a593Smuzhiyun 	TLB_MISS_CYCLES_HELD_OFF = 132,
1012*4882a593Smuzhiyun 	AXI_READ_REQUEST_HELD_OFF = 133,
1013*4882a593Smuzhiyun 	AXI_WRITE_REQUEST_HELD_OFF = 134,
1014*4882a593Smuzhiyun 	AXI_REQUEST_HELD_OFF = 135,
1015*4882a593Smuzhiyun 	AXI_REQUEST_HELD_OFF_INFLIGHT_LIMIT = 136,
1016*4882a593Smuzhiyun 	AXI_WRITE_DATA_HELD_OFF = 137,
1017*4882a593Smuzhiyun 	CP_SAME_PAGE_BANK_REQUESTS = 138,
1018*4882a593Smuzhiyun 	VGT_SAME_PAGE_BANK_REQUESTS = 139,
1019*4882a593Smuzhiyun 	TC_SAME_PAGE_BANK_REQUESTS = 140,
1020*4882a593Smuzhiyun 	TC_ARB_HOLD_SAME_PAGE_BANK_REQUESTS = 141,
1021*4882a593Smuzhiyun 	RB_SAME_PAGE_BANK_REQUESTS = 142,
1022*4882a593Smuzhiyun 	TOTAL_SAME_PAGE_BANK_REQUESTS = 143,
1023*4882a593Smuzhiyun 	CP_SAME_PAGE_BANK_REQUESTS_KILLED_FAIRNESS_LIMIT = 144,
1024*4882a593Smuzhiyun 	VGT_SAME_PAGE_BANK_REQUESTS_KILLED_FAIRNESS_LIMIT = 145,
1025*4882a593Smuzhiyun 	TC_SAME_PAGE_BANK_REQUESTS_KILLED_FAIRNESS_LIMIT = 146,
1026*4882a593Smuzhiyun 	RB_SAME_PAGE_BANK_REQUESTS_KILLED_FAIRNESS_LIMIT = 147,
1027*4882a593Smuzhiyun 	TOTAL_SAME_PAGE_BANK_KILLED_FAIRNESS_LIMIT = 148,
1028*4882a593Smuzhiyun 	TOTAL_MH_READ_REQUESTS = 149,
1029*4882a593Smuzhiyun 	TOTAL_MH_WRITE_REQUESTS = 150,
1030*4882a593Smuzhiyun 	TOTAL_MH_REQUESTS = 151,
1031*4882a593Smuzhiyun 	MH_BUSY = 152,
1032*4882a593Smuzhiyun 	CP_NTH_ACCESS_SAME_PAGE_BANK_SEQUENCE = 153,
1033*4882a593Smuzhiyun 	VGT_NTH_ACCESS_SAME_PAGE_BANK_SEQUENCE = 154,
1034*4882a593Smuzhiyun 	TC_NTH_ACCESS_SAME_PAGE_BANK_SEQUENCE = 155,
1035*4882a593Smuzhiyun 	RB_NTH_ACCESS_SAME_PAGE_BANK_SEQUENCE = 156,
1036*4882a593Smuzhiyun 	TC_ROQ_N_VALID_ENTRIES = 157,
1037*4882a593Smuzhiyun 	ARQ_N_ENTRIES = 158,
1038*4882a593Smuzhiyun 	WDB_N_ENTRIES = 159,
1039*4882a593Smuzhiyun 	MH_READ_LATENCY_OUTST_REQ_SUM = 160,
1040*4882a593Smuzhiyun 	MC_READ_LATENCY_OUTST_REQ_SUM = 161,
1041*4882a593Smuzhiyun 	MC_TOTAL_READ_REQUESTS = 162,
1042*4882a593Smuzhiyun 	ELAPSED_CYCLES_MH_GATED_CLK = 163,
1043*4882a593Smuzhiyun 	ELAPSED_CLK_CYCLES = 164,
1044*4882a593Smuzhiyun 	CP_W_16B_REQUESTS = 165,
1045*4882a593Smuzhiyun 	CP_W_32B_REQUESTS = 166,
1046*4882a593Smuzhiyun 	TC_16B_REQUESTS = 167,
1047*4882a593Smuzhiyun 	TC_32B_REQUESTS = 168,
1048*4882a593Smuzhiyun 	PA_REQUESTS = 169,
1049*4882a593Smuzhiyun 	PA_DATA_BYTES_WRITTEN = 170,
1050*4882a593Smuzhiyun 	PA_WRITE_CLEAN_RESPONSES = 171,
1051*4882a593Smuzhiyun 	PA_CYCLES_HELD_OFF = 172,
1052*4882a593Smuzhiyun 	AXI_READ_REQUEST_DATA_BEATS_ID_0 = 173,
1053*4882a593Smuzhiyun 	AXI_READ_REQUEST_DATA_BEATS_ID_1 = 174,
1054*4882a593Smuzhiyun 	AXI_READ_REQUEST_DATA_BEATS_ID_2 = 175,
1055*4882a593Smuzhiyun 	AXI_READ_REQUEST_DATA_BEATS_ID_3 = 176,
1056*4882a593Smuzhiyun 	AXI_READ_REQUEST_DATA_BEATS_ID_4 = 177,
1057*4882a593Smuzhiyun 	AXI_READ_REQUEST_DATA_BEATS_ID_5 = 178,
1058*4882a593Smuzhiyun 	AXI_READ_REQUEST_DATA_BEATS_ID_6 = 179,
1059*4882a593Smuzhiyun 	AXI_READ_REQUEST_DATA_BEATS_ID_7 = 180,
1060*4882a593Smuzhiyun 	AXI_TOTAL_READ_REQUEST_DATA_BEATS = 181,
1061*4882a593Smuzhiyun };
1062*4882a593Smuzhiyun 
1063*4882a593Smuzhiyun enum adreno_mmu_clnt_beh {
1064*4882a593Smuzhiyun 	BEH_NEVR = 0,
1065*4882a593Smuzhiyun 	BEH_TRAN_RNG = 1,
1066*4882a593Smuzhiyun 	BEH_TRAN_FLT = 2,
1067*4882a593Smuzhiyun };
1068*4882a593Smuzhiyun 
1069*4882a593Smuzhiyun enum sq_tex_clamp {
1070*4882a593Smuzhiyun 	SQ_TEX_WRAP = 0,
1071*4882a593Smuzhiyun 	SQ_TEX_MIRROR = 1,
1072*4882a593Smuzhiyun 	SQ_TEX_CLAMP_LAST_TEXEL = 2,
1073*4882a593Smuzhiyun 	SQ_TEX_MIRROR_ONCE_LAST_TEXEL = 3,
1074*4882a593Smuzhiyun 	SQ_TEX_CLAMP_HALF_BORDER = 4,
1075*4882a593Smuzhiyun 	SQ_TEX_MIRROR_ONCE_HALF_BORDER = 5,
1076*4882a593Smuzhiyun 	SQ_TEX_CLAMP_BORDER = 6,
1077*4882a593Smuzhiyun 	SQ_TEX_MIRROR_ONCE_BORDER = 7,
1078*4882a593Smuzhiyun };
1079*4882a593Smuzhiyun 
1080*4882a593Smuzhiyun enum sq_tex_swiz {
1081*4882a593Smuzhiyun 	SQ_TEX_X = 0,
1082*4882a593Smuzhiyun 	SQ_TEX_Y = 1,
1083*4882a593Smuzhiyun 	SQ_TEX_Z = 2,
1084*4882a593Smuzhiyun 	SQ_TEX_W = 3,
1085*4882a593Smuzhiyun 	SQ_TEX_ZERO = 4,
1086*4882a593Smuzhiyun 	SQ_TEX_ONE = 5,
1087*4882a593Smuzhiyun };
1088*4882a593Smuzhiyun 
1089*4882a593Smuzhiyun enum sq_tex_filter {
1090*4882a593Smuzhiyun 	SQ_TEX_FILTER_POINT = 0,
1091*4882a593Smuzhiyun 	SQ_TEX_FILTER_BILINEAR = 1,
1092*4882a593Smuzhiyun 	SQ_TEX_FILTER_BASEMAP = 2,
1093*4882a593Smuzhiyun 	SQ_TEX_FILTER_USE_FETCH_CONST = 3,
1094*4882a593Smuzhiyun };
1095*4882a593Smuzhiyun 
1096*4882a593Smuzhiyun enum sq_tex_aniso_filter {
1097*4882a593Smuzhiyun 	SQ_TEX_ANISO_FILTER_DISABLED = 0,
1098*4882a593Smuzhiyun 	SQ_TEX_ANISO_FILTER_MAX_1_1 = 1,
1099*4882a593Smuzhiyun 	SQ_TEX_ANISO_FILTER_MAX_2_1 = 2,
1100*4882a593Smuzhiyun 	SQ_TEX_ANISO_FILTER_MAX_4_1 = 3,
1101*4882a593Smuzhiyun 	SQ_TEX_ANISO_FILTER_MAX_8_1 = 4,
1102*4882a593Smuzhiyun 	SQ_TEX_ANISO_FILTER_MAX_16_1 = 5,
1103*4882a593Smuzhiyun 	SQ_TEX_ANISO_FILTER_USE_FETCH_CONST = 7,
1104*4882a593Smuzhiyun };
1105*4882a593Smuzhiyun 
1106*4882a593Smuzhiyun enum sq_tex_dimension {
1107*4882a593Smuzhiyun 	SQ_TEX_DIMENSION_1D = 0,
1108*4882a593Smuzhiyun 	SQ_TEX_DIMENSION_2D = 1,
1109*4882a593Smuzhiyun 	SQ_TEX_DIMENSION_3D = 2,
1110*4882a593Smuzhiyun 	SQ_TEX_DIMENSION_CUBE = 3,
1111*4882a593Smuzhiyun };
1112*4882a593Smuzhiyun 
1113*4882a593Smuzhiyun enum sq_tex_border_color {
1114*4882a593Smuzhiyun 	SQ_TEX_BORDER_COLOR_BLACK = 0,
1115*4882a593Smuzhiyun 	SQ_TEX_BORDER_COLOR_WHITE = 1,
1116*4882a593Smuzhiyun 	SQ_TEX_BORDER_COLOR_ACBYCR_BLACK = 2,
1117*4882a593Smuzhiyun 	SQ_TEX_BORDER_COLOR_ACBCRY_BLACK = 3,
1118*4882a593Smuzhiyun };
1119*4882a593Smuzhiyun 
1120*4882a593Smuzhiyun enum sq_tex_sign {
1121*4882a593Smuzhiyun 	SQ_TEX_SIGN_UNSIGNED = 0,
1122*4882a593Smuzhiyun 	SQ_TEX_SIGN_SIGNED = 1,
1123*4882a593Smuzhiyun 	SQ_TEX_SIGN_UNSIGNED_BIASED = 2,
1124*4882a593Smuzhiyun 	SQ_TEX_SIGN_GAMMA = 3,
1125*4882a593Smuzhiyun };
1126*4882a593Smuzhiyun 
1127*4882a593Smuzhiyun enum sq_tex_endian {
1128*4882a593Smuzhiyun 	SQ_TEX_ENDIAN_NONE = 0,
1129*4882a593Smuzhiyun 	SQ_TEX_ENDIAN_8IN16 = 1,
1130*4882a593Smuzhiyun 	SQ_TEX_ENDIAN_8IN32 = 2,
1131*4882a593Smuzhiyun 	SQ_TEX_ENDIAN_16IN32 = 3,
1132*4882a593Smuzhiyun };
1133*4882a593Smuzhiyun 
1134*4882a593Smuzhiyun enum sq_tex_clamp_policy {
1135*4882a593Smuzhiyun 	SQ_TEX_CLAMP_POLICY_D3D = 0,
1136*4882a593Smuzhiyun 	SQ_TEX_CLAMP_POLICY_OGL = 1,
1137*4882a593Smuzhiyun };
1138*4882a593Smuzhiyun 
1139*4882a593Smuzhiyun enum sq_tex_num_format {
1140*4882a593Smuzhiyun 	SQ_TEX_NUM_FORMAT_FRAC = 0,
1141*4882a593Smuzhiyun 	SQ_TEX_NUM_FORMAT_INT = 1,
1142*4882a593Smuzhiyun };
1143*4882a593Smuzhiyun 
1144*4882a593Smuzhiyun enum sq_tex_type {
1145*4882a593Smuzhiyun 	SQ_TEX_TYPE_0 = 0,
1146*4882a593Smuzhiyun 	SQ_TEX_TYPE_1 = 1,
1147*4882a593Smuzhiyun 	SQ_TEX_TYPE_2 = 2,
1148*4882a593Smuzhiyun 	SQ_TEX_TYPE_3 = 3,
1149*4882a593Smuzhiyun };
1150*4882a593Smuzhiyun 
1151*4882a593Smuzhiyun #define REG_A2XX_RBBM_PATCH_RELEASE				0x00000001
1152*4882a593Smuzhiyun 
1153*4882a593Smuzhiyun #define REG_A2XX_RBBM_CNTL					0x0000003b
1154*4882a593Smuzhiyun 
1155*4882a593Smuzhiyun #define REG_A2XX_RBBM_SOFT_RESET				0x0000003c
1156*4882a593Smuzhiyun 
1157*4882a593Smuzhiyun #define REG_A2XX_CP_PFP_UCODE_ADDR				0x000000c0
1158*4882a593Smuzhiyun 
1159*4882a593Smuzhiyun #define REG_A2XX_CP_PFP_UCODE_DATA				0x000000c1
1160*4882a593Smuzhiyun 
1161*4882a593Smuzhiyun #define REG_A2XX_MH_MMU_CONFIG					0x00000040
1162*4882a593Smuzhiyun #define A2XX_MH_MMU_CONFIG_MMU_ENABLE				0x00000001
1163*4882a593Smuzhiyun #define A2XX_MH_MMU_CONFIG_SPLIT_MODE_ENABLE			0x00000002
1164*4882a593Smuzhiyun #define A2XX_MH_MMU_CONFIG_RB_W_CLNT_BEHAVIOR__MASK		0x00000030
1165*4882a593Smuzhiyun #define A2XX_MH_MMU_CONFIG_RB_W_CLNT_BEHAVIOR__SHIFT		4
A2XX_MH_MMU_CONFIG_RB_W_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val)1166*4882a593Smuzhiyun static inline uint32_t A2XX_MH_MMU_CONFIG_RB_W_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val)
1167*4882a593Smuzhiyun {
1168*4882a593Smuzhiyun 	return ((val) << A2XX_MH_MMU_CONFIG_RB_W_CLNT_BEHAVIOR__SHIFT) & A2XX_MH_MMU_CONFIG_RB_W_CLNT_BEHAVIOR__MASK;
1169*4882a593Smuzhiyun }
1170*4882a593Smuzhiyun #define A2XX_MH_MMU_CONFIG_CP_W_CLNT_BEHAVIOR__MASK		0x000000c0
1171*4882a593Smuzhiyun #define A2XX_MH_MMU_CONFIG_CP_W_CLNT_BEHAVIOR__SHIFT		6
A2XX_MH_MMU_CONFIG_CP_W_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val)1172*4882a593Smuzhiyun static inline uint32_t A2XX_MH_MMU_CONFIG_CP_W_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val)
1173*4882a593Smuzhiyun {
1174*4882a593Smuzhiyun 	return ((val) << A2XX_MH_MMU_CONFIG_CP_W_CLNT_BEHAVIOR__SHIFT) & A2XX_MH_MMU_CONFIG_CP_W_CLNT_BEHAVIOR__MASK;
1175*4882a593Smuzhiyun }
1176*4882a593Smuzhiyun #define A2XX_MH_MMU_CONFIG_CP_R0_CLNT_BEHAVIOR__MASK		0x00000300
1177*4882a593Smuzhiyun #define A2XX_MH_MMU_CONFIG_CP_R0_CLNT_BEHAVIOR__SHIFT		8
A2XX_MH_MMU_CONFIG_CP_R0_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val)1178*4882a593Smuzhiyun static inline uint32_t A2XX_MH_MMU_CONFIG_CP_R0_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val)
1179*4882a593Smuzhiyun {
1180*4882a593Smuzhiyun 	return ((val) << A2XX_MH_MMU_CONFIG_CP_R0_CLNT_BEHAVIOR__SHIFT) & A2XX_MH_MMU_CONFIG_CP_R0_CLNT_BEHAVIOR__MASK;
1181*4882a593Smuzhiyun }
1182*4882a593Smuzhiyun #define A2XX_MH_MMU_CONFIG_CP_R1_CLNT_BEHAVIOR__MASK		0x00000c00
1183*4882a593Smuzhiyun #define A2XX_MH_MMU_CONFIG_CP_R1_CLNT_BEHAVIOR__SHIFT		10
A2XX_MH_MMU_CONFIG_CP_R1_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val)1184*4882a593Smuzhiyun static inline uint32_t A2XX_MH_MMU_CONFIG_CP_R1_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val)
1185*4882a593Smuzhiyun {
1186*4882a593Smuzhiyun 	return ((val) << A2XX_MH_MMU_CONFIG_CP_R1_CLNT_BEHAVIOR__SHIFT) & A2XX_MH_MMU_CONFIG_CP_R1_CLNT_BEHAVIOR__MASK;
1187*4882a593Smuzhiyun }
1188*4882a593Smuzhiyun #define A2XX_MH_MMU_CONFIG_CP_R2_CLNT_BEHAVIOR__MASK		0x00003000
1189*4882a593Smuzhiyun #define A2XX_MH_MMU_CONFIG_CP_R2_CLNT_BEHAVIOR__SHIFT		12
A2XX_MH_MMU_CONFIG_CP_R2_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val)1190*4882a593Smuzhiyun static inline uint32_t A2XX_MH_MMU_CONFIG_CP_R2_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val)
1191*4882a593Smuzhiyun {
1192*4882a593Smuzhiyun 	return ((val) << A2XX_MH_MMU_CONFIG_CP_R2_CLNT_BEHAVIOR__SHIFT) & A2XX_MH_MMU_CONFIG_CP_R2_CLNT_BEHAVIOR__MASK;
1193*4882a593Smuzhiyun }
1194*4882a593Smuzhiyun #define A2XX_MH_MMU_CONFIG_CP_R3_CLNT_BEHAVIOR__MASK		0x0000c000
1195*4882a593Smuzhiyun #define A2XX_MH_MMU_CONFIG_CP_R3_CLNT_BEHAVIOR__SHIFT		14
A2XX_MH_MMU_CONFIG_CP_R3_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val)1196*4882a593Smuzhiyun static inline uint32_t A2XX_MH_MMU_CONFIG_CP_R3_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val)
1197*4882a593Smuzhiyun {
1198*4882a593Smuzhiyun 	return ((val) << A2XX_MH_MMU_CONFIG_CP_R3_CLNT_BEHAVIOR__SHIFT) & A2XX_MH_MMU_CONFIG_CP_R3_CLNT_BEHAVIOR__MASK;
1199*4882a593Smuzhiyun }
1200*4882a593Smuzhiyun #define A2XX_MH_MMU_CONFIG_CP_R4_CLNT_BEHAVIOR__MASK		0x00030000
1201*4882a593Smuzhiyun #define A2XX_MH_MMU_CONFIG_CP_R4_CLNT_BEHAVIOR__SHIFT		16
A2XX_MH_MMU_CONFIG_CP_R4_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val)1202*4882a593Smuzhiyun static inline uint32_t A2XX_MH_MMU_CONFIG_CP_R4_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val)
1203*4882a593Smuzhiyun {
1204*4882a593Smuzhiyun 	return ((val) << A2XX_MH_MMU_CONFIG_CP_R4_CLNT_BEHAVIOR__SHIFT) & A2XX_MH_MMU_CONFIG_CP_R4_CLNT_BEHAVIOR__MASK;
1205*4882a593Smuzhiyun }
1206*4882a593Smuzhiyun #define A2XX_MH_MMU_CONFIG_VGT_R0_CLNT_BEHAVIOR__MASK		0x000c0000
1207*4882a593Smuzhiyun #define A2XX_MH_MMU_CONFIG_VGT_R0_CLNT_BEHAVIOR__SHIFT		18
A2XX_MH_MMU_CONFIG_VGT_R0_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val)1208*4882a593Smuzhiyun static inline uint32_t A2XX_MH_MMU_CONFIG_VGT_R0_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val)
1209*4882a593Smuzhiyun {
1210*4882a593Smuzhiyun 	return ((val) << A2XX_MH_MMU_CONFIG_VGT_R0_CLNT_BEHAVIOR__SHIFT) & A2XX_MH_MMU_CONFIG_VGT_R0_CLNT_BEHAVIOR__MASK;
1211*4882a593Smuzhiyun }
1212*4882a593Smuzhiyun #define A2XX_MH_MMU_CONFIG_VGT_R1_CLNT_BEHAVIOR__MASK		0x00300000
1213*4882a593Smuzhiyun #define A2XX_MH_MMU_CONFIG_VGT_R1_CLNT_BEHAVIOR__SHIFT		20
A2XX_MH_MMU_CONFIG_VGT_R1_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val)1214*4882a593Smuzhiyun static inline uint32_t A2XX_MH_MMU_CONFIG_VGT_R1_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val)
1215*4882a593Smuzhiyun {
1216*4882a593Smuzhiyun 	return ((val) << A2XX_MH_MMU_CONFIG_VGT_R1_CLNT_BEHAVIOR__SHIFT) & A2XX_MH_MMU_CONFIG_VGT_R1_CLNT_BEHAVIOR__MASK;
1217*4882a593Smuzhiyun }
1218*4882a593Smuzhiyun #define A2XX_MH_MMU_CONFIG_TC_R_CLNT_BEHAVIOR__MASK		0x00c00000
1219*4882a593Smuzhiyun #define A2XX_MH_MMU_CONFIG_TC_R_CLNT_BEHAVIOR__SHIFT		22
A2XX_MH_MMU_CONFIG_TC_R_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val)1220*4882a593Smuzhiyun static inline uint32_t A2XX_MH_MMU_CONFIG_TC_R_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val)
1221*4882a593Smuzhiyun {
1222*4882a593Smuzhiyun 	return ((val) << A2XX_MH_MMU_CONFIG_TC_R_CLNT_BEHAVIOR__SHIFT) & A2XX_MH_MMU_CONFIG_TC_R_CLNT_BEHAVIOR__MASK;
1223*4882a593Smuzhiyun }
1224*4882a593Smuzhiyun #define A2XX_MH_MMU_CONFIG_PA_W_CLNT_BEHAVIOR__MASK		0x03000000
1225*4882a593Smuzhiyun #define A2XX_MH_MMU_CONFIG_PA_W_CLNT_BEHAVIOR__SHIFT		24
A2XX_MH_MMU_CONFIG_PA_W_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val)1226*4882a593Smuzhiyun static inline uint32_t A2XX_MH_MMU_CONFIG_PA_W_CLNT_BEHAVIOR(enum adreno_mmu_clnt_beh val)
1227*4882a593Smuzhiyun {
1228*4882a593Smuzhiyun 	return ((val) << A2XX_MH_MMU_CONFIG_PA_W_CLNT_BEHAVIOR__SHIFT) & A2XX_MH_MMU_CONFIG_PA_W_CLNT_BEHAVIOR__MASK;
1229*4882a593Smuzhiyun }
1230*4882a593Smuzhiyun 
1231*4882a593Smuzhiyun #define REG_A2XX_MH_MMU_VA_RANGE				0x00000041
1232*4882a593Smuzhiyun #define A2XX_MH_MMU_VA_RANGE_NUM_64KB_REGIONS__MASK		0x00000fff
1233*4882a593Smuzhiyun #define A2XX_MH_MMU_VA_RANGE_NUM_64KB_REGIONS__SHIFT		0
A2XX_MH_MMU_VA_RANGE_NUM_64KB_REGIONS(uint32_t val)1234*4882a593Smuzhiyun static inline uint32_t A2XX_MH_MMU_VA_RANGE_NUM_64KB_REGIONS(uint32_t val)
1235*4882a593Smuzhiyun {
1236*4882a593Smuzhiyun 	return ((val) << A2XX_MH_MMU_VA_RANGE_NUM_64KB_REGIONS__SHIFT) & A2XX_MH_MMU_VA_RANGE_NUM_64KB_REGIONS__MASK;
1237*4882a593Smuzhiyun }
1238*4882a593Smuzhiyun #define A2XX_MH_MMU_VA_RANGE_VA_BASE__MASK			0xfffff000
1239*4882a593Smuzhiyun #define A2XX_MH_MMU_VA_RANGE_VA_BASE__SHIFT			12
A2XX_MH_MMU_VA_RANGE_VA_BASE(uint32_t val)1240*4882a593Smuzhiyun static inline uint32_t A2XX_MH_MMU_VA_RANGE_VA_BASE(uint32_t val)
1241*4882a593Smuzhiyun {
1242*4882a593Smuzhiyun 	return ((val) << A2XX_MH_MMU_VA_RANGE_VA_BASE__SHIFT) & A2XX_MH_MMU_VA_RANGE_VA_BASE__MASK;
1243*4882a593Smuzhiyun }
1244*4882a593Smuzhiyun 
1245*4882a593Smuzhiyun #define REG_A2XX_MH_MMU_PT_BASE					0x00000042
1246*4882a593Smuzhiyun 
1247*4882a593Smuzhiyun #define REG_A2XX_MH_MMU_PAGE_FAULT				0x00000043
1248*4882a593Smuzhiyun 
1249*4882a593Smuzhiyun #define REG_A2XX_MH_MMU_TRAN_ERROR				0x00000044
1250*4882a593Smuzhiyun 
1251*4882a593Smuzhiyun #define REG_A2XX_MH_MMU_INVALIDATE				0x00000045
1252*4882a593Smuzhiyun #define A2XX_MH_MMU_INVALIDATE_INVALIDATE_ALL			0x00000001
1253*4882a593Smuzhiyun #define A2XX_MH_MMU_INVALIDATE_INVALIDATE_TC			0x00000002
1254*4882a593Smuzhiyun 
1255*4882a593Smuzhiyun #define REG_A2XX_MH_MMU_MPU_BASE				0x00000046
1256*4882a593Smuzhiyun 
1257*4882a593Smuzhiyun #define REG_A2XX_MH_MMU_MPU_END					0x00000047
1258*4882a593Smuzhiyun 
1259*4882a593Smuzhiyun #define REG_A2XX_NQWAIT_UNTIL					0x00000394
1260*4882a593Smuzhiyun 
1261*4882a593Smuzhiyun #define REG_A2XX_RBBM_PERFCOUNTER1_SELECT			0x00000395
1262*4882a593Smuzhiyun 
1263*4882a593Smuzhiyun #define REG_A2XX_RBBM_PERFCOUNTER1_LO				0x00000397
1264*4882a593Smuzhiyun 
1265*4882a593Smuzhiyun #define REG_A2XX_RBBM_PERFCOUNTER1_HI				0x00000398
1266*4882a593Smuzhiyun 
1267*4882a593Smuzhiyun #define REG_A2XX_RBBM_DEBUG					0x0000039b
1268*4882a593Smuzhiyun 
1269*4882a593Smuzhiyun #define REG_A2XX_RBBM_PM_OVERRIDE1				0x0000039c
1270*4882a593Smuzhiyun #define A2XX_RBBM_PM_OVERRIDE1_RBBM_AHBCLK_PM_OVERRIDE		0x00000001
1271*4882a593Smuzhiyun #define A2XX_RBBM_PM_OVERRIDE1_SC_REG_SCLK_PM_OVERRIDE		0x00000002
1272*4882a593Smuzhiyun #define A2XX_RBBM_PM_OVERRIDE1_SC_SCLK_PM_OVERRIDE		0x00000004
1273*4882a593Smuzhiyun #define A2XX_RBBM_PM_OVERRIDE1_SP_TOP_SCLK_PM_OVERRIDE		0x00000008
1274*4882a593Smuzhiyun #define A2XX_RBBM_PM_OVERRIDE1_SP_V0_SCLK_PM_OVERRIDE		0x00000010
1275*4882a593Smuzhiyun #define A2XX_RBBM_PM_OVERRIDE1_SQ_REG_SCLK_PM_OVERRIDE		0x00000020
1276*4882a593Smuzhiyun #define A2XX_RBBM_PM_OVERRIDE1_SQ_REG_FIFOS_SCLK_PM_OVERRIDE	0x00000040
1277*4882a593Smuzhiyun #define A2XX_RBBM_PM_OVERRIDE1_SQ_CONST_MEM_SCLK_PM_OVERRIDE	0x00000080
1278*4882a593Smuzhiyun #define A2XX_RBBM_PM_OVERRIDE1_SQ_SQ_SCLK_PM_OVERRIDE		0x00000100
1279*4882a593Smuzhiyun #define A2XX_RBBM_PM_OVERRIDE1_SX_SCLK_PM_OVERRIDE		0x00000200
1280*4882a593Smuzhiyun #define A2XX_RBBM_PM_OVERRIDE1_SX_REG_SCLK_PM_OVERRIDE		0x00000400
1281*4882a593Smuzhiyun #define A2XX_RBBM_PM_OVERRIDE1_TCM_TCO_SCLK_PM_OVERRIDE		0x00000800
1282*4882a593Smuzhiyun #define A2XX_RBBM_PM_OVERRIDE1_TCM_TCM_SCLK_PM_OVERRIDE		0x00001000
1283*4882a593Smuzhiyun #define A2XX_RBBM_PM_OVERRIDE1_TCM_TCD_SCLK_PM_OVERRIDE		0x00002000
1284*4882a593Smuzhiyun #define A2XX_RBBM_PM_OVERRIDE1_TCM_REG_SCLK_PM_OVERRIDE		0x00004000
1285*4882a593Smuzhiyun #define A2XX_RBBM_PM_OVERRIDE1_TPC_TPC_SCLK_PM_OVERRIDE		0x00008000
1286*4882a593Smuzhiyun #define A2XX_RBBM_PM_OVERRIDE1_TPC_REG_SCLK_PM_OVERRIDE		0x00010000
1287*4882a593Smuzhiyun #define A2XX_RBBM_PM_OVERRIDE1_TCF_TCA_SCLK_PM_OVERRIDE		0x00020000
1288*4882a593Smuzhiyun #define A2XX_RBBM_PM_OVERRIDE1_TCF_TCB_SCLK_PM_OVERRIDE		0x00040000
1289*4882a593Smuzhiyun #define A2XX_RBBM_PM_OVERRIDE1_TCF_TCB_READ_SCLK_PM_OVERRIDE	0x00080000
1290*4882a593Smuzhiyun #define A2XX_RBBM_PM_OVERRIDE1_TP_TP_SCLK_PM_OVERRIDE		0x00100000
1291*4882a593Smuzhiyun #define A2XX_RBBM_PM_OVERRIDE1_TP_REG_SCLK_PM_OVERRIDE		0x00200000
1292*4882a593Smuzhiyun #define A2XX_RBBM_PM_OVERRIDE1_CP_G_SCLK_PM_OVERRIDE		0x00400000
1293*4882a593Smuzhiyun #define A2XX_RBBM_PM_OVERRIDE1_CP_REG_SCLK_PM_OVERRIDE		0x00800000
1294*4882a593Smuzhiyun #define A2XX_RBBM_PM_OVERRIDE1_CP_G_REG_SCLK_PM_OVERRIDE	0x01000000
1295*4882a593Smuzhiyun #define A2XX_RBBM_PM_OVERRIDE1_SPI_SCLK_PM_OVERRIDE		0x02000000
1296*4882a593Smuzhiyun #define A2XX_RBBM_PM_OVERRIDE1_RB_REG_SCLK_PM_OVERRIDE		0x04000000
1297*4882a593Smuzhiyun #define A2XX_RBBM_PM_OVERRIDE1_RB_SCLK_PM_OVERRIDE		0x08000000
1298*4882a593Smuzhiyun #define A2XX_RBBM_PM_OVERRIDE1_MH_MH_SCLK_PM_OVERRIDE		0x10000000
1299*4882a593Smuzhiyun #define A2XX_RBBM_PM_OVERRIDE1_MH_REG_SCLK_PM_OVERRIDE		0x20000000
1300*4882a593Smuzhiyun #define A2XX_RBBM_PM_OVERRIDE1_MH_MMU_SCLK_PM_OVERRIDE		0x40000000
1301*4882a593Smuzhiyun #define A2XX_RBBM_PM_OVERRIDE1_MH_TCROQ_SCLK_PM_OVERRIDE	0x80000000
1302*4882a593Smuzhiyun 
1303*4882a593Smuzhiyun #define REG_A2XX_RBBM_PM_OVERRIDE2				0x0000039d
1304*4882a593Smuzhiyun 
1305*4882a593Smuzhiyun #define REG_A2XX_RBBM_DEBUG_OUT					0x000003a0
1306*4882a593Smuzhiyun 
1307*4882a593Smuzhiyun #define REG_A2XX_RBBM_DEBUG_CNTL				0x000003a1
1308*4882a593Smuzhiyun 
1309*4882a593Smuzhiyun #define REG_A2XX_RBBM_READ_ERROR				0x000003b3
1310*4882a593Smuzhiyun 
1311*4882a593Smuzhiyun #define REG_A2XX_RBBM_INT_CNTL					0x000003b4
1312*4882a593Smuzhiyun #define A2XX_RBBM_INT_CNTL_RDERR_INT_MASK			0x00000001
1313*4882a593Smuzhiyun #define A2XX_RBBM_INT_CNTL_DISPLAY_UPDATE_INT_MASK		0x00000002
1314*4882a593Smuzhiyun #define A2XX_RBBM_INT_CNTL_GUI_IDLE_INT_MASK			0x00080000
1315*4882a593Smuzhiyun 
1316*4882a593Smuzhiyun #define REG_A2XX_RBBM_INT_STATUS				0x000003b5
1317*4882a593Smuzhiyun 
1318*4882a593Smuzhiyun #define REG_A2XX_RBBM_INT_ACK					0x000003b6
1319*4882a593Smuzhiyun 
1320*4882a593Smuzhiyun #define REG_A2XX_MASTER_INT_SIGNAL				0x000003b7
1321*4882a593Smuzhiyun #define A2XX_MASTER_INT_SIGNAL_MH_INT_STAT			0x00000020
1322*4882a593Smuzhiyun #define A2XX_MASTER_INT_SIGNAL_SQ_INT_STAT			0x04000000
1323*4882a593Smuzhiyun #define A2XX_MASTER_INT_SIGNAL_CP_INT_STAT			0x40000000
1324*4882a593Smuzhiyun #define A2XX_MASTER_INT_SIGNAL_RBBM_INT_STAT			0x80000000
1325*4882a593Smuzhiyun 
1326*4882a593Smuzhiyun #define REG_A2XX_RBBM_PERIPHID1					0x000003f9
1327*4882a593Smuzhiyun 
1328*4882a593Smuzhiyun #define REG_A2XX_RBBM_PERIPHID2					0x000003fa
1329*4882a593Smuzhiyun 
1330*4882a593Smuzhiyun #define REG_A2XX_CP_PERFMON_CNTL				0x00000444
1331*4882a593Smuzhiyun 
1332*4882a593Smuzhiyun #define REG_A2XX_CP_PERFCOUNTER_SELECT				0x00000445
1333*4882a593Smuzhiyun 
1334*4882a593Smuzhiyun #define REG_A2XX_CP_PERFCOUNTER_LO				0x00000446
1335*4882a593Smuzhiyun 
1336*4882a593Smuzhiyun #define REG_A2XX_CP_PERFCOUNTER_HI				0x00000447
1337*4882a593Smuzhiyun 
1338*4882a593Smuzhiyun #define REG_A2XX_RBBM_STATUS					0x000005d0
1339*4882a593Smuzhiyun #define A2XX_RBBM_STATUS_CMDFIFO_AVAIL__MASK			0x0000001f
1340*4882a593Smuzhiyun #define A2XX_RBBM_STATUS_CMDFIFO_AVAIL__SHIFT			0
A2XX_RBBM_STATUS_CMDFIFO_AVAIL(uint32_t val)1341*4882a593Smuzhiyun static inline uint32_t A2XX_RBBM_STATUS_CMDFIFO_AVAIL(uint32_t val)
1342*4882a593Smuzhiyun {
1343*4882a593Smuzhiyun 	return ((val) << A2XX_RBBM_STATUS_CMDFIFO_AVAIL__SHIFT) & A2XX_RBBM_STATUS_CMDFIFO_AVAIL__MASK;
1344*4882a593Smuzhiyun }
1345*4882a593Smuzhiyun #define A2XX_RBBM_STATUS_TC_BUSY				0x00000020
1346*4882a593Smuzhiyun #define A2XX_RBBM_STATUS_HIRQ_PENDING				0x00000100
1347*4882a593Smuzhiyun #define A2XX_RBBM_STATUS_CPRQ_PENDING				0x00000200
1348*4882a593Smuzhiyun #define A2XX_RBBM_STATUS_CFRQ_PENDING				0x00000400
1349*4882a593Smuzhiyun #define A2XX_RBBM_STATUS_PFRQ_PENDING				0x00000800
1350*4882a593Smuzhiyun #define A2XX_RBBM_STATUS_VGT_BUSY_NO_DMA			0x00001000
1351*4882a593Smuzhiyun #define A2XX_RBBM_STATUS_RBBM_WU_BUSY				0x00004000
1352*4882a593Smuzhiyun #define A2XX_RBBM_STATUS_CP_NRT_BUSY				0x00010000
1353*4882a593Smuzhiyun #define A2XX_RBBM_STATUS_MH_BUSY				0x00040000
1354*4882a593Smuzhiyun #define A2XX_RBBM_STATUS_MH_COHERENCY_BUSY			0x00080000
1355*4882a593Smuzhiyun #define A2XX_RBBM_STATUS_SX_BUSY				0x00200000
1356*4882a593Smuzhiyun #define A2XX_RBBM_STATUS_TPC_BUSY				0x00400000
1357*4882a593Smuzhiyun #define A2XX_RBBM_STATUS_SC_CNTX_BUSY				0x01000000
1358*4882a593Smuzhiyun #define A2XX_RBBM_STATUS_PA_BUSY				0x02000000
1359*4882a593Smuzhiyun #define A2XX_RBBM_STATUS_VGT_BUSY				0x04000000
1360*4882a593Smuzhiyun #define A2XX_RBBM_STATUS_SQ_CNTX17_BUSY				0x08000000
1361*4882a593Smuzhiyun #define A2XX_RBBM_STATUS_SQ_CNTX0_BUSY				0x10000000
1362*4882a593Smuzhiyun #define A2XX_RBBM_STATUS_RB_CNTX_BUSY				0x40000000
1363*4882a593Smuzhiyun #define A2XX_RBBM_STATUS_GUI_ACTIVE				0x80000000
1364*4882a593Smuzhiyun 
1365*4882a593Smuzhiyun #define REG_A2XX_MH_ARBITER_CONFIG				0x00000a40
1366*4882a593Smuzhiyun #define A2XX_MH_ARBITER_CONFIG_SAME_PAGE_LIMIT__MASK		0x0000003f
1367*4882a593Smuzhiyun #define A2XX_MH_ARBITER_CONFIG_SAME_PAGE_LIMIT__SHIFT		0
A2XX_MH_ARBITER_CONFIG_SAME_PAGE_LIMIT(uint32_t val)1368*4882a593Smuzhiyun static inline uint32_t A2XX_MH_ARBITER_CONFIG_SAME_PAGE_LIMIT(uint32_t val)
1369*4882a593Smuzhiyun {
1370*4882a593Smuzhiyun 	return ((val) << A2XX_MH_ARBITER_CONFIG_SAME_PAGE_LIMIT__SHIFT) & A2XX_MH_ARBITER_CONFIG_SAME_PAGE_LIMIT__MASK;
1371*4882a593Smuzhiyun }
1372*4882a593Smuzhiyun #define A2XX_MH_ARBITER_CONFIG_SAME_PAGE_GRANULARITY		0x00000040
1373*4882a593Smuzhiyun #define A2XX_MH_ARBITER_CONFIG_L1_ARB_ENABLE			0x00000080
1374*4882a593Smuzhiyun #define A2XX_MH_ARBITER_CONFIG_L1_ARB_HOLD_ENABLE		0x00000100
1375*4882a593Smuzhiyun #define A2XX_MH_ARBITER_CONFIG_L2_ARB_CONTROL			0x00000200
1376*4882a593Smuzhiyun #define A2XX_MH_ARBITER_CONFIG_PAGE_SIZE__MASK			0x00001c00
1377*4882a593Smuzhiyun #define A2XX_MH_ARBITER_CONFIG_PAGE_SIZE__SHIFT			10
A2XX_MH_ARBITER_CONFIG_PAGE_SIZE(uint32_t val)1378*4882a593Smuzhiyun static inline uint32_t A2XX_MH_ARBITER_CONFIG_PAGE_SIZE(uint32_t val)
1379*4882a593Smuzhiyun {
1380*4882a593Smuzhiyun 	return ((val) << A2XX_MH_ARBITER_CONFIG_PAGE_SIZE__SHIFT) & A2XX_MH_ARBITER_CONFIG_PAGE_SIZE__MASK;
1381*4882a593Smuzhiyun }
1382*4882a593Smuzhiyun #define A2XX_MH_ARBITER_CONFIG_TC_REORDER_ENABLE		0x00002000
1383*4882a593Smuzhiyun #define A2XX_MH_ARBITER_CONFIG_TC_ARB_HOLD_ENABLE		0x00004000
1384*4882a593Smuzhiyun #define A2XX_MH_ARBITER_CONFIG_IN_FLIGHT_LIMIT_ENABLE		0x00008000
1385*4882a593Smuzhiyun #define A2XX_MH_ARBITER_CONFIG_IN_FLIGHT_LIMIT__MASK		0x003f0000
1386*4882a593Smuzhiyun #define A2XX_MH_ARBITER_CONFIG_IN_FLIGHT_LIMIT__SHIFT		16
A2XX_MH_ARBITER_CONFIG_IN_FLIGHT_LIMIT(uint32_t val)1387*4882a593Smuzhiyun static inline uint32_t A2XX_MH_ARBITER_CONFIG_IN_FLIGHT_LIMIT(uint32_t val)
1388*4882a593Smuzhiyun {
1389*4882a593Smuzhiyun 	return ((val) << A2XX_MH_ARBITER_CONFIG_IN_FLIGHT_LIMIT__SHIFT) & A2XX_MH_ARBITER_CONFIG_IN_FLIGHT_LIMIT__MASK;
1390*4882a593Smuzhiyun }
1391*4882a593Smuzhiyun #define A2XX_MH_ARBITER_CONFIG_CP_CLNT_ENABLE			0x00400000
1392*4882a593Smuzhiyun #define A2XX_MH_ARBITER_CONFIG_VGT_CLNT_ENABLE			0x00800000
1393*4882a593Smuzhiyun #define A2XX_MH_ARBITER_CONFIG_TC_CLNT_ENABLE			0x01000000
1394*4882a593Smuzhiyun #define A2XX_MH_ARBITER_CONFIG_RB_CLNT_ENABLE			0x02000000
1395*4882a593Smuzhiyun #define A2XX_MH_ARBITER_CONFIG_PA_CLNT_ENABLE			0x04000000
1396*4882a593Smuzhiyun 
1397*4882a593Smuzhiyun #define REG_A2XX_MH_INTERRUPT_MASK				0x00000a42
1398*4882a593Smuzhiyun #define A2XX_MH_INTERRUPT_MASK_AXI_READ_ERROR			0x00000001
1399*4882a593Smuzhiyun #define A2XX_MH_INTERRUPT_MASK_AXI_WRITE_ERROR			0x00000002
1400*4882a593Smuzhiyun #define A2XX_MH_INTERRUPT_MASK_MMU_PAGE_FAULT			0x00000004
1401*4882a593Smuzhiyun 
1402*4882a593Smuzhiyun #define REG_A2XX_MH_INTERRUPT_STATUS				0x00000a43
1403*4882a593Smuzhiyun 
1404*4882a593Smuzhiyun #define REG_A2XX_MH_INTERRUPT_CLEAR				0x00000a44
1405*4882a593Smuzhiyun 
1406*4882a593Smuzhiyun #define REG_A2XX_MH_CLNT_INTF_CTRL_CONFIG1			0x00000a54
1407*4882a593Smuzhiyun 
1408*4882a593Smuzhiyun #define REG_A2XX_MH_CLNT_INTF_CTRL_CONFIG2			0x00000a55
1409*4882a593Smuzhiyun 
1410*4882a593Smuzhiyun #define REG_A2XX_A220_VSC_BIN_SIZE				0x00000c01
1411*4882a593Smuzhiyun #define A2XX_A220_VSC_BIN_SIZE_WIDTH__MASK			0x0000001f
1412*4882a593Smuzhiyun #define A2XX_A220_VSC_BIN_SIZE_WIDTH__SHIFT			0
A2XX_A220_VSC_BIN_SIZE_WIDTH(uint32_t val)1413*4882a593Smuzhiyun static inline uint32_t A2XX_A220_VSC_BIN_SIZE_WIDTH(uint32_t val)
1414*4882a593Smuzhiyun {
1415*4882a593Smuzhiyun 	return ((val >> 5) << A2XX_A220_VSC_BIN_SIZE_WIDTH__SHIFT) & A2XX_A220_VSC_BIN_SIZE_WIDTH__MASK;
1416*4882a593Smuzhiyun }
1417*4882a593Smuzhiyun #define A2XX_A220_VSC_BIN_SIZE_HEIGHT__MASK			0x000003e0
1418*4882a593Smuzhiyun #define A2XX_A220_VSC_BIN_SIZE_HEIGHT__SHIFT			5
A2XX_A220_VSC_BIN_SIZE_HEIGHT(uint32_t val)1419*4882a593Smuzhiyun static inline uint32_t A2XX_A220_VSC_BIN_SIZE_HEIGHT(uint32_t val)
1420*4882a593Smuzhiyun {
1421*4882a593Smuzhiyun 	return ((val >> 5) << A2XX_A220_VSC_BIN_SIZE_HEIGHT__SHIFT) & A2XX_A220_VSC_BIN_SIZE_HEIGHT__MASK;
1422*4882a593Smuzhiyun }
1423*4882a593Smuzhiyun 
REG_A2XX_VSC_PIPE(uint32_t i0)1424*4882a593Smuzhiyun static inline uint32_t REG_A2XX_VSC_PIPE(uint32_t i0) { return 0x00000c06 + 0x3*i0; }
1425*4882a593Smuzhiyun 
REG_A2XX_VSC_PIPE_CONFIG(uint32_t i0)1426*4882a593Smuzhiyun static inline uint32_t REG_A2XX_VSC_PIPE_CONFIG(uint32_t i0) { return 0x00000c06 + 0x3*i0; }
1427*4882a593Smuzhiyun 
REG_A2XX_VSC_PIPE_DATA_ADDRESS(uint32_t i0)1428*4882a593Smuzhiyun static inline uint32_t REG_A2XX_VSC_PIPE_DATA_ADDRESS(uint32_t i0) { return 0x00000c07 + 0x3*i0; }
1429*4882a593Smuzhiyun 
REG_A2XX_VSC_PIPE_DATA_LENGTH(uint32_t i0)1430*4882a593Smuzhiyun static inline uint32_t REG_A2XX_VSC_PIPE_DATA_LENGTH(uint32_t i0) { return 0x00000c08 + 0x3*i0; }
1431*4882a593Smuzhiyun 
1432*4882a593Smuzhiyun #define REG_A2XX_PC_DEBUG_CNTL					0x00000c38
1433*4882a593Smuzhiyun 
1434*4882a593Smuzhiyun #define REG_A2XX_PC_DEBUG_DATA					0x00000c39
1435*4882a593Smuzhiyun 
1436*4882a593Smuzhiyun #define REG_A2XX_PA_SC_VIZ_QUERY_STATUS				0x00000c44
1437*4882a593Smuzhiyun 
1438*4882a593Smuzhiyun #define REG_A2XX_GRAS_DEBUG_CNTL				0x00000c80
1439*4882a593Smuzhiyun 
1440*4882a593Smuzhiyun #define REG_A2XX_PA_SU_DEBUG_CNTL				0x00000c80
1441*4882a593Smuzhiyun 
1442*4882a593Smuzhiyun #define REG_A2XX_GRAS_DEBUG_DATA				0x00000c81
1443*4882a593Smuzhiyun 
1444*4882a593Smuzhiyun #define REG_A2XX_PA_SU_DEBUG_DATA				0x00000c81
1445*4882a593Smuzhiyun 
1446*4882a593Smuzhiyun #define REG_A2XX_PA_SU_FACE_DATA				0x00000c86
1447*4882a593Smuzhiyun #define A2XX_PA_SU_FACE_DATA_BASE_ADDR__MASK			0xffffffe0
1448*4882a593Smuzhiyun #define A2XX_PA_SU_FACE_DATA_BASE_ADDR__SHIFT			5
A2XX_PA_SU_FACE_DATA_BASE_ADDR(uint32_t val)1449*4882a593Smuzhiyun static inline uint32_t A2XX_PA_SU_FACE_DATA_BASE_ADDR(uint32_t val)
1450*4882a593Smuzhiyun {
1451*4882a593Smuzhiyun 	return ((val) << A2XX_PA_SU_FACE_DATA_BASE_ADDR__SHIFT) & A2XX_PA_SU_FACE_DATA_BASE_ADDR__MASK;
1452*4882a593Smuzhiyun }
1453*4882a593Smuzhiyun 
1454*4882a593Smuzhiyun #define REG_A2XX_SQ_GPR_MANAGEMENT				0x00000d00
1455*4882a593Smuzhiyun #define A2XX_SQ_GPR_MANAGEMENT_REG_DYNAMIC			0x00000001
1456*4882a593Smuzhiyun #define A2XX_SQ_GPR_MANAGEMENT_REG_SIZE_PIX__MASK		0x00000ff0
1457*4882a593Smuzhiyun #define A2XX_SQ_GPR_MANAGEMENT_REG_SIZE_PIX__SHIFT		4
A2XX_SQ_GPR_MANAGEMENT_REG_SIZE_PIX(uint32_t val)1458*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_GPR_MANAGEMENT_REG_SIZE_PIX(uint32_t val)
1459*4882a593Smuzhiyun {
1460*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_GPR_MANAGEMENT_REG_SIZE_PIX__SHIFT) & A2XX_SQ_GPR_MANAGEMENT_REG_SIZE_PIX__MASK;
1461*4882a593Smuzhiyun }
1462*4882a593Smuzhiyun #define A2XX_SQ_GPR_MANAGEMENT_REG_SIZE_VTX__MASK		0x000ff000
1463*4882a593Smuzhiyun #define A2XX_SQ_GPR_MANAGEMENT_REG_SIZE_VTX__SHIFT		12
A2XX_SQ_GPR_MANAGEMENT_REG_SIZE_VTX(uint32_t val)1464*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_GPR_MANAGEMENT_REG_SIZE_VTX(uint32_t val)
1465*4882a593Smuzhiyun {
1466*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_GPR_MANAGEMENT_REG_SIZE_VTX__SHIFT) & A2XX_SQ_GPR_MANAGEMENT_REG_SIZE_VTX__MASK;
1467*4882a593Smuzhiyun }
1468*4882a593Smuzhiyun 
1469*4882a593Smuzhiyun #define REG_A2XX_SQ_FLOW_CONTROL				0x00000d01
1470*4882a593Smuzhiyun 
1471*4882a593Smuzhiyun #define REG_A2XX_SQ_INST_STORE_MANAGMENT			0x00000d02
1472*4882a593Smuzhiyun #define A2XX_SQ_INST_STORE_MANAGMENT_INST_BASE_PIX__MASK	0x00000fff
1473*4882a593Smuzhiyun #define A2XX_SQ_INST_STORE_MANAGMENT_INST_BASE_PIX__SHIFT	0
A2XX_SQ_INST_STORE_MANAGMENT_INST_BASE_PIX(uint32_t val)1474*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_INST_STORE_MANAGMENT_INST_BASE_PIX(uint32_t val)
1475*4882a593Smuzhiyun {
1476*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_INST_STORE_MANAGMENT_INST_BASE_PIX__SHIFT) & A2XX_SQ_INST_STORE_MANAGMENT_INST_BASE_PIX__MASK;
1477*4882a593Smuzhiyun }
1478*4882a593Smuzhiyun #define A2XX_SQ_INST_STORE_MANAGMENT_INST_BASE_VTX__MASK	0x0fff0000
1479*4882a593Smuzhiyun #define A2XX_SQ_INST_STORE_MANAGMENT_INST_BASE_VTX__SHIFT	16
A2XX_SQ_INST_STORE_MANAGMENT_INST_BASE_VTX(uint32_t val)1480*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_INST_STORE_MANAGMENT_INST_BASE_VTX(uint32_t val)
1481*4882a593Smuzhiyun {
1482*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_INST_STORE_MANAGMENT_INST_BASE_VTX__SHIFT) & A2XX_SQ_INST_STORE_MANAGMENT_INST_BASE_VTX__MASK;
1483*4882a593Smuzhiyun }
1484*4882a593Smuzhiyun 
1485*4882a593Smuzhiyun #define REG_A2XX_SQ_DEBUG_MISC					0x00000d05
1486*4882a593Smuzhiyun 
1487*4882a593Smuzhiyun #define REG_A2XX_SQ_INT_CNTL					0x00000d34
1488*4882a593Smuzhiyun 
1489*4882a593Smuzhiyun #define REG_A2XX_SQ_INT_STATUS					0x00000d35
1490*4882a593Smuzhiyun 
1491*4882a593Smuzhiyun #define REG_A2XX_SQ_INT_ACK					0x00000d36
1492*4882a593Smuzhiyun 
1493*4882a593Smuzhiyun #define REG_A2XX_SQ_DEBUG_INPUT_FSM				0x00000dae
1494*4882a593Smuzhiyun 
1495*4882a593Smuzhiyun #define REG_A2XX_SQ_DEBUG_CONST_MGR_FSM				0x00000daf
1496*4882a593Smuzhiyun 
1497*4882a593Smuzhiyun #define REG_A2XX_SQ_DEBUG_TP_FSM				0x00000db0
1498*4882a593Smuzhiyun 
1499*4882a593Smuzhiyun #define REG_A2XX_SQ_DEBUG_FSM_ALU_0				0x00000db1
1500*4882a593Smuzhiyun 
1501*4882a593Smuzhiyun #define REG_A2XX_SQ_DEBUG_FSM_ALU_1				0x00000db2
1502*4882a593Smuzhiyun 
1503*4882a593Smuzhiyun #define REG_A2XX_SQ_DEBUG_EXP_ALLOC				0x00000db3
1504*4882a593Smuzhiyun 
1505*4882a593Smuzhiyun #define REG_A2XX_SQ_DEBUG_PTR_BUFF				0x00000db4
1506*4882a593Smuzhiyun 
1507*4882a593Smuzhiyun #define REG_A2XX_SQ_DEBUG_GPR_VTX				0x00000db5
1508*4882a593Smuzhiyun 
1509*4882a593Smuzhiyun #define REG_A2XX_SQ_DEBUG_GPR_PIX				0x00000db6
1510*4882a593Smuzhiyun 
1511*4882a593Smuzhiyun #define REG_A2XX_SQ_DEBUG_TB_STATUS_SEL				0x00000db7
1512*4882a593Smuzhiyun 
1513*4882a593Smuzhiyun #define REG_A2XX_SQ_DEBUG_VTX_TB_0				0x00000db8
1514*4882a593Smuzhiyun 
1515*4882a593Smuzhiyun #define REG_A2XX_SQ_DEBUG_VTX_TB_1				0x00000db9
1516*4882a593Smuzhiyun 
1517*4882a593Smuzhiyun #define REG_A2XX_SQ_DEBUG_VTX_TB_STATUS_REG			0x00000dba
1518*4882a593Smuzhiyun 
1519*4882a593Smuzhiyun #define REG_A2XX_SQ_DEBUG_VTX_TB_STATE_MEM			0x00000dbb
1520*4882a593Smuzhiyun 
1521*4882a593Smuzhiyun #define REG_A2XX_SQ_DEBUG_PIX_TB_0				0x00000dbc
1522*4882a593Smuzhiyun 
1523*4882a593Smuzhiyun #define REG_A2XX_SQ_DEBUG_PIX_TB_STATUS_REG_0			0x00000dbd
1524*4882a593Smuzhiyun 
1525*4882a593Smuzhiyun #define REG_A2XX_SQ_DEBUG_PIX_TB_STATUS_REG_1			0x00000dbe
1526*4882a593Smuzhiyun 
1527*4882a593Smuzhiyun #define REG_A2XX_SQ_DEBUG_PIX_TB_STATUS_REG_2			0x00000dbf
1528*4882a593Smuzhiyun 
1529*4882a593Smuzhiyun #define REG_A2XX_SQ_DEBUG_PIX_TB_STATUS_REG_3			0x00000dc0
1530*4882a593Smuzhiyun 
1531*4882a593Smuzhiyun #define REG_A2XX_SQ_DEBUG_PIX_TB_STATE_MEM			0x00000dc1
1532*4882a593Smuzhiyun 
1533*4882a593Smuzhiyun #define REG_A2XX_TC_CNTL_STATUS					0x00000e00
1534*4882a593Smuzhiyun #define A2XX_TC_CNTL_STATUS_L2_INVALIDATE			0x00000001
1535*4882a593Smuzhiyun 
1536*4882a593Smuzhiyun #define REG_A2XX_TP0_CHICKEN					0x00000e1e
1537*4882a593Smuzhiyun 
1538*4882a593Smuzhiyun #define REG_A2XX_RB_BC_CONTROL					0x00000f01
1539*4882a593Smuzhiyun #define A2XX_RB_BC_CONTROL_ACCUM_LINEAR_MODE_ENABLE		0x00000001
1540*4882a593Smuzhiyun #define A2XX_RB_BC_CONTROL_ACCUM_TIMEOUT_SELECT__MASK		0x00000006
1541*4882a593Smuzhiyun #define A2XX_RB_BC_CONTROL_ACCUM_TIMEOUT_SELECT__SHIFT		1
A2XX_RB_BC_CONTROL_ACCUM_TIMEOUT_SELECT(uint32_t val)1542*4882a593Smuzhiyun static inline uint32_t A2XX_RB_BC_CONTROL_ACCUM_TIMEOUT_SELECT(uint32_t val)
1543*4882a593Smuzhiyun {
1544*4882a593Smuzhiyun 	return ((val) << A2XX_RB_BC_CONTROL_ACCUM_TIMEOUT_SELECT__SHIFT) & A2XX_RB_BC_CONTROL_ACCUM_TIMEOUT_SELECT__MASK;
1545*4882a593Smuzhiyun }
1546*4882a593Smuzhiyun #define A2XX_RB_BC_CONTROL_DISABLE_EDRAM_CAM			0x00000008
1547*4882a593Smuzhiyun #define A2XX_RB_BC_CONTROL_DISABLE_EZ_FAST_CONTEXT_SWITCH	0x00000010
1548*4882a593Smuzhiyun #define A2XX_RB_BC_CONTROL_DISABLE_EZ_NULL_ZCMD_DROP		0x00000020
1549*4882a593Smuzhiyun #define A2XX_RB_BC_CONTROL_DISABLE_LZ_NULL_ZCMD_DROP		0x00000040
1550*4882a593Smuzhiyun #define A2XX_RB_BC_CONTROL_ENABLE_AZ_THROTTLE			0x00000080
1551*4882a593Smuzhiyun #define A2XX_RB_BC_CONTROL_AZ_THROTTLE_COUNT__MASK		0x00001f00
1552*4882a593Smuzhiyun #define A2XX_RB_BC_CONTROL_AZ_THROTTLE_COUNT__SHIFT		8
A2XX_RB_BC_CONTROL_AZ_THROTTLE_COUNT(uint32_t val)1553*4882a593Smuzhiyun static inline uint32_t A2XX_RB_BC_CONTROL_AZ_THROTTLE_COUNT(uint32_t val)
1554*4882a593Smuzhiyun {
1555*4882a593Smuzhiyun 	return ((val) << A2XX_RB_BC_CONTROL_AZ_THROTTLE_COUNT__SHIFT) & A2XX_RB_BC_CONTROL_AZ_THROTTLE_COUNT__MASK;
1556*4882a593Smuzhiyun }
1557*4882a593Smuzhiyun #define A2XX_RB_BC_CONTROL_ENABLE_CRC_UPDATE			0x00004000
1558*4882a593Smuzhiyun #define A2XX_RB_BC_CONTROL_CRC_MODE				0x00008000
1559*4882a593Smuzhiyun #define A2XX_RB_BC_CONTROL_DISABLE_SAMPLE_COUNTERS		0x00010000
1560*4882a593Smuzhiyun #define A2XX_RB_BC_CONTROL_DISABLE_ACCUM			0x00020000
1561*4882a593Smuzhiyun #define A2XX_RB_BC_CONTROL_ACCUM_ALLOC_MASK__MASK		0x003c0000
1562*4882a593Smuzhiyun #define A2XX_RB_BC_CONTROL_ACCUM_ALLOC_MASK__SHIFT		18
A2XX_RB_BC_CONTROL_ACCUM_ALLOC_MASK(uint32_t val)1563*4882a593Smuzhiyun static inline uint32_t A2XX_RB_BC_CONTROL_ACCUM_ALLOC_MASK(uint32_t val)
1564*4882a593Smuzhiyun {
1565*4882a593Smuzhiyun 	return ((val) << A2XX_RB_BC_CONTROL_ACCUM_ALLOC_MASK__SHIFT) & A2XX_RB_BC_CONTROL_ACCUM_ALLOC_MASK__MASK;
1566*4882a593Smuzhiyun }
1567*4882a593Smuzhiyun #define A2XX_RB_BC_CONTROL_LINEAR_PERFORMANCE_ENABLE		0x00400000
1568*4882a593Smuzhiyun #define A2XX_RB_BC_CONTROL_ACCUM_DATA_FIFO_LIMIT__MASK		0x07800000
1569*4882a593Smuzhiyun #define A2XX_RB_BC_CONTROL_ACCUM_DATA_FIFO_LIMIT__SHIFT		23
A2XX_RB_BC_CONTROL_ACCUM_DATA_FIFO_LIMIT(uint32_t val)1570*4882a593Smuzhiyun static inline uint32_t A2XX_RB_BC_CONTROL_ACCUM_DATA_FIFO_LIMIT(uint32_t val)
1571*4882a593Smuzhiyun {
1572*4882a593Smuzhiyun 	return ((val) << A2XX_RB_BC_CONTROL_ACCUM_DATA_FIFO_LIMIT__SHIFT) & A2XX_RB_BC_CONTROL_ACCUM_DATA_FIFO_LIMIT__MASK;
1573*4882a593Smuzhiyun }
1574*4882a593Smuzhiyun #define A2XX_RB_BC_CONTROL_MEM_EXPORT_TIMEOUT_SELECT__MASK	0x18000000
1575*4882a593Smuzhiyun #define A2XX_RB_BC_CONTROL_MEM_EXPORT_TIMEOUT_SELECT__SHIFT	27
A2XX_RB_BC_CONTROL_MEM_EXPORT_TIMEOUT_SELECT(uint32_t val)1576*4882a593Smuzhiyun static inline uint32_t A2XX_RB_BC_CONTROL_MEM_EXPORT_TIMEOUT_SELECT(uint32_t val)
1577*4882a593Smuzhiyun {
1578*4882a593Smuzhiyun 	return ((val) << A2XX_RB_BC_CONTROL_MEM_EXPORT_TIMEOUT_SELECT__SHIFT) & A2XX_RB_BC_CONTROL_MEM_EXPORT_TIMEOUT_SELECT__MASK;
1579*4882a593Smuzhiyun }
1580*4882a593Smuzhiyun #define A2XX_RB_BC_CONTROL_MEM_EXPORT_LINEAR_MODE_ENABLE	0x20000000
1581*4882a593Smuzhiyun #define A2XX_RB_BC_CONTROL_CRC_SYSTEM				0x40000000
1582*4882a593Smuzhiyun #define A2XX_RB_BC_CONTROL_RESERVED6				0x80000000
1583*4882a593Smuzhiyun 
1584*4882a593Smuzhiyun #define REG_A2XX_RB_EDRAM_INFO					0x00000f02
1585*4882a593Smuzhiyun 
1586*4882a593Smuzhiyun #define REG_A2XX_RB_DEBUG_CNTL					0x00000f26
1587*4882a593Smuzhiyun 
1588*4882a593Smuzhiyun #define REG_A2XX_RB_DEBUG_DATA					0x00000f27
1589*4882a593Smuzhiyun 
1590*4882a593Smuzhiyun #define REG_A2XX_RB_SURFACE_INFO				0x00002000
1591*4882a593Smuzhiyun #define A2XX_RB_SURFACE_INFO_SURFACE_PITCH__MASK		0x00003fff
1592*4882a593Smuzhiyun #define A2XX_RB_SURFACE_INFO_SURFACE_PITCH__SHIFT		0
A2XX_RB_SURFACE_INFO_SURFACE_PITCH(uint32_t val)1593*4882a593Smuzhiyun static inline uint32_t A2XX_RB_SURFACE_INFO_SURFACE_PITCH(uint32_t val)
1594*4882a593Smuzhiyun {
1595*4882a593Smuzhiyun 	return ((val) << A2XX_RB_SURFACE_INFO_SURFACE_PITCH__SHIFT) & A2XX_RB_SURFACE_INFO_SURFACE_PITCH__MASK;
1596*4882a593Smuzhiyun }
1597*4882a593Smuzhiyun #define A2XX_RB_SURFACE_INFO_MSAA_SAMPLES__MASK			0x0000c000
1598*4882a593Smuzhiyun #define A2XX_RB_SURFACE_INFO_MSAA_SAMPLES__SHIFT		14
A2XX_RB_SURFACE_INFO_MSAA_SAMPLES(uint32_t val)1599*4882a593Smuzhiyun static inline uint32_t A2XX_RB_SURFACE_INFO_MSAA_SAMPLES(uint32_t val)
1600*4882a593Smuzhiyun {
1601*4882a593Smuzhiyun 	return ((val) << A2XX_RB_SURFACE_INFO_MSAA_SAMPLES__SHIFT) & A2XX_RB_SURFACE_INFO_MSAA_SAMPLES__MASK;
1602*4882a593Smuzhiyun }
1603*4882a593Smuzhiyun 
1604*4882a593Smuzhiyun #define REG_A2XX_RB_COLOR_INFO					0x00002001
1605*4882a593Smuzhiyun #define A2XX_RB_COLOR_INFO_FORMAT__MASK				0x0000000f
1606*4882a593Smuzhiyun #define A2XX_RB_COLOR_INFO_FORMAT__SHIFT			0
A2XX_RB_COLOR_INFO_FORMAT(enum a2xx_colorformatx val)1607*4882a593Smuzhiyun static inline uint32_t A2XX_RB_COLOR_INFO_FORMAT(enum a2xx_colorformatx val)
1608*4882a593Smuzhiyun {
1609*4882a593Smuzhiyun 	return ((val) << A2XX_RB_COLOR_INFO_FORMAT__SHIFT) & A2XX_RB_COLOR_INFO_FORMAT__MASK;
1610*4882a593Smuzhiyun }
1611*4882a593Smuzhiyun #define A2XX_RB_COLOR_INFO_ROUND_MODE__MASK			0x00000030
1612*4882a593Smuzhiyun #define A2XX_RB_COLOR_INFO_ROUND_MODE__SHIFT			4
A2XX_RB_COLOR_INFO_ROUND_MODE(uint32_t val)1613*4882a593Smuzhiyun static inline uint32_t A2XX_RB_COLOR_INFO_ROUND_MODE(uint32_t val)
1614*4882a593Smuzhiyun {
1615*4882a593Smuzhiyun 	return ((val) << A2XX_RB_COLOR_INFO_ROUND_MODE__SHIFT) & A2XX_RB_COLOR_INFO_ROUND_MODE__MASK;
1616*4882a593Smuzhiyun }
1617*4882a593Smuzhiyun #define A2XX_RB_COLOR_INFO_LINEAR				0x00000040
1618*4882a593Smuzhiyun #define A2XX_RB_COLOR_INFO_ENDIAN__MASK				0x00000180
1619*4882a593Smuzhiyun #define A2XX_RB_COLOR_INFO_ENDIAN__SHIFT			7
A2XX_RB_COLOR_INFO_ENDIAN(uint32_t val)1620*4882a593Smuzhiyun static inline uint32_t A2XX_RB_COLOR_INFO_ENDIAN(uint32_t val)
1621*4882a593Smuzhiyun {
1622*4882a593Smuzhiyun 	return ((val) << A2XX_RB_COLOR_INFO_ENDIAN__SHIFT) & A2XX_RB_COLOR_INFO_ENDIAN__MASK;
1623*4882a593Smuzhiyun }
1624*4882a593Smuzhiyun #define A2XX_RB_COLOR_INFO_SWAP__MASK				0x00000600
1625*4882a593Smuzhiyun #define A2XX_RB_COLOR_INFO_SWAP__SHIFT				9
A2XX_RB_COLOR_INFO_SWAP(uint32_t val)1626*4882a593Smuzhiyun static inline uint32_t A2XX_RB_COLOR_INFO_SWAP(uint32_t val)
1627*4882a593Smuzhiyun {
1628*4882a593Smuzhiyun 	return ((val) << A2XX_RB_COLOR_INFO_SWAP__SHIFT) & A2XX_RB_COLOR_INFO_SWAP__MASK;
1629*4882a593Smuzhiyun }
1630*4882a593Smuzhiyun #define A2XX_RB_COLOR_INFO_BASE__MASK				0xfffff000
1631*4882a593Smuzhiyun #define A2XX_RB_COLOR_INFO_BASE__SHIFT				12
A2XX_RB_COLOR_INFO_BASE(uint32_t val)1632*4882a593Smuzhiyun static inline uint32_t A2XX_RB_COLOR_INFO_BASE(uint32_t val)
1633*4882a593Smuzhiyun {
1634*4882a593Smuzhiyun 	return ((val >> 12) << A2XX_RB_COLOR_INFO_BASE__SHIFT) & A2XX_RB_COLOR_INFO_BASE__MASK;
1635*4882a593Smuzhiyun }
1636*4882a593Smuzhiyun 
1637*4882a593Smuzhiyun #define REG_A2XX_RB_DEPTH_INFO					0x00002002
1638*4882a593Smuzhiyun #define A2XX_RB_DEPTH_INFO_DEPTH_FORMAT__MASK			0x00000001
1639*4882a593Smuzhiyun #define A2XX_RB_DEPTH_INFO_DEPTH_FORMAT__SHIFT			0
A2XX_RB_DEPTH_INFO_DEPTH_FORMAT(enum adreno_rb_depth_format val)1640*4882a593Smuzhiyun static inline uint32_t A2XX_RB_DEPTH_INFO_DEPTH_FORMAT(enum adreno_rb_depth_format val)
1641*4882a593Smuzhiyun {
1642*4882a593Smuzhiyun 	return ((val) << A2XX_RB_DEPTH_INFO_DEPTH_FORMAT__SHIFT) & A2XX_RB_DEPTH_INFO_DEPTH_FORMAT__MASK;
1643*4882a593Smuzhiyun }
1644*4882a593Smuzhiyun #define A2XX_RB_DEPTH_INFO_DEPTH_BASE__MASK			0xfffff000
1645*4882a593Smuzhiyun #define A2XX_RB_DEPTH_INFO_DEPTH_BASE__SHIFT			12
A2XX_RB_DEPTH_INFO_DEPTH_BASE(uint32_t val)1646*4882a593Smuzhiyun static inline uint32_t A2XX_RB_DEPTH_INFO_DEPTH_BASE(uint32_t val)
1647*4882a593Smuzhiyun {
1648*4882a593Smuzhiyun 	return ((val >> 12) << A2XX_RB_DEPTH_INFO_DEPTH_BASE__SHIFT) & A2XX_RB_DEPTH_INFO_DEPTH_BASE__MASK;
1649*4882a593Smuzhiyun }
1650*4882a593Smuzhiyun 
1651*4882a593Smuzhiyun #define REG_A2XX_A225_RB_COLOR_INFO3				0x00002005
1652*4882a593Smuzhiyun 
1653*4882a593Smuzhiyun #define REG_A2XX_COHER_DEST_BASE_0				0x00002006
1654*4882a593Smuzhiyun 
1655*4882a593Smuzhiyun #define REG_A2XX_PA_SC_SCREEN_SCISSOR_TL			0x0000200e
1656*4882a593Smuzhiyun #define A2XX_PA_SC_SCREEN_SCISSOR_TL_WINDOW_OFFSET_DISABLE	0x80000000
1657*4882a593Smuzhiyun #define A2XX_PA_SC_SCREEN_SCISSOR_TL_X__MASK			0x00007fff
1658*4882a593Smuzhiyun #define A2XX_PA_SC_SCREEN_SCISSOR_TL_X__SHIFT			0
A2XX_PA_SC_SCREEN_SCISSOR_TL_X(uint32_t val)1659*4882a593Smuzhiyun static inline uint32_t A2XX_PA_SC_SCREEN_SCISSOR_TL_X(uint32_t val)
1660*4882a593Smuzhiyun {
1661*4882a593Smuzhiyun 	return ((val) << A2XX_PA_SC_SCREEN_SCISSOR_TL_X__SHIFT) & A2XX_PA_SC_SCREEN_SCISSOR_TL_X__MASK;
1662*4882a593Smuzhiyun }
1663*4882a593Smuzhiyun #define A2XX_PA_SC_SCREEN_SCISSOR_TL_Y__MASK			0x7fff0000
1664*4882a593Smuzhiyun #define A2XX_PA_SC_SCREEN_SCISSOR_TL_Y__SHIFT			16
A2XX_PA_SC_SCREEN_SCISSOR_TL_Y(uint32_t val)1665*4882a593Smuzhiyun static inline uint32_t A2XX_PA_SC_SCREEN_SCISSOR_TL_Y(uint32_t val)
1666*4882a593Smuzhiyun {
1667*4882a593Smuzhiyun 	return ((val) << A2XX_PA_SC_SCREEN_SCISSOR_TL_Y__SHIFT) & A2XX_PA_SC_SCREEN_SCISSOR_TL_Y__MASK;
1668*4882a593Smuzhiyun }
1669*4882a593Smuzhiyun 
1670*4882a593Smuzhiyun #define REG_A2XX_PA_SC_SCREEN_SCISSOR_BR			0x0000200f
1671*4882a593Smuzhiyun #define A2XX_PA_SC_SCREEN_SCISSOR_BR_WINDOW_OFFSET_DISABLE	0x80000000
1672*4882a593Smuzhiyun #define A2XX_PA_SC_SCREEN_SCISSOR_BR_X__MASK			0x00007fff
1673*4882a593Smuzhiyun #define A2XX_PA_SC_SCREEN_SCISSOR_BR_X__SHIFT			0
A2XX_PA_SC_SCREEN_SCISSOR_BR_X(uint32_t val)1674*4882a593Smuzhiyun static inline uint32_t A2XX_PA_SC_SCREEN_SCISSOR_BR_X(uint32_t val)
1675*4882a593Smuzhiyun {
1676*4882a593Smuzhiyun 	return ((val) << A2XX_PA_SC_SCREEN_SCISSOR_BR_X__SHIFT) & A2XX_PA_SC_SCREEN_SCISSOR_BR_X__MASK;
1677*4882a593Smuzhiyun }
1678*4882a593Smuzhiyun #define A2XX_PA_SC_SCREEN_SCISSOR_BR_Y__MASK			0x7fff0000
1679*4882a593Smuzhiyun #define A2XX_PA_SC_SCREEN_SCISSOR_BR_Y__SHIFT			16
A2XX_PA_SC_SCREEN_SCISSOR_BR_Y(uint32_t val)1680*4882a593Smuzhiyun static inline uint32_t A2XX_PA_SC_SCREEN_SCISSOR_BR_Y(uint32_t val)
1681*4882a593Smuzhiyun {
1682*4882a593Smuzhiyun 	return ((val) << A2XX_PA_SC_SCREEN_SCISSOR_BR_Y__SHIFT) & A2XX_PA_SC_SCREEN_SCISSOR_BR_Y__MASK;
1683*4882a593Smuzhiyun }
1684*4882a593Smuzhiyun 
1685*4882a593Smuzhiyun #define REG_A2XX_PA_SC_WINDOW_OFFSET				0x00002080
1686*4882a593Smuzhiyun #define A2XX_PA_SC_WINDOW_OFFSET_X__MASK			0x00007fff
1687*4882a593Smuzhiyun #define A2XX_PA_SC_WINDOW_OFFSET_X__SHIFT			0
A2XX_PA_SC_WINDOW_OFFSET_X(int32_t val)1688*4882a593Smuzhiyun static inline uint32_t A2XX_PA_SC_WINDOW_OFFSET_X(int32_t val)
1689*4882a593Smuzhiyun {
1690*4882a593Smuzhiyun 	return ((val) << A2XX_PA_SC_WINDOW_OFFSET_X__SHIFT) & A2XX_PA_SC_WINDOW_OFFSET_X__MASK;
1691*4882a593Smuzhiyun }
1692*4882a593Smuzhiyun #define A2XX_PA_SC_WINDOW_OFFSET_Y__MASK			0x7fff0000
1693*4882a593Smuzhiyun #define A2XX_PA_SC_WINDOW_OFFSET_Y__SHIFT			16
A2XX_PA_SC_WINDOW_OFFSET_Y(int32_t val)1694*4882a593Smuzhiyun static inline uint32_t A2XX_PA_SC_WINDOW_OFFSET_Y(int32_t val)
1695*4882a593Smuzhiyun {
1696*4882a593Smuzhiyun 	return ((val) << A2XX_PA_SC_WINDOW_OFFSET_Y__SHIFT) & A2XX_PA_SC_WINDOW_OFFSET_Y__MASK;
1697*4882a593Smuzhiyun }
1698*4882a593Smuzhiyun #define A2XX_PA_SC_WINDOW_OFFSET_DISABLE			0x80000000
1699*4882a593Smuzhiyun 
1700*4882a593Smuzhiyun #define REG_A2XX_PA_SC_WINDOW_SCISSOR_TL			0x00002081
1701*4882a593Smuzhiyun #define A2XX_PA_SC_WINDOW_SCISSOR_TL_WINDOW_OFFSET_DISABLE	0x80000000
1702*4882a593Smuzhiyun #define A2XX_PA_SC_WINDOW_SCISSOR_TL_X__MASK			0x00007fff
1703*4882a593Smuzhiyun #define A2XX_PA_SC_WINDOW_SCISSOR_TL_X__SHIFT			0
A2XX_PA_SC_WINDOW_SCISSOR_TL_X(uint32_t val)1704*4882a593Smuzhiyun static inline uint32_t A2XX_PA_SC_WINDOW_SCISSOR_TL_X(uint32_t val)
1705*4882a593Smuzhiyun {
1706*4882a593Smuzhiyun 	return ((val) << A2XX_PA_SC_WINDOW_SCISSOR_TL_X__SHIFT) & A2XX_PA_SC_WINDOW_SCISSOR_TL_X__MASK;
1707*4882a593Smuzhiyun }
1708*4882a593Smuzhiyun #define A2XX_PA_SC_WINDOW_SCISSOR_TL_Y__MASK			0x7fff0000
1709*4882a593Smuzhiyun #define A2XX_PA_SC_WINDOW_SCISSOR_TL_Y__SHIFT			16
A2XX_PA_SC_WINDOW_SCISSOR_TL_Y(uint32_t val)1710*4882a593Smuzhiyun static inline uint32_t A2XX_PA_SC_WINDOW_SCISSOR_TL_Y(uint32_t val)
1711*4882a593Smuzhiyun {
1712*4882a593Smuzhiyun 	return ((val) << A2XX_PA_SC_WINDOW_SCISSOR_TL_Y__SHIFT) & A2XX_PA_SC_WINDOW_SCISSOR_TL_Y__MASK;
1713*4882a593Smuzhiyun }
1714*4882a593Smuzhiyun 
1715*4882a593Smuzhiyun #define REG_A2XX_PA_SC_WINDOW_SCISSOR_BR			0x00002082
1716*4882a593Smuzhiyun #define A2XX_PA_SC_WINDOW_SCISSOR_BR_WINDOW_OFFSET_DISABLE	0x80000000
1717*4882a593Smuzhiyun #define A2XX_PA_SC_WINDOW_SCISSOR_BR_X__MASK			0x00007fff
1718*4882a593Smuzhiyun #define A2XX_PA_SC_WINDOW_SCISSOR_BR_X__SHIFT			0
A2XX_PA_SC_WINDOW_SCISSOR_BR_X(uint32_t val)1719*4882a593Smuzhiyun static inline uint32_t A2XX_PA_SC_WINDOW_SCISSOR_BR_X(uint32_t val)
1720*4882a593Smuzhiyun {
1721*4882a593Smuzhiyun 	return ((val) << A2XX_PA_SC_WINDOW_SCISSOR_BR_X__SHIFT) & A2XX_PA_SC_WINDOW_SCISSOR_BR_X__MASK;
1722*4882a593Smuzhiyun }
1723*4882a593Smuzhiyun #define A2XX_PA_SC_WINDOW_SCISSOR_BR_Y__MASK			0x7fff0000
1724*4882a593Smuzhiyun #define A2XX_PA_SC_WINDOW_SCISSOR_BR_Y__SHIFT			16
A2XX_PA_SC_WINDOW_SCISSOR_BR_Y(uint32_t val)1725*4882a593Smuzhiyun static inline uint32_t A2XX_PA_SC_WINDOW_SCISSOR_BR_Y(uint32_t val)
1726*4882a593Smuzhiyun {
1727*4882a593Smuzhiyun 	return ((val) << A2XX_PA_SC_WINDOW_SCISSOR_BR_Y__SHIFT) & A2XX_PA_SC_WINDOW_SCISSOR_BR_Y__MASK;
1728*4882a593Smuzhiyun }
1729*4882a593Smuzhiyun 
1730*4882a593Smuzhiyun #define REG_A2XX_UNKNOWN_2010					0x00002010
1731*4882a593Smuzhiyun 
1732*4882a593Smuzhiyun #define REG_A2XX_VGT_MAX_VTX_INDX				0x00002100
1733*4882a593Smuzhiyun 
1734*4882a593Smuzhiyun #define REG_A2XX_VGT_MIN_VTX_INDX				0x00002101
1735*4882a593Smuzhiyun 
1736*4882a593Smuzhiyun #define REG_A2XX_VGT_INDX_OFFSET				0x00002102
1737*4882a593Smuzhiyun 
1738*4882a593Smuzhiyun #define REG_A2XX_A225_PC_MULTI_PRIM_IB_RESET_INDX		0x00002103
1739*4882a593Smuzhiyun 
1740*4882a593Smuzhiyun #define REG_A2XX_RB_COLOR_MASK					0x00002104
1741*4882a593Smuzhiyun #define A2XX_RB_COLOR_MASK_WRITE_RED				0x00000001
1742*4882a593Smuzhiyun #define A2XX_RB_COLOR_MASK_WRITE_GREEN				0x00000002
1743*4882a593Smuzhiyun #define A2XX_RB_COLOR_MASK_WRITE_BLUE				0x00000004
1744*4882a593Smuzhiyun #define A2XX_RB_COLOR_MASK_WRITE_ALPHA				0x00000008
1745*4882a593Smuzhiyun 
1746*4882a593Smuzhiyun #define REG_A2XX_RB_BLEND_RED					0x00002105
1747*4882a593Smuzhiyun 
1748*4882a593Smuzhiyun #define REG_A2XX_RB_BLEND_GREEN					0x00002106
1749*4882a593Smuzhiyun 
1750*4882a593Smuzhiyun #define REG_A2XX_RB_BLEND_BLUE					0x00002107
1751*4882a593Smuzhiyun 
1752*4882a593Smuzhiyun #define REG_A2XX_RB_BLEND_ALPHA					0x00002108
1753*4882a593Smuzhiyun 
1754*4882a593Smuzhiyun #define REG_A2XX_RB_FOG_COLOR					0x00002109
1755*4882a593Smuzhiyun #define A2XX_RB_FOG_COLOR_FOG_RED__MASK				0x000000ff
1756*4882a593Smuzhiyun #define A2XX_RB_FOG_COLOR_FOG_RED__SHIFT			0
A2XX_RB_FOG_COLOR_FOG_RED(uint32_t val)1757*4882a593Smuzhiyun static inline uint32_t A2XX_RB_FOG_COLOR_FOG_RED(uint32_t val)
1758*4882a593Smuzhiyun {
1759*4882a593Smuzhiyun 	return ((val) << A2XX_RB_FOG_COLOR_FOG_RED__SHIFT) & A2XX_RB_FOG_COLOR_FOG_RED__MASK;
1760*4882a593Smuzhiyun }
1761*4882a593Smuzhiyun #define A2XX_RB_FOG_COLOR_FOG_GREEN__MASK			0x0000ff00
1762*4882a593Smuzhiyun #define A2XX_RB_FOG_COLOR_FOG_GREEN__SHIFT			8
A2XX_RB_FOG_COLOR_FOG_GREEN(uint32_t val)1763*4882a593Smuzhiyun static inline uint32_t A2XX_RB_FOG_COLOR_FOG_GREEN(uint32_t val)
1764*4882a593Smuzhiyun {
1765*4882a593Smuzhiyun 	return ((val) << A2XX_RB_FOG_COLOR_FOG_GREEN__SHIFT) & A2XX_RB_FOG_COLOR_FOG_GREEN__MASK;
1766*4882a593Smuzhiyun }
1767*4882a593Smuzhiyun #define A2XX_RB_FOG_COLOR_FOG_BLUE__MASK			0x00ff0000
1768*4882a593Smuzhiyun #define A2XX_RB_FOG_COLOR_FOG_BLUE__SHIFT			16
A2XX_RB_FOG_COLOR_FOG_BLUE(uint32_t val)1769*4882a593Smuzhiyun static inline uint32_t A2XX_RB_FOG_COLOR_FOG_BLUE(uint32_t val)
1770*4882a593Smuzhiyun {
1771*4882a593Smuzhiyun 	return ((val) << A2XX_RB_FOG_COLOR_FOG_BLUE__SHIFT) & A2XX_RB_FOG_COLOR_FOG_BLUE__MASK;
1772*4882a593Smuzhiyun }
1773*4882a593Smuzhiyun 
1774*4882a593Smuzhiyun #define REG_A2XX_RB_STENCILREFMASK_BF				0x0000210c
1775*4882a593Smuzhiyun #define A2XX_RB_STENCILREFMASK_BF_STENCILREF__MASK		0x000000ff
1776*4882a593Smuzhiyun #define A2XX_RB_STENCILREFMASK_BF_STENCILREF__SHIFT		0
A2XX_RB_STENCILREFMASK_BF_STENCILREF(uint32_t val)1777*4882a593Smuzhiyun static inline uint32_t A2XX_RB_STENCILREFMASK_BF_STENCILREF(uint32_t val)
1778*4882a593Smuzhiyun {
1779*4882a593Smuzhiyun 	return ((val) << A2XX_RB_STENCILREFMASK_BF_STENCILREF__SHIFT) & A2XX_RB_STENCILREFMASK_BF_STENCILREF__MASK;
1780*4882a593Smuzhiyun }
1781*4882a593Smuzhiyun #define A2XX_RB_STENCILREFMASK_BF_STENCILMASK__MASK		0x0000ff00
1782*4882a593Smuzhiyun #define A2XX_RB_STENCILREFMASK_BF_STENCILMASK__SHIFT		8
A2XX_RB_STENCILREFMASK_BF_STENCILMASK(uint32_t val)1783*4882a593Smuzhiyun static inline uint32_t A2XX_RB_STENCILREFMASK_BF_STENCILMASK(uint32_t val)
1784*4882a593Smuzhiyun {
1785*4882a593Smuzhiyun 	return ((val) << A2XX_RB_STENCILREFMASK_BF_STENCILMASK__SHIFT) & A2XX_RB_STENCILREFMASK_BF_STENCILMASK__MASK;
1786*4882a593Smuzhiyun }
1787*4882a593Smuzhiyun #define A2XX_RB_STENCILREFMASK_BF_STENCILWRITEMASK__MASK	0x00ff0000
1788*4882a593Smuzhiyun #define A2XX_RB_STENCILREFMASK_BF_STENCILWRITEMASK__SHIFT	16
A2XX_RB_STENCILREFMASK_BF_STENCILWRITEMASK(uint32_t val)1789*4882a593Smuzhiyun static inline uint32_t A2XX_RB_STENCILREFMASK_BF_STENCILWRITEMASK(uint32_t val)
1790*4882a593Smuzhiyun {
1791*4882a593Smuzhiyun 	return ((val) << A2XX_RB_STENCILREFMASK_BF_STENCILWRITEMASK__SHIFT) & A2XX_RB_STENCILREFMASK_BF_STENCILWRITEMASK__MASK;
1792*4882a593Smuzhiyun }
1793*4882a593Smuzhiyun 
1794*4882a593Smuzhiyun #define REG_A2XX_RB_STENCILREFMASK				0x0000210d
1795*4882a593Smuzhiyun #define A2XX_RB_STENCILREFMASK_STENCILREF__MASK			0x000000ff
1796*4882a593Smuzhiyun #define A2XX_RB_STENCILREFMASK_STENCILREF__SHIFT		0
A2XX_RB_STENCILREFMASK_STENCILREF(uint32_t val)1797*4882a593Smuzhiyun static inline uint32_t A2XX_RB_STENCILREFMASK_STENCILREF(uint32_t val)
1798*4882a593Smuzhiyun {
1799*4882a593Smuzhiyun 	return ((val) << A2XX_RB_STENCILREFMASK_STENCILREF__SHIFT) & A2XX_RB_STENCILREFMASK_STENCILREF__MASK;
1800*4882a593Smuzhiyun }
1801*4882a593Smuzhiyun #define A2XX_RB_STENCILREFMASK_STENCILMASK__MASK		0x0000ff00
1802*4882a593Smuzhiyun #define A2XX_RB_STENCILREFMASK_STENCILMASK__SHIFT		8
A2XX_RB_STENCILREFMASK_STENCILMASK(uint32_t val)1803*4882a593Smuzhiyun static inline uint32_t A2XX_RB_STENCILREFMASK_STENCILMASK(uint32_t val)
1804*4882a593Smuzhiyun {
1805*4882a593Smuzhiyun 	return ((val) << A2XX_RB_STENCILREFMASK_STENCILMASK__SHIFT) & A2XX_RB_STENCILREFMASK_STENCILMASK__MASK;
1806*4882a593Smuzhiyun }
1807*4882a593Smuzhiyun #define A2XX_RB_STENCILREFMASK_STENCILWRITEMASK__MASK		0x00ff0000
1808*4882a593Smuzhiyun #define A2XX_RB_STENCILREFMASK_STENCILWRITEMASK__SHIFT		16
A2XX_RB_STENCILREFMASK_STENCILWRITEMASK(uint32_t val)1809*4882a593Smuzhiyun static inline uint32_t A2XX_RB_STENCILREFMASK_STENCILWRITEMASK(uint32_t val)
1810*4882a593Smuzhiyun {
1811*4882a593Smuzhiyun 	return ((val) << A2XX_RB_STENCILREFMASK_STENCILWRITEMASK__SHIFT) & A2XX_RB_STENCILREFMASK_STENCILWRITEMASK__MASK;
1812*4882a593Smuzhiyun }
1813*4882a593Smuzhiyun 
1814*4882a593Smuzhiyun #define REG_A2XX_RB_ALPHA_REF					0x0000210e
1815*4882a593Smuzhiyun 
1816*4882a593Smuzhiyun #define REG_A2XX_PA_CL_VPORT_XSCALE				0x0000210f
1817*4882a593Smuzhiyun #define A2XX_PA_CL_VPORT_XSCALE__MASK				0xffffffff
1818*4882a593Smuzhiyun #define A2XX_PA_CL_VPORT_XSCALE__SHIFT				0
A2XX_PA_CL_VPORT_XSCALE(float val)1819*4882a593Smuzhiyun static inline uint32_t A2XX_PA_CL_VPORT_XSCALE(float val)
1820*4882a593Smuzhiyun {
1821*4882a593Smuzhiyun 	return ((fui(val)) << A2XX_PA_CL_VPORT_XSCALE__SHIFT) & A2XX_PA_CL_VPORT_XSCALE__MASK;
1822*4882a593Smuzhiyun }
1823*4882a593Smuzhiyun 
1824*4882a593Smuzhiyun #define REG_A2XX_PA_CL_VPORT_XOFFSET				0x00002110
1825*4882a593Smuzhiyun #define A2XX_PA_CL_VPORT_XOFFSET__MASK				0xffffffff
1826*4882a593Smuzhiyun #define A2XX_PA_CL_VPORT_XOFFSET__SHIFT				0
A2XX_PA_CL_VPORT_XOFFSET(float val)1827*4882a593Smuzhiyun static inline uint32_t A2XX_PA_CL_VPORT_XOFFSET(float val)
1828*4882a593Smuzhiyun {
1829*4882a593Smuzhiyun 	return ((fui(val)) << A2XX_PA_CL_VPORT_XOFFSET__SHIFT) & A2XX_PA_CL_VPORT_XOFFSET__MASK;
1830*4882a593Smuzhiyun }
1831*4882a593Smuzhiyun 
1832*4882a593Smuzhiyun #define REG_A2XX_PA_CL_VPORT_YSCALE				0x00002111
1833*4882a593Smuzhiyun #define A2XX_PA_CL_VPORT_YSCALE__MASK				0xffffffff
1834*4882a593Smuzhiyun #define A2XX_PA_CL_VPORT_YSCALE__SHIFT				0
A2XX_PA_CL_VPORT_YSCALE(float val)1835*4882a593Smuzhiyun static inline uint32_t A2XX_PA_CL_VPORT_YSCALE(float val)
1836*4882a593Smuzhiyun {
1837*4882a593Smuzhiyun 	return ((fui(val)) << A2XX_PA_CL_VPORT_YSCALE__SHIFT) & A2XX_PA_CL_VPORT_YSCALE__MASK;
1838*4882a593Smuzhiyun }
1839*4882a593Smuzhiyun 
1840*4882a593Smuzhiyun #define REG_A2XX_PA_CL_VPORT_YOFFSET				0x00002112
1841*4882a593Smuzhiyun #define A2XX_PA_CL_VPORT_YOFFSET__MASK				0xffffffff
1842*4882a593Smuzhiyun #define A2XX_PA_CL_VPORT_YOFFSET__SHIFT				0
A2XX_PA_CL_VPORT_YOFFSET(float val)1843*4882a593Smuzhiyun static inline uint32_t A2XX_PA_CL_VPORT_YOFFSET(float val)
1844*4882a593Smuzhiyun {
1845*4882a593Smuzhiyun 	return ((fui(val)) << A2XX_PA_CL_VPORT_YOFFSET__SHIFT) & A2XX_PA_CL_VPORT_YOFFSET__MASK;
1846*4882a593Smuzhiyun }
1847*4882a593Smuzhiyun 
1848*4882a593Smuzhiyun #define REG_A2XX_PA_CL_VPORT_ZSCALE				0x00002113
1849*4882a593Smuzhiyun #define A2XX_PA_CL_VPORT_ZSCALE__MASK				0xffffffff
1850*4882a593Smuzhiyun #define A2XX_PA_CL_VPORT_ZSCALE__SHIFT				0
A2XX_PA_CL_VPORT_ZSCALE(float val)1851*4882a593Smuzhiyun static inline uint32_t A2XX_PA_CL_VPORT_ZSCALE(float val)
1852*4882a593Smuzhiyun {
1853*4882a593Smuzhiyun 	return ((fui(val)) << A2XX_PA_CL_VPORT_ZSCALE__SHIFT) & A2XX_PA_CL_VPORT_ZSCALE__MASK;
1854*4882a593Smuzhiyun }
1855*4882a593Smuzhiyun 
1856*4882a593Smuzhiyun #define REG_A2XX_PA_CL_VPORT_ZOFFSET				0x00002114
1857*4882a593Smuzhiyun #define A2XX_PA_CL_VPORT_ZOFFSET__MASK				0xffffffff
1858*4882a593Smuzhiyun #define A2XX_PA_CL_VPORT_ZOFFSET__SHIFT				0
A2XX_PA_CL_VPORT_ZOFFSET(float val)1859*4882a593Smuzhiyun static inline uint32_t A2XX_PA_CL_VPORT_ZOFFSET(float val)
1860*4882a593Smuzhiyun {
1861*4882a593Smuzhiyun 	return ((fui(val)) << A2XX_PA_CL_VPORT_ZOFFSET__SHIFT) & A2XX_PA_CL_VPORT_ZOFFSET__MASK;
1862*4882a593Smuzhiyun }
1863*4882a593Smuzhiyun 
1864*4882a593Smuzhiyun #define REG_A2XX_SQ_PROGRAM_CNTL				0x00002180
1865*4882a593Smuzhiyun #define A2XX_SQ_PROGRAM_CNTL_VS_REGS__MASK			0x000000ff
1866*4882a593Smuzhiyun #define A2XX_SQ_PROGRAM_CNTL_VS_REGS__SHIFT			0
A2XX_SQ_PROGRAM_CNTL_VS_REGS(uint32_t val)1867*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_PROGRAM_CNTL_VS_REGS(uint32_t val)
1868*4882a593Smuzhiyun {
1869*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_PROGRAM_CNTL_VS_REGS__SHIFT) & A2XX_SQ_PROGRAM_CNTL_VS_REGS__MASK;
1870*4882a593Smuzhiyun }
1871*4882a593Smuzhiyun #define A2XX_SQ_PROGRAM_CNTL_PS_REGS__MASK			0x0000ff00
1872*4882a593Smuzhiyun #define A2XX_SQ_PROGRAM_CNTL_PS_REGS__SHIFT			8
A2XX_SQ_PROGRAM_CNTL_PS_REGS(uint32_t val)1873*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_PROGRAM_CNTL_PS_REGS(uint32_t val)
1874*4882a593Smuzhiyun {
1875*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_PROGRAM_CNTL_PS_REGS__SHIFT) & A2XX_SQ_PROGRAM_CNTL_PS_REGS__MASK;
1876*4882a593Smuzhiyun }
1877*4882a593Smuzhiyun #define A2XX_SQ_PROGRAM_CNTL_VS_RESOURCE			0x00010000
1878*4882a593Smuzhiyun #define A2XX_SQ_PROGRAM_CNTL_PS_RESOURCE			0x00020000
1879*4882a593Smuzhiyun #define A2XX_SQ_PROGRAM_CNTL_PARAM_GEN				0x00040000
1880*4882a593Smuzhiyun #define A2XX_SQ_PROGRAM_CNTL_GEN_INDEX_PIX			0x00080000
1881*4882a593Smuzhiyun #define A2XX_SQ_PROGRAM_CNTL_VS_EXPORT_COUNT__MASK		0x00f00000
1882*4882a593Smuzhiyun #define A2XX_SQ_PROGRAM_CNTL_VS_EXPORT_COUNT__SHIFT		20
A2XX_SQ_PROGRAM_CNTL_VS_EXPORT_COUNT(uint32_t val)1883*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_PROGRAM_CNTL_VS_EXPORT_COUNT(uint32_t val)
1884*4882a593Smuzhiyun {
1885*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_PROGRAM_CNTL_VS_EXPORT_COUNT__SHIFT) & A2XX_SQ_PROGRAM_CNTL_VS_EXPORT_COUNT__MASK;
1886*4882a593Smuzhiyun }
1887*4882a593Smuzhiyun #define A2XX_SQ_PROGRAM_CNTL_VS_EXPORT_MODE__MASK		0x07000000
1888*4882a593Smuzhiyun #define A2XX_SQ_PROGRAM_CNTL_VS_EXPORT_MODE__SHIFT		24
A2XX_SQ_PROGRAM_CNTL_VS_EXPORT_MODE(enum a2xx_sq_ps_vtx_mode val)1889*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_PROGRAM_CNTL_VS_EXPORT_MODE(enum a2xx_sq_ps_vtx_mode val)
1890*4882a593Smuzhiyun {
1891*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_PROGRAM_CNTL_VS_EXPORT_MODE__SHIFT) & A2XX_SQ_PROGRAM_CNTL_VS_EXPORT_MODE__MASK;
1892*4882a593Smuzhiyun }
1893*4882a593Smuzhiyun #define A2XX_SQ_PROGRAM_CNTL_PS_EXPORT_MODE__MASK		0x78000000
1894*4882a593Smuzhiyun #define A2XX_SQ_PROGRAM_CNTL_PS_EXPORT_MODE__SHIFT		27
A2XX_SQ_PROGRAM_CNTL_PS_EXPORT_MODE(uint32_t val)1895*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_PROGRAM_CNTL_PS_EXPORT_MODE(uint32_t val)
1896*4882a593Smuzhiyun {
1897*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_PROGRAM_CNTL_PS_EXPORT_MODE__SHIFT) & A2XX_SQ_PROGRAM_CNTL_PS_EXPORT_MODE__MASK;
1898*4882a593Smuzhiyun }
1899*4882a593Smuzhiyun #define A2XX_SQ_PROGRAM_CNTL_GEN_INDEX_VTX			0x80000000
1900*4882a593Smuzhiyun 
1901*4882a593Smuzhiyun #define REG_A2XX_SQ_CONTEXT_MISC				0x00002181
1902*4882a593Smuzhiyun #define A2XX_SQ_CONTEXT_MISC_INST_PRED_OPTIMIZE			0x00000001
1903*4882a593Smuzhiyun #define A2XX_SQ_CONTEXT_MISC_SC_OUTPUT_SCREEN_XY		0x00000002
1904*4882a593Smuzhiyun #define A2XX_SQ_CONTEXT_MISC_SC_SAMPLE_CNTL__MASK		0x0000000c
1905*4882a593Smuzhiyun #define A2XX_SQ_CONTEXT_MISC_SC_SAMPLE_CNTL__SHIFT		2
A2XX_SQ_CONTEXT_MISC_SC_SAMPLE_CNTL(enum a2xx_sq_sample_cntl val)1906*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_CONTEXT_MISC_SC_SAMPLE_CNTL(enum a2xx_sq_sample_cntl val)
1907*4882a593Smuzhiyun {
1908*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_CONTEXT_MISC_SC_SAMPLE_CNTL__SHIFT) & A2XX_SQ_CONTEXT_MISC_SC_SAMPLE_CNTL__MASK;
1909*4882a593Smuzhiyun }
1910*4882a593Smuzhiyun #define A2XX_SQ_CONTEXT_MISC_PARAM_GEN_POS__MASK		0x0000ff00
1911*4882a593Smuzhiyun #define A2XX_SQ_CONTEXT_MISC_PARAM_GEN_POS__SHIFT		8
A2XX_SQ_CONTEXT_MISC_PARAM_GEN_POS(uint32_t val)1912*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_CONTEXT_MISC_PARAM_GEN_POS(uint32_t val)
1913*4882a593Smuzhiyun {
1914*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_CONTEXT_MISC_PARAM_GEN_POS__SHIFT) & A2XX_SQ_CONTEXT_MISC_PARAM_GEN_POS__MASK;
1915*4882a593Smuzhiyun }
1916*4882a593Smuzhiyun #define A2XX_SQ_CONTEXT_MISC_PERFCOUNTER_REF			0x00010000
1917*4882a593Smuzhiyun #define A2XX_SQ_CONTEXT_MISC_YEILD_OPTIMIZE			0x00020000
1918*4882a593Smuzhiyun #define A2XX_SQ_CONTEXT_MISC_TX_CACHE_SEL			0x00040000
1919*4882a593Smuzhiyun 
1920*4882a593Smuzhiyun #define REG_A2XX_SQ_INTERPOLATOR_CNTL				0x00002182
1921*4882a593Smuzhiyun #define A2XX_SQ_INTERPOLATOR_CNTL_PARAM_SHADE__MASK		0x0000ffff
1922*4882a593Smuzhiyun #define A2XX_SQ_INTERPOLATOR_CNTL_PARAM_SHADE__SHIFT		0
A2XX_SQ_INTERPOLATOR_CNTL_PARAM_SHADE(uint32_t val)1923*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_INTERPOLATOR_CNTL_PARAM_SHADE(uint32_t val)
1924*4882a593Smuzhiyun {
1925*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_INTERPOLATOR_CNTL_PARAM_SHADE__SHIFT) & A2XX_SQ_INTERPOLATOR_CNTL_PARAM_SHADE__MASK;
1926*4882a593Smuzhiyun }
1927*4882a593Smuzhiyun #define A2XX_SQ_INTERPOLATOR_CNTL_SAMPLING_PATTERN__MASK	0xffff0000
1928*4882a593Smuzhiyun #define A2XX_SQ_INTERPOLATOR_CNTL_SAMPLING_PATTERN__SHIFT	16
A2XX_SQ_INTERPOLATOR_CNTL_SAMPLING_PATTERN(uint32_t val)1929*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_INTERPOLATOR_CNTL_SAMPLING_PATTERN(uint32_t val)
1930*4882a593Smuzhiyun {
1931*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_INTERPOLATOR_CNTL_SAMPLING_PATTERN__SHIFT) & A2XX_SQ_INTERPOLATOR_CNTL_SAMPLING_PATTERN__MASK;
1932*4882a593Smuzhiyun }
1933*4882a593Smuzhiyun 
1934*4882a593Smuzhiyun #define REG_A2XX_SQ_WRAPPING_0					0x00002183
1935*4882a593Smuzhiyun #define A2XX_SQ_WRAPPING_0_PARAM_WRAP_0__MASK			0x0000000f
1936*4882a593Smuzhiyun #define A2XX_SQ_WRAPPING_0_PARAM_WRAP_0__SHIFT			0
A2XX_SQ_WRAPPING_0_PARAM_WRAP_0(uint32_t val)1937*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_WRAPPING_0_PARAM_WRAP_0(uint32_t val)
1938*4882a593Smuzhiyun {
1939*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_WRAPPING_0_PARAM_WRAP_0__SHIFT) & A2XX_SQ_WRAPPING_0_PARAM_WRAP_0__MASK;
1940*4882a593Smuzhiyun }
1941*4882a593Smuzhiyun #define A2XX_SQ_WRAPPING_0_PARAM_WRAP_1__MASK			0x000000f0
1942*4882a593Smuzhiyun #define A2XX_SQ_WRAPPING_0_PARAM_WRAP_1__SHIFT			4
A2XX_SQ_WRAPPING_0_PARAM_WRAP_1(uint32_t val)1943*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_WRAPPING_0_PARAM_WRAP_1(uint32_t val)
1944*4882a593Smuzhiyun {
1945*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_WRAPPING_0_PARAM_WRAP_1__SHIFT) & A2XX_SQ_WRAPPING_0_PARAM_WRAP_1__MASK;
1946*4882a593Smuzhiyun }
1947*4882a593Smuzhiyun #define A2XX_SQ_WRAPPING_0_PARAM_WRAP_2__MASK			0x00000f00
1948*4882a593Smuzhiyun #define A2XX_SQ_WRAPPING_0_PARAM_WRAP_2__SHIFT			8
A2XX_SQ_WRAPPING_0_PARAM_WRAP_2(uint32_t val)1949*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_WRAPPING_0_PARAM_WRAP_2(uint32_t val)
1950*4882a593Smuzhiyun {
1951*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_WRAPPING_0_PARAM_WRAP_2__SHIFT) & A2XX_SQ_WRAPPING_0_PARAM_WRAP_2__MASK;
1952*4882a593Smuzhiyun }
1953*4882a593Smuzhiyun #define A2XX_SQ_WRAPPING_0_PARAM_WRAP_3__MASK			0x0000f000
1954*4882a593Smuzhiyun #define A2XX_SQ_WRAPPING_0_PARAM_WRAP_3__SHIFT			12
A2XX_SQ_WRAPPING_0_PARAM_WRAP_3(uint32_t val)1955*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_WRAPPING_0_PARAM_WRAP_3(uint32_t val)
1956*4882a593Smuzhiyun {
1957*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_WRAPPING_0_PARAM_WRAP_3__SHIFT) & A2XX_SQ_WRAPPING_0_PARAM_WRAP_3__MASK;
1958*4882a593Smuzhiyun }
1959*4882a593Smuzhiyun #define A2XX_SQ_WRAPPING_0_PARAM_WRAP_4__MASK			0x000f0000
1960*4882a593Smuzhiyun #define A2XX_SQ_WRAPPING_0_PARAM_WRAP_4__SHIFT			16
A2XX_SQ_WRAPPING_0_PARAM_WRAP_4(uint32_t val)1961*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_WRAPPING_0_PARAM_WRAP_4(uint32_t val)
1962*4882a593Smuzhiyun {
1963*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_WRAPPING_0_PARAM_WRAP_4__SHIFT) & A2XX_SQ_WRAPPING_0_PARAM_WRAP_4__MASK;
1964*4882a593Smuzhiyun }
1965*4882a593Smuzhiyun #define A2XX_SQ_WRAPPING_0_PARAM_WRAP_5__MASK			0x00f00000
1966*4882a593Smuzhiyun #define A2XX_SQ_WRAPPING_0_PARAM_WRAP_5__SHIFT			20
A2XX_SQ_WRAPPING_0_PARAM_WRAP_5(uint32_t val)1967*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_WRAPPING_0_PARAM_WRAP_5(uint32_t val)
1968*4882a593Smuzhiyun {
1969*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_WRAPPING_0_PARAM_WRAP_5__SHIFT) & A2XX_SQ_WRAPPING_0_PARAM_WRAP_5__MASK;
1970*4882a593Smuzhiyun }
1971*4882a593Smuzhiyun #define A2XX_SQ_WRAPPING_0_PARAM_WRAP_6__MASK			0x0f000000
1972*4882a593Smuzhiyun #define A2XX_SQ_WRAPPING_0_PARAM_WRAP_6__SHIFT			24
A2XX_SQ_WRAPPING_0_PARAM_WRAP_6(uint32_t val)1973*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_WRAPPING_0_PARAM_WRAP_6(uint32_t val)
1974*4882a593Smuzhiyun {
1975*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_WRAPPING_0_PARAM_WRAP_6__SHIFT) & A2XX_SQ_WRAPPING_0_PARAM_WRAP_6__MASK;
1976*4882a593Smuzhiyun }
1977*4882a593Smuzhiyun #define A2XX_SQ_WRAPPING_0_PARAM_WRAP_7__MASK			0xf0000000
1978*4882a593Smuzhiyun #define A2XX_SQ_WRAPPING_0_PARAM_WRAP_7__SHIFT			28
A2XX_SQ_WRAPPING_0_PARAM_WRAP_7(uint32_t val)1979*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_WRAPPING_0_PARAM_WRAP_7(uint32_t val)
1980*4882a593Smuzhiyun {
1981*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_WRAPPING_0_PARAM_WRAP_7__SHIFT) & A2XX_SQ_WRAPPING_0_PARAM_WRAP_7__MASK;
1982*4882a593Smuzhiyun }
1983*4882a593Smuzhiyun 
1984*4882a593Smuzhiyun #define REG_A2XX_SQ_WRAPPING_1					0x00002184
1985*4882a593Smuzhiyun #define A2XX_SQ_WRAPPING_1_PARAM_WRAP_8__MASK			0x0000000f
1986*4882a593Smuzhiyun #define A2XX_SQ_WRAPPING_1_PARAM_WRAP_8__SHIFT			0
A2XX_SQ_WRAPPING_1_PARAM_WRAP_8(uint32_t val)1987*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_WRAPPING_1_PARAM_WRAP_8(uint32_t val)
1988*4882a593Smuzhiyun {
1989*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_WRAPPING_1_PARAM_WRAP_8__SHIFT) & A2XX_SQ_WRAPPING_1_PARAM_WRAP_8__MASK;
1990*4882a593Smuzhiyun }
1991*4882a593Smuzhiyun #define A2XX_SQ_WRAPPING_1_PARAM_WRAP_9__MASK			0x000000f0
1992*4882a593Smuzhiyun #define A2XX_SQ_WRAPPING_1_PARAM_WRAP_9__SHIFT			4
A2XX_SQ_WRAPPING_1_PARAM_WRAP_9(uint32_t val)1993*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_WRAPPING_1_PARAM_WRAP_9(uint32_t val)
1994*4882a593Smuzhiyun {
1995*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_WRAPPING_1_PARAM_WRAP_9__SHIFT) & A2XX_SQ_WRAPPING_1_PARAM_WRAP_9__MASK;
1996*4882a593Smuzhiyun }
1997*4882a593Smuzhiyun #define A2XX_SQ_WRAPPING_1_PARAM_WRAP_10__MASK			0x00000f00
1998*4882a593Smuzhiyun #define A2XX_SQ_WRAPPING_1_PARAM_WRAP_10__SHIFT			8
A2XX_SQ_WRAPPING_1_PARAM_WRAP_10(uint32_t val)1999*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_WRAPPING_1_PARAM_WRAP_10(uint32_t val)
2000*4882a593Smuzhiyun {
2001*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_WRAPPING_1_PARAM_WRAP_10__SHIFT) & A2XX_SQ_WRAPPING_1_PARAM_WRAP_10__MASK;
2002*4882a593Smuzhiyun }
2003*4882a593Smuzhiyun #define A2XX_SQ_WRAPPING_1_PARAM_WRAP_11__MASK			0x0000f000
2004*4882a593Smuzhiyun #define A2XX_SQ_WRAPPING_1_PARAM_WRAP_11__SHIFT			12
A2XX_SQ_WRAPPING_1_PARAM_WRAP_11(uint32_t val)2005*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_WRAPPING_1_PARAM_WRAP_11(uint32_t val)
2006*4882a593Smuzhiyun {
2007*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_WRAPPING_1_PARAM_WRAP_11__SHIFT) & A2XX_SQ_WRAPPING_1_PARAM_WRAP_11__MASK;
2008*4882a593Smuzhiyun }
2009*4882a593Smuzhiyun #define A2XX_SQ_WRAPPING_1_PARAM_WRAP_12__MASK			0x000f0000
2010*4882a593Smuzhiyun #define A2XX_SQ_WRAPPING_1_PARAM_WRAP_12__SHIFT			16
A2XX_SQ_WRAPPING_1_PARAM_WRAP_12(uint32_t val)2011*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_WRAPPING_1_PARAM_WRAP_12(uint32_t val)
2012*4882a593Smuzhiyun {
2013*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_WRAPPING_1_PARAM_WRAP_12__SHIFT) & A2XX_SQ_WRAPPING_1_PARAM_WRAP_12__MASK;
2014*4882a593Smuzhiyun }
2015*4882a593Smuzhiyun #define A2XX_SQ_WRAPPING_1_PARAM_WRAP_13__MASK			0x00f00000
2016*4882a593Smuzhiyun #define A2XX_SQ_WRAPPING_1_PARAM_WRAP_13__SHIFT			20
A2XX_SQ_WRAPPING_1_PARAM_WRAP_13(uint32_t val)2017*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_WRAPPING_1_PARAM_WRAP_13(uint32_t val)
2018*4882a593Smuzhiyun {
2019*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_WRAPPING_1_PARAM_WRAP_13__SHIFT) & A2XX_SQ_WRAPPING_1_PARAM_WRAP_13__MASK;
2020*4882a593Smuzhiyun }
2021*4882a593Smuzhiyun #define A2XX_SQ_WRAPPING_1_PARAM_WRAP_14__MASK			0x0f000000
2022*4882a593Smuzhiyun #define A2XX_SQ_WRAPPING_1_PARAM_WRAP_14__SHIFT			24
A2XX_SQ_WRAPPING_1_PARAM_WRAP_14(uint32_t val)2023*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_WRAPPING_1_PARAM_WRAP_14(uint32_t val)
2024*4882a593Smuzhiyun {
2025*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_WRAPPING_1_PARAM_WRAP_14__SHIFT) & A2XX_SQ_WRAPPING_1_PARAM_WRAP_14__MASK;
2026*4882a593Smuzhiyun }
2027*4882a593Smuzhiyun #define A2XX_SQ_WRAPPING_1_PARAM_WRAP_15__MASK			0xf0000000
2028*4882a593Smuzhiyun #define A2XX_SQ_WRAPPING_1_PARAM_WRAP_15__SHIFT			28
A2XX_SQ_WRAPPING_1_PARAM_WRAP_15(uint32_t val)2029*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_WRAPPING_1_PARAM_WRAP_15(uint32_t val)
2030*4882a593Smuzhiyun {
2031*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_WRAPPING_1_PARAM_WRAP_15__SHIFT) & A2XX_SQ_WRAPPING_1_PARAM_WRAP_15__MASK;
2032*4882a593Smuzhiyun }
2033*4882a593Smuzhiyun 
2034*4882a593Smuzhiyun #define REG_A2XX_SQ_PS_PROGRAM					0x000021f6
2035*4882a593Smuzhiyun #define A2XX_SQ_PS_PROGRAM_BASE__MASK				0x00000fff
2036*4882a593Smuzhiyun #define A2XX_SQ_PS_PROGRAM_BASE__SHIFT				0
A2XX_SQ_PS_PROGRAM_BASE(uint32_t val)2037*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_PS_PROGRAM_BASE(uint32_t val)
2038*4882a593Smuzhiyun {
2039*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_PS_PROGRAM_BASE__SHIFT) & A2XX_SQ_PS_PROGRAM_BASE__MASK;
2040*4882a593Smuzhiyun }
2041*4882a593Smuzhiyun #define A2XX_SQ_PS_PROGRAM_SIZE__MASK				0x00fff000
2042*4882a593Smuzhiyun #define A2XX_SQ_PS_PROGRAM_SIZE__SHIFT				12
A2XX_SQ_PS_PROGRAM_SIZE(uint32_t val)2043*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_PS_PROGRAM_SIZE(uint32_t val)
2044*4882a593Smuzhiyun {
2045*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_PS_PROGRAM_SIZE__SHIFT) & A2XX_SQ_PS_PROGRAM_SIZE__MASK;
2046*4882a593Smuzhiyun }
2047*4882a593Smuzhiyun 
2048*4882a593Smuzhiyun #define REG_A2XX_SQ_VS_PROGRAM					0x000021f7
2049*4882a593Smuzhiyun #define A2XX_SQ_VS_PROGRAM_BASE__MASK				0x00000fff
2050*4882a593Smuzhiyun #define A2XX_SQ_VS_PROGRAM_BASE__SHIFT				0
A2XX_SQ_VS_PROGRAM_BASE(uint32_t val)2051*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_VS_PROGRAM_BASE(uint32_t val)
2052*4882a593Smuzhiyun {
2053*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_VS_PROGRAM_BASE__SHIFT) & A2XX_SQ_VS_PROGRAM_BASE__MASK;
2054*4882a593Smuzhiyun }
2055*4882a593Smuzhiyun #define A2XX_SQ_VS_PROGRAM_SIZE__MASK				0x00fff000
2056*4882a593Smuzhiyun #define A2XX_SQ_VS_PROGRAM_SIZE__SHIFT				12
A2XX_SQ_VS_PROGRAM_SIZE(uint32_t val)2057*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_VS_PROGRAM_SIZE(uint32_t val)
2058*4882a593Smuzhiyun {
2059*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_VS_PROGRAM_SIZE__SHIFT) & A2XX_SQ_VS_PROGRAM_SIZE__MASK;
2060*4882a593Smuzhiyun }
2061*4882a593Smuzhiyun 
2062*4882a593Smuzhiyun #define REG_A2XX_VGT_EVENT_INITIATOR				0x000021f9
2063*4882a593Smuzhiyun 
2064*4882a593Smuzhiyun #define REG_A2XX_VGT_DRAW_INITIATOR				0x000021fc
2065*4882a593Smuzhiyun #define A2XX_VGT_DRAW_INITIATOR_PRIM_TYPE__MASK			0x0000003f
2066*4882a593Smuzhiyun #define A2XX_VGT_DRAW_INITIATOR_PRIM_TYPE__SHIFT		0
A2XX_VGT_DRAW_INITIATOR_PRIM_TYPE(enum pc_di_primtype val)2067*4882a593Smuzhiyun static inline uint32_t A2XX_VGT_DRAW_INITIATOR_PRIM_TYPE(enum pc_di_primtype val)
2068*4882a593Smuzhiyun {
2069*4882a593Smuzhiyun 	return ((val) << A2XX_VGT_DRAW_INITIATOR_PRIM_TYPE__SHIFT) & A2XX_VGT_DRAW_INITIATOR_PRIM_TYPE__MASK;
2070*4882a593Smuzhiyun }
2071*4882a593Smuzhiyun #define A2XX_VGT_DRAW_INITIATOR_SOURCE_SELECT__MASK		0x000000c0
2072*4882a593Smuzhiyun #define A2XX_VGT_DRAW_INITIATOR_SOURCE_SELECT__SHIFT		6
A2XX_VGT_DRAW_INITIATOR_SOURCE_SELECT(enum pc_di_src_sel val)2073*4882a593Smuzhiyun static inline uint32_t A2XX_VGT_DRAW_INITIATOR_SOURCE_SELECT(enum pc_di_src_sel val)
2074*4882a593Smuzhiyun {
2075*4882a593Smuzhiyun 	return ((val) << A2XX_VGT_DRAW_INITIATOR_SOURCE_SELECT__SHIFT) & A2XX_VGT_DRAW_INITIATOR_SOURCE_SELECT__MASK;
2076*4882a593Smuzhiyun }
2077*4882a593Smuzhiyun #define A2XX_VGT_DRAW_INITIATOR_VIS_CULL__MASK			0x00000600
2078*4882a593Smuzhiyun #define A2XX_VGT_DRAW_INITIATOR_VIS_CULL__SHIFT			9
A2XX_VGT_DRAW_INITIATOR_VIS_CULL(enum pc_di_vis_cull_mode val)2079*4882a593Smuzhiyun static inline uint32_t A2XX_VGT_DRAW_INITIATOR_VIS_CULL(enum pc_di_vis_cull_mode val)
2080*4882a593Smuzhiyun {
2081*4882a593Smuzhiyun 	return ((val) << A2XX_VGT_DRAW_INITIATOR_VIS_CULL__SHIFT) & A2XX_VGT_DRAW_INITIATOR_VIS_CULL__MASK;
2082*4882a593Smuzhiyun }
2083*4882a593Smuzhiyun #define A2XX_VGT_DRAW_INITIATOR_INDEX_SIZE__MASK		0x00000800
2084*4882a593Smuzhiyun #define A2XX_VGT_DRAW_INITIATOR_INDEX_SIZE__SHIFT		11
A2XX_VGT_DRAW_INITIATOR_INDEX_SIZE(enum pc_di_index_size val)2085*4882a593Smuzhiyun static inline uint32_t A2XX_VGT_DRAW_INITIATOR_INDEX_SIZE(enum pc_di_index_size val)
2086*4882a593Smuzhiyun {
2087*4882a593Smuzhiyun 	return ((val) << A2XX_VGT_DRAW_INITIATOR_INDEX_SIZE__SHIFT) & A2XX_VGT_DRAW_INITIATOR_INDEX_SIZE__MASK;
2088*4882a593Smuzhiyun }
2089*4882a593Smuzhiyun #define A2XX_VGT_DRAW_INITIATOR_NOT_EOP				0x00001000
2090*4882a593Smuzhiyun #define A2XX_VGT_DRAW_INITIATOR_SMALL_INDEX			0x00002000
2091*4882a593Smuzhiyun #define A2XX_VGT_DRAW_INITIATOR_PRE_DRAW_INITIATOR_ENABLE	0x00004000
2092*4882a593Smuzhiyun #define A2XX_VGT_DRAW_INITIATOR_NUM_INSTANCES__MASK		0xff000000
2093*4882a593Smuzhiyun #define A2XX_VGT_DRAW_INITIATOR_NUM_INSTANCES__SHIFT		24
A2XX_VGT_DRAW_INITIATOR_NUM_INSTANCES(uint32_t val)2094*4882a593Smuzhiyun static inline uint32_t A2XX_VGT_DRAW_INITIATOR_NUM_INSTANCES(uint32_t val)
2095*4882a593Smuzhiyun {
2096*4882a593Smuzhiyun 	return ((val) << A2XX_VGT_DRAW_INITIATOR_NUM_INSTANCES__SHIFT) & A2XX_VGT_DRAW_INITIATOR_NUM_INSTANCES__MASK;
2097*4882a593Smuzhiyun }
2098*4882a593Smuzhiyun 
2099*4882a593Smuzhiyun #define REG_A2XX_VGT_IMMED_DATA					0x000021fd
2100*4882a593Smuzhiyun 
2101*4882a593Smuzhiyun #define REG_A2XX_RB_DEPTHCONTROL				0x00002200
2102*4882a593Smuzhiyun #define A2XX_RB_DEPTHCONTROL_STENCIL_ENABLE			0x00000001
2103*4882a593Smuzhiyun #define A2XX_RB_DEPTHCONTROL_Z_ENABLE				0x00000002
2104*4882a593Smuzhiyun #define A2XX_RB_DEPTHCONTROL_Z_WRITE_ENABLE			0x00000004
2105*4882a593Smuzhiyun #define A2XX_RB_DEPTHCONTROL_EARLY_Z_ENABLE			0x00000008
2106*4882a593Smuzhiyun #define A2XX_RB_DEPTHCONTROL_ZFUNC__MASK			0x00000070
2107*4882a593Smuzhiyun #define A2XX_RB_DEPTHCONTROL_ZFUNC__SHIFT			4
A2XX_RB_DEPTHCONTROL_ZFUNC(enum adreno_compare_func val)2108*4882a593Smuzhiyun static inline uint32_t A2XX_RB_DEPTHCONTROL_ZFUNC(enum adreno_compare_func val)
2109*4882a593Smuzhiyun {
2110*4882a593Smuzhiyun 	return ((val) << A2XX_RB_DEPTHCONTROL_ZFUNC__SHIFT) & A2XX_RB_DEPTHCONTROL_ZFUNC__MASK;
2111*4882a593Smuzhiyun }
2112*4882a593Smuzhiyun #define A2XX_RB_DEPTHCONTROL_BACKFACE_ENABLE			0x00000080
2113*4882a593Smuzhiyun #define A2XX_RB_DEPTHCONTROL_STENCILFUNC__MASK			0x00000700
2114*4882a593Smuzhiyun #define A2XX_RB_DEPTHCONTROL_STENCILFUNC__SHIFT			8
A2XX_RB_DEPTHCONTROL_STENCILFUNC(enum adreno_compare_func val)2115*4882a593Smuzhiyun static inline uint32_t A2XX_RB_DEPTHCONTROL_STENCILFUNC(enum adreno_compare_func val)
2116*4882a593Smuzhiyun {
2117*4882a593Smuzhiyun 	return ((val) << A2XX_RB_DEPTHCONTROL_STENCILFUNC__SHIFT) & A2XX_RB_DEPTHCONTROL_STENCILFUNC__MASK;
2118*4882a593Smuzhiyun }
2119*4882a593Smuzhiyun #define A2XX_RB_DEPTHCONTROL_STENCILFAIL__MASK			0x00003800
2120*4882a593Smuzhiyun #define A2XX_RB_DEPTHCONTROL_STENCILFAIL__SHIFT			11
A2XX_RB_DEPTHCONTROL_STENCILFAIL(enum adreno_stencil_op val)2121*4882a593Smuzhiyun static inline uint32_t A2XX_RB_DEPTHCONTROL_STENCILFAIL(enum adreno_stencil_op val)
2122*4882a593Smuzhiyun {
2123*4882a593Smuzhiyun 	return ((val) << A2XX_RB_DEPTHCONTROL_STENCILFAIL__SHIFT) & A2XX_RB_DEPTHCONTROL_STENCILFAIL__MASK;
2124*4882a593Smuzhiyun }
2125*4882a593Smuzhiyun #define A2XX_RB_DEPTHCONTROL_STENCILZPASS__MASK			0x0001c000
2126*4882a593Smuzhiyun #define A2XX_RB_DEPTHCONTROL_STENCILZPASS__SHIFT		14
A2XX_RB_DEPTHCONTROL_STENCILZPASS(enum adreno_stencil_op val)2127*4882a593Smuzhiyun static inline uint32_t A2XX_RB_DEPTHCONTROL_STENCILZPASS(enum adreno_stencil_op val)
2128*4882a593Smuzhiyun {
2129*4882a593Smuzhiyun 	return ((val) << A2XX_RB_DEPTHCONTROL_STENCILZPASS__SHIFT) & A2XX_RB_DEPTHCONTROL_STENCILZPASS__MASK;
2130*4882a593Smuzhiyun }
2131*4882a593Smuzhiyun #define A2XX_RB_DEPTHCONTROL_STENCILZFAIL__MASK			0x000e0000
2132*4882a593Smuzhiyun #define A2XX_RB_DEPTHCONTROL_STENCILZFAIL__SHIFT		17
A2XX_RB_DEPTHCONTROL_STENCILZFAIL(enum adreno_stencil_op val)2133*4882a593Smuzhiyun static inline uint32_t A2XX_RB_DEPTHCONTROL_STENCILZFAIL(enum adreno_stencil_op val)
2134*4882a593Smuzhiyun {
2135*4882a593Smuzhiyun 	return ((val) << A2XX_RB_DEPTHCONTROL_STENCILZFAIL__SHIFT) & A2XX_RB_DEPTHCONTROL_STENCILZFAIL__MASK;
2136*4882a593Smuzhiyun }
2137*4882a593Smuzhiyun #define A2XX_RB_DEPTHCONTROL_STENCILFUNC_BF__MASK		0x00700000
2138*4882a593Smuzhiyun #define A2XX_RB_DEPTHCONTROL_STENCILFUNC_BF__SHIFT		20
A2XX_RB_DEPTHCONTROL_STENCILFUNC_BF(enum adreno_compare_func val)2139*4882a593Smuzhiyun static inline uint32_t A2XX_RB_DEPTHCONTROL_STENCILFUNC_BF(enum adreno_compare_func val)
2140*4882a593Smuzhiyun {
2141*4882a593Smuzhiyun 	return ((val) << A2XX_RB_DEPTHCONTROL_STENCILFUNC_BF__SHIFT) & A2XX_RB_DEPTHCONTROL_STENCILFUNC_BF__MASK;
2142*4882a593Smuzhiyun }
2143*4882a593Smuzhiyun #define A2XX_RB_DEPTHCONTROL_STENCILFAIL_BF__MASK		0x03800000
2144*4882a593Smuzhiyun #define A2XX_RB_DEPTHCONTROL_STENCILFAIL_BF__SHIFT		23
A2XX_RB_DEPTHCONTROL_STENCILFAIL_BF(enum adreno_stencil_op val)2145*4882a593Smuzhiyun static inline uint32_t A2XX_RB_DEPTHCONTROL_STENCILFAIL_BF(enum adreno_stencil_op val)
2146*4882a593Smuzhiyun {
2147*4882a593Smuzhiyun 	return ((val) << A2XX_RB_DEPTHCONTROL_STENCILFAIL_BF__SHIFT) & A2XX_RB_DEPTHCONTROL_STENCILFAIL_BF__MASK;
2148*4882a593Smuzhiyun }
2149*4882a593Smuzhiyun #define A2XX_RB_DEPTHCONTROL_STENCILZPASS_BF__MASK		0x1c000000
2150*4882a593Smuzhiyun #define A2XX_RB_DEPTHCONTROL_STENCILZPASS_BF__SHIFT		26
A2XX_RB_DEPTHCONTROL_STENCILZPASS_BF(enum adreno_stencil_op val)2151*4882a593Smuzhiyun static inline uint32_t A2XX_RB_DEPTHCONTROL_STENCILZPASS_BF(enum adreno_stencil_op val)
2152*4882a593Smuzhiyun {
2153*4882a593Smuzhiyun 	return ((val) << A2XX_RB_DEPTHCONTROL_STENCILZPASS_BF__SHIFT) & A2XX_RB_DEPTHCONTROL_STENCILZPASS_BF__MASK;
2154*4882a593Smuzhiyun }
2155*4882a593Smuzhiyun #define A2XX_RB_DEPTHCONTROL_STENCILZFAIL_BF__MASK		0xe0000000
2156*4882a593Smuzhiyun #define A2XX_RB_DEPTHCONTROL_STENCILZFAIL_BF__SHIFT		29
A2XX_RB_DEPTHCONTROL_STENCILZFAIL_BF(enum adreno_stencil_op val)2157*4882a593Smuzhiyun static inline uint32_t A2XX_RB_DEPTHCONTROL_STENCILZFAIL_BF(enum adreno_stencil_op val)
2158*4882a593Smuzhiyun {
2159*4882a593Smuzhiyun 	return ((val) << A2XX_RB_DEPTHCONTROL_STENCILZFAIL_BF__SHIFT) & A2XX_RB_DEPTHCONTROL_STENCILZFAIL_BF__MASK;
2160*4882a593Smuzhiyun }
2161*4882a593Smuzhiyun 
2162*4882a593Smuzhiyun #define REG_A2XX_RB_BLEND_CONTROL				0x00002201
2163*4882a593Smuzhiyun #define A2XX_RB_BLEND_CONTROL_COLOR_SRCBLEND__MASK		0x0000001f
2164*4882a593Smuzhiyun #define A2XX_RB_BLEND_CONTROL_COLOR_SRCBLEND__SHIFT		0
A2XX_RB_BLEND_CONTROL_COLOR_SRCBLEND(enum adreno_rb_blend_factor val)2165*4882a593Smuzhiyun static inline uint32_t A2XX_RB_BLEND_CONTROL_COLOR_SRCBLEND(enum adreno_rb_blend_factor val)
2166*4882a593Smuzhiyun {
2167*4882a593Smuzhiyun 	return ((val) << A2XX_RB_BLEND_CONTROL_COLOR_SRCBLEND__SHIFT) & A2XX_RB_BLEND_CONTROL_COLOR_SRCBLEND__MASK;
2168*4882a593Smuzhiyun }
2169*4882a593Smuzhiyun #define A2XX_RB_BLEND_CONTROL_COLOR_COMB_FCN__MASK		0x000000e0
2170*4882a593Smuzhiyun #define A2XX_RB_BLEND_CONTROL_COLOR_COMB_FCN__SHIFT		5
A2XX_RB_BLEND_CONTROL_COLOR_COMB_FCN(enum a2xx_rb_blend_opcode val)2171*4882a593Smuzhiyun static inline uint32_t A2XX_RB_BLEND_CONTROL_COLOR_COMB_FCN(enum a2xx_rb_blend_opcode val)
2172*4882a593Smuzhiyun {
2173*4882a593Smuzhiyun 	return ((val) << A2XX_RB_BLEND_CONTROL_COLOR_COMB_FCN__SHIFT) & A2XX_RB_BLEND_CONTROL_COLOR_COMB_FCN__MASK;
2174*4882a593Smuzhiyun }
2175*4882a593Smuzhiyun #define A2XX_RB_BLEND_CONTROL_COLOR_DESTBLEND__MASK		0x00001f00
2176*4882a593Smuzhiyun #define A2XX_RB_BLEND_CONTROL_COLOR_DESTBLEND__SHIFT		8
A2XX_RB_BLEND_CONTROL_COLOR_DESTBLEND(enum adreno_rb_blend_factor val)2177*4882a593Smuzhiyun static inline uint32_t A2XX_RB_BLEND_CONTROL_COLOR_DESTBLEND(enum adreno_rb_blend_factor val)
2178*4882a593Smuzhiyun {
2179*4882a593Smuzhiyun 	return ((val) << A2XX_RB_BLEND_CONTROL_COLOR_DESTBLEND__SHIFT) & A2XX_RB_BLEND_CONTROL_COLOR_DESTBLEND__MASK;
2180*4882a593Smuzhiyun }
2181*4882a593Smuzhiyun #define A2XX_RB_BLEND_CONTROL_ALPHA_SRCBLEND__MASK		0x001f0000
2182*4882a593Smuzhiyun #define A2XX_RB_BLEND_CONTROL_ALPHA_SRCBLEND__SHIFT		16
A2XX_RB_BLEND_CONTROL_ALPHA_SRCBLEND(enum adreno_rb_blend_factor val)2183*4882a593Smuzhiyun static inline uint32_t A2XX_RB_BLEND_CONTROL_ALPHA_SRCBLEND(enum adreno_rb_blend_factor val)
2184*4882a593Smuzhiyun {
2185*4882a593Smuzhiyun 	return ((val) << A2XX_RB_BLEND_CONTROL_ALPHA_SRCBLEND__SHIFT) & A2XX_RB_BLEND_CONTROL_ALPHA_SRCBLEND__MASK;
2186*4882a593Smuzhiyun }
2187*4882a593Smuzhiyun #define A2XX_RB_BLEND_CONTROL_ALPHA_COMB_FCN__MASK		0x00e00000
2188*4882a593Smuzhiyun #define A2XX_RB_BLEND_CONTROL_ALPHA_COMB_FCN__SHIFT		21
A2XX_RB_BLEND_CONTROL_ALPHA_COMB_FCN(enum a2xx_rb_blend_opcode val)2189*4882a593Smuzhiyun static inline uint32_t A2XX_RB_BLEND_CONTROL_ALPHA_COMB_FCN(enum a2xx_rb_blend_opcode val)
2190*4882a593Smuzhiyun {
2191*4882a593Smuzhiyun 	return ((val) << A2XX_RB_BLEND_CONTROL_ALPHA_COMB_FCN__SHIFT) & A2XX_RB_BLEND_CONTROL_ALPHA_COMB_FCN__MASK;
2192*4882a593Smuzhiyun }
2193*4882a593Smuzhiyun #define A2XX_RB_BLEND_CONTROL_ALPHA_DESTBLEND__MASK		0x1f000000
2194*4882a593Smuzhiyun #define A2XX_RB_BLEND_CONTROL_ALPHA_DESTBLEND__SHIFT		24
A2XX_RB_BLEND_CONTROL_ALPHA_DESTBLEND(enum adreno_rb_blend_factor val)2195*4882a593Smuzhiyun static inline uint32_t A2XX_RB_BLEND_CONTROL_ALPHA_DESTBLEND(enum adreno_rb_blend_factor val)
2196*4882a593Smuzhiyun {
2197*4882a593Smuzhiyun 	return ((val) << A2XX_RB_BLEND_CONTROL_ALPHA_DESTBLEND__SHIFT) & A2XX_RB_BLEND_CONTROL_ALPHA_DESTBLEND__MASK;
2198*4882a593Smuzhiyun }
2199*4882a593Smuzhiyun #define A2XX_RB_BLEND_CONTROL_BLEND_FORCE_ENABLE		0x20000000
2200*4882a593Smuzhiyun #define A2XX_RB_BLEND_CONTROL_BLEND_FORCE			0x40000000
2201*4882a593Smuzhiyun 
2202*4882a593Smuzhiyun #define REG_A2XX_RB_COLORCONTROL				0x00002202
2203*4882a593Smuzhiyun #define A2XX_RB_COLORCONTROL_ALPHA_FUNC__MASK			0x00000007
2204*4882a593Smuzhiyun #define A2XX_RB_COLORCONTROL_ALPHA_FUNC__SHIFT			0
A2XX_RB_COLORCONTROL_ALPHA_FUNC(enum adreno_compare_func val)2205*4882a593Smuzhiyun static inline uint32_t A2XX_RB_COLORCONTROL_ALPHA_FUNC(enum adreno_compare_func val)
2206*4882a593Smuzhiyun {
2207*4882a593Smuzhiyun 	return ((val) << A2XX_RB_COLORCONTROL_ALPHA_FUNC__SHIFT) & A2XX_RB_COLORCONTROL_ALPHA_FUNC__MASK;
2208*4882a593Smuzhiyun }
2209*4882a593Smuzhiyun #define A2XX_RB_COLORCONTROL_ALPHA_TEST_ENABLE			0x00000008
2210*4882a593Smuzhiyun #define A2XX_RB_COLORCONTROL_ALPHA_TO_MASK_ENABLE		0x00000010
2211*4882a593Smuzhiyun #define A2XX_RB_COLORCONTROL_BLEND_DISABLE			0x00000020
2212*4882a593Smuzhiyun #define A2XX_RB_COLORCONTROL_VOB_ENABLE				0x00000040
2213*4882a593Smuzhiyun #define A2XX_RB_COLORCONTROL_VS_EXPORTS_FOG			0x00000080
2214*4882a593Smuzhiyun #define A2XX_RB_COLORCONTROL_ROP_CODE__MASK			0x00000f00
2215*4882a593Smuzhiyun #define A2XX_RB_COLORCONTROL_ROP_CODE__SHIFT			8
A2XX_RB_COLORCONTROL_ROP_CODE(uint32_t val)2216*4882a593Smuzhiyun static inline uint32_t A2XX_RB_COLORCONTROL_ROP_CODE(uint32_t val)
2217*4882a593Smuzhiyun {
2218*4882a593Smuzhiyun 	return ((val) << A2XX_RB_COLORCONTROL_ROP_CODE__SHIFT) & A2XX_RB_COLORCONTROL_ROP_CODE__MASK;
2219*4882a593Smuzhiyun }
2220*4882a593Smuzhiyun #define A2XX_RB_COLORCONTROL_DITHER_MODE__MASK			0x00003000
2221*4882a593Smuzhiyun #define A2XX_RB_COLORCONTROL_DITHER_MODE__SHIFT			12
A2XX_RB_COLORCONTROL_DITHER_MODE(enum adreno_rb_dither_mode val)2222*4882a593Smuzhiyun static inline uint32_t A2XX_RB_COLORCONTROL_DITHER_MODE(enum adreno_rb_dither_mode val)
2223*4882a593Smuzhiyun {
2224*4882a593Smuzhiyun 	return ((val) << A2XX_RB_COLORCONTROL_DITHER_MODE__SHIFT) & A2XX_RB_COLORCONTROL_DITHER_MODE__MASK;
2225*4882a593Smuzhiyun }
2226*4882a593Smuzhiyun #define A2XX_RB_COLORCONTROL_DITHER_TYPE__MASK			0x0000c000
2227*4882a593Smuzhiyun #define A2XX_RB_COLORCONTROL_DITHER_TYPE__SHIFT			14
A2XX_RB_COLORCONTROL_DITHER_TYPE(enum a2xx_rb_dither_type val)2228*4882a593Smuzhiyun static inline uint32_t A2XX_RB_COLORCONTROL_DITHER_TYPE(enum a2xx_rb_dither_type val)
2229*4882a593Smuzhiyun {
2230*4882a593Smuzhiyun 	return ((val) << A2XX_RB_COLORCONTROL_DITHER_TYPE__SHIFT) & A2XX_RB_COLORCONTROL_DITHER_TYPE__MASK;
2231*4882a593Smuzhiyun }
2232*4882a593Smuzhiyun #define A2XX_RB_COLORCONTROL_PIXEL_FOG				0x00010000
2233*4882a593Smuzhiyun #define A2XX_RB_COLORCONTROL_ALPHA_TO_MASK_OFFSET0__MASK	0x03000000
2234*4882a593Smuzhiyun #define A2XX_RB_COLORCONTROL_ALPHA_TO_MASK_OFFSET0__SHIFT	24
A2XX_RB_COLORCONTROL_ALPHA_TO_MASK_OFFSET0(uint32_t val)2235*4882a593Smuzhiyun static inline uint32_t A2XX_RB_COLORCONTROL_ALPHA_TO_MASK_OFFSET0(uint32_t val)
2236*4882a593Smuzhiyun {
2237*4882a593Smuzhiyun 	return ((val) << A2XX_RB_COLORCONTROL_ALPHA_TO_MASK_OFFSET0__SHIFT) & A2XX_RB_COLORCONTROL_ALPHA_TO_MASK_OFFSET0__MASK;
2238*4882a593Smuzhiyun }
2239*4882a593Smuzhiyun #define A2XX_RB_COLORCONTROL_ALPHA_TO_MASK_OFFSET1__MASK	0x0c000000
2240*4882a593Smuzhiyun #define A2XX_RB_COLORCONTROL_ALPHA_TO_MASK_OFFSET1__SHIFT	26
A2XX_RB_COLORCONTROL_ALPHA_TO_MASK_OFFSET1(uint32_t val)2241*4882a593Smuzhiyun static inline uint32_t A2XX_RB_COLORCONTROL_ALPHA_TO_MASK_OFFSET1(uint32_t val)
2242*4882a593Smuzhiyun {
2243*4882a593Smuzhiyun 	return ((val) << A2XX_RB_COLORCONTROL_ALPHA_TO_MASK_OFFSET1__SHIFT) & A2XX_RB_COLORCONTROL_ALPHA_TO_MASK_OFFSET1__MASK;
2244*4882a593Smuzhiyun }
2245*4882a593Smuzhiyun #define A2XX_RB_COLORCONTROL_ALPHA_TO_MASK_OFFSET2__MASK	0x30000000
2246*4882a593Smuzhiyun #define A2XX_RB_COLORCONTROL_ALPHA_TO_MASK_OFFSET2__SHIFT	28
A2XX_RB_COLORCONTROL_ALPHA_TO_MASK_OFFSET2(uint32_t val)2247*4882a593Smuzhiyun static inline uint32_t A2XX_RB_COLORCONTROL_ALPHA_TO_MASK_OFFSET2(uint32_t val)
2248*4882a593Smuzhiyun {
2249*4882a593Smuzhiyun 	return ((val) << A2XX_RB_COLORCONTROL_ALPHA_TO_MASK_OFFSET2__SHIFT) & A2XX_RB_COLORCONTROL_ALPHA_TO_MASK_OFFSET2__MASK;
2250*4882a593Smuzhiyun }
2251*4882a593Smuzhiyun #define A2XX_RB_COLORCONTROL_ALPHA_TO_MASK_OFFSET3__MASK	0xc0000000
2252*4882a593Smuzhiyun #define A2XX_RB_COLORCONTROL_ALPHA_TO_MASK_OFFSET3__SHIFT	30
A2XX_RB_COLORCONTROL_ALPHA_TO_MASK_OFFSET3(uint32_t val)2253*4882a593Smuzhiyun static inline uint32_t A2XX_RB_COLORCONTROL_ALPHA_TO_MASK_OFFSET3(uint32_t val)
2254*4882a593Smuzhiyun {
2255*4882a593Smuzhiyun 	return ((val) << A2XX_RB_COLORCONTROL_ALPHA_TO_MASK_OFFSET3__SHIFT) & A2XX_RB_COLORCONTROL_ALPHA_TO_MASK_OFFSET3__MASK;
2256*4882a593Smuzhiyun }
2257*4882a593Smuzhiyun 
2258*4882a593Smuzhiyun #define REG_A2XX_VGT_CURRENT_BIN_ID_MAX				0x00002203
2259*4882a593Smuzhiyun #define A2XX_VGT_CURRENT_BIN_ID_MAX_COLUMN__MASK		0x00000007
2260*4882a593Smuzhiyun #define A2XX_VGT_CURRENT_BIN_ID_MAX_COLUMN__SHIFT		0
A2XX_VGT_CURRENT_BIN_ID_MAX_COLUMN(uint32_t val)2261*4882a593Smuzhiyun static inline uint32_t A2XX_VGT_CURRENT_BIN_ID_MAX_COLUMN(uint32_t val)
2262*4882a593Smuzhiyun {
2263*4882a593Smuzhiyun 	return ((val) << A2XX_VGT_CURRENT_BIN_ID_MAX_COLUMN__SHIFT) & A2XX_VGT_CURRENT_BIN_ID_MAX_COLUMN__MASK;
2264*4882a593Smuzhiyun }
2265*4882a593Smuzhiyun #define A2XX_VGT_CURRENT_BIN_ID_MAX_ROW__MASK			0x00000038
2266*4882a593Smuzhiyun #define A2XX_VGT_CURRENT_BIN_ID_MAX_ROW__SHIFT			3
A2XX_VGT_CURRENT_BIN_ID_MAX_ROW(uint32_t val)2267*4882a593Smuzhiyun static inline uint32_t A2XX_VGT_CURRENT_BIN_ID_MAX_ROW(uint32_t val)
2268*4882a593Smuzhiyun {
2269*4882a593Smuzhiyun 	return ((val) << A2XX_VGT_CURRENT_BIN_ID_MAX_ROW__SHIFT) & A2XX_VGT_CURRENT_BIN_ID_MAX_ROW__MASK;
2270*4882a593Smuzhiyun }
2271*4882a593Smuzhiyun #define A2XX_VGT_CURRENT_BIN_ID_MAX_GUARD_BAND_MASK__MASK	0x000001c0
2272*4882a593Smuzhiyun #define A2XX_VGT_CURRENT_BIN_ID_MAX_GUARD_BAND_MASK__SHIFT	6
A2XX_VGT_CURRENT_BIN_ID_MAX_GUARD_BAND_MASK(uint32_t val)2273*4882a593Smuzhiyun static inline uint32_t A2XX_VGT_CURRENT_BIN_ID_MAX_GUARD_BAND_MASK(uint32_t val)
2274*4882a593Smuzhiyun {
2275*4882a593Smuzhiyun 	return ((val) << A2XX_VGT_CURRENT_BIN_ID_MAX_GUARD_BAND_MASK__SHIFT) & A2XX_VGT_CURRENT_BIN_ID_MAX_GUARD_BAND_MASK__MASK;
2276*4882a593Smuzhiyun }
2277*4882a593Smuzhiyun 
2278*4882a593Smuzhiyun #define REG_A2XX_PA_CL_CLIP_CNTL				0x00002204
2279*4882a593Smuzhiyun #define A2XX_PA_CL_CLIP_CNTL_CLIP_DISABLE			0x00010000
2280*4882a593Smuzhiyun #define A2XX_PA_CL_CLIP_CNTL_BOUNDARY_EDGE_FLAG_ENA		0x00040000
2281*4882a593Smuzhiyun #define A2XX_PA_CL_CLIP_CNTL_DX_CLIP_SPACE_DEF__MASK		0x00080000
2282*4882a593Smuzhiyun #define A2XX_PA_CL_CLIP_CNTL_DX_CLIP_SPACE_DEF__SHIFT		19
A2XX_PA_CL_CLIP_CNTL_DX_CLIP_SPACE_DEF(enum a2xx_dx_clip_space val)2283*4882a593Smuzhiyun static inline uint32_t A2XX_PA_CL_CLIP_CNTL_DX_CLIP_SPACE_DEF(enum a2xx_dx_clip_space val)
2284*4882a593Smuzhiyun {
2285*4882a593Smuzhiyun 	return ((val) << A2XX_PA_CL_CLIP_CNTL_DX_CLIP_SPACE_DEF__SHIFT) & A2XX_PA_CL_CLIP_CNTL_DX_CLIP_SPACE_DEF__MASK;
2286*4882a593Smuzhiyun }
2287*4882a593Smuzhiyun #define A2XX_PA_CL_CLIP_CNTL_DIS_CLIP_ERR_DETECT		0x00100000
2288*4882a593Smuzhiyun #define A2XX_PA_CL_CLIP_CNTL_VTX_KILL_OR			0x00200000
2289*4882a593Smuzhiyun #define A2XX_PA_CL_CLIP_CNTL_XY_NAN_RETAIN			0x00400000
2290*4882a593Smuzhiyun #define A2XX_PA_CL_CLIP_CNTL_Z_NAN_RETAIN			0x00800000
2291*4882a593Smuzhiyun #define A2XX_PA_CL_CLIP_CNTL_W_NAN_RETAIN			0x01000000
2292*4882a593Smuzhiyun 
2293*4882a593Smuzhiyun #define REG_A2XX_PA_SU_SC_MODE_CNTL				0x00002205
2294*4882a593Smuzhiyun #define A2XX_PA_SU_SC_MODE_CNTL_CULL_FRONT			0x00000001
2295*4882a593Smuzhiyun #define A2XX_PA_SU_SC_MODE_CNTL_CULL_BACK			0x00000002
2296*4882a593Smuzhiyun #define A2XX_PA_SU_SC_MODE_CNTL_FACE				0x00000004
2297*4882a593Smuzhiyun #define A2XX_PA_SU_SC_MODE_CNTL_POLYMODE__MASK			0x00000018
2298*4882a593Smuzhiyun #define A2XX_PA_SU_SC_MODE_CNTL_POLYMODE__SHIFT			3
A2XX_PA_SU_SC_MODE_CNTL_POLYMODE(enum a2xx_pa_su_sc_polymode val)2299*4882a593Smuzhiyun static inline uint32_t A2XX_PA_SU_SC_MODE_CNTL_POLYMODE(enum a2xx_pa_su_sc_polymode val)
2300*4882a593Smuzhiyun {
2301*4882a593Smuzhiyun 	return ((val) << A2XX_PA_SU_SC_MODE_CNTL_POLYMODE__SHIFT) & A2XX_PA_SU_SC_MODE_CNTL_POLYMODE__MASK;
2302*4882a593Smuzhiyun }
2303*4882a593Smuzhiyun #define A2XX_PA_SU_SC_MODE_CNTL_FRONT_PTYPE__MASK		0x000000e0
2304*4882a593Smuzhiyun #define A2XX_PA_SU_SC_MODE_CNTL_FRONT_PTYPE__SHIFT		5
A2XX_PA_SU_SC_MODE_CNTL_FRONT_PTYPE(enum adreno_pa_su_sc_draw val)2305*4882a593Smuzhiyun static inline uint32_t A2XX_PA_SU_SC_MODE_CNTL_FRONT_PTYPE(enum adreno_pa_su_sc_draw val)
2306*4882a593Smuzhiyun {
2307*4882a593Smuzhiyun 	return ((val) << A2XX_PA_SU_SC_MODE_CNTL_FRONT_PTYPE__SHIFT) & A2XX_PA_SU_SC_MODE_CNTL_FRONT_PTYPE__MASK;
2308*4882a593Smuzhiyun }
2309*4882a593Smuzhiyun #define A2XX_PA_SU_SC_MODE_CNTL_BACK_PTYPE__MASK		0x00000700
2310*4882a593Smuzhiyun #define A2XX_PA_SU_SC_MODE_CNTL_BACK_PTYPE__SHIFT		8
A2XX_PA_SU_SC_MODE_CNTL_BACK_PTYPE(enum adreno_pa_su_sc_draw val)2311*4882a593Smuzhiyun static inline uint32_t A2XX_PA_SU_SC_MODE_CNTL_BACK_PTYPE(enum adreno_pa_su_sc_draw val)
2312*4882a593Smuzhiyun {
2313*4882a593Smuzhiyun 	return ((val) << A2XX_PA_SU_SC_MODE_CNTL_BACK_PTYPE__SHIFT) & A2XX_PA_SU_SC_MODE_CNTL_BACK_PTYPE__MASK;
2314*4882a593Smuzhiyun }
2315*4882a593Smuzhiyun #define A2XX_PA_SU_SC_MODE_CNTL_POLY_OFFSET_FRONT_ENABLE	0x00000800
2316*4882a593Smuzhiyun #define A2XX_PA_SU_SC_MODE_CNTL_POLY_OFFSET_BACK_ENABLE		0x00001000
2317*4882a593Smuzhiyun #define A2XX_PA_SU_SC_MODE_CNTL_POLY_OFFSET_PARA_ENABLE		0x00002000
2318*4882a593Smuzhiyun #define A2XX_PA_SU_SC_MODE_CNTL_MSAA_ENABLE			0x00008000
2319*4882a593Smuzhiyun #define A2XX_PA_SU_SC_MODE_CNTL_VTX_WINDOW_OFFSET_ENABLE	0x00010000
2320*4882a593Smuzhiyun #define A2XX_PA_SU_SC_MODE_CNTL_LINE_STIPPLE_ENABLE		0x00040000
2321*4882a593Smuzhiyun #define A2XX_PA_SU_SC_MODE_CNTL_PROVOKING_VTX_LAST		0x00080000
2322*4882a593Smuzhiyun #define A2XX_PA_SU_SC_MODE_CNTL_PERSP_CORR_DIS			0x00100000
2323*4882a593Smuzhiyun #define A2XX_PA_SU_SC_MODE_CNTL_MULTI_PRIM_IB_ENA		0x00200000
2324*4882a593Smuzhiyun #define A2XX_PA_SU_SC_MODE_CNTL_QUAD_ORDER_ENABLE		0x00800000
2325*4882a593Smuzhiyun #define A2XX_PA_SU_SC_MODE_CNTL_WAIT_RB_IDLE_ALL_TRI		0x02000000
2326*4882a593Smuzhiyun #define A2XX_PA_SU_SC_MODE_CNTL_WAIT_RB_IDLE_FIRST_TRI_NEW_STATE	0x04000000
2327*4882a593Smuzhiyun #define A2XX_PA_SU_SC_MODE_CNTL_CLAMPED_FACENESS		0x10000000
2328*4882a593Smuzhiyun #define A2XX_PA_SU_SC_MODE_CNTL_ZERO_AREA_FACENESS		0x20000000
2329*4882a593Smuzhiyun #define A2XX_PA_SU_SC_MODE_CNTL_FACE_KILL_ENABLE		0x40000000
2330*4882a593Smuzhiyun #define A2XX_PA_SU_SC_MODE_CNTL_FACE_WRITE_ENABLE		0x80000000
2331*4882a593Smuzhiyun 
2332*4882a593Smuzhiyun #define REG_A2XX_PA_CL_VTE_CNTL					0x00002206
2333*4882a593Smuzhiyun #define A2XX_PA_CL_VTE_CNTL_VPORT_X_SCALE_ENA			0x00000001
2334*4882a593Smuzhiyun #define A2XX_PA_CL_VTE_CNTL_VPORT_X_OFFSET_ENA			0x00000002
2335*4882a593Smuzhiyun #define A2XX_PA_CL_VTE_CNTL_VPORT_Y_SCALE_ENA			0x00000004
2336*4882a593Smuzhiyun #define A2XX_PA_CL_VTE_CNTL_VPORT_Y_OFFSET_ENA			0x00000008
2337*4882a593Smuzhiyun #define A2XX_PA_CL_VTE_CNTL_VPORT_Z_SCALE_ENA			0x00000010
2338*4882a593Smuzhiyun #define A2XX_PA_CL_VTE_CNTL_VPORT_Z_OFFSET_ENA			0x00000020
2339*4882a593Smuzhiyun #define A2XX_PA_CL_VTE_CNTL_VTX_XY_FMT				0x00000100
2340*4882a593Smuzhiyun #define A2XX_PA_CL_VTE_CNTL_VTX_Z_FMT				0x00000200
2341*4882a593Smuzhiyun #define A2XX_PA_CL_VTE_CNTL_VTX_W0_FMT				0x00000400
2342*4882a593Smuzhiyun #define A2XX_PA_CL_VTE_CNTL_PERFCOUNTER_REF			0x00000800
2343*4882a593Smuzhiyun 
2344*4882a593Smuzhiyun #define REG_A2XX_VGT_CURRENT_BIN_ID_MIN				0x00002207
2345*4882a593Smuzhiyun #define A2XX_VGT_CURRENT_BIN_ID_MIN_COLUMN__MASK		0x00000007
2346*4882a593Smuzhiyun #define A2XX_VGT_CURRENT_BIN_ID_MIN_COLUMN__SHIFT		0
A2XX_VGT_CURRENT_BIN_ID_MIN_COLUMN(uint32_t val)2347*4882a593Smuzhiyun static inline uint32_t A2XX_VGT_CURRENT_BIN_ID_MIN_COLUMN(uint32_t val)
2348*4882a593Smuzhiyun {
2349*4882a593Smuzhiyun 	return ((val) << A2XX_VGT_CURRENT_BIN_ID_MIN_COLUMN__SHIFT) & A2XX_VGT_CURRENT_BIN_ID_MIN_COLUMN__MASK;
2350*4882a593Smuzhiyun }
2351*4882a593Smuzhiyun #define A2XX_VGT_CURRENT_BIN_ID_MIN_ROW__MASK			0x00000038
2352*4882a593Smuzhiyun #define A2XX_VGT_CURRENT_BIN_ID_MIN_ROW__SHIFT			3
A2XX_VGT_CURRENT_BIN_ID_MIN_ROW(uint32_t val)2353*4882a593Smuzhiyun static inline uint32_t A2XX_VGT_CURRENT_BIN_ID_MIN_ROW(uint32_t val)
2354*4882a593Smuzhiyun {
2355*4882a593Smuzhiyun 	return ((val) << A2XX_VGT_CURRENT_BIN_ID_MIN_ROW__SHIFT) & A2XX_VGT_CURRENT_BIN_ID_MIN_ROW__MASK;
2356*4882a593Smuzhiyun }
2357*4882a593Smuzhiyun #define A2XX_VGT_CURRENT_BIN_ID_MIN_GUARD_BAND_MASK__MASK	0x000001c0
2358*4882a593Smuzhiyun #define A2XX_VGT_CURRENT_BIN_ID_MIN_GUARD_BAND_MASK__SHIFT	6
A2XX_VGT_CURRENT_BIN_ID_MIN_GUARD_BAND_MASK(uint32_t val)2359*4882a593Smuzhiyun static inline uint32_t A2XX_VGT_CURRENT_BIN_ID_MIN_GUARD_BAND_MASK(uint32_t val)
2360*4882a593Smuzhiyun {
2361*4882a593Smuzhiyun 	return ((val) << A2XX_VGT_CURRENT_BIN_ID_MIN_GUARD_BAND_MASK__SHIFT) & A2XX_VGT_CURRENT_BIN_ID_MIN_GUARD_BAND_MASK__MASK;
2362*4882a593Smuzhiyun }
2363*4882a593Smuzhiyun 
2364*4882a593Smuzhiyun #define REG_A2XX_RB_MODECONTROL					0x00002208
2365*4882a593Smuzhiyun #define A2XX_RB_MODECONTROL_EDRAM_MODE__MASK			0x00000007
2366*4882a593Smuzhiyun #define A2XX_RB_MODECONTROL_EDRAM_MODE__SHIFT			0
A2XX_RB_MODECONTROL_EDRAM_MODE(enum a2xx_rb_edram_mode val)2367*4882a593Smuzhiyun static inline uint32_t A2XX_RB_MODECONTROL_EDRAM_MODE(enum a2xx_rb_edram_mode val)
2368*4882a593Smuzhiyun {
2369*4882a593Smuzhiyun 	return ((val) << A2XX_RB_MODECONTROL_EDRAM_MODE__SHIFT) & A2XX_RB_MODECONTROL_EDRAM_MODE__MASK;
2370*4882a593Smuzhiyun }
2371*4882a593Smuzhiyun 
2372*4882a593Smuzhiyun #define REG_A2XX_A220_RB_LRZ_VSC_CONTROL			0x00002209
2373*4882a593Smuzhiyun 
2374*4882a593Smuzhiyun #define REG_A2XX_RB_SAMPLE_POS					0x0000220a
2375*4882a593Smuzhiyun 
2376*4882a593Smuzhiyun #define REG_A2XX_CLEAR_COLOR					0x0000220b
2377*4882a593Smuzhiyun #define A2XX_CLEAR_COLOR_RED__MASK				0x000000ff
2378*4882a593Smuzhiyun #define A2XX_CLEAR_COLOR_RED__SHIFT				0
A2XX_CLEAR_COLOR_RED(uint32_t val)2379*4882a593Smuzhiyun static inline uint32_t A2XX_CLEAR_COLOR_RED(uint32_t val)
2380*4882a593Smuzhiyun {
2381*4882a593Smuzhiyun 	return ((val) << A2XX_CLEAR_COLOR_RED__SHIFT) & A2XX_CLEAR_COLOR_RED__MASK;
2382*4882a593Smuzhiyun }
2383*4882a593Smuzhiyun #define A2XX_CLEAR_COLOR_GREEN__MASK				0x0000ff00
2384*4882a593Smuzhiyun #define A2XX_CLEAR_COLOR_GREEN__SHIFT				8
A2XX_CLEAR_COLOR_GREEN(uint32_t val)2385*4882a593Smuzhiyun static inline uint32_t A2XX_CLEAR_COLOR_GREEN(uint32_t val)
2386*4882a593Smuzhiyun {
2387*4882a593Smuzhiyun 	return ((val) << A2XX_CLEAR_COLOR_GREEN__SHIFT) & A2XX_CLEAR_COLOR_GREEN__MASK;
2388*4882a593Smuzhiyun }
2389*4882a593Smuzhiyun #define A2XX_CLEAR_COLOR_BLUE__MASK				0x00ff0000
2390*4882a593Smuzhiyun #define A2XX_CLEAR_COLOR_BLUE__SHIFT				16
A2XX_CLEAR_COLOR_BLUE(uint32_t val)2391*4882a593Smuzhiyun static inline uint32_t A2XX_CLEAR_COLOR_BLUE(uint32_t val)
2392*4882a593Smuzhiyun {
2393*4882a593Smuzhiyun 	return ((val) << A2XX_CLEAR_COLOR_BLUE__SHIFT) & A2XX_CLEAR_COLOR_BLUE__MASK;
2394*4882a593Smuzhiyun }
2395*4882a593Smuzhiyun #define A2XX_CLEAR_COLOR_ALPHA__MASK				0xff000000
2396*4882a593Smuzhiyun #define A2XX_CLEAR_COLOR_ALPHA__SHIFT				24
A2XX_CLEAR_COLOR_ALPHA(uint32_t val)2397*4882a593Smuzhiyun static inline uint32_t A2XX_CLEAR_COLOR_ALPHA(uint32_t val)
2398*4882a593Smuzhiyun {
2399*4882a593Smuzhiyun 	return ((val) << A2XX_CLEAR_COLOR_ALPHA__SHIFT) & A2XX_CLEAR_COLOR_ALPHA__MASK;
2400*4882a593Smuzhiyun }
2401*4882a593Smuzhiyun 
2402*4882a593Smuzhiyun #define REG_A2XX_A220_GRAS_CONTROL				0x00002210
2403*4882a593Smuzhiyun 
2404*4882a593Smuzhiyun #define REG_A2XX_PA_SU_POINT_SIZE				0x00002280
2405*4882a593Smuzhiyun #define A2XX_PA_SU_POINT_SIZE_HEIGHT__MASK			0x0000ffff
2406*4882a593Smuzhiyun #define A2XX_PA_SU_POINT_SIZE_HEIGHT__SHIFT			0
A2XX_PA_SU_POINT_SIZE_HEIGHT(float val)2407*4882a593Smuzhiyun static inline uint32_t A2XX_PA_SU_POINT_SIZE_HEIGHT(float val)
2408*4882a593Smuzhiyun {
2409*4882a593Smuzhiyun 	return ((((uint32_t)(val * 16.0))) << A2XX_PA_SU_POINT_SIZE_HEIGHT__SHIFT) & A2XX_PA_SU_POINT_SIZE_HEIGHT__MASK;
2410*4882a593Smuzhiyun }
2411*4882a593Smuzhiyun #define A2XX_PA_SU_POINT_SIZE_WIDTH__MASK			0xffff0000
2412*4882a593Smuzhiyun #define A2XX_PA_SU_POINT_SIZE_WIDTH__SHIFT			16
A2XX_PA_SU_POINT_SIZE_WIDTH(float val)2413*4882a593Smuzhiyun static inline uint32_t A2XX_PA_SU_POINT_SIZE_WIDTH(float val)
2414*4882a593Smuzhiyun {
2415*4882a593Smuzhiyun 	return ((((uint32_t)(val * 16.0))) << A2XX_PA_SU_POINT_SIZE_WIDTH__SHIFT) & A2XX_PA_SU_POINT_SIZE_WIDTH__MASK;
2416*4882a593Smuzhiyun }
2417*4882a593Smuzhiyun 
2418*4882a593Smuzhiyun #define REG_A2XX_PA_SU_POINT_MINMAX				0x00002281
2419*4882a593Smuzhiyun #define A2XX_PA_SU_POINT_MINMAX_MIN__MASK			0x0000ffff
2420*4882a593Smuzhiyun #define A2XX_PA_SU_POINT_MINMAX_MIN__SHIFT			0
A2XX_PA_SU_POINT_MINMAX_MIN(float val)2421*4882a593Smuzhiyun static inline uint32_t A2XX_PA_SU_POINT_MINMAX_MIN(float val)
2422*4882a593Smuzhiyun {
2423*4882a593Smuzhiyun 	return ((((uint32_t)(val * 16.0))) << A2XX_PA_SU_POINT_MINMAX_MIN__SHIFT) & A2XX_PA_SU_POINT_MINMAX_MIN__MASK;
2424*4882a593Smuzhiyun }
2425*4882a593Smuzhiyun #define A2XX_PA_SU_POINT_MINMAX_MAX__MASK			0xffff0000
2426*4882a593Smuzhiyun #define A2XX_PA_SU_POINT_MINMAX_MAX__SHIFT			16
A2XX_PA_SU_POINT_MINMAX_MAX(float val)2427*4882a593Smuzhiyun static inline uint32_t A2XX_PA_SU_POINT_MINMAX_MAX(float val)
2428*4882a593Smuzhiyun {
2429*4882a593Smuzhiyun 	return ((((uint32_t)(val * 16.0))) << A2XX_PA_SU_POINT_MINMAX_MAX__SHIFT) & A2XX_PA_SU_POINT_MINMAX_MAX__MASK;
2430*4882a593Smuzhiyun }
2431*4882a593Smuzhiyun 
2432*4882a593Smuzhiyun #define REG_A2XX_PA_SU_LINE_CNTL				0x00002282
2433*4882a593Smuzhiyun #define A2XX_PA_SU_LINE_CNTL_WIDTH__MASK			0x0000ffff
2434*4882a593Smuzhiyun #define A2XX_PA_SU_LINE_CNTL_WIDTH__SHIFT			0
A2XX_PA_SU_LINE_CNTL_WIDTH(float val)2435*4882a593Smuzhiyun static inline uint32_t A2XX_PA_SU_LINE_CNTL_WIDTH(float val)
2436*4882a593Smuzhiyun {
2437*4882a593Smuzhiyun 	return ((((uint32_t)(val * 16.0))) << A2XX_PA_SU_LINE_CNTL_WIDTH__SHIFT) & A2XX_PA_SU_LINE_CNTL_WIDTH__MASK;
2438*4882a593Smuzhiyun }
2439*4882a593Smuzhiyun 
2440*4882a593Smuzhiyun #define REG_A2XX_PA_SC_LINE_STIPPLE				0x00002283
2441*4882a593Smuzhiyun #define A2XX_PA_SC_LINE_STIPPLE_LINE_PATTERN__MASK		0x0000ffff
2442*4882a593Smuzhiyun #define A2XX_PA_SC_LINE_STIPPLE_LINE_PATTERN__SHIFT		0
A2XX_PA_SC_LINE_STIPPLE_LINE_PATTERN(uint32_t val)2443*4882a593Smuzhiyun static inline uint32_t A2XX_PA_SC_LINE_STIPPLE_LINE_PATTERN(uint32_t val)
2444*4882a593Smuzhiyun {
2445*4882a593Smuzhiyun 	return ((val) << A2XX_PA_SC_LINE_STIPPLE_LINE_PATTERN__SHIFT) & A2XX_PA_SC_LINE_STIPPLE_LINE_PATTERN__MASK;
2446*4882a593Smuzhiyun }
2447*4882a593Smuzhiyun #define A2XX_PA_SC_LINE_STIPPLE_REPEAT_COUNT__MASK		0x00ff0000
2448*4882a593Smuzhiyun #define A2XX_PA_SC_LINE_STIPPLE_REPEAT_COUNT__SHIFT		16
A2XX_PA_SC_LINE_STIPPLE_REPEAT_COUNT(uint32_t val)2449*4882a593Smuzhiyun static inline uint32_t A2XX_PA_SC_LINE_STIPPLE_REPEAT_COUNT(uint32_t val)
2450*4882a593Smuzhiyun {
2451*4882a593Smuzhiyun 	return ((val) << A2XX_PA_SC_LINE_STIPPLE_REPEAT_COUNT__SHIFT) & A2XX_PA_SC_LINE_STIPPLE_REPEAT_COUNT__MASK;
2452*4882a593Smuzhiyun }
2453*4882a593Smuzhiyun #define A2XX_PA_SC_LINE_STIPPLE_PATTERN_BIT_ORDER__MASK		0x10000000
2454*4882a593Smuzhiyun #define A2XX_PA_SC_LINE_STIPPLE_PATTERN_BIT_ORDER__SHIFT	28
A2XX_PA_SC_LINE_STIPPLE_PATTERN_BIT_ORDER(enum a2xx_pa_sc_pattern_bit_order val)2455*4882a593Smuzhiyun static inline uint32_t A2XX_PA_SC_LINE_STIPPLE_PATTERN_BIT_ORDER(enum a2xx_pa_sc_pattern_bit_order val)
2456*4882a593Smuzhiyun {
2457*4882a593Smuzhiyun 	return ((val) << A2XX_PA_SC_LINE_STIPPLE_PATTERN_BIT_ORDER__SHIFT) & A2XX_PA_SC_LINE_STIPPLE_PATTERN_BIT_ORDER__MASK;
2458*4882a593Smuzhiyun }
2459*4882a593Smuzhiyun #define A2XX_PA_SC_LINE_STIPPLE_AUTO_RESET_CNTL__MASK		0x60000000
2460*4882a593Smuzhiyun #define A2XX_PA_SC_LINE_STIPPLE_AUTO_RESET_CNTL__SHIFT		29
A2XX_PA_SC_LINE_STIPPLE_AUTO_RESET_CNTL(enum a2xx_pa_sc_auto_reset_cntl val)2461*4882a593Smuzhiyun static inline uint32_t A2XX_PA_SC_LINE_STIPPLE_AUTO_RESET_CNTL(enum a2xx_pa_sc_auto_reset_cntl val)
2462*4882a593Smuzhiyun {
2463*4882a593Smuzhiyun 	return ((val) << A2XX_PA_SC_LINE_STIPPLE_AUTO_RESET_CNTL__SHIFT) & A2XX_PA_SC_LINE_STIPPLE_AUTO_RESET_CNTL__MASK;
2464*4882a593Smuzhiyun }
2465*4882a593Smuzhiyun 
2466*4882a593Smuzhiyun #define REG_A2XX_PA_SC_VIZ_QUERY				0x00002293
2467*4882a593Smuzhiyun #define A2XX_PA_SC_VIZ_QUERY_VIZ_QUERY_ENA			0x00000001
2468*4882a593Smuzhiyun #define A2XX_PA_SC_VIZ_QUERY_VIZ_QUERY_ID__MASK			0x0000007e
2469*4882a593Smuzhiyun #define A2XX_PA_SC_VIZ_QUERY_VIZ_QUERY_ID__SHIFT		1
A2XX_PA_SC_VIZ_QUERY_VIZ_QUERY_ID(uint32_t val)2470*4882a593Smuzhiyun static inline uint32_t A2XX_PA_SC_VIZ_QUERY_VIZ_QUERY_ID(uint32_t val)
2471*4882a593Smuzhiyun {
2472*4882a593Smuzhiyun 	return ((val) << A2XX_PA_SC_VIZ_QUERY_VIZ_QUERY_ID__SHIFT) & A2XX_PA_SC_VIZ_QUERY_VIZ_QUERY_ID__MASK;
2473*4882a593Smuzhiyun }
2474*4882a593Smuzhiyun #define A2XX_PA_SC_VIZ_QUERY_KILL_PIX_POST_EARLY_Z		0x00000100
2475*4882a593Smuzhiyun 
2476*4882a593Smuzhiyun #define REG_A2XX_VGT_ENHANCE					0x00002294
2477*4882a593Smuzhiyun 
2478*4882a593Smuzhiyun #define REG_A2XX_PA_SC_LINE_CNTL				0x00002300
2479*4882a593Smuzhiyun #define A2XX_PA_SC_LINE_CNTL_BRES_CNTL__MASK			0x0000ffff
2480*4882a593Smuzhiyun #define A2XX_PA_SC_LINE_CNTL_BRES_CNTL__SHIFT			0
A2XX_PA_SC_LINE_CNTL_BRES_CNTL(uint32_t val)2481*4882a593Smuzhiyun static inline uint32_t A2XX_PA_SC_LINE_CNTL_BRES_CNTL(uint32_t val)
2482*4882a593Smuzhiyun {
2483*4882a593Smuzhiyun 	return ((val) << A2XX_PA_SC_LINE_CNTL_BRES_CNTL__SHIFT) & A2XX_PA_SC_LINE_CNTL_BRES_CNTL__MASK;
2484*4882a593Smuzhiyun }
2485*4882a593Smuzhiyun #define A2XX_PA_SC_LINE_CNTL_USE_BRES_CNTL			0x00000100
2486*4882a593Smuzhiyun #define A2XX_PA_SC_LINE_CNTL_EXPAND_LINE_WIDTH			0x00000200
2487*4882a593Smuzhiyun #define A2XX_PA_SC_LINE_CNTL_LAST_PIXEL				0x00000400
2488*4882a593Smuzhiyun 
2489*4882a593Smuzhiyun #define REG_A2XX_PA_SC_AA_CONFIG				0x00002301
2490*4882a593Smuzhiyun #define A2XX_PA_SC_AA_CONFIG_MSAA_NUM_SAMPLES__MASK		0x00000007
2491*4882a593Smuzhiyun #define A2XX_PA_SC_AA_CONFIG_MSAA_NUM_SAMPLES__SHIFT		0
A2XX_PA_SC_AA_CONFIG_MSAA_NUM_SAMPLES(uint32_t val)2492*4882a593Smuzhiyun static inline uint32_t A2XX_PA_SC_AA_CONFIG_MSAA_NUM_SAMPLES(uint32_t val)
2493*4882a593Smuzhiyun {
2494*4882a593Smuzhiyun 	return ((val) << A2XX_PA_SC_AA_CONFIG_MSAA_NUM_SAMPLES__SHIFT) & A2XX_PA_SC_AA_CONFIG_MSAA_NUM_SAMPLES__MASK;
2495*4882a593Smuzhiyun }
2496*4882a593Smuzhiyun #define A2XX_PA_SC_AA_CONFIG_MAX_SAMPLE_DIST__MASK		0x0001e000
2497*4882a593Smuzhiyun #define A2XX_PA_SC_AA_CONFIG_MAX_SAMPLE_DIST__SHIFT		13
A2XX_PA_SC_AA_CONFIG_MAX_SAMPLE_DIST(uint32_t val)2498*4882a593Smuzhiyun static inline uint32_t A2XX_PA_SC_AA_CONFIG_MAX_SAMPLE_DIST(uint32_t val)
2499*4882a593Smuzhiyun {
2500*4882a593Smuzhiyun 	return ((val) << A2XX_PA_SC_AA_CONFIG_MAX_SAMPLE_DIST__SHIFT) & A2XX_PA_SC_AA_CONFIG_MAX_SAMPLE_DIST__MASK;
2501*4882a593Smuzhiyun }
2502*4882a593Smuzhiyun 
2503*4882a593Smuzhiyun #define REG_A2XX_PA_SU_VTX_CNTL					0x00002302
2504*4882a593Smuzhiyun #define A2XX_PA_SU_VTX_CNTL_PIX_CENTER__MASK			0x00000001
2505*4882a593Smuzhiyun #define A2XX_PA_SU_VTX_CNTL_PIX_CENTER__SHIFT			0
A2XX_PA_SU_VTX_CNTL_PIX_CENTER(enum a2xx_pa_pixcenter val)2506*4882a593Smuzhiyun static inline uint32_t A2XX_PA_SU_VTX_CNTL_PIX_CENTER(enum a2xx_pa_pixcenter val)
2507*4882a593Smuzhiyun {
2508*4882a593Smuzhiyun 	return ((val) << A2XX_PA_SU_VTX_CNTL_PIX_CENTER__SHIFT) & A2XX_PA_SU_VTX_CNTL_PIX_CENTER__MASK;
2509*4882a593Smuzhiyun }
2510*4882a593Smuzhiyun #define A2XX_PA_SU_VTX_CNTL_ROUND_MODE__MASK			0x00000006
2511*4882a593Smuzhiyun #define A2XX_PA_SU_VTX_CNTL_ROUND_MODE__SHIFT			1
A2XX_PA_SU_VTX_CNTL_ROUND_MODE(enum a2xx_pa_roundmode val)2512*4882a593Smuzhiyun static inline uint32_t A2XX_PA_SU_VTX_CNTL_ROUND_MODE(enum a2xx_pa_roundmode val)
2513*4882a593Smuzhiyun {
2514*4882a593Smuzhiyun 	return ((val) << A2XX_PA_SU_VTX_CNTL_ROUND_MODE__SHIFT) & A2XX_PA_SU_VTX_CNTL_ROUND_MODE__MASK;
2515*4882a593Smuzhiyun }
2516*4882a593Smuzhiyun #define A2XX_PA_SU_VTX_CNTL_QUANT_MODE__MASK			0x00000380
2517*4882a593Smuzhiyun #define A2XX_PA_SU_VTX_CNTL_QUANT_MODE__SHIFT			7
A2XX_PA_SU_VTX_CNTL_QUANT_MODE(enum a2xx_pa_quantmode val)2518*4882a593Smuzhiyun static inline uint32_t A2XX_PA_SU_VTX_CNTL_QUANT_MODE(enum a2xx_pa_quantmode val)
2519*4882a593Smuzhiyun {
2520*4882a593Smuzhiyun 	return ((val) << A2XX_PA_SU_VTX_CNTL_QUANT_MODE__SHIFT) & A2XX_PA_SU_VTX_CNTL_QUANT_MODE__MASK;
2521*4882a593Smuzhiyun }
2522*4882a593Smuzhiyun 
2523*4882a593Smuzhiyun #define REG_A2XX_PA_CL_GB_VERT_CLIP_ADJ				0x00002303
2524*4882a593Smuzhiyun #define A2XX_PA_CL_GB_VERT_CLIP_ADJ__MASK			0xffffffff
2525*4882a593Smuzhiyun #define A2XX_PA_CL_GB_VERT_CLIP_ADJ__SHIFT			0
A2XX_PA_CL_GB_VERT_CLIP_ADJ(float val)2526*4882a593Smuzhiyun static inline uint32_t A2XX_PA_CL_GB_VERT_CLIP_ADJ(float val)
2527*4882a593Smuzhiyun {
2528*4882a593Smuzhiyun 	return ((fui(val)) << A2XX_PA_CL_GB_VERT_CLIP_ADJ__SHIFT) & A2XX_PA_CL_GB_VERT_CLIP_ADJ__MASK;
2529*4882a593Smuzhiyun }
2530*4882a593Smuzhiyun 
2531*4882a593Smuzhiyun #define REG_A2XX_PA_CL_GB_VERT_DISC_ADJ				0x00002304
2532*4882a593Smuzhiyun #define A2XX_PA_CL_GB_VERT_DISC_ADJ__MASK			0xffffffff
2533*4882a593Smuzhiyun #define A2XX_PA_CL_GB_VERT_DISC_ADJ__SHIFT			0
A2XX_PA_CL_GB_VERT_DISC_ADJ(float val)2534*4882a593Smuzhiyun static inline uint32_t A2XX_PA_CL_GB_VERT_DISC_ADJ(float val)
2535*4882a593Smuzhiyun {
2536*4882a593Smuzhiyun 	return ((fui(val)) << A2XX_PA_CL_GB_VERT_DISC_ADJ__SHIFT) & A2XX_PA_CL_GB_VERT_DISC_ADJ__MASK;
2537*4882a593Smuzhiyun }
2538*4882a593Smuzhiyun 
2539*4882a593Smuzhiyun #define REG_A2XX_PA_CL_GB_HORZ_CLIP_ADJ				0x00002305
2540*4882a593Smuzhiyun #define A2XX_PA_CL_GB_HORZ_CLIP_ADJ__MASK			0xffffffff
2541*4882a593Smuzhiyun #define A2XX_PA_CL_GB_HORZ_CLIP_ADJ__SHIFT			0
A2XX_PA_CL_GB_HORZ_CLIP_ADJ(float val)2542*4882a593Smuzhiyun static inline uint32_t A2XX_PA_CL_GB_HORZ_CLIP_ADJ(float val)
2543*4882a593Smuzhiyun {
2544*4882a593Smuzhiyun 	return ((fui(val)) << A2XX_PA_CL_GB_HORZ_CLIP_ADJ__SHIFT) & A2XX_PA_CL_GB_HORZ_CLIP_ADJ__MASK;
2545*4882a593Smuzhiyun }
2546*4882a593Smuzhiyun 
2547*4882a593Smuzhiyun #define REG_A2XX_PA_CL_GB_HORZ_DISC_ADJ				0x00002306
2548*4882a593Smuzhiyun #define A2XX_PA_CL_GB_HORZ_DISC_ADJ__MASK			0xffffffff
2549*4882a593Smuzhiyun #define A2XX_PA_CL_GB_HORZ_DISC_ADJ__SHIFT			0
A2XX_PA_CL_GB_HORZ_DISC_ADJ(float val)2550*4882a593Smuzhiyun static inline uint32_t A2XX_PA_CL_GB_HORZ_DISC_ADJ(float val)
2551*4882a593Smuzhiyun {
2552*4882a593Smuzhiyun 	return ((fui(val)) << A2XX_PA_CL_GB_HORZ_DISC_ADJ__SHIFT) & A2XX_PA_CL_GB_HORZ_DISC_ADJ__MASK;
2553*4882a593Smuzhiyun }
2554*4882a593Smuzhiyun 
2555*4882a593Smuzhiyun #define REG_A2XX_SQ_VS_CONST					0x00002307
2556*4882a593Smuzhiyun #define A2XX_SQ_VS_CONST_BASE__MASK				0x000001ff
2557*4882a593Smuzhiyun #define A2XX_SQ_VS_CONST_BASE__SHIFT				0
A2XX_SQ_VS_CONST_BASE(uint32_t val)2558*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_VS_CONST_BASE(uint32_t val)
2559*4882a593Smuzhiyun {
2560*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_VS_CONST_BASE__SHIFT) & A2XX_SQ_VS_CONST_BASE__MASK;
2561*4882a593Smuzhiyun }
2562*4882a593Smuzhiyun #define A2XX_SQ_VS_CONST_SIZE__MASK				0x001ff000
2563*4882a593Smuzhiyun #define A2XX_SQ_VS_CONST_SIZE__SHIFT				12
A2XX_SQ_VS_CONST_SIZE(uint32_t val)2564*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_VS_CONST_SIZE(uint32_t val)
2565*4882a593Smuzhiyun {
2566*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_VS_CONST_SIZE__SHIFT) & A2XX_SQ_VS_CONST_SIZE__MASK;
2567*4882a593Smuzhiyun }
2568*4882a593Smuzhiyun 
2569*4882a593Smuzhiyun #define REG_A2XX_SQ_PS_CONST					0x00002308
2570*4882a593Smuzhiyun #define A2XX_SQ_PS_CONST_BASE__MASK				0x000001ff
2571*4882a593Smuzhiyun #define A2XX_SQ_PS_CONST_BASE__SHIFT				0
A2XX_SQ_PS_CONST_BASE(uint32_t val)2572*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_PS_CONST_BASE(uint32_t val)
2573*4882a593Smuzhiyun {
2574*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_PS_CONST_BASE__SHIFT) & A2XX_SQ_PS_CONST_BASE__MASK;
2575*4882a593Smuzhiyun }
2576*4882a593Smuzhiyun #define A2XX_SQ_PS_CONST_SIZE__MASK				0x001ff000
2577*4882a593Smuzhiyun #define A2XX_SQ_PS_CONST_SIZE__SHIFT				12
A2XX_SQ_PS_CONST_SIZE(uint32_t val)2578*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_PS_CONST_SIZE(uint32_t val)
2579*4882a593Smuzhiyun {
2580*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_PS_CONST_SIZE__SHIFT) & A2XX_SQ_PS_CONST_SIZE__MASK;
2581*4882a593Smuzhiyun }
2582*4882a593Smuzhiyun 
2583*4882a593Smuzhiyun #define REG_A2XX_SQ_DEBUG_MISC_0				0x00002309
2584*4882a593Smuzhiyun 
2585*4882a593Smuzhiyun #define REG_A2XX_SQ_DEBUG_MISC_1				0x0000230a
2586*4882a593Smuzhiyun 
2587*4882a593Smuzhiyun #define REG_A2XX_PA_SC_AA_MASK					0x00002312
2588*4882a593Smuzhiyun 
2589*4882a593Smuzhiyun #define REG_A2XX_VGT_VERTEX_REUSE_BLOCK_CNTL			0x00002316
2590*4882a593Smuzhiyun #define A2XX_VGT_VERTEX_REUSE_BLOCK_CNTL_VTX_REUSE_DEPTH__MASK	0x00000007
2591*4882a593Smuzhiyun #define A2XX_VGT_VERTEX_REUSE_BLOCK_CNTL_VTX_REUSE_DEPTH__SHIFT	0
A2XX_VGT_VERTEX_REUSE_BLOCK_CNTL_VTX_REUSE_DEPTH(uint32_t val)2592*4882a593Smuzhiyun static inline uint32_t A2XX_VGT_VERTEX_REUSE_BLOCK_CNTL_VTX_REUSE_DEPTH(uint32_t val)
2593*4882a593Smuzhiyun {
2594*4882a593Smuzhiyun 	return ((val) << A2XX_VGT_VERTEX_REUSE_BLOCK_CNTL_VTX_REUSE_DEPTH__SHIFT) & A2XX_VGT_VERTEX_REUSE_BLOCK_CNTL_VTX_REUSE_DEPTH__MASK;
2595*4882a593Smuzhiyun }
2596*4882a593Smuzhiyun 
2597*4882a593Smuzhiyun #define REG_A2XX_VGT_OUT_DEALLOC_CNTL				0x00002317
2598*4882a593Smuzhiyun #define A2XX_VGT_OUT_DEALLOC_CNTL_DEALLOC_DIST__MASK		0x00000003
2599*4882a593Smuzhiyun #define A2XX_VGT_OUT_DEALLOC_CNTL_DEALLOC_DIST__SHIFT		0
A2XX_VGT_OUT_DEALLOC_CNTL_DEALLOC_DIST(uint32_t val)2600*4882a593Smuzhiyun static inline uint32_t A2XX_VGT_OUT_DEALLOC_CNTL_DEALLOC_DIST(uint32_t val)
2601*4882a593Smuzhiyun {
2602*4882a593Smuzhiyun 	return ((val) << A2XX_VGT_OUT_DEALLOC_CNTL_DEALLOC_DIST__SHIFT) & A2XX_VGT_OUT_DEALLOC_CNTL_DEALLOC_DIST__MASK;
2603*4882a593Smuzhiyun }
2604*4882a593Smuzhiyun 
2605*4882a593Smuzhiyun #define REG_A2XX_RB_COPY_CONTROL				0x00002318
2606*4882a593Smuzhiyun #define A2XX_RB_COPY_CONTROL_COPY_SAMPLE_SELECT__MASK		0x00000007
2607*4882a593Smuzhiyun #define A2XX_RB_COPY_CONTROL_COPY_SAMPLE_SELECT__SHIFT		0
A2XX_RB_COPY_CONTROL_COPY_SAMPLE_SELECT(enum a2xx_rb_copy_sample_select val)2608*4882a593Smuzhiyun static inline uint32_t A2XX_RB_COPY_CONTROL_COPY_SAMPLE_SELECT(enum a2xx_rb_copy_sample_select val)
2609*4882a593Smuzhiyun {
2610*4882a593Smuzhiyun 	return ((val) << A2XX_RB_COPY_CONTROL_COPY_SAMPLE_SELECT__SHIFT) & A2XX_RB_COPY_CONTROL_COPY_SAMPLE_SELECT__MASK;
2611*4882a593Smuzhiyun }
2612*4882a593Smuzhiyun #define A2XX_RB_COPY_CONTROL_DEPTH_CLEAR_ENABLE			0x00000008
2613*4882a593Smuzhiyun #define A2XX_RB_COPY_CONTROL_CLEAR_MASK__MASK			0x000000f0
2614*4882a593Smuzhiyun #define A2XX_RB_COPY_CONTROL_CLEAR_MASK__SHIFT			4
A2XX_RB_COPY_CONTROL_CLEAR_MASK(uint32_t val)2615*4882a593Smuzhiyun static inline uint32_t A2XX_RB_COPY_CONTROL_CLEAR_MASK(uint32_t val)
2616*4882a593Smuzhiyun {
2617*4882a593Smuzhiyun 	return ((val) << A2XX_RB_COPY_CONTROL_CLEAR_MASK__SHIFT) & A2XX_RB_COPY_CONTROL_CLEAR_MASK__MASK;
2618*4882a593Smuzhiyun }
2619*4882a593Smuzhiyun 
2620*4882a593Smuzhiyun #define REG_A2XX_RB_COPY_DEST_BASE				0x00002319
2621*4882a593Smuzhiyun 
2622*4882a593Smuzhiyun #define REG_A2XX_RB_COPY_DEST_PITCH				0x0000231a
2623*4882a593Smuzhiyun #define A2XX_RB_COPY_DEST_PITCH__MASK				0xffffffff
2624*4882a593Smuzhiyun #define A2XX_RB_COPY_DEST_PITCH__SHIFT				0
A2XX_RB_COPY_DEST_PITCH(uint32_t val)2625*4882a593Smuzhiyun static inline uint32_t A2XX_RB_COPY_DEST_PITCH(uint32_t val)
2626*4882a593Smuzhiyun {
2627*4882a593Smuzhiyun 	return ((val >> 5) << A2XX_RB_COPY_DEST_PITCH__SHIFT) & A2XX_RB_COPY_DEST_PITCH__MASK;
2628*4882a593Smuzhiyun }
2629*4882a593Smuzhiyun 
2630*4882a593Smuzhiyun #define REG_A2XX_RB_COPY_DEST_INFO				0x0000231b
2631*4882a593Smuzhiyun #define A2XX_RB_COPY_DEST_INFO_DEST_ENDIAN__MASK		0x00000007
2632*4882a593Smuzhiyun #define A2XX_RB_COPY_DEST_INFO_DEST_ENDIAN__SHIFT		0
A2XX_RB_COPY_DEST_INFO_DEST_ENDIAN(enum adreno_rb_surface_endian val)2633*4882a593Smuzhiyun static inline uint32_t A2XX_RB_COPY_DEST_INFO_DEST_ENDIAN(enum adreno_rb_surface_endian val)
2634*4882a593Smuzhiyun {
2635*4882a593Smuzhiyun 	return ((val) << A2XX_RB_COPY_DEST_INFO_DEST_ENDIAN__SHIFT) & A2XX_RB_COPY_DEST_INFO_DEST_ENDIAN__MASK;
2636*4882a593Smuzhiyun }
2637*4882a593Smuzhiyun #define A2XX_RB_COPY_DEST_INFO_LINEAR				0x00000008
2638*4882a593Smuzhiyun #define A2XX_RB_COPY_DEST_INFO_FORMAT__MASK			0x000000f0
2639*4882a593Smuzhiyun #define A2XX_RB_COPY_DEST_INFO_FORMAT__SHIFT			4
A2XX_RB_COPY_DEST_INFO_FORMAT(enum a2xx_colorformatx val)2640*4882a593Smuzhiyun static inline uint32_t A2XX_RB_COPY_DEST_INFO_FORMAT(enum a2xx_colorformatx val)
2641*4882a593Smuzhiyun {
2642*4882a593Smuzhiyun 	return ((val) << A2XX_RB_COPY_DEST_INFO_FORMAT__SHIFT) & A2XX_RB_COPY_DEST_INFO_FORMAT__MASK;
2643*4882a593Smuzhiyun }
2644*4882a593Smuzhiyun #define A2XX_RB_COPY_DEST_INFO_SWAP__MASK			0x00000300
2645*4882a593Smuzhiyun #define A2XX_RB_COPY_DEST_INFO_SWAP__SHIFT			8
A2XX_RB_COPY_DEST_INFO_SWAP(uint32_t val)2646*4882a593Smuzhiyun static inline uint32_t A2XX_RB_COPY_DEST_INFO_SWAP(uint32_t val)
2647*4882a593Smuzhiyun {
2648*4882a593Smuzhiyun 	return ((val) << A2XX_RB_COPY_DEST_INFO_SWAP__SHIFT) & A2XX_RB_COPY_DEST_INFO_SWAP__MASK;
2649*4882a593Smuzhiyun }
2650*4882a593Smuzhiyun #define A2XX_RB_COPY_DEST_INFO_DITHER_MODE__MASK		0x00000c00
2651*4882a593Smuzhiyun #define A2XX_RB_COPY_DEST_INFO_DITHER_MODE__SHIFT		10
A2XX_RB_COPY_DEST_INFO_DITHER_MODE(enum adreno_rb_dither_mode val)2652*4882a593Smuzhiyun static inline uint32_t A2XX_RB_COPY_DEST_INFO_DITHER_MODE(enum adreno_rb_dither_mode val)
2653*4882a593Smuzhiyun {
2654*4882a593Smuzhiyun 	return ((val) << A2XX_RB_COPY_DEST_INFO_DITHER_MODE__SHIFT) & A2XX_RB_COPY_DEST_INFO_DITHER_MODE__MASK;
2655*4882a593Smuzhiyun }
2656*4882a593Smuzhiyun #define A2XX_RB_COPY_DEST_INFO_DITHER_TYPE__MASK		0x00003000
2657*4882a593Smuzhiyun #define A2XX_RB_COPY_DEST_INFO_DITHER_TYPE__SHIFT		12
A2XX_RB_COPY_DEST_INFO_DITHER_TYPE(enum a2xx_rb_dither_type val)2658*4882a593Smuzhiyun static inline uint32_t A2XX_RB_COPY_DEST_INFO_DITHER_TYPE(enum a2xx_rb_dither_type val)
2659*4882a593Smuzhiyun {
2660*4882a593Smuzhiyun 	return ((val) << A2XX_RB_COPY_DEST_INFO_DITHER_TYPE__SHIFT) & A2XX_RB_COPY_DEST_INFO_DITHER_TYPE__MASK;
2661*4882a593Smuzhiyun }
2662*4882a593Smuzhiyun #define A2XX_RB_COPY_DEST_INFO_WRITE_RED			0x00004000
2663*4882a593Smuzhiyun #define A2XX_RB_COPY_DEST_INFO_WRITE_GREEN			0x00008000
2664*4882a593Smuzhiyun #define A2XX_RB_COPY_DEST_INFO_WRITE_BLUE			0x00010000
2665*4882a593Smuzhiyun #define A2XX_RB_COPY_DEST_INFO_WRITE_ALPHA			0x00020000
2666*4882a593Smuzhiyun 
2667*4882a593Smuzhiyun #define REG_A2XX_RB_COPY_DEST_OFFSET				0x0000231c
2668*4882a593Smuzhiyun #define A2XX_RB_COPY_DEST_OFFSET_X__MASK			0x00001fff
2669*4882a593Smuzhiyun #define A2XX_RB_COPY_DEST_OFFSET_X__SHIFT			0
A2XX_RB_COPY_DEST_OFFSET_X(uint32_t val)2670*4882a593Smuzhiyun static inline uint32_t A2XX_RB_COPY_DEST_OFFSET_X(uint32_t val)
2671*4882a593Smuzhiyun {
2672*4882a593Smuzhiyun 	return ((val) << A2XX_RB_COPY_DEST_OFFSET_X__SHIFT) & A2XX_RB_COPY_DEST_OFFSET_X__MASK;
2673*4882a593Smuzhiyun }
2674*4882a593Smuzhiyun #define A2XX_RB_COPY_DEST_OFFSET_Y__MASK			0x03ffe000
2675*4882a593Smuzhiyun #define A2XX_RB_COPY_DEST_OFFSET_Y__SHIFT			13
A2XX_RB_COPY_DEST_OFFSET_Y(uint32_t val)2676*4882a593Smuzhiyun static inline uint32_t A2XX_RB_COPY_DEST_OFFSET_Y(uint32_t val)
2677*4882a593Smuzhiyun {
2678*4882a593Smuzhiyun 	return ((val) << A2XX_RB_COPY_DEST_OFFSET_Y__SHIFT) & A2XX_RB_COPY_DEST_OFFSET_Y__MASK;
2679*4882a593Smuzhiyun }
2680*4882a593Smuzhiyun 
2681*4882a593Smuzhiyun #define REG_A2XX_RB_DEPTH_CLEAR					0x0000231d
2682*4882a593Smuzhiyun 
2683*4882a593Smuzhiyun #define REG_A2XX_RB_SAMPLE_COUNT_CTL				0x00002324
2684*4882a593Smuzhiyun 
2685*4882a593Smuzhiyun #define REG_A2XX_RB_COLOR_DEST_MASK				0x00002326
2686*4882a593Smuzhiyun 
2687*4882a593Smuzhiyun #define REG_A2XX_A225_GRAS_UCP0X				0x00002340
2688*4882a593Smuzhiyun 
2689*4882a593Smuzhiyun #define REG_A2XX_A225_GRAS_UCP5W				0x00002357
2690*4882a593Smuzhiyun 
2691*4882a593Smuzhiyun #define REG_A2XX_A225_GRAS_UCP_ENABLED				0x00002360
2692*4882a593Smuzhiyun 
2693*4882a593Smuzhiyun #define REG_A2XX_PA_SU_POLY_OFFSET_FRONT_SCALE			0x00002380
2694*4882a593Smuzhiyun 
2695*4882a593Smuzhiyun #define REG_A2XX_PA_SU_POLY_OFFSET_FRONT_OFFSET			0x00002381
2696*4882a593Smuzhiyun 
2697*4882a593Smuzhiyun #define REG_A2XX_PA_SU_POLY_OFFSET_BACK_SCALE			0x00002382
2698*4882a593Smuzhiyun 
2699*4882a593Smuzhiyun #define REG_A2XX_PA_SU_POLY_OFFSET_BACK_OFFSET			0x00002383
2700*4882a593Smuzhiyun 
2701*4882a593Smuzhiyun #define REG_A2XX_SQ_CONSTANT_0					0x00004000
2702*4882a593Smuzhiyun 
2703*4882a593Smuzhiyun #define REG_A2XX_SQ_FETCH_0					0x00004800
2704*4882a593Smuzhiyun 
2705*4882a593Smuzhiyun #define REG_A2XX_SQ_CF_BOOLEANS					0x00004900
2706*4882a593Smuzhiyun 
2707*4882a593Smuzhiyun #define REG_A2XX_SQ_CF_LOOP					0x00004908
2708*4882a593Smuzhiyun 
2709*4882a593Smuzhiyun #define REG_A2XX_COHER_SIZE_PM4					0x00000a29
2710*4882a593Smuzhiyun 
2711*4882a593Smuzhiyun #define REG_A2XX_COHER_BASE_PM4					0x00000a2a
2712*4882a593Smuzhiyun 
2713*4882a593Smuzhiyun #define REG_A2XX_COHER_STATUS_PM4				0x00000a2b
2714*4882a593Smuzhiyun 
2715*4882a593Smuzhiyun #define REG_A2XX_PA_SU_PERFCOUNTER0_SELECT			0x00000c88
2716*4882a593Smuzhiyun 
2717*4882a593Smuzhiyun #define REG_A2XX_PA_SU_PERFCOUNTER1_SELECT			0x00000c89
2718*4882a593Smuzhiyun 
2719*4882a593Smuzhiyun #define REG_A2XX_PA_SU_PERFCOUNTER2_SELECT			0x00000c8a
2720*4882a593Smuzhiyun 
2721*4882a593Smuzhiyun #define REG_A2XX_PA_SU_PERFCOUNTER3_SELECT			0x00000c8b
2722*4882a593Smuzhiyun 
2723*4882a593Smuzhiyun #define REG_A2XX_PA_SU_PERFCOUNTER0_LOW				0x00000c8c
2724*4882a593Smuzhiyun 
2725*4882a593Smuzhiyun #define REG_A2XX_PA_SU_PERFCOUNTER0_HI				0x00000c8d
2726*4882a593Smuzhiyun 
2727*4882a593Smuzhiyun #define REG_A2XX_PA_SU_PERFCOUNTER1_LOW				0x00000c8e
2728*4882a593Smuzhiyun 
2729*4882a593Smuzhiyun #define REG_A2XX_PA_SU_PERFCOUNTER1_HI				0x00000c8f
2730*4882a593Smuzhiyun 
2731*4882a593Smuzhiyun #define REG_A2XX_PA_SU_PERFCOUNTER2_LOW				0x00000c90
2732*4882a593Smuzhiyun 
2733*4882a593Smuzhiyun #define REG_A2XX_PA_SU_PERFCOUNTER2_HI				0x00000c91
2734*4882a593Smuzhiyun 
2735*4882a593Smuzhiyun #define REG_A2XX_PA_SU_PERFCOUNTER3_LOW				0x00000c92
2736*4882a593Smuzhiyun 
2737*4882a593Smuzhiyun #define REG_A2XX_PA_SU_PERFCOUNTER3_HI				0x00000c93
2738*4882a593Smuzhiyun 
2739*4882a593Smuzhiyun #define REG_A2XX_PA_SC_PERFCOUNTER0_SELECT			0x00000c98
2740*4882a593Smuzhiyun 
2741*4882a593Smuzhiyun #define REG_A2XX_PA_SC_PERFCOUNTER0_LOW				0x00000c99
2742*4882a593Smuzhiyun 
2743*4882a593Smuzhiyun #define REG_A2XX_PA_SC_PERFCOUNTER0_HI				0x00000c9a
2744*4882a593Smuzhiyun 
2745*4882a593Smuzhiyun #define REG_A2XX_VGT_PERFCOUNTER0_SELECT			0x00000c48
2746*4882a593Smuzhiyun 
2747*4882a593Smuzhiyun #define REG_A2XX_VGT_PERFCOUNTER1_SELECT			0x00000c49
2748*4882a593Smuzhiyun 
2749*4882a593Smuzhiyun #define REG_A2XX_VGT_PERFCOUNTER2_SELECT			0x00000c4a
2750*4882a593Smuzhiyun 
2751*4882a593Smuzhiyun #define REG_A2XX_VGT_PERFCOUNTER3_SELECT			0x00000c4b
2752*4882a593Smuzhiyun 
2753*4882a593Smuzhiyun #define REG_A2XX_VGT_PERFCOUNTER0_LOW				0x00000c4c
2754*4882a593Smuzhiyun 
2755*4882a593Smuzhiyun #define REG_A2XX_VGT_PERFCOUNTER1_LOW				0x00000c4e
2756*4882a593Smuzhiyun 
2757*4882a593Smuzhiyun #define REG_A2XX_VGT_PERFCOUNTER2_LOW				0x00000c50
2758*4882a593Smuzhiyun 
2759*4882a593Smuzhiyun #define REG_A2XX_VGT_PERFCOUNTER3_LOW				0x00000c52
2760*4882a593Smuzhiyun 
2761*4882a593Smuzhiyun #define REG_A2XX_VGT_PERFCOUNTER0_HI				0x00000c4d
2762*4882a593Smuzhiyun 
2763*4882a593Smuzhiyun #define REG_A2XX_VGT_PERFCOUNTER1_HI				0x00000c4f
2764*4882a593Smuzhiyun 
2765*4882a593Smuzhiyun #define REG_A2XX_VGT_PERFCOUNTER2_HI				0x00000c51
2766*4882a593Smuzhiyun 
2767*4882a593Smuzhiyun #define REG_A2XX_VGT_PERFCOUNTER3_HI				0x00000c53
2768*4882a593Smuzhiyun 
2769*4882a593Smuzhiyun #define REG_A2XX_TCR_PERFCOUNTER0_SELECT			0x00000e05
2770*4882a593Smuzhiyun 
2771*4882a593Smuzhiyun #define REG_A2XX_TCR_PERFCOUNTER1_SELECT			0x00000e08
2772*4882a593Smuzhiyun 
2773*4882a593Smuzhiyun #define REG_A2XX_TCR_PERFCOUNTER0_HI				0x00000e06
2774*4882a593Smuzhiyun 
2775*4882a593Smuzhiyun #define REG_A2XX_TCR_PERFCOUNTER1_HI				0x00000e09
2776*4882a593Smuzhiyun 
2777*4882a593Smuzhiyun #define REG_A2XX_TCR_PERFCOUNTER0_LOW				0x00000e07
2778*4882a593Smuzhiyun 
2779*4882a593Smuzhiyun #define REG_A2XX_TCR_PERFCOUNTER1_LOW				0x00000e0a
2780*4882a593Smuzhiyun 
2781*4882a593Smuzhiyun #define REG_A2XX_TP0_PERFCOUNTER0_SELECT			0x00000e1f
2782*4882a593Smuzhiyun 
2783*4882a593Smuzhiyun #define REG_A2XX_TP0_PERFCOUNTER0_HI				0x00000e20
2784*4882a593Smuzhiyun 
2785*4882a593Smuzhiyun #define REG_A2XX_TP0_PERFCOUNTER0_LOW				0x00000e21
2786*4882a593Smuzhiyun 
2787*4882a593Smuzhiyun #define REG_A2XX_TP0_PERFCOUNTER1_SELECT			0x00000e22
2788*4882a593Smuzhiyun 
2789*4882a593Smuzhiyun #define REG_A2XX_TP0_PERFCOUNTER1_HI				0x00000e23
2790*4882a593Smuzhiyun 
2791*4882a593Smuzhiyun #define REG_A2XX_TP0_PERFCOUNTER1_LOW				0x00000e24
2792*4882a593Smuzhiyun 
2793*4882a593Smuzhiyun #define REG_A2XX_TCM_PERFCOUNTER0_SELECT			0x00000e54
2794*4882a593Smuzhiyun 
2795*4882a593Smuzhiyun #define REG_A2XX_TCM_PERFCOUNTER1_SELECT			0x00000e57
2796*4882a593Smuzhiyun 
2797*4882a593Smuzhiyun #define REG_A2XX_TCM_PERFCOUNTER0_HI				0x00000e55
2798*4882a593Smuzhiyun 
2799*4882a593Smuzhiyun #define REG_A2XX_TCM_PERFCOUNTER1_HI				0x00000e58
2800*4882a593Smuzhiyun 
2801*4882a593Smuzhiyun #define REG_A2XX_TCM_PERFCOUNTER0_LOW				0x00000e56
2802*4882a593Smuzhiyun 
2803*4882a593Smuzhiyun #define REG_A2XX_TCM_PERFCOUNTER1_LOW				0x00000e59
2804*4882a593Smuzhiyun 
2805*4882a593Smuzhiyun #define REG_A2XX_TCF_PERFCOUNTER0_SELECT			0x00000e5a
2806*4882a593Smuzhiyun 
2807*4882a593Smuzhiyun #define REG_A2XX_TCF_PERFCOUNTER1_SELECT			0x00000e5d
2808*4882a593Smuzhiyun 
2809*4882a593Smuzhiyun #define REG_A2XX_TCF_PERFCOUNTER2_SELECT			0x00000e60
2810*4882a593Smuzhiyun 
2811*4882a593Smuzhiyun #define REG_A2XX_TCF_PERFCOUNTER3_SELECT			0x00000e63
2812*4882a593Smuzhiyun 
2813*4882a593Smuzhiyun #define REG_A2XX_TCF_PERFCOUNTER4_SELECT			0x00000e66
2814*4882a593Smuzhiyun 
2815*4882a593Smuzhiyun #define REG_A2XX_TCF_PERFCOUNTER5_SELECT			0x00000e69
2816*4882a593Smuzhiyun 
2817*4882a593Smuzhiyun #define REG_A2XX_TCF_PERFCOUNTER6_SELECT			0x00000e6c
2818*4882a593Smuzhiyun 
2819*4882a593Smuzhiyun #define REG_A2XX_TCF_PERFCOUNTER7_SELECT			0x00000e6f
2820*4882a593Smuzhiyun 
2821*4882a593Smuzhiyun #define REG_A2XX_TCF_PERFCOUNTER8_SELECT			0x00000e72
2822*4882a593Smuzhiyun 
2823*4882a593Smuzhiyun #define REG_A2XX_TCF_PERFCOUNTER9_SELECT			0x00000e75
2824*4882a593Smuzhiyun 
2825*4882a593Smuzhiyun #define REG_A2XX_TCF_PERFCOUNTER10_SELECT			0x00000e78
2826*4882a593Smuzhiyun 
2827*4882a593Smuzhiyun #define REG_A2XX_TCF_PERFCOUNTER11_SELECT			0x00000e7b
2828*4882a593Smuzhiyun 
2829*4882a593Smuzhiyun #define REG_A2XX_TCF_PERFCOUNTER0_HI				0x00000e5b
2830*4882a593Smuzhiyun 
2831*4882a593Smuzhiyun #define REG_A2XX_TCF_PERFCOUNTER1_HI				0x00000e5e
2832*4882a593Smuzhiyun 
2833*4882a593Smuzhiyun #define REG_A2XX_TCF_PERFCOUNTER2_HI				0x00000e61
2834*4882a593Smuzhiyun 
2835*4882a593Smuzhiyun #define REG_A2XX_TCF_PERFCOUNTER3_HI				0x00000e64
2836*4882a593Smuzhiyun 
2837*4882a593Smuzhiyun #define REG_A2XX_TCF_PERFCOUNTER4_HI				0x00000e67
2838*4882a593Smuzhiyun 
2839*4882a593Smuzhiyun #define REG_A2XX_TCF_PERFCOUNTER5_HI				0x00000e6a
2840*4882a593Smuzhiyun 
2841*4882a593Smuzhiyun #define REG_A2XX_TCF_PERFCOUNTER6_HI				0x00000e6d
2842*4882a593Smuzhiyun 
2843*4882a593Smuzhiyun #define REG_A2XX_TCF_PERFCOUNTER7_HI				0x00000e70
2844*4882a593Smuzhiyun 
2845*4882a593Smuzhiyun #define REG_A2XX_TCF_PERFCOUNTER8_HI				0x00000e73
2846*4882a593Smuzhiyun 
2847*4882a593Smuzhiyun #define REG_A2XX_TCF_PERFCOUNTER9_HI				0x00000e76
2848*4882a593Smuzhiyun 
2849*4882a593Smuzhiyun #define REG_A2XX_TCF_PERFCOUNTER10_HI				0x00000e79
2850*4882a593Smuzhiyun 
2851*4882a593Smuzhiyun #define REG_A2XX_TCF_PERFCOUNTER11_HI				0x00000e7c
2852*4882a593Smuzhiyun 
2853*4882a593Smuzhiyun #define REG_A2XX_TCF_PERFCOUNTER0_LOW				0x00000e5c
2854*4882a593Smuzhiyun 
2855*4882a593Smuzhiyun #define REG_A2XX_TCF_PERFCOUNTER1_LOW				0x00000e5f
2856*4882a593Smuzhiyun 
2857*4882a593Smuzhiyun #define REG_A2XX_TCF_PERFCOUNTER2_LOW				0x00000e62
2858*4882a593Smuzhiyun 
2859*4882a593Smuzhiyun #define REG_A2XX_TCF_PERFCOUNTER3_LOW				0x00000e65
2860*4882a593Smuzhiyun 
2861*4882a593Smuzhiyun #define REG_A2XX_TCF_PERFCOUNTER4_LOW				0x00000e68
2862*4882a593Smuzhiyun 
2863*4882a593Smuzhiyun #define REG_A2XX_TCF_PERFCOUNTER5_LOW				0x00000e6b
2864*4882a593Smuzhiyun 
2865*4882a593Smuzhiyun #define REG_A2XX_TCF_PERFCOUNTER6_LOW				0x00000e6e
2866*4882a593Smuzhiyun 
2867*4882a593Smuzhiyun #define REG_A2XX_TCF_PERFCOUNTER7_LOW				0x00000e71
2868*4882a593Smuzhiyun 
2869*4882a593Smuzhiyun #define REG_A2XX_TCF_PERFCOUNTER8_LOW				0x00000e74
2870*4882a593Smuzhiyun 
2871*4882a593Smuzhiyun #define REG_A2XX_TCF_PERFCOUNTER9_LOW				0x00000e77
2872*4882a593Smuzhiyun 
2873*4882a593Smuzhiyun #define REG_A2XX_TCF_PERFCOUNTER10_LOW				0x00000e7a
2874*4882a593Smuzhiyun 
2875*4882a593Smuzhiyun #define REG_A2XX_TCF_PERFCOUNTER11_LOW				0x00000e7d
2876*4882a593Smuzhiyun 
2877*4882a593Smuzhiyun #define REG_A2XX_SQ_PERFCOUNTER0_SELECT				0x00000dc8
2878*4882a593Smuzhiyun 
2879*4882a593Smuzhiyun #define REG_A2XX_SQ_PERFCOUNTER1_SELECT				0x00000dc9
2880*4882a593Smuzhiyun 
2881*4882a593Smuzhiyun #define REG_A2XX_SQ_PERFCOUNTER2_SELECT				0x00000dca
2882*4882a593Smuzhiyun 
2883*4882a593Smuzhiyun #define REG_A2XX_SQ_PERFCOUNTER3_SELECT				0x00000dcb
2884*4882a593Smuzhiyun 
2885*4882a593Smuzhiyun #define REG_A2XX_SQ_PERFCOUNTER0_LOW				0x00000dcc
2886*4882a593Smuzhiyun 
2887*4882a593Smuzhiyun #define REG_A2XX_SQ_PERFCOUNTER0_HI				0x00000dcd
2888*4882a593Smuzhiyun 
2889*4882a593Smuzhiyun #define REG_A2XX_SQ_PERFCOUNTER1_LOW				0x00000dce
2890*4882a593Smuzhiyun 
2891*4882a593Smuzhiyun #define REG_A2XX_SQ_PERFCOUNTER1_HI				0x00000dcf
2892*4882a593Smuzhiyun 
2893*4882a593Smuzhiyun #define REG_A2XX_SQ_PERFCOUNTER2_LOW				0x00000dd0
2894*4882a593Smuzhiyun 
2895*4882a593Smuzhiyun #define REG_A2XX_SQ_PERFCOUNTER2_HI				0x00000dd1
2896*4882a593Smuzhiyun 
2897*4882a593Smuzhiyun #define REG_A2XX_SQ_PERFCOUNTER3_LOW				0x00000dd2
2898*4882a593Smuzhiyun 
2899*4882a593Smuzhiyun #define REG_A2XX_SQ_PERFCOUNTER3_HI				0x00000dd3
2900*4882a593Smuzhiyun 
2901*4882a593Smuzhiyun #define REG_A2XX_SX_PERFCOUNTER0_SELECT				0x00000dd4
2902*4882a593Smuzhiyun 
2903*4882a593Smuzhiyun #define REG_A2XX_SX_PERFCOUNTER0_LOW				0x00000dd8
2904*4882a593Smuzhiyun 
2905*4882a593Smuzhiyun #define REG_A2XX_SX_PERFCOUNTER0_HI				0x00000dd9
2906*4882a593Smuzhiyun 
2907*4882a593Smuzhiyun #define REG_A2XX_MH_PERFCOUNTER0_SELECT				0x00000a46
2908*4882a593Smuzhiyun 
2909*4882a593Smuzhiyun #define REG_A2XX_MH_PERFCOUNTER1_SELECT				0x00000a4a
2910*4882a593Smuzhiyun 
2911*4882a593Smuzhiyun #define REG_A2XX_MH_PERFCOUNTER0_CONFIG				0x00000a47
2912*4882a593Smuzhiyun 
2913*4882a593Smuzhiyun #define REG_A2XX_MH_PERFCOUNTER1_CONFIG				0x00000a4b
2914*4882a593Smuzhiyun 
2915*4882a593Smuzhiyun #define REG_A2XX_MH_PERFCOUNTER0_LOW				0x00000a48
2916*4882a593Smuzhiyun 
2917*4882a593Smuzhiyun #define REG_A2XX_MH_PERFCOUNTER1_LOW				0x00000a4c
2918*4882a593Smuzhiyun 
2919*4882a593Smuzhiyun #define REG_A2XX_MH_PERFCOUNTER0_HI				0x00000a49
2920*4882a593Smuzhiyun 
2921*4882a593Smuzhiyun #define REG_A2XX_MH_PERFCOUNTER1_HI				0x00000a4d
2922*4882a593Smuzhiyun 
2923*4882a593Smuzhiyun #define REG_A2XX_RB_PERFCOUNTER0_SELECT				0x00000f04
2924*4882a593Smuzhiyun 
2925*4882a593Smuzhiyun #define REG_A2XX_RB_PERFCOUNTER0_LOW				0x00000f08
2926*4882a593Smuzhiyun 
2927*4882a593Smuzhiyun #define REG_A2XX_RB_PERFCOUNTER0_HI				0x00000f09
2928*4882a593Smuzhiyun 
2929*4882a593Smuzhiyun #define REG_A2XX_SQ_TEX_0					0x00000000
2930*4882a593Smuzhiyun #define A2XX_SQ_TEX_0_TYPE__MASK				0x00000003
2931*4882a593Smuzhiyun #define A2XX_SQ_TEX_0_TYPE__SHIFT				0
A2XX_SQ_TEX_0_TYPE(enum sq_tex_type val)2932*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_TEX_0_TYPE(enum sq_tex_type val)
2933*4882a593Smuzhiyun {
2934*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_TEX_0_TYPE__SHIFT) & A2XX_SQ_TEX_0_TYPE__MASK;
2935*4882a593Smuzhiyun }
2936*4882a593Smuzhiyun #define A2XX_SQ_TEX_0_SIGN_X__MASK				0x0000000c
2937*4882a593Smuzhiyun #define A2XX_SQ_TEX_0_SIGN_X__SHIFT				2
A2XX_SQ_TEX_0_SIGN_X(enum sq_tex_sign val)2938*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_TEX_0_SIGN_X(enum sq_tex_sign val)
2939*4882a593Smuzhiyun {
2940*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_TEX_0_SIGN_X__SHIFT) & A2XX_SQ_TEX_0_SIGN_X__MASK;
2941*4882a593Smuzhiyun }
2942*4882a593Smuzhiyun #define A2XX_SQ_TEX_0_SIGN_Y__MASK				0x00000030
2943*4882a593Smuzhiyun #define A2XX_SQ_TEX_0_SIGN_Y__SHIFT				4
A2XX_SQ_TEX_0_SIGN_Y(enum sq_tex_sign val)2944*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_TEX_0_SIGN_Y(enum sq_tex_sign val)
2945*4882a593Smuzhiyun {
2946*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_TEX_0_SIGN_Y__SHIFT) & A2XX_SQ_TEX_0_SIGN_Y__MASK;
2947*4882a593Smuzhiyun }
2948*4882a593Smuzhiyun #define A2XX_SQ_TEX_0_SIGN_Z__MASK				0x000000c0
2949*4882a593Smuzhiyun #define A2XX_SQ_TEX_0_SIGN_Z__SHIFT				6
A2XX_SQ_TEX_0_SIGN_Z(enum sq_tex_sign val)2950*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_TEX_0_SIGN_Z(enum sq_tex_sign val)
2951*4882a593Smuzhiyun {
2952*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_TEX_0_SIGN_Z__SHIFT) & A2XX_SQ_TEX_0_SIGN_Z__MASK;
2953*4882a593Smuzhiyun }
2954*4882a593Smuzhiyun #define A2XX_SQ_TEX_0_SIGN_W__MASK				0x00000300
2955*4882a593Smuzhiyun #define A2XX_SQ_TEX_0_SIGN_W__SHIFT				8
A2XX_SQ_TEX_0_SIGN_W(enum sq_tex_sign val)2956*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_TEX_0_SIGN_W(enum sq_tex_sign val)
2957*4882a593Smuzhiyun {
2958*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_TEX_0_SIGN_W__SHIFT) & A2XX_SQ_TEX_0_SIGN_W__MASK;
2959*4882a593Smuzhiyun }
2960*4882a593Smuzhiyun #define A2XX_SQ_TEX_0_CLAMP_X__MASK				0x00001c00
2961*4882a593Smuzhiyun #define A2XX_SQ_TEX_0_CLAMP_X__SHIFT				10
A2XX_SQ_TEX_0_CLAMP_X(enum sq_tex_clamp val)2962*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_TEX_0_CLAMP_X(enum sq_tex_clamp val)
2963*4882a593Smuzhiyun {
2964*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_TEX_0_CLAMP_X__SHIFT) & A2XX_SQ_TEX_0_CLAMP_X__MASK;
2965*4882a593Smuzhiyun }
2966*4882a593Smuzhiyun #define A2XX_SQ_TEX_0_CLAMP_Y__MASK				0x0000e000
2967*4882a593Smuzhiyun #define A2XX_SQ_TEX_0_CLAMP_Y__SHIFT				13
A2XX_SQ_TEX_0_CLAMP_Y(enum sq_tex_clamp val)2968*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_TEX_0_CLAMP_Y(enum sq_tex_clamp val)
2969*4882a593Smuzhiyun {
2970*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_TEX_0_CLAMP_Y__SHIFT) & A2XX_SQ_TEX_0_CLAMP_Y__MASK;
2971*4882a593Smuzhiyun }
2972*4882a593Smuzhiyun #define A2XX_SQ_TEX_0_CLAMP_Z__MASK				0x00070000
2973*4882a593Smuzhiyun #define A2XX_SQ_TEX_0_CLAMP_Z__SHIFT				16
A2XX_SQ_TEX_0_CLAMP_Z(enum sq_tex_clamp val)2974*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_TEX_0_CLAMP_Z(enum sq_tex_clamp val)
2975*4882a593Smuzhiyun {
2976*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_TEX_0_CLAMP_Z__SHIFT) & A2XX_SQ_TEX_0_CLAMP_Z__MASK;
2977*4882a593Smuzhiyun }
2978*4882a593Smuzhiyun #define A2XX_SQ_TEX_0_PITCH__MASK				0x7fc00000
2979*4882a593Smuzhiyun #define A2XX_SQ_TEX_0_PITCH__SHIFT				22
A2XX_SQ_TEX_0_PITCH(uint32_t val)2980*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_TEX_0_PITCH(uint32_t val)
2981*4882a593Smuzhiyun {
2982*4882a593Smuzhiyun 	return ((val >> 5) << A2XX_SQ_TEX_0_PITCH__SHIFT) & A2XX_SQ_TEX_0_PITCH__MASK;
2983*4882a593Smuzhiyun }
2984*4882a593Smuzhiyun #define A2XX_SQ_TEX_0_TILED					0x80000000
2985*4882a593Smuzhiyun 
2986*4882a593Smuzhiyun #define REG_A2XX_SQ_TEX_1					0x00000001
2987*4882a593Smuzhiyun #define A2XX_SQ_TEX_1_FORMAT__MASK				0x0000003f
2988*4882a593Smuzhiyun #define A2XX_SQ_TEX_1_FORMAT__SHIFT				0
A2XX_SQ_TEX_1_FORMAT(enum a2xx_sq_surfaceformat val)2989*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_TEX_1_FORMAT(enum a2xx_sq_surfaceformat val)
2990*4882a593Smuzhiyun {
2991*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_TEX_1_FORMAT__SHIFT) & A2XX_SQ_TEX_1_FORMAT__MASK;
2992*4882a593Smuzhiyun }
2993*4882a593Smuzhiyun #define A2XX_SQ_TEX_1_ENDIANNESS__MASK				0x000000c0
2994*4882a593Smuzhiyun #define A2XX_SQ_TEX_1_ENDIANNESS__SHIFT				6
A2XX_SQ_TEX_1_ENDIANNESS(enum sq_tex_endian val)2995*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_TEX_1_ENDIANNESS(enum sq_tex_endian val)
2996*4882a593Smuzhiyun {
2997*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_TEX_1_ENDIANNESS__SHIFT) & A2XX_SQ_TEX_1_ENDIANNESS__MASK;
2998*4882a593Smuzhiyun }
2999*4882a593Smuzhiyun #define A2XX_SQ_TEX_1_REQUEST_SIZE__MASK			0x00000300
3000*4882a593Smuzhiyun #define A2XX_SQ_TEX_1_REQUEST_SIZE__SHIFT			8
A2XX_SQ_TEX_1_REQUEST_SIZE(uint32_t val)3001*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_TEX_1_REQUEST_SIZE(uint32_t val)
3002*4882a593Smuzhiyun {
3003*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_TEX_1_REQUEST_SIZE__SHIFT) & A2XX_SQ_TEX_1_REQUEST_SIZE__MASK;
3004*4882a593Smuzhiyun }
3005*4882a593Smuzhiyun #define A2XX_SQ_TEX_1_STACKED					0x00000400
3006*4882a593Smuzhiyun #define A2XX_SQ_TEX_1_CLAMP_POLICY__MASK			0x00000800
3007*4882a593Smuzhiyun #define A2XX_SQ_TEX_1_CLAMP_POLICY__SHIFT			11
A2XX_SQ_TEX_1_CLAMP_POLICY(enum sq_tex_clamp_policy val)3008*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_TEX_1_CLAMP_POLICY(enum sq_tex_clamp_policy val)
3009*4882a593Smuzhiyun {
3010*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_TEX_1_CLAMP_POLICY__SHIFT) & A2XX_SQ_TEX_1_CLAMP_POLICY__MASK;
3011*4882a593Smuzhiyun }
3012*4882a593Smuzhiyun #define A2XX_SQ_TEX_1_BASE_ADDRESS__MASK			0xfffff000
3013*4882a593Smuzhiyun #define A2XX_SQ_TEX_1_BASE_ADDRESS__SHIFT			12
A2XX_SQ_TEX_1_BASE_ADDRESS(uint32_t val)3014*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_TEX_1_BASE_ADDRESS(uint32_t val)
3015*4882a593Smuzhiyun {
3016*4882a593Smuzhiyun 	return ((val >> 12) << A2XX_SQ_TEX_1_BASE_ADDRESS__SHIFT) & A2XX_SQ_TEX_1_BASE_ADDRESS__MASK;
3017*4882a593Smuzhiyun }
3018*4882a593Smuzhiyun 
3019*4882a593Smuzhiyun #define REG_A2XX_SQ_TEX_2					0x00000002
3020*4882a593Smuzhiyun #define A2XX_SQ_TEX_2_WIDTH__MASK				0x00001fff
3021*4882a593Smuzhiyun #define A2XX_SQ_TEX_2_WIDTH__SHIFT				0
A2XX_SQ_TEX_2_WIDTH(uint32_t val)3022*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_TEX_2_WIDTH(uint32_t val)
3023*4882a593Smuzhiyun {
3024*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_TEX_2_WIDTH__SHIFT) & A2XX_SQ_TEX_2_WIDTH__MASK;
3025*4882a593Smuzhiyun }
3026*4882a593Smuzhiyun #define A2XX_SQ_TEX_2_HEIGHT__MASK				0x03ffe000
3027*4882a593Smuzhiyun #define A2XX_SQ_TEX_2_HEIGHT__SHIFT				13
A2XX_SQ_TEX_2_HEIGHT(uint32_t val)3028*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_TEX_2_HEIGHT(uint32_t val)
3029*4882a593Smuzhiyun {
3030*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_TEX_2_HEIGHT__SHIFT) & A2XX_SQ_TEX_2_HEIGHT__MASK;
3031*4882a593Smuzhiyun }
3032*4882a593Smuzhiyun #define A2XX_SQ_TEX_2_DEPTH__MASK				0xfc000000
3033*4882a593Smuzhiyun #define A2XX_SQ_TEX_2_DEPTH__SHIFT				26
A2XX_SQ_TEX_2_DEPTH(uint32_t val)3034*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_TEX_2_DEPTH(uint32_t val)
3035*4882a593Smuzhiyun {
3036*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_TEX_2_DEPTH__SHIFT) & A2XX_SQ_TEX_2_DEPTH__MASK;
3037*4882a593Smuzhiyun }
3038*4882a593Smuzhiyun 
3039*4882a593Smuzhiyun #define REG_A2XX_SQ_TEX_3					0x00000003
3040*4882a593Smuzhiyun #define A2XX_SQ_TEX_3_NUM_FORMAT__MASK				0x00000001
3041*4882a593Smuzhiyun #define A2XX_SQ_TEX_3_NUM_FORMAT__SHIFT				0
A2XX_SQ_TEX_3_NUM_FORMAT(enum sq_tex_num_format val)3042*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_TEX_3_NUM_FORMAT(enum sq_tex_num_format val)
3043*4882a593Smuzhiyun {
3044*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_TEX_3_NUM_FORMAT__SHIFT) & A2XX_SQ_TEX_3_NUM_FORMAT__MASK;
3045*4882a593Smuzhiyun }
3046*4882a593Smuzhiyun #define A2XX_SQ_TEX_3_SWIZ_X__MASK				0x0000000e
3047*4882a593Smuzhiyun #define A2XX_SQ_TEX_3_SWIZ_X__SHIFT				1
A2XX_SQ_TEX_3_SWIZ_X(enum sq_tex_swiz val)3048*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_TEX_3_SWIZ_X(enum sq_tex_swiz val)
3049*4882a593Smuzhiyun {
3050*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_TEX_3_SWIZ_X__SHIFT) & A2XX_SQ_TEX_3_SWIZ_X__MASK;
3051*4882a593Smuzhiyun }
3052*4882a593Smuzhiyun #define A2XX_SQ_TEX_3_SWIZ_Y__MASK				0x00000070
3053*4882a593Smuzhiyun #define A2XX_SQ_TEX_3_SWIZ_Y__SHIFT				4
A2XX_SQ_TEX_3_SWIZ_Y(enum sq_tex_swiz val)3054*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_TEX_3_SWIZ_Y(enum sq_tex_swiz val)
3055*4882a593Smuzhiyun {
3056*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_TEX_3_SWIZ_Y__SHIFT) & A2XX_SQ_TEX_3_SWIZ_Y__MASK;
3057*4882a593Smuzhiyun }
3058*4882a593Smuzhiyun #define A2XX_SQ_TEX_3_SWIZ_Z__MASK				0x00000380
3059*4882a593Smuzhiyun #define A2XX_SQ_TEX_3_SWIZ_Z__SHIFT				7
A2XX_SQ_TEX_3_SWIZ_Z(enum sq_tex_swiz val)3060*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_TEX_3_SWIZ_Z(enum sq_tex_swiz val)
3061*4882a593Smuzhiyun {
3062*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_TEX_3_SWIZ_Z__SHIFT) & A2XX_SQ_TEX_3_SWIZ_Z__MASK;
3063*4882a593Smuzhiyun }
3064*4882a593Smuzhiyun #define A2XX_SQ_TEX_3_SWIZ_W__MASK				0x00001c00
3065*4882a593Smuzhiyun #define A2XX_SQ_TEX_3_SWIZ_W__SHIFT				10
A2XX_SQ_TEX_3_SWIZ_W(enum sq_tex_swiz val)3066*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_TEX_3_SWIZ_W(enum sq_tex_swiz val)
3067*4882a593Smuzhiyun {
3068*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_TEX_3_SWIZ_W__SHIFT) & A2XX_SQ_TEX_3_SWIZ_W__MASK;
3069*4882a593Smuzhiyun }
3070*4882a593Smuzhiyun #define A2XX_SQ_TEX_3_EXP_ADJUST__MASK				0x0007e000
3071*4882a593Smuzhiyun #define A2XX_SQ_TEX_3_EXP_ADJUST__SHIFT				13
A2XX_SQ_TEX_3_EXP_ADJUST(int32_t val)3072*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_TEX_3_EXP_ADJUST(int32_t val)
3073*4882a593Smuzhiyun {
3074*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_TEX_3_EXP_ADJUST__SHIFT) & A2XX_SQ_TEX_3_EXP_ADJUST__MASK;
3075*4882a593Smuzhiyun }
3076*4882a593Smuzhiyun #define A2XX_SQ_TEX_3_XY_MAG_FILTER__MASK			0x00180000
3077*4882a593Smuzhiyun #define A2XX_SQ_TEX_3_XY_MAG_FILTER__SHIFT			19
A2XX_SQ_TEX_3_XY_MAG_FILTER(enum sq_tex_filter val)3078*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_TEX_3_XY_MAG_FILTER(enum sq_tex_filter val)
3079*4882a593Smuzhiyun {
3080*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_TEX_3_XY_MAG_FILTER__SHIFT) & A2XX_SQ_TEX_3_XY_MAG_FILTER__MASK;
3081*4882a593Smuzhiyun }
3082*4882a593Smuzhiyun #define A2XX_SQ_TEX_3_XY_MIN_FILTER__MASK			0x00600000
3083*4882a593Smuzhiyun #define A2XX_SQ_TEX_3_XY_MIN_FILTER__SHIFT			21
A2XX_SQ_TEX_3_XY_MIN_FILTER(enum sq_tex_filter val)3084*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_TEX_3_XY_MIN_FILTER(enum sq_tex_filter val)
3085*4882a593Smuzhiyun {
3086*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_TEX_3_XY_MIN_FILTER__SHIFT) & A2XX_SQ_TEX_3_XY_MIN_FILTER__MASK;
3087*4882a593Smuzhiyun }
3088*4882a593Smuzhiyun #define A2XX_SQ_TEX_3_MIP_FILTER__MASK				0x01800000
3089*4882a593Smuzhiyun #define A2XX_SQ_TEX_3_MIP_FILTER__SHIFT				23
A2XX_SQ_TEX_3_MIP_FILTER(enum sq_tex_filter val)3090*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_TEX_3_MIP_FILTER(enum sq_tex_filter val)
3091*4882a593Smuzhiyun {
3092*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_TEX_3_MIP_FILTER__SHIFT) & A2XX_SQ_TEX_3_MIP_FILTER__MASK;
3093*4882a593Smuzhiyun }
3094*4882a593Smuzhiyun #define A2XX_SQ_TEX_3_ANISO_FILTER__MASK			0x0e000000
3095*4882a593Smuzhiyun #define A2XX_SQ_TEX_3_ANISO_FILTER__SHIFT			25
A2XX_SQ_TEX_3_ANISO_FILTER(enum sq_tex_aniso_filter val)3096*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_TEX_3_ANISO_FILTER(enum sq_tex_aniso_filter val)
3097*4882a593Smuzhiyun {
3098*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_TEX_3_ANISO_FILTER__SHIFT) & A2XX_SQ_TEX_3_ANISO_FILTER__MASK;
3099*4882a593Smuzhiyun }
3100*4882a593Smuzhiyun #define A2XX_SQ_TEX_3_BORDER_SIZE__MASK				0x80000000
3101*4882a593Smuzhiyun #define A2XX_SQ_TEX_3_BORDER_SIZE__SHIFT			31
A2XX_SQ_TEX_3_BORDER_SIZE(uint32_t val)3102*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_TEX_3_BORDER_SIZE(uint32_t val)
3103*4882a593Smuzhiyun {
3104*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_TEX_3_BORDER_SIZE__SHIFT) & A2XX_SQ_TEX_3_BORDER_SIZE__MASK;
3105*4882a593Smuzhiyun }
3106*4882a593Smuzhiyun 
3107*4882a593Smuzhiyun #define REG_A2XX_SQ_TEX_4					0x00000004
3108*4882a593Smuzhiyun #define A2XX_SQ_TEX_4_VOL_MAG_FILTER__MASK			0x00000001
3109*4882a593Smuzhiyun #define A2XX_SQ_TEX_4_VOL_MAG_FILTER__SHIFT			0
A2XX_SQ_TEX_4_VOL_MAG_FILTER(enum sq_tex_filter val)3110*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_TEX_4_VOL_MAG_FILTER(enum sq_tex_filter val)
3111*4882a593Smuzhiyun {
3112*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_TEX_4_VOL_MAG_FILTER__SHIFT) & A2XX_SQ_TEX_4_VOL_MAG_FILTER__MASK;
3113*4882a593Smuzhiyun }
3114*4882a593Smuzhiyun #define A2XX_SQ_TEX_4_VOL_MIN_FILTER__MASK			0x00000002
3115*4882a593Smuzhiyun #define A2XX_SQ_TEX_4_VOL_MIN_FILTER__SHIFT			1
A2XX_SQ_TEX_4_VOL_MIN_FILTER(enum sq_tex_filter val)3116*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_TEX_4_VOL_MIN_FILTER(enum sq_tex_filter val)
3117*4882a593Smuzhiyun {
3118*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_TEX_4_VOL_MIN_FILTER__SHIFT) & A2XX_SQ_TEX_4_VOL_MIN_FILTER__MASK;
3119*4882a593Smuzhiyun }
3120*4882a593Smuzhiyun #define A2XX_SQ_TEX_4_MIP_MIN_LEVEL__MASK			0x0000003c
3121*4882a593Smuzhiyun #define A2XX_SQ_TEX_4_MIP_MIN_LEVEL__SHIFT			2
A2XX_SQ_TEX_4_MIP_MIN_LEVEL(uint32_t val)3122*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_TEX_4_MIP_MIN_LEVEL(uint32_t val)
3123*4882a593Smuzhiyun {
3124*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_TEX_4_MIP_MIN_LEVEL__SHIFT) & A2XX_SQ_TEX_4_MIP_MIN_LEVEL__MASK;
3125*4882a593Smuzhiyun }
3126*4882a593Smuzhiyun #define A2XX_SQ_TEX_4_MIP_MAX_LEVEL__MASK			0x000003c0
3127*4882a593Smuzhiyun #define A2XX_SQ_TEX_4_MIP_MAX_LEVEL__SHIFT			6
A2XX_SQ_TEX_4_MIP_MAX_LEVEL(uint32_t val)3128*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_TEX_4_MIP_MAX_LEVEL(uint32_t val)
3129*4882a593Smuzhiyun {
3130*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_TEX_4_MIP_MAX_LEVEL__SHIFT) & A2XX_SQ_TEX_4_MIP_MAX_LEVEL__MASK;
3131*4882a593Smuzhiyun }
3132*4882a593Smuzhiyun #define A2XX_SQ_TEX_4_MAX_ANISO_WALK				0x00000400
3133*4882a593Smuzhiyun #define A2XX_SQ_TEX_4_MIN_ANISO_WALK				0x00000800
3134*4882a593Smuzhiyun #define A2XX_SQ_TEX_4_LOD_BIAS__MASK				0x003ff000
3135*4882a593Smuzhiyun #define A2XX_SQ_TEX_4_LOD_BIAS__SHIFT				12
A2XX_SQ_TEX_4_LOD_BIAS(float val)3136*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_TEX_4_LOD_BIAS(float val)
3137*4882a593Smuzhiyun {
3138*4882a593Smuzhiyun 	return ((((int32_t)(val * 32.0))) << A2XX_SQ_TEX_4_LOD_BIAS__SHIFT) & A2XX_SQ_TEX_4_LOD_BIAS__MASK;
3139*4882a593Smuzhiyun }
3140*4882a593Smuzhiyun #define A2XX_SQ_TEX_4_GRAD_EXP_ADJUST_H__MASK			0x07c00000
3141*4882a593Smuzhiyun #define A2XX_SQ_TEX_4_GRAD_EXP_ADJUST_H__SHIFT			22
A2XX_SQ_TEX_4_GRAD_EXP_ADJUST_H(uint32_t val)3142*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_TEX_4_GRAD_EXP_ADJUST_H(uint32_t val)
3143*4882a593Smuzhiyun {
3144*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_TEX_4_GRAD_EXP_ADJUST_H__SHIFT) & A2XX_SQ_TEX_4_GRAD_EXP_ADJUST_H__MASK;
3145*4882a593Smuzhiyun }
3146*4882a593Smuzhiyun #define A2XX_SQ_TEX_4_GRAD_EXP_ADJUST_V__MASK			0xf8000000
3147*4882a593Smuzhiyun #define A2XX_SQ_TEX_4_GRAD_EXP_ADJUST_V__SHIFT			27
A2XX_SQ_TEX_4_GRAD_EXP_ADJUST_V(uint32_t val)3148*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_TEX_4_GRAD_EXP_ADJUST_V(uint32_t val)
3149*4882a593Smuzhiyun {
3150*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_TEX_4_GRAD_EXP_ADJUST_V__SHIFT) & A2XX_SQ_TEX_4_GRAD_EXP_ADJUST_V__MASK;
3151*4882a593Smuzhiyun }
3152*4882a593Smuzhiyun 
3153*4882a593Smuzhiyun #define REG_A2XX_SQ_TEX_5					0x00000005
3154*4882a593Smuzhiyun #define A2XX_SQ_TEX_5_BORDER_COLOR__MASK			0x00000003
3155*4882a593Smuzhiyun #define A2XX_SQ_TEX_5_BORDER_COLOR__SHIFT			0
A2XX_SQ_TEX_5_BORDER_COLOR(enum sq_tex_border_color val)3156*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_TEX_5_BORDER_COLOR(enum sq_tex_border_color val)
3157*4882a593Smuzhiyun {
3158*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_TEX_5_BORDER_COLOR__SHIFT) & A2XX_SQ_TEX_5_BORDER_COLOR__MASK;
3159*4882a593Smuzhiyun }
3160*4882a593Smuzhiyun #define A2XX_SQ_TEX_5_FORCE_BCW_MAX				0x00000004
3161*4882a593Smuzhiyun #define A2XX_SQ_TEX_5_TRI_CLAMP__MASK				0x00000018
3162*4882a593Smuzhiyun #define A2XX_SQ_TEX_5_TRI_CLAMP__SHIFT				3
A2XX_SQ_TEX_5_TRI_CLAMP(uint32_t val)3163*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_TEX_5_TRI_CLAMP(uint32_t val)
3164*4882a593Smuzhiyun {
3165*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_TEX_5_TRI_CLAMP__SHIFT) & A2XX_SQ_TEX_5_TRI_CLAMP__MASK;
3166*4882a593Smuzhiyun }
3167*4882a593Smuzhiyun #define A2XX_SQ_TEX_5_ANISO_BIAS__MASK				0x000001e0
3168*4882a593Smuzhiyun #define A2XX_SQ_TEX_5_ANISO_BIAS__SHIFT				5
A2XX_SQ_TEX_5_ANISO_BIAS(float val)3169*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_TEX_5_ANISO_BIAS(float val)
3170*4882a593Smuzhiyun {
3171*4882a593Smuzhiyun 	return ((((int32_t)(val * 1.0))) << A2XX_SQ_TEX_5_ANISO_BIAS__SHIFT) & A2XX_SQ_TEX_5_ANISO_BIAS__MASK;
3172*4882a593Smuzhiyun }
3173*4882a593Smuzhiyun #define A2XX_SQ_TEX_5_DIMENSION__MASK				0x00000600
3174*4882a593Smuzhiyun #define A2XX_SQ_TEX_5_DIMENSION__SHIFT				9
A2XX_SQ_TEX_5_DIMENSION(enum sq_tex_dimension val)3175*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_TEX_5_DIMENSION(enum sq_tex_dimension val)
3176*4882a593Smuzhiyun {
3177*4882a593Smuzhiyun 	return ((val) << A2XX_SQ_TEX_5_DIMENSION__SHIFT) & A2XX_SQ_TEX_5_DIMENSION__MASK;
3178*4882a593Smuzhiyun }
3179*4882a593Smuzhiyun #define A2XX_SQ_TEX_5_PACKED_MIPS				0x00000800
3180*4882a593Smuzhiyun #define A2XX_SQ_TEX_5_MIP_ADDRESS__MASK				0xfffff000
3181*4882a593Smuzhiyun #define A2XX_SQ_TEX_5_MIP_ADDRESS__SHIFT			12
A2XX_SQ_TEX_5_MIP_ADDRESS(uint32_t val)3182*4882a593Smuzhiyun static inline uint32_t A2XX_SQ_TEX_5_MIP_ADDRESS(uint32_t val)
3183*4882a593Smuzhiyun {
3184*4882a593Smuzhiyun 	return ((val >> 12) << A2XX_SQ_TEX_5_MIP_ADDRESS__SHIFT) & A2XX_SQ_TEX_5_MIP_ADDRESS__MASK;
3185*4882a593Smuzhiyun }
3186*4882a593Smuzhiyun 
3187*4882a593Smuzhiyun 
3188*4882a593Smuzhiyun #endif /* A2XX_XML */
3189