blob: 73e2c7c6edbc63c02e35a198a684e40708c65c8f [file] [log] [blame]
Alex Deucher65388342010-03-05 19:22:24 -05001/*
2 * Copyright 2009 Advanced Micro Devices, Inc.
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice (including the next
12 * paragraph) shall be included in all copies or substantial portions of the
13 * Software.
14 *
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18 * THE COPYRIGHT HOLDER(S) AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
19 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
20 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21 * DEALINGS IN THE SOFTWARE.
22 *
23 * Authors:
24 * Alex Deucher <alexander.deucher@amd.com>
25 */
Jerome Glisse3ce0a232009-09-08 10:10:24 +100026
27#include <linux/types.h>
28#include <linux/kernel.h>
29
Alex Deucher65388342010-03-05 19:22:24 -050030/*
31 * R6xx+ cards need to use the 3D engine to blit data which requires
32 * quite a bit of hw state setup. Rather than pull the whole 3D driver
33 * (which normally generates the 3D state) into the DRM, we opt to use
34 * statically generated state tables. The regsiter state and shaders
35 * were hand generated to support blitting functionality. See the 3D
36 * driver or documentation for descriptions of the registers and
37 * shader instructions.
38 */
39
Jerome Glisse3ce0a232009-09-08 10:10:24 +100040const u32 r6xx_default_state[] =
41{
Alex Deucher8c119e92010-07-26 12:39:00 -040042 0xc0002400, /* START_3D_CMDBUF */
Jerome Glisse3ce0a232009-09-08 10:10:24 +100043 0x00000000,
Alex Deucher8c119e92010-07-26 12:39:00 -040044
45 0xc0012800, /* CONTEXT_CONTROL */
Jerome Glisse3ce0a232009-09-08 10:10:24 +100046 0x80000000,
47 0x80000000,
Alex Deucher8c119e92010-07-26 12:39:00 -040048
Jerome Glisse3ce0a232009-09-08 10:10:24 +100049 0xc0016800,
50 0x00000010,
Alex Deucher8c119e92010-07-26 12:39:00 -040051 0x00008000, /* WAIT_UNTIL */
52
Jerome Glisse3ce0a232009-09-08 10:10:24 +100053 0xc0016800,
54 0x00000542,
Alex Deucher8c119e92010-07-26 12:39:00 -040055 0x07000003, /* TA_CNTL_AUX */
56
Jerome Glisse3ce0a232009-09-08 10:10:24 +100057 0xc0016800,
58 0x000005c5,
Alex Deucher8c119e92010-07-26 12:39:00 -040059 0x00000000, /* VC_ENHANCE */
60
Jerome Glisse3ce0a232009-09-08 10:10:24 +100061 0xc0016800,
62 0x00000363,
Alex Deucher8c119e92010-07-26 12:39:00 -040063 0x00000000, /* SQ_DYN_GPR_CNTL_PS_FLUSH_REQ */
64
Jerome Glisse3ce0a232009-09-08 10:10:24 +100065 0xc0016800,
66 0x0000060c,
Alex Deucher8c119e92010-07-26 12:39:00 -040067 0x82000000, /* DB_DEBUG */
68
Jerome Glisse3ce0a232009-09-08 10:10:24 +100069 0xc0016800,
70 0x0000060e,
Alex Deucher8c119e92010-07-26 12:39:00 -040071 0x01020204, /* DB_WATERMARKS */
72
Alex Deuchereb544432010-07-27 18:57:06 -040073 0xc0026f00,
Jerome Glisse3ce0a232009-09-08 10:10:24 +100074 0x00000000,
Alex Deucher8c119e92010-07-26 12:39:00 -040075 0x00000000, /* SQ_VTX_BASE_VTX_LOC */
Alex Deucher8c119e92010-07-26 12:39:00 -040076 0x00000000, /* SQ_VTX_START_INST_LOC */
77
Jerome Glisse3ce0a232009-09-08 10:10:24 +100078 0xc0096900,
79 0x0000022a,
Alex Deucher8c119e92010-07-26 12:39:00 -040080 0x00000000, /* SQ_ESGS_RING_ITEMSIZE */
Jerome Glisse3ce0a232009-09-08 10:10:24 +100081 0x00000000,
82 0x00000000,
83 0x00000000,
84 0x00000000,
85 0x00000000,
86 0x00000000,
87 0x00000000,
88 0x00000000,
Alex Deucher8c119e92010-07-26 12:39:00 -040089
Jerome Glisse3ce0a232009-09-08 10:10:24 +100090 0xc0016900,
91 0x00000004,
Alex Deucher8c119e92010-07-26 12:39:00 -040092 0x00000000, /* DB_DEPTH_INFO */
93
Alex Deuchereb544432010-07-27 18:57:06 -040094 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +100095 0x0000000a,
Alex Deucher8c119e92010-07-26 12:39:00 -040096 0x00000000, /* DB_STENCIL_CLEAR */
Alex Deucher8c119e92010-07-26 12:39:00 -040097 0x00000000, /* DB_DEPTH_CLEAR */
98
Jerome Glisse3ce0a232009-09-08 10:10:24 +100099 0xc0016900,
100 0x00000200,
Alex Deucher8c119e92010-07-26 12:39:00 -0400101 0x00000000, /* DB_DEPTH_CONTROL */
102
Alex Deuchereb544432010-07-27 18:57:06 -0400103 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000104 0x00000343,
Alex Deucher8c119e92010-07-26 12:39:00 -0400105 0x00000060, /* DB_RENDER_CONTROL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400106 0x00000040, /* DB_RENDER_OVERRIDE */
107
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000108 0xc0016900,
109 0x00000351,
Alex Deucher8c119e92010-07-26 12:39:00 -0400110 0x0000aa00, /* DB_ALPHA_TO_MASK */
111
Alex Deucher43a7d2d2010-07-27 11:20:54 -0400112 0xc00f6900,
Alex Deucherd0623a32010-07-27 11:17:44 -0400113 0x00000100,
114 0x00000800, /* VGT_MAX_VTX_INDX */
115 0x00000000, /* VGT_MIN_VTX_INDX */
116 0x00000000, /* VGT_INDX_OFFSET */
Alex Deucherd0623a32010-07-27 11:17:44 -0400117 0x00000000, /* VGT_MULTI_PRIM_IB_RESET_INDX */
Alex Deucher8c119e92010-07-26 12:39:00 -0400118 0x00000000, /* SX_ALPHA_TEST_CONTROL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400119 0x00000000, /* CB_BLEND_RED */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000120 0x00000000,
121 0x00000000,
122 0x00000000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400123 0x00000000, /* CB_FOG_RED */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000124 0x00000000,
125 0x00000000,
Alex Deucherd0623a32010-07-27 11:17:44 -0400126 0x00000000, /* DB_STENCILREFMASK */
127 0x00000000, /* DB_STENCILREFMASK_BF */
Alex Deucherd0623a32010-07-27 11:17:44 -0400128 0x00000000, /* SX_ALPHA_REF */
129
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000130 0xc0046900,
131 0x0000030c,
Alex Deucher8c119e92010-07-26 12:39:00 -0400132 0x01000000, /* CB_CLRCMP_CNTL */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000133 0x00000000,
134 0x00000000,
135 0x00000000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400136
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000137 0xc0046900,
138 0x00000048,
Alex Deucher8c119e92010-07-26 12:39:00 -0400139 0x3f800000, /* CB_CLEAR_RED */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000140 0x00000000,
141 0x3f800000,
142 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400143
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000144 0xc0016900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000145 0x00000080,
Alex Deucher8c119e92010-07-26 12:39:00 -0400146 0x00000000, /* PA_SC_WINDOW_OFFSET */
147
Alex Deuchereb544432010-07-27 18:57:06 -0400148 0xc00a6900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000149 0x00000083,
Alex Deucher8c119e92010-07-26 12:39:00 -0400150 0x0000ffff, /* PA_SC_CLIP_RECT_RULE */
Alex Deuchereb544432010-07-27 18:57:06 -0400151 0x00000000, /* PA_SC_CLIPRECT_0_TL */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000152 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000153 0x00000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000154 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000155 0x00000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000156 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000157 0x00000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000158 0x20002000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400159 0x00000000, /* PA_SC_EDGERULE */
160
Alex Deucher363c6a12010-07-26 13:47:54 -0400161 0xc0406900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000162 0x00000094,
Alex Deucher8c119e92010-07-26 12:39:00 -0400163 0x80000000, /* PA_SC_VPORT_SCISSOR_0_TL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400164 0x20002000, /* PA_SC_VPORT_SCISSOR_0_BR */
Alex Deucher8c119e92010-07-26 12:39:00 -0400165 0x80000000, /* PA_SC_VPORT_SCISSOR_1_TL */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000166 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000167 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000168 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000169 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000170 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000171 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000172 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000173 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000174 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000175 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000176 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000177 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000178 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000179 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000180 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000181 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000182 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000183 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000184 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000185 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000186 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000187 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000188 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000189 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000190 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000191 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000192 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000193 0x80000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000194 0x20002000,
Alex Deucher363c6a12010-07-26 13:47:54 -0400195 0x00000000, /* PA_SC_VPORT_ZMIN_0 */
196 0x3f800000,
197 0x00000000,
198 0x3f800000,
199 0x00000000,
200 0x3f800000,
201 0x00000000,
202 0x3f800000,
203 0x00000000,
204 0x3f800000,
205 0x00000000,
206 0x3f800000,
207 0x00000000,
208 0x3f800000,
209 0x00000000,
210 0x3f800000,
211 0x00000000,
212 0x3f800000,
213 0x00000000,
214 0x3f800000,
215 0x00000000,
216 0x3f800000,
217 0x00000000,
218 0x3f800000,
219 0x00000000,
220 0x3f800000,
221 0x00000000,
222 0x3f800000,
223 0x00000000,
224 0x3f800000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000225 0x00000000,
226 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400227
Alex Deucher43a7d2d2010-07-27 11:20:54 -0400228 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000229 0x00000292,
Alex Deucher8c119e92010-07-26 12:39:00 -0400230 0x00000000, /* PA_SC_MPASS_PS_CNTL */
Alex Deucherd0623a32010-07-27 11:17:44 -0400231 0x00004010, /* PA_SC_MODE_CNTL */
232
Alex Deucher43a7d2d2010-07-27 11:20:54 -0400233 0xc0096900,
Alex Deucherd0623a32010-07-27 11:17:44 -0400234 0x00000300,
235 0x00000000, /* PA_SC_LINE_CNTL */
236 0x00000000, /* PA_SC_AA_CONFIG */
Alex Deucherd0623a32010-07-27 11:17:44 -0400237 0x0000002d, /* PA_SU_VTX_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400238 0x3f800000, /* PA_CL_GB_VERT_CLIP_ADJ */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000239 0x3f800000,
240 0x3f800000,
241 0x3f800000,
Alex Deucherd0623a32010-07-27 11:17:44 -0400242 0x00000000, /* PA_SC_SAMPLE_LOCS_MCTX */
243 0x00000000,
244
245 0xc0016900,
246 0x00000312,
247 0xffffffff, /* PA_SC_AA_MASK */
Alex Deucher8c119e92010-07-26 12:39:00 -0400248
Alex Deucher43a7d2d2010-07-27 11:20:54 -0400249 0xc0066900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000250 0x0000037e,
Alex Deucher8c119e92010-07-26 12:39:00 -0400251 0x00000000, /* PA_SU_POLY_OFFSET_DB_FMT_CNTL */
Alex Deucherd0623a32010-07-27 11:17:44 -0400252 0x00000000, /* PA_SU_POLY_OFFSET_CLAMP */
Alex Deucher8c119e92010-07-26 12:39:00 -0400253 0x00000000, /* PA_SU_POLY_OFFSET_FRONT_SCALE */
Alex Deucher8c119e92010-07-26 12:39:00 -0400254 0x00000000, /* PA_SU_POLY_OFFSET_FRONT_OFFSET */
Alex Deucherd0623a32010-07-27 11:17:44 -0400255 0x00000000, /* PA_SU_POLY_OFFSET_BACK_SCALE */
Alex Deucherd0623a32010-07-27 11:17:44 -0400256 0x00000000, /* PA_SU_POLY_OFFSET_BACK_OFFSET */
Alex Deucher8c119e92010-07-26 12:39:00 -0400257
Alex Deuchereb544432010-07-27 18:57:06 -0400258 0xc0046900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000259 0x000001b6,
Alex Deucher8c119e92010-07-26 12:39:00 -0400260 0x00000000, /* SPI_INPUT_Z */
Alex Deucher8c119e92010-07-26 12:39:00 -0400261 0x00000000, /* SPI_FOG_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400262 0x00000000, /* SPI_FOG_FUNC_SCALE */
Alex Deucher8c119e92010-07-26 12:39:00 -0400263 0x00000000, /* SPI_FOG_FUNC_BIAS */
264
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000265 0xc0016900,
266 0x00000225,
Alex Deucher8c119e92010-07-26 12:39:00 -0400267 0x00000000, /* SQ_PGM_START_FS */
268
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000269 0xc0016900,
270 0x00000229,
Alex Deucher8c119e92010-07-26 12:39:00 -0400271 0x00000000, /* SQ_PGM_RESOURCES_FS */
272
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000273 0xc0016900,
274 0x00000237,
Alex Deucher8c119e92010-07-26 12:39:00 -0400275 0x00000000, /* SQ_PGM_CF_OFFSET_FS */
276
Alex Deuchereb544432010-07-27 18:57:06 -0400277 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000278 0x000002a8,
Alex Deucher8c119e92010-07-26 12:39:00 -0400279 0x00000000, /* VGT_INSTANCE_STEP_RATE_0 */
Alex Deucher8c119e92010-07-26 12:39:00 -0400280 0x00000000, /* VGT_INSTANCE_STEP_RATE_1 */
281
Alex Deucher43a7d2d2010-07-27 11:20:54 -0400282 0xc0116900,
Alex Deucherd0623a32010-07-27 11:17:44 -0400283 0x00000280,
284 0x00000000, /* PA_SU_POINT_SIZE */
285 0x00000000, /* PA_SU_POINT_MINMAX */
Alex Deucherd0623a32010-07-27 11:17:44 -0400286 0x00000008, /* PA_SU_LINE_CNTL */
Alex Deucherd0623a32010-07-27 11:17:44 -0400287 0x00000000, /* PA_SC_LINE_STIPPLE */
Alex Deucher8c119e92010-07-26 12:39:00 -0400288 0x00000000, /* VGT_OUTPUT_PATH_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400289 0x00000000, /* VGT_HOS_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400290 0x00000000, /* VGT_HOS_MAX_TESS_LEVEL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400291 0x00000000, /* VGT_HOS_MIN_TESS_LEVEL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400292 0x00000000, /* VGT_HOS_REUSE_DEPTH */
Alex Deucher8c119e92010-07-26 12:39:00 -0400293 0x00000000, /* VGT_GROUP_PRIM_TYPE */
Alex Deucher8c119e92010-07-26 12:39:00 -0400294 0x00000000, /* VGT_GROUP_FIRST_DECR */
Alex Deucher8c119e92010-07-26 12:39:00 -0400295 0x00000000, /* VGT_GROUP_DECR */
Alex Deucher8c119e92010-07-26 12:39:00 -0400296 0x00000000, /* VGT_GROUP_VECT_0_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400297 0x00000000, /* VGT_GROUP_VECT_1_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400298 0x00000000, /* VGT_GROUP_VECT_0_FMT_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400299 0x00000000, /* VGT_GROUP_VECT_1_FMT_CNTL */
Alex Deucherd0623a32010-07-27 11:17:44 -0400300 0x00000000, /* VGT_GS_MODE */
301
302 0xc0016900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000303 0x000002a1,
Alex Deucher8c119e92010-07-26 12:39:00 -0400304 0x00000000, /* VGT_PRIMITIVEID_EN */
305
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000306 0xc0016900,
307 0x000002a5,
Alex Deucher8c119e92010-07-26 12:39:00 -0400308 0x00000000, /* VGT_MULTI_PRIM_ID_RESET_EN */
309
Alex Deuchereb544432010-07-27 18:57:06 -0400310 0xc0036900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000311 0x000002ac,
Alex Deucher8c119e92010-07-26 12:39:00 -0400312 0x00000000, /* VGT_STRMOUT_EN */
Alex Deucher8c119e92010-07-26 12:39:00 -0400313 0x00000000, /* VGT_REUSE_OFF */
Alex Deucher8c119e92010-07-26 12:39:00 -0400314 0x00000000, /* VGT_VTX_CNT_EN */
315
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000316 0xc0016900,
Marek Olšákcf007902012-03-07 23:33:00 +0100317 0x000000d4,
318 0x00000000, /* SX_MISC */
319
320 0xc0016900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000321 0x000002c8,
Alex Deucher8c119e92010-07-26 12:39:00 -0400322 0x00000000, /* VGT_STRMOUT_BUFFER_EN */
323
Alex Deucher43a7d2d2010-07-27 11:20:54 -0400324 0xc0076900,
Alex Deucherd0623a32010-07-27 11:17:44 -0400325 0x00000202,
326 0x00cc0000, /* CB_COLOR_CONTROL */
Alex Deucherd0623a32010-07-27 11:17:44 -0400327 0x00000210, /* DB_SHADER_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400328 0x00010000, /* PA_CL_CLIP_CNTL */
Alex Deucherd0623a32010-07-27 11:17:44 -0400329 0x00000244, /* PA_SU_SC_MODE_CNTL */
Alex Deucherd0623a32010-07-27 11:17:44 -0400330 0x00000100, /* PA_CL_VTE_CNTL */
Alex Deucherd0623a32010-07-27 11:17:44 -0400331 0x00000000, /* PA_CL_VS_OUT_CNTL */
332 0x00000000, /* PA_CL_NANINF_CNTL */
333
Alex Deucher43a7d2d2010-07-27 11:20:54 -0400334 0xc0026900,
Alex Deucherd0623a32010-07-27 11:17:44 -0400335 0x0000008e,
336 0x0000000f, /* CB_TARGET_MASK */
Alex Deucher8c119e92010-07-26 12:39:00 -0400337 0x0000000f, /* CB_SHADER_MASK */
338
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000339 0xc0016900,
340 0x000001e8,
Alex Deucher8c119e92010-07-26 12:39:00 -0400341 0x00000001, /* CB_SHADER_CONTROL */
342
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000343 0xc0016900,
Alex Deucherd0623a32010-07-27 11:17:44 -0400344 0x00000185,
345 0x00000000, /* SPI_VS_OUT_ID_0 */
Alex Deucher8c119e92010-07-26 12:39:00 -0400346
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000347 0xc0016900,
Alex Deucherd0623a32010-07-27 11:17:44 -0400348 0x00000191,
349 0x00000b00, /* SPI_PS_INPUT_CNTL_0 */
Alex Deucher8c119e92010-07-26 12:39:00 -0400350
Alex Deucher43a7d2d2010-07-27 11:20:54 -0400351 0xc0056900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000352 0x000001b1,
Alex Deucher8c119e92010-07-26 12:39:00 -0400353 0x00000000, /* SPI_VS_OUT_CONFIG */
Alex Deucherd0623a32010-07-27 11:17:44 -0400354 0x00000000, /* SPI_THREAD_GROUPING */
Alex Deucher8c119e92010-07-26 12:39:00 -0400355 0x00000001, /* SPI_PS_IN_CONTROL_0 */
Alex Deucher8c119e92010-07-26 12:39:00 -0400356 0x00000000, /* SPI_PS_IN_CONTROL_1 */
Alex Deucher8c119e92010-07-26 12:39:00 -0400357 0x00000000, /* SPI_INTERP_CONTROL_0 */
Alex Deucherd0623a32010-07-27 11:17:44 -0400358
359 0xc0036e00, /* SET_SAMPLER */
360 0x00000000,
361 0x00000012,
362 0x00000000,
363 0x00000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000364};
365
366const u32 r7xx_default_state[] =
367{
Alex Deucher8c119e92010-07-26 12:39:00 -0400368 0xc0012800, /* CONTEXT_CONTROL */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000369 0x80000000,
370 0x80000000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400371
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000372 0xc0016800,
373 0x00000010,
Alex Deucher8c119e92010-07-26 12:39:00 -0400374 0x00008000, /* WAIT_UNTIL */
375
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000376 0xc0016800,
377 0x00000542,
Alex Deucher8c119e92010-07-26 12:39:00 -0400378 0x07000002, /* TA_CNTL_AUX */
379
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000380 0xc0016800,
381 0x000005c5,
Alex Deucher8c119e92010-07-26 12:39:00 -0400382 0x00000000, /* VC_ENHANCE */
383
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000384 0xc0016800,
385 0x00000363,
Alex Deucher8c119e92010-07-26 12:39:00 -0400386 0x00004000, /* SQ_DYN_GPR_CNTL_PS_FLUSH_REQ */
387
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000388 0xc0016800,
389 0x0000060c,
Alex Deucher8c119e92010-07-26 12:39:00 -0400390 0x00000000, /* DB_DEBUG */
391
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000392 0xc0016800,
393 0x0000060e,
Alex Deucher8c119e92010-07-26 12:39:00 -0400394 0x00420204, /* DB_WATERMARKS */
395
Alex Deuchereb544432010-07-27 18:57:06 -0400396 0xc0026f00,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000397 0x00000000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400398 0x00000000, /* SQ_VTX_BASE_VTX_LOC */
Alex Deucher8c119e92010-07-26 12:39:00 -0400399 0x00000000, /* SQ_VTX_START_INST_LOC */
400
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000401 0xc0096900,
402 0x0000022a,
Alex Deucher8c119e92010-07-26 12:39:00 -0400403 0x00000000, /* SQ_ESGS_RING_ITEMSIZE */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000404 0x00000000,
405 0x00000000,
406 0x00000000,
407 0x00000000,
408 0x00000000,
409 0x00000000,
410 0x00000000,
411 0x00000000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400412
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000413 0xc0016900,
414 0x00000004,
Alex Deucher8c119e92010-07-26 12:39:00 -0400415 0x00000000, /* DB_DEPTH_INFO */
416
Alex Deuchereb544432010-07-27 18:57:06 -0400417 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000418 0x0000000a,
Alex Deucher8c119e92010-07-26 12:39:00 -0400419 0x00000000, /* DB_STENCIL_CLEAR */
Alex Deucher8c119e92010-07-26 12:39:00 -0400420 0x00000000, /* DB_DEPTH_CLEAR */
421
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000422 0xc0016900,
423 0x00000200,
Alex Deucher8c119e92010-07-26 12:39:00 -0400424 0x00000000, /* DB_DEPTH_CONTROL */
425
Alex Deuchereb544432010-07-27 18:57:06 -0400426 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000427 0x00000343,
Alex Deucher8c119e92010-07-26 12:39:00 -0400428 0x00000060, /* DB_RENDER_CONTROL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400429 0x00000000, /* DB_RENDER_OVERRIDE */
430
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000431 0xc0016900,
432 0x00000351,
Alex Deucher8c119e92010-07-26 12:39:00 -0400433 0x0000aa00, /* DB_ALPHA_TO_MASK */
434
Alex Deucher43a7d2d2010-07-27 11:20:54 -0400435 0xc0096900,
Alex Deucherd0623a32010-07-27 11:17:44 -0400436 0x00000100,
437 0x00000800, /* VGT_MAX_VTX_INDX */
438 0x00000000, /* VGT_MIN_VTX_INDX */
439 0x00000000, /* VGT_INDX_OFFSET */
Alex Deucherd0623a32010-07-27 11:17:44 -0400440 0x00000000, /* VGT_MULTI_PRIM_IB_RESET_INDX */
Alex Deucher8c119e92010-07-26 12:39:00 -0400441 0x00000000, /* SX_ALPHA_TEST_CONTROL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400442 0x00000000, /* CB_BLEND_RED */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000443 0x00000000,
444 0x00000000,
445 0x00000000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400446
Alex Deucher43a7d2d2010-07-27 11:20:54 -0400447 0xc0036900,
Alex Deucherd0623a32010-07-27 11:17:44 -0400448 0x0000010c,
449 0x00000000, /* DB_STENCILREFMASK */
450 0x00000000, /* DB_STENCILREFMASK_BF */
Alex Deucherd0623a32010-07-27 11:17:44 -0400451 0x00000000, /* SX_ALPHA_REF */
452
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000453 0xc0046900,
Alex Deucher8c119e92010-07-26 12:39:00 -0400454 0x0000030c, /* CB_CLRCMP_CNTL */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000455 0x01000000,
456 0x00000000,
457 0x00000000,
458 0x00000000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400459
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000460 0xc0016900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000461 0x00000080,
Alex Deucher8c119e92010-07-26 12:39:00 -0400462 0x00000000, /* PA_SC_WINDOW_OFFSET */
463
Alex Deuchereb544432010-07-27 18:57:06 -0400464 0xc00a6900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000465 0x00000083,
Alex Deucher8c119e92010-07-26 12:39:00 -0400466 0x0000ffff, /* PA_SC_CLIP_RECT_RULE */
Alex Deuchereb544432010-07-27 18:57:06 -0400467 0x00000000, /* PA_SC_CLIPRECT_0_TL */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000468 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000469 0x00000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000470 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000471 0x00000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000472 0x20002000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000473 0x00000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000474 0x20002000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400475 0xaaaaaaaa, /* PA_SC_EDGERULE */
476
Alex Deucher363c6a12010-07-26 13:47:54 -0400477 0xc0406900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000478 0x00000094,
Alex Deucher8c119e92010-07-26 12:39:00 -0400479 0x80000000, /* PA_SC_VPORT_SCISSOR_0_TL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400480 0x20002000, /* PA_SC_VPORT_SCISSOR_0_BR */
Alex Deucher363c6a12010-07-26 13:47:54 -0400481 0x80000000, /* PA_SC_VPORT_SCISSOR_1_TL */
482 0x20002000,
483 0x80000000,
484 0x20002000,
485 0x80000000,
486 0x20002000,
487 0x80000000,
488 0x20002000,
489 0x80000000,
490 0x20002000,
491 0x80000000,
492 0x20002000,
493 0x80000000,
494 0x20002000,
495 0x80000000,
496 0x20002000,
497 0x80000000,
498 0x20002000,
499 0x80000000,
500 0x20002000,
501 0x80000000,
502 0x20002000,
503 0x80000000,
504 0x20002000,
505 0x80000000,
506 0x20002000,
507 0x80000000,
508 0x20002000,
509 0x80000000,
510 0x20002000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400511 0x00000000, /* PA_SC_VPORT_ZMIN_0 */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000512 0x3f800000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000513 0x00000000,
514 0x3f800000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000515 0x00000000,
516 0x3f800000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000517 0x00000000,
518 0x3f800000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000519 0x00000000,
520 0x3f800000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000521 0x00000000,
522 0x3f800000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000523 0x00000000,
524 0x3f800000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000525 0x00000000,
526 0x3f800000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000527 0x00000000,
528 0x3f800000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000529 0x00000000,
530 0x3f800000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000531 0x00000000,
532 0x3f800000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000533 0x00000000,
534 0x3f800000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000535 0x00000000,
536 0x3f800000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000537 0x00000000,
538 0x3f800000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000539 0x00000000,
540 0x3f800000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000541 0x00000000,
542 0x3f800000,
Alex Deucher8c119e92010-07-26 12:39:00 -0400543
Alex Deucher43a7d2d2010-07-27 11:20:54 -0400544 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000545 0x00000292,
Alex Deucher8c119e92010-07-26 12:39:00 -0400546 0x00000000, /* PA_SC_MPASS_PS_CNTL */
Alex Deucherd0623a32010-07-27 11:17:44 -0400547 0x00514000, /* PA_SC_MODE_CNTL */
548
Alex Deucher43a7d2d2010-07-27 11:20:54 -0400549 0xc0096900,
Alex Deucherd0623a32010-07-27 11:17:44 -0400550 0x00000300,
551 0x00000000, /* PA_SC_LINE_CNTL */
552 0x00000000, /* PA_SC_AA_CONFIG */
Alex Deucherd0623a32010-07-27 11:17:44 -0400553 0x0000002d, /* PA_SU_VTX_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400554 0x3f800000, /* PA_CL_GB_VERT_CLIP_ADJ */
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000555 0x3f800000,
556 0x3f800000,
557 0x3f800000,
Alex Deucherd0623a32010-07-27 11:17:44 -0400558 0x00000000, /* PA_SC_SAMPLE_LOCS_MCTX */
559 0x00000000,
560
561 0xc0016900,
562 0x00000312,
563 0xffffffff, /* PA_SC_AA_MASK */
Alex Deucher8c119e92010-07-26 12:39:00 -0400564
Alex Deucher43a7d2d2010-07-27 11:20:54 -0400565 0xc0066900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000566 0x0000037e,
Alex Deucher8c119e92010-07-26 12:39:00 -0400567 0x00000000, /* PA_SU_POLY_OFFSET_DB_FMT_CNTL */
Alex Deucherd0623a32010-07-27 11:17:44 -0400568 0x00000000, /* PA_SU_POLY_OFFSET_CLAMP */
Alex Deucher8c119e92010-07-26 12:39:00 -0400569 0x00000000, /* PA_SU_POLY_OFFSET_FRONT_SCALE */
Alex Deucher8c119e92010-07-26 12:39:00 -0400570 0x00000000, /* PA_SU_POLY_OFFSET_FRONT_OFFSET */
Alex Deucherd0623a32010-07-27 11:17:44 -0400571 0x00000000, /* PA_SU_POLY_OFFSET_BACK_SCALE */
Alex Deucherd0623a32010-07-27 11:17:44 -0400572 0x00000000, /* PA_SU_POLY_OFFSET_BACK_OFFSET */
Alex Deucher8c119e92010-07-26 12:39:00 -0400573
Alex Deuchereb544432010-07-27 18:57:06 -0400574 0xc0046900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000575 0x000001b6,
Alex Deucher8c119e92010-07-26 12:39:00 -0400576 0x00000000, /* SPI_INPUT_Z */
Alex Deucher8c119e92010-07-26 12:39:00 -0400577 0x00000000, /* SPI_FOG_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400578 0x00000000, /* SPI_FOG_FUNC_SCALE */
Alex Deucher8c119e92010-07-26 12:39:00 -0400579 0x00000000, /* SPI_FOG_FUNC_BIAS */
580
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000581 0xc0016900,
582 0x00000225,
Alex Deucher8c119e92010-07-26 12:39:00 -0400583 0x00000000, /* SQ_PGM_START_FS */
584
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000585 0xc0016900,
586 0x00000229,
Alex Deucher8c119e92010-07-26 12:39:00 -0400587 0x00000000, /* SQ_PGM_RESOURCES_FS */
588
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000589 0xc0016900,
590 0x00000237,
Alex Deucher8c119e92010-07-26 12:39:00 -0400591 0x00000000, /* SQ_PGM_CF_OFFSET_FS */
592
Alex Deuchereb544432010-07-27 18:57:06 -0400593 0xc0026900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000594 0x000002a8,
Alex Deucher8c119e92010-07-26 12:39:00 -0400595 0x00000000, /* VGT_INSTANCE_STEP_RATE_0 */
Alex Deucher8c119e92010-07-26 12:39:00 -0400596 0x00000000, /* VGT_INSTANCE_STEP_RATE_1 */
597
Alex Deucher43a7d2d2010-07-27 11:20:54 -0400598 0xc0116900,
Alex Deucherd0623a32010-07-27 11:17:44 -0400599 0x00000280,
600 0x00000000, /* PA_SU_POINT_SIZE */
601 0x00000000, /* PA_SU_POINT_MINMAX */
Alex Deucherd0623a32010-07-27 11:17:44 -0400602 0x00000008, /* PA_SU_LINE_CNTL */
Alex Deucherd0623a32010-07-27 11:17:44 -0400603 0x00000000, /* PA_SC_LINE_STIPPLE */
Alex Deucher8c119e92010-07-26 12:39:00 -0400604 0x00000000, /* VGT_OUTPUT_PATH_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400605 0x00000000, /* VGT_HOS_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400606 0x00000000, /* VGT_HOS_MAX_TESS_LEVEL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400607 0x00000000, /* VGT_HOS_MIN_TESS_LEVEL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400608 0x00000000, /* VGT_HOS_REUSE_DEPTH */
Alex Deucher8c119e92010-07-26 12:39:00 -0400609 0x00000000, /* VGT_GROUP_PRIM_TYPE */
Alex Deucher8c119e92010-07-26 12:39:00 -0400610 0x00000000, /* VGT_GROUP_FIRST_DECR */
Alex Deucher8c119e92010-07-26 12:39:00 -0400611 0x00000000, /* VGT_GROUP_DECR */
Alex Deucher8c119e92010-07-26 12:39:00 -0400612 0x00000000, /* VGT_GROUP_VECT_0_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400613 0x00000000, /* VGT_GROUP_VECT_1_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400614 0x00000000, /* VGT_GROUP_VECT_0_FMT_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400615 0x00000000, /* VGT_GROUP_VECT_1_FMT_CNTL */
Alex Deucherd0623a32010-07-27 11:17:44 -0400616 0x00000000, /* VGT_GS_MODE */
617
618 0xc0016900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000619 0x000002a1,
Alex Deucher8c119e92010-07-26 12:39:00 -0400620 0x00000000, /* VGT_PRIMITIVEID_EN */
621
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000622 0xc0016900,
623 0x000002a5,
Alex Deucher8c119e92010-07-26 12:39:00 -0400624 0x00000000, /* VGT_MULTI_PRIM_ID_RESET_EN */
625
Alex Deuchereb544432010-07-27 18:57:06 -0400626 0xc0036900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000627 0x000002ac,
Alex Deucher8c119e92010-07-26 12:39:00 -0400628 0x00000000, /* VGT_STRMOUT_EN */
Alex Deucher8c119e92010-07-26 12:39:00 -0400629 0x00000000, /* VGT_REUSE_OFF */
Alex Deucher8c119e92010-07-26 12:39:00 -0400630 0x00000000, /* VGT_VTX_CNT_EN */
631
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000632 0xc0016900,
Marek Olšákcf007902012-03-07 23:33:00 +0100633 0x000000d4,
634 0x00000000, /* SX_MISC */
635
636 0xc0016900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000637 0x000002c8,
Alex Deucher8c119e92010-07-26 12:39:00 -0400638 0x00000000, /* VGT_STRMOUT_BUFFER_EN */
639
Alex Deucher43a7d2d2010-07-27 11:20:54 -0400640 0xc0076900,
Alex Deucherd0623a32010-07-27 11:17:44 -0400641 0x00000202,
642 0x00cc0000, /* CB_COLOR_CONTROL */
Alex Deucherd0623a32010-07-27 11:17:44 -0400643 0x00000210, /* DB_SHADER_CNTL */
Alex Deucher8c119e92010-07-26 12:39:00 -0400644 0x00010000, /* PA_CL_CLIP_CNTL */
Alex Deucherd0623a32010-07-27 11:17:44 -0400645 0x00000244, /* PA_SU_SC_MODE_CNTL */
Alex Deucherd0623a32010-07-27 11:17:44 -0400646 0x00000100, /* PA_CL_VTE_CNTL */
Alex Deucherd0623a32010-07-27 11:17:44 -0400647 0x00000000, /* PA_CL_VS_OUT_CNTL */
648 0x00000000, /* PA_CL_NANINF_CNTL */
649
Alex Deucher43a7d2d2010-07-27 11:20:54 -0400650 0xc0026900,
Alex Deucherd0623a32010-07-27 11:17:44 -0400651 0x0000008e,
652 0x0000000f, /* CB_TARGET_MASK */
Alex Deucher8c119e92010-07-26 12:39:00 -0400653 0x0000000f, /* CB_SHADER_MASK */
654
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000655 0xc0016900,
656 0x000001e8,
Alex Deucher8c119e92010-07-26 12:39:00 -0400657 0x00000001, /* CB_SHADER_CONTROL */
658
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000659 0xc0016900,
Alex Deucherd0623a32010-07-27 11:17:44 -0400660 0x00000185,
661 0x00000000, /* SPI_VS_OUT_ID_0 */
Alex Deucher8c119e92010-07-26 12:39:00 -0400662
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000663 0xc0016900,
Alex Deucherd0623a32010-07-27 11:17:44 -0400664 0x00000191,
665 0x00000b00, /* SPI_PS_INPUT_CNTL_0 */
Alex Deucher8c119e92010-07-26 12:39:00 -0400666
Alex Deucher43a7d2d2010-07-27 11:20:54 -0400667 0xc0056900,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000668 0x000001b1,
Alex Deucher8c119e92010-07-26 12:39:00 -0400669 0x00000000, /* SPI_VS_OUT_CONFIG */
Alex Deucherd0623a32010-07-27 11:17:44 -0400670 0x00000001, /* SPI_THREAD_GROUPING */
Alex Deucher8c119e92010-07-26 12:39:00 -0400671 0x00000001, /* SPI_PS_IN_CONTROL_0 */
Alex Deucher8c119e92010-07-26 12:39:00 -0400672 0x00000000, /* SPI_PS_IN_CONTROL_1 */
Alex Deucher8c119e92010-07-26 12:39:00 -0400673 0x00000000, /* SPI_INTERP_CONTROL_0 */
Alex Deucherd0623a32010-07-27 11:17:44 -0400674
675 0xc0036e00, /* SET_SAMPLER */
676 0x00000000,
677 0x00000012,
678 0x00000000,
679 0x00000000,
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000680};
681
682/* same for r6xx/r7xx */
683const u32 r6xx_vs[] =
684{
685 0x00000004,
686 0x81000000,
687 0x0000203c,
688 0x94000b08,
689 0x00004000,
690 0x14200b1a,
691 0x00000000,
692 0x00000000,
693 0x3c000000,
694 0x68cd1000,
Cédric Cano4eace7f2011-02-11 19:45:38 -0500695#ifdef __BIG_ENDIAN
696 0x000a0000,
697#else
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000698 0x00080000,
Cédric Cano4eace7f2011-02-11 19:45:38 -0500699#endif
Jerome Glisse3ce0a232009-09-08 10:10:24 +1000700 0x00000000,
701};
702
703const u32 r6xx_ps[] =
704{
705 0x00000002,
706 0x80800000,
707 0x00000000,
708 0x94200688,
709 0x00000010,
710 0x000d1000,
711 0xb0800000,
712 0x00000000,
713};
714
715const u32 r6xx_ps_size = ARRAY_SIZE(r6xx_ps);
716const u32 r6xx_vs_size = ARRAY_SIZE(r6xx_vs);
717const u32 r6xx_default_size = ARRAY_SIZE(r6xx_default_state);
718const u32 r7xx_default_size = ARRAY_SIZE(r7xx_default_state);