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