1/*
2 * Copyright 2013 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 shall be included in
12 * all copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
17 * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
18 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
19 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
20 * OTHER DEALINGS IN THE SOFTWARE.
21 *
22 */
23
24#include "clearstate_defs.h"
25
26static const u32 si_SECT_CONTEXT_def_1[] = {
27    0x00000000, // DB_RENDER_CONTROL
28    0x00000000, // DB_COUNT_CONTROL
29    0x00000000, // DB_DEPTH_VIEW
30    0x00000000, // DB_RENDER_OVERRIDE
31    0x00000000, // DB_RENDER_OVERRIDE2
32    0x00000000, // DB_HTILE_DATA_BASE
33    0, // HOLE
34    0, // HOLE
35    0x00000000, // DB_DEPTH_BOUNDS_MIN
36    0x00000000, // DB_DEPTH_BOUNDS_MAX
37    0x00000000, // DB_STENCIL_CLEAR
38    0x00000000, // DB_DEPTH_CLEAR
39    0x00000000, // PA_SC_SCREEN_SCISSOR_TL
40    0x40004000, // PA_SC_SCREEN_SCISSOR_BR
41    0, // HOLE
42    0x00000000, // DB_DEPTH_INFO
43    0x00000000, // DB_Z_INFO
44    0x00000000, // DB_STENCIL_INFO
45    0x00000000, // DB_Z_READ_BASE
46    0x00000000, // DB_STENCIL_READ_BASE
47    0x00000000, // DB_Z_WRITE_BASE
48    0x00000000, // DB_STENCIL_WRITE_BASE
49    0x00000000, // DB_DEPTH_SIZE
50    0x00000000, // DB_DEPTH_SLICE
51    0, // HOLE
52    0, // HOLE
53    0, // HOLE
54    0, // HOLE
55    0, // HOLE
56    0, // HOLE
57    0, // HOLE
58    0, // HOLE
59    0x00000000, // TA_BC_BASE_ADDR
60    0, // HOLE
61    0, // HOLE
62    0, // HOLE
63    0, // HOLE
64    0, // HOLE
65    0, // HOLE
66    0, // HOLE
67    0, // HOLE
68    0, // HOLE
69    0, // HOLE
70    0, // HOLE
71    0, // HOLE
72    0, // HOLE
73    0, // HOLE
74    0, // HOLE
75    0, // HOLE
76    0, // HOLE
77    0, // HOLE
78    0, // HOLE
79    0, // HOLE
80    0, // HOLE
81    0, // HOLE
82    0, // HOLE
83    0, // HOLE
84    0, // HOLE
85    0, // HOLE
86    0, // HOLE
87    0, // HOLE
88    0, // HOLE
89    0, // HOLE
90    0, // HOLE
91    0, // HOLE
92    0, // HOLE
93    0, // HOLE
94    0, // HOLE
95    0, // HOLE
96    0, // HOLE
97    0, // HOLE
98    0, // HOLE
99    0, // HOLE
100    0, // HOLE
101    0, // HOLE
102    0, // HOLE
103    0, // HOLE
104    0, // HOLE
105    0, // HOLE
106    0, // HOLE
107    0, // HOLE
108    0, // HOLE
109    0, // HOLE
110    0, // HOLE
111    0, // HOLE
112    0, // HOLE
113    0, // HOLE
114    0, // HOLE
115    0, // HOLE
116    0, // HOLE
117    0, // HOLE
118    0, // HOLE
119    0, // HOLE
120    0, // HOLE
121    0, // HOLE
122    0, // HOLE
123    0, // HOLE
124    0, // HOLE
125    0, // HOLE
126    0, // HOLE
127    0, // HOLE
128    0, // HOLE
129    0, // HOLE
130    0, // HOLE
131    0, // HOLE
132    0, // HOLE
133    0, // HOLE
134    0, // HOLE
135    0, // HOLE
136    0, // HOLE
137    0, // HOLE
138    0, // HOLE
139    0, // HOLE
140    0, // HOLE
141    0, // HOLE
142    0, // HOLE
143    0, // HOLE
144    0, // HOLE
145    0, // HOLE
146    0, // HOLE
147    0, // HOLE
148    0, // HOLE
149    0, // HOLE
150    0, // HOLE
151    0, // HOLE
152    0, // HOLE
153    0x00000000, // COHER_DEST_BASE_2
154    0x00000000, // COHER_DEST_BASE_3
155    0x00000000, // PA_SC_WINDOW_OFFSET
156    0x80000000, // PA_SC_WINDOW_SCISSOR_TL
157    0x40004000, // PA_SC_WINDOW_SCISSOR_BR
158    0x0000ffff, // PA_SC_CLIPRECT_RULE
159    0x00000000, // PA_SC_CLIPRECT_0_TL
160    0x40004000, // PA_SC_CLIPRECT_0_BR
161    0x00000000, // PA_SC_CLIPRECT_1_TL
162    0x40004000, // PA_SC_CLIPRECT_1_BR
163    0x00000000, // PA_SC_CLIPRECT_2_TL
164    0x40004000, // PA_SC_CLIPRECT_2_BR
165    0x00000000, // PA_SC_CLIPRECT_3_TL
166    0x40004000, // PA_SC_CLIPRECT_3_BR
167    0xaa99aaaa, // PA_SC_EDGERULE
168    0x00000000, // PA_SU_HARDWARE_SCREEN_OFFSET
169    0xffffffff, // CB_TARGET_MASK
170    0xffffffff, // CB_SHADER_MASK
171    0x80000000, // PA_SC_GENERIC_SCISSOR_TL
172    0x40004000, // PA_SC_GENERIC_SCISSOR_BR
173    0x00000000, // COHER_DEST_BASE_0
174    0x00000000, // COHER_DEST_BASE_1
175    0x80000000, // PA_SC_VPORT_SCISSOR_0_TL
176    0x40004000, // PA_SC_VPORT_SCISSOR_0_BR
177    0x80000000, // PA_SC_VPORT_SCISSOR_1_TL
178    0x40004000, // PA_SC_VPORT_SCISSOR_1_BR
179    0x80000000, // PA_SC_VPORT_SCISSOR_2_TL
180    0x40004000, // PA_SC_VPORT_SCISSOR_2_BR
181    0x80000000, // PA_SC_VPORT_SCISSOR_3_TL
182    0x40004000, // PA_SC_VPORT_SCISSOR_3_BR
183    0x80000000, // PA_SC_VPORT_SCISSOR_4_TL
184    0x40004000, // PA_SC_VPORT_SCISSOR_4_BR
185    0x80000000, // PA_SC_VPORT_SCISSOR_5_TL
186    0x40004000, // PA_SC_VPORT_SCISSOR_5_BR
187    0x80000000, // PA_SC_VPORT_SCISSOR_6_TL
188    0x40004000, // PA_SC_VPORT_SCISSOR_6_BR
189    0x80000000, // PA_SC_VPORT_SCISSOR_7_TL
190    0x40004000, // PA_SC_VPORT_SCISSOR_7_BR
191    0x80000000, // PA_SC_VPORT_SCISSOR_8_TL
192    0x40004000, // PA_SC_VPORT_SCISSOR_8_BR
193    0x80000000, // PA_SC_VPORT_SCISSOR_9_TL
194    0x40004000, // PA_SC_VPORT_SCISSOR_9_BR
195    0x80000000, // PA_SC_VPORT_SCISSOR_10_TL
196    0x40004000, // PA_SC_VPORT_SCISSOR_10_BR
197    0x80000000, // PA_SC_VPORT_SCISSOR_11_TL
198    0x40004000, // PA_SC_VPORT_SCISSOR_11_BR
199    0x80000000, // PA_SC_VPORT_SCISSOR_12_TL
200    0x40004000, // PA_SC_VPORT_SCISSOR_12_BR
201    0x80000000, // PA_SC_VPORT_SCISSOR_13_TL
202    0x40004000, // PA_SC_VPORT_SCISSOR_13_BR
203    0x80000000, // PA_SC_VPORT_SCISSOR_14_TL
204    0x40004000, // PA_SC_VPORT_SCISSOR_14_BR
205    0x80000000, // PA_SC_VPORT_SCISSOR_15_TL
206    0x40004000, // PA_SC_VPORT_SCISSOR_15_BR
207    0x00000000, // PA_SC_VPORT_ZMIN_0
208    0x3f800000, // PA_SC_VPORT_ZMAX_0
209    0x00000000, // PA_SC_VPORT_ZMIN_1
210    0x3f800000, // PA_SC_VPORT_ZMAX_1
211    0x00000000, // PA_SC_VPORT_ZMIN_2
212    0x3f800000, // PA_SC_VPORT_ZMAX_2
213    0x00000000, // PA_SC_VPORT_ZMIN_3
214    0x3f800000, // PA_SC_VPORT_ZMAX_3
215    0x00000000, // PA_SC_VPORT_ZMIN_4
216    0x3f800000, // PA_SC_VPORT_ZMAX_4
217    0x00000000, // PA_SC_VPORT_ZMIN_5
218    0x3f800000, // PA_SC_VPORT_ZMAX_5
219    0x00000000, // PA_SC_VPORT_ZMIN_6
220    0x3f800000, // PA_SC_VPORT_ZMAX_6
221    0x00000000, // PA_SC_VPORT_ZMIN_7
222    0x3f800000, // PA_SC_VPORT_ZMAX_7
223    0x00000000, // PA_SC_VPORT_ZMIN_8
224    0x3f800000, // PA_SC_VPORT_ZMAX_8
225    0x00000000, // PA_SC_VPORT_ZMIN_9
226    0x3f800000, // PA_SC_VPORT_ZMAX_9
227    0x00000000, // PA_SC_VPORT_ZMIN_10
228    0x3f800000, // PA_SC_VPORT_ZMAX_10
229    0x00000000, // PA_SC_VPORT_ZMIN_11
230    0x3f800000, // PA_SC_VPORT_ZMAX_11
231    0x00000000, // PA_SC_VPORT_ZMIN_12
232    0x3f800000, // PA_SC_VPORT_ZMAX_12
233    0x00000000, // PA_SC_VPORT_ZMIN_13
234    0x3f800000, // PA_SC_VPORT_ZMAX_13
235    0x00000000, // PA_SC_VPORT_ZMIN_14
236    0x3f800000, // PA_SC_VPORT_ZMAX_14
237    0x00000000, // PA_SC_VPORT_ZMIN_15
238    0x3f800000, // PA_SC_VPORT_ZMAX_15
239};
240static const u32 si_SECT_CONTEXT_def_2[] =
241{
242    0x00000000, // CP_PERFMON_CNTX_CNTL
243    0x00000000, // CP_RINGID
244    0x00000000, // CP_VMID
245    0, // HOLE
246    0, // HOLE
247    0, // HOLE
248    0, // HOLE
249    0, // HOLE
250    0, // HOLE
251    0, // HOLE
252    0, // HOLE
253    0, // HOLE
254    0, // HOLE
255    0, // HOLE
256    0, // HOLE
257    0, // HOLE
258    0, // HOLE
259    0, // HOLE
260    0, // HOLE
261    0, // HOLE
262    0, // HOLE
263    0, // HOLE
264    0, // HOLE
265    0, // HOLE
266    0, // HOLE
267    0, // HOLE
268    0, // HOLE
269    0, // HOLE
270    0, // HOLE
271    0, // HOLE
272    0, // HOLE
273    0, // HOLE
274    0, // HOLE
275    0, // HOLE
276    0, // HOLE
277    0, // HOLE
278    0, // HOLE
279    0, // HOLE
280    0, // HOLE
281    0, // HOLE
282    0xffffffff, // VGT_MAX_VTX_INDX
283    0x00000000, // VGT_MIN_VTX_INDX
284    0x00000000, // VGT_INDX_OFFSET
285    0x00000000, // VGT_MULTI_PRIM_IB_RESET_INDX
286    0, // HOLE
287    0x00000000, // CB_BLEND_RED
288    0x00000000, // CB_BLEND_GREEN
289    0x00000000, // CB_BLEND_BLUE
290    0x00000000, // CB_BLEND_ALPHA
291    0, // HOLE
292    0, // HOLE
293    0x00000000, // DB_STENCIL_CONTROL
294    0x00000000, // DB_STENCILREFMASK
295    0x00000000, // DB_STENCILREFMASK_BF
296    0, // HOLE
297    0x00000000, // PA_CL_VPORT_XSCALE
298    0x00000000, // PA_CL_VPORT_XOFFSET
299    0x00000000, // PA_CL_VPORT_YSCALE
300    0x00000000, // PA_CL_VPORT_YOFFSET
301    0x00000000, // PA_CL_VPORT_ZSCALE
302    0x00000000, // PA_CL_VPORT_ZOFFSET
303    0x00000000, // PA_CL_VPORT_XSCALE_1
304    0x00000000, // PA_CL_VPORT_XOFFSET_1
305    0x00000000, // PA_CL_VPORT_YSCALE_1
306    0x00000000, // PA_CL_VPORT_YOFFSET_1
307    0x00000000, // PA_CL_VPORT_ZSCALE_1
308    0x00000000, // PA_CL_VPORT_ZOFFSET_1
309    0x00000000, // PA_CL_VPORT_XSCALE_2
310    0x00000000, // PA_CL_VPORT_XOFFSET_2
311    0x00000000, // PA_CL_VPORT_YSCALE_2
312    0x00000000, // PA_CL_VPORT_YOFFSET_2
313    0x00000000, // PA_CL_VPORT_ZSCALE_2
314    0x00000000, // PA_CL_VPORT_ZOFFSET_2
315    0x00000000, // PA_CL_VPORT_XSCALE_3
316    0x00000000, // PA_CL_VPORT_XOFFSET_3
317    0x00000000, // PA_CL_VPORT_YSCALE_3
318    0x00000000, // PA_CL_VPORT_YOFFSET_3
319    0x00000000, // PA_CL_VPORT_ZSCALE_3
320    0x00000000, // PA_CL_VPORT_ZOFFSET_3
321    0x00000000, // PA_CL_VPORT_XSCALE_4
322    0x00000000, // PA_CL_VPORT_XOFFSET_4
323    0x00000000, // PA_CL_VPORT_YSCALE_4
324    0x00000000, // PA_CL_VPORT_YOFFSET_4
325    0x00000000, // PA_CL_VPORT_ZSCALE_4
326    0x00000000, // PA_CL_VPORT_ZOFFSET_4
327    0x00000000, // PA_CL_VPORT_XSCALE_5
328    0x00000000, // PA_CL_VPORT_XOFFSET_5
329    0x00000000, // PA_CL_VPORT_YSCALE_5
330    0x00000000, // PA_CL_VPORT_YOFFSET_5
331    0x00000000, // PA_CL_VPORT_ZSCALE_5
332    0x00000000, // PA_CL_VPORT_ZOFFSET_5
333    0x00000000, // PA_CL_VPORT_XSCALE_6
334    0x00000000, // PA_CL_VPORT_XOFFSET_6
335    0x00000000, // PA_CL_VPORT_YSCALE_6
336    0x00000000, // PA_CL_VPORT_YOFFSET_6
337    0x00000000, // PA_CL_VPORT_ZSCALE_6
338    0x00000000, // PA_CL_VPORT_ZOFFSET_6
339    0x00000000, // PA_CL_VPORT_XSCALE_7
340    0x00000000, // PA_CL_VPORT_XOFFSET_7
341    0x00000000, // PA_CL_VPORT_YSCALE_7
342    0x00000000, // PA_CL_VPORT_YOFFSET_7
343    0x00000000, // PA_CL_VPORT_ZSCALE_7
344    0x00000000, // PA_CL_VPORT_ZOFFSET_7
345    0x00000000, // PA_CL_VPORT_XSCALE_8
346    0x00000000, // PA_CL_VPORT_XOFFSET_8
347    0x00000000, // PA_CL_VPORT_YSCALE_8
348    0x00000000, // PA_CL_VPORT_YOFFSET_8
349    0x00000000, // PA_CL_VPORT_ZSCALE_8
350    0x00000000, // PA_CL_VPORT_ZOFFSET_8
351    0x00000000, // PA_CL_VPORT_XSCALE_9
352    0x00000000, // PA_CL_VPORT_XOFFSET_9
353    0x00000000, // PA_CL_VPORT_YSCALE_9
354    0x00000000, // PA_CL_VPORT_YOFFSET_9
355    0x00000000, // PA_CL_VPORT_ZSCALE_9
356    0x00000000, // PA_CL_VPORT_ZOFFSET_9
357    0x00000000, // PA_CL_VPORT_XSCALE_10
358    0x00000000, // PA_CL_VPORT_XOFFSET_10
359    0x00000000, // PA_CL_VPORT_YSCALE_10
360    0x00000000, // PA_CL_VPORT_YOFFSET_10
361    0x00000000, // PA_CL_VPORT_ZSCALE_10
362    0x00000000, // PA_CL_VPORT_ZOFFSET_10
363    0x00000000, // PA_CL_VPORT_XSCALE_11
364    0x00000000, // PA_CL_VPORT_XOFFSET_11
365    0x00000000, // PA_CL_VPORT_YSCALE_11
366    0x00000000, // PA_CL_VPORT_YOFFSET_11
367    0x00000000, // PA_CL_VPORT_ZSCALE_11
368    0x00000000, // PA_CL_VPORT_ZOFFSET_11
369    0x00000000, // PA_CL_VPORT_XSCALE_12
370    0x00000000, // PA_CL_VPORT_XOFFSET_12
371    0x00000000, // PA_CL_VPORT_YSCALE_12
372    0x00000000, // PA_CL_VPORT_YOFFSET_12
373    0x00000000, // PA_CL_VPORT_ZSCALE_12
374    0x00000000, // PA_CL_VPORT_ZOFFSET_12
375    0x00000000, // PA_CL_VPORT_XSCALE_13
376    0x00000000, // PA_CL_VPORT_XOFFSET_13
377    0x00000000, // PA_CL_VPORT_YSCALE_13
378    0x00000000, // PA_CL_VPORT_YOFFSET_13
379    0x00000000, // PA_CL_VPORT_ZSCALE_13
380    0x00000000, // PA_CL_VPORT_ZOFFSET_13
381    0x00000000, // PA_CL_VPORT_XSCALE_14
382    0x00000000, // PA_CL_VPORT_XOFFSET_14
383    0x00000000, // PA_CL_VPORT_YSCALE_14
384    0x00000000, // PA_CL_VPORT_YOFFSET_14
385    0x00000000, // PA_CL_VPORT_ZSCALE_14
386    0x00000000, // PA_CL_VPORT_ZOFFSET_14
387    0x00000000, // PA_CL_VPORT_XSCALE_15
388    0x00000000, // PA_CL_VPORT_XOFFSET_15
389    0x00000000, // PA_CL_VPORT_YSCALE_15
390    0x00000000, // PA_CL_VPORT_YOFFSET_15
391    0x00000000, // PA_CL_VPORT_ZSCALE_15
392    0x00000000, // PA_CL_VPORT_ZOFFSET_15
393    0x00000000, // PA_CL_UCP_0_X
394    0x00000000, // PA_CL_UCP_0_Y
395    0x00000000, // PA_CL_UCP_0_Z
396    0x00000000, // PA_CL_UCP_0_W
397    0x00000000, // PA_CL_UCP_1_X
398    0x00000000, // PA_CL_UCP_1_Y
399    0x00000000, // PA_CL_UCP_1_Z
400    0x00000000, // PA_CL_UCP_1_W
401    0x00000000, // PA_CL_UCP_2_X
402    0x00000000, // PA_CL_UCP_2_Y
403    0x00000000, // PA_CL_UCP_2_Z
404    0x00000000, // PA_CL_UCP_2_W
405    0x00000000, // PA_CL_UCP_3_X
406    0x00000000, // PA_CL_UCP_3_Y
407    0x00000000, // PA_CL_UCP_3_Z
408    0x00000000, // PA_CL_UCP_3_W
409    0x00000000, // PA_CL_UCP_4_X
410    0x00000000, // PA_CL_UCP_4_Y
411    0x00000000, // PA_CL_UCP_4_Z
412    0x00000000, // PA_CL_UCP_4_W
413    0x00000000, // PA_CL_UCP_5_X
414    0x00000000, // PA_CL_UCP_5_Y
415    0x00000000, // PA_CL_UCP_5_Z
416    0x00000000, // PA_CL_UCP_5_W
417    0, // HOLE
418    0, // HOLE
419    0, // HOLE
420    0, // HOLE
421    0, // HOLE
422    0, // HOLE
423    0, // HOLE
424    0, // HOLE
425    0, // HOLE
426    0, // HOLE
427    0x00000000, // SPI_PS_INPUT_CNTL_0
428    0x00000000, // SPI_PS_INPUT_CNTL_1
429    0x00000000, // SPI_PS_INPUT_CNTL_2
430    0x00000000, // SPI_PS_INPUT_CNTL_3
431    0x00000000, // SPI_PS_INPUT_CNTL_4
432    0x00000000, // SPI_PS_INPUT_CNTL_5
433    0x00000000, // SPI_PS_INPUT_CNTL_6
434    0x00000000, // SPI_PS_INPUT_CNTL_7
435    0x00000000, // SPI_PS_INPUT_CNTL_8
436    0x00000000, // SPI_PS_INPUT_CNTL_9
437    0x00000000, // SPI_PS_INPUT_CNTL_10
438    0x00000000, // SPI_PS_INPUT_CNTL_11
439    0x00000000, // SPI_PS_INPUT_CNTL_12
440    0x00000000, // SPI_PS_INPUT_CNTL_13
441    0x00000000, // SPI_PS_INPUT_CNTL_14
442    0x00000000, // SPI_PS_INPUT_CNTL_15
443    0x00000000, // SPI_PS_INPUT_CNTL_16
444    0x00000000, // SPI_PS_INPUT_CNTL_17
445    0x00000000, // SPI_PS_INPUT_CNTL_18
446    0x00000000, // SPI_PS_INPUT_CNTL_19
447    0x00000000, // SPI_PS_INPUT_CNTL_20
448    0x00000000, // SPI_PS_INPUT_CNTL_21
449    0x00000000, // SPI_PS_INPUT_CNTL_22
450    0x00000000, // SPI_PS_INPUT_CNTL_23
451    0x00000000, // SPI_PS_INPUT_CNTL_24
452    0x00000000, // SPI_PS_INPUT_CNTL_25
453    0x00000000, // SPI_PS_INPUT_CNTL_26
454    0x00000000, // SPI_PS_INPUT_CNTL_27
455    0x00000000, // SPI_PS_INPUT_CNTL_28
456    0x00000000, // SPI_PS_INPUT_CNTL_29
457    0x00000000, // SPI_PS_INPUT_CNTL_30
458    0x00000000, // SPI_PS_INPUT_CNTL_31
459    0x00000000, // SPI_VS_OUT_CONFIG
460    0, // HOLE
461    0x00000000, // SPI_PS_INPUT_ENA
462    0x00000000, // SPI_PS_INPUT_ADDR
463    0x00000000, // SPI_INTERP_CONTROL_0
464    0x00000002, // SPI_PS_IN_CONTROL
465    0, // HOLE
466    0x00000000, // SPI_BARYC_CNTL
467    0, // HOLE
468    0x00000000, // SPI_TMPRING_SIZE
469    0, // HOLE
470    0, // HOLE
471    0, // HOLE
472    0, // HOLE
473    0, // HOLE
474    0, // HOLE
475    0x00000000, // SPI_WAVE_MGMT_1
476    0x00000000, // SPI_WAVE_MGMT_2
477    0x00000000, // SPI_SHADER_POS_FORMAT
478    0x00000000, // SPI_SHADER_Z_FORMAT
479    0x00000000, // SPI_SHADER_COL_FORMAT
480    0, // HOLE
481    0, // HOLE
482    0, // HOLE
483    0, // HOLE
484    0, // HOLE
485    0, // HOLE
486    0, // HOLE
487    0, // HOLE
488    0, // HOLE
489    0, // HOLE
490    0, // HOLE
491    0, // HOLE
492    0, // HOLE
493    0, // HOLE
494    0, // HOLE
495    0, // HOLE
496    0, // HOLE
497    0, // HOLE
498    0, // HOLE
499    0, // HOLE
500    0, // HOLE
501    0, // HOLE
502    0, // HOLE
503    0, // HOLE
504    0, // HOLE
505    0, // HOLE
506    0x00000000, // CB_BLEND0_CONTROL
507    0x00000000, // CB_BLEND1_CONTROL
508    0x00000000, // CB_BLEND2_CONTROL
509    0x00000000, // CB_BLEND3_CONTROL
510    0x00000000, // CB_BLEND4_CONTROL
511    0x00000000, // CB_BLEND5_CONTROL
512    0x00000000, // CB_BLEND6_CONTROL
513    0x00000000, // CB_BLEND7_CONTROL
514};
515static const u32 si_SECT_CONTEXT_def_3[] =
516{
517    0x00000000, // PA_CL_POINT_X_RAD
518    0x00000000, // PA_CL_POINT_Y_RAD
519    0x00000000, // PA_CL_POINT_SIZE
520    0x00000000, // PA_CL_POINT_CULL_RAD
521    0x00000000, // VGT_DMA_BASE_HI
522    0x00000000, // VGT_DMA_BASE
523};
524static const u32 si_SECT_CONTEXT_def_4[] =
525{
526    0x00000000, // DB_DEPTH_CONTROL
527    0x00000000, // DB_EQAA
528    0x00000000, // CB_COLOR_CONTROL
529    0x00000000, // DB_SHADER_CONTROL
530    0x00090000, // PA_CL_CLIP_CNTL
531    0x00000004, // PA_SU_SC_MODE_CNTL
532    0x00000000, // PA_CL_VTE_CNTL
533    0x00000000, // PA_CL_VS_OUT_CNTL
534    0x00000000, // PA_CL_NANINF_CNTL
535    0x00000000, // PA_SU_LINE_STIPPLE_CNTL
536    0x00000000, // PA_SU_LINE_STIPPLE_SCALE
537    0x00000000, // PA_SU_PRIM_FILTER_CNTL
538    0, // HOLE
539    0, // HOLE
540    0, // HOLE
541    0, // HOLE
542    0, // HOLE
543    0, // HOLE
544    0, // HOLE
545    0, // HOLE
546    0, // HOLE
547    0, // HOLE
548    0, // HOLE
549    0, // HOLE
550    0, // HOLE
551    0, // HOLE
552    0, // HOLE
553    0, // HOLE
554    0, // HOLE
555    0, // HOLE
556    0, // HOLE
557    0, // HOLE
558    0, // HOLE
559    0, // HOLE
560    0, // HOLE
561    0, // HOLE
562    0, // HOLE
563    0, // HOLE
564    0, // HOLE
565    0, // HOLE
566    0, // HOLE
567    0, // HOLE
568    0, // HOLE
569    0, // HOLE
570    0, // HOLE
571    0, // HOLE
572    0, // HOLE
573    0, // HOLE
574    0, // HOLE
575    0, // HOLE
576    0, // HOLE
577    0, // HOLE
578    0, // HOLE
579    0, // HOLE
580    0, // HOLE
581    0, // HOLE
582    0, // HOLE
583    0, // HOLE
584    0, // HOLE
585    0, // HOLE
586    0, // HOLE
587    0, // HOLE
588    0, // HOLE
589    0, // HOLE
590    0, // HOLE
591    0, // HOLE
592    0, // HOLE
593    0, // HOLE
594    0, // HOLE
595    0, // HOLE
596    0, // HOLE
597    0, // HOLE
598    0, // HOLE
599    0, // HOLE
600    0, // HOLE
601    0, // HOLE
602    0, // HOLE
603    0, // HOLE
604    0, // HOLE
605    0, // HOLE
606    0, // HOLE
607    0, // HOLE
608    0, // HOLE
609    0, // HOLE
610    0, // HOLE
611    0, // HOLE
612    0, // HOLE
613    0, // HOLE
614    0, // HOLE
615    0, // HOLE
616    0, // HOLE
617    0, // HOLE
618    0, // HOLE
619    0, // HOLE
620    0, // HOLE
621    0, // HOLE
622    0, // HOLE
623    0, // HOLE
624    0, // HOLE
625    0, // HOLE
626    0, // HOLE
627    0, // HOLE
628    0, // HOLE
629    0, // HOLE
630    0, // HOLE
631    0, // HOLE
632    0, // HOLE
633    0, // HOLE
634    0, // HOLE
635    0, // HOLE
636    0, // HOLE
637    0, // HOLE
638    0, // HOLE
639    0, // HOLE
640    0, // HOLE
641    0, // HOLE
642    0, // HOLE
643    0, // HOLE
644    0, // HOLE
645    0, // HOLE
646    0, // HOLE
647    0, // HOLE
648    0, // HOLE
649    0, // HOLE
650    0, // HOLE
651    0, // HOLE
652    0, // HOLE
653    0, // HOLE
654    0x00000000, // PA_SU_POINT_SIZE
655    0x00000000, // PA_SU_POINT_MINMAX
656    0x00000000, // PA_SU_LINE_CNTL
657    0x00000000, // PA_SC_LINE_STIPPLE
658    0x00000000, // VGT_OUTPUT_PATH_CNTL
659    0x00000000, // VGT_HOS_CNTL
660    0x00000000, // VGT_HOS_MAX_TESS_LEVEL
661    0x00000000, // VGT_HOS_MIN_TESS_LEVEL
662    0x00000000, // VGT_HOS_REUSE_DEPTH
663    0x00000000, // VGT_GROUP_PRIM_TYPE
664    0x00000000, // VGT_GROUP_FIRST_DECR
665    0x00000000, // VGT_GROUP_DECR
666    0x00000000, // VGT_GROUP_VECT_0_CNTL
667    0x00000000, // VGT_GROUP_VECT_1_CNTL
668    0x00000000, // VGT_GROUP_VECT_0_FMT_CNTL
669    0x00000000, // VGT_GROUP_VECT_1_FMT_CNTL
670    0x00000000, // VGT_GS_MODE
671    0, // HOLE
672    0x00000000, // PA_SC_MODE_CNTL_0
673    0x00000000, // PA_SC_MODE_CNTL_1
674    0x00000000, // VGT_ENHANCE
675    0x00000100, // VGT_GS_PER_ES
676    0x00000080, // VGT_ES_PER_GS
677    0x00000002, // VGT_GS_PER_VS
678    0x00000000, // VGT_GSVS_RING_OFFSET_1
679    0x00000000, // VGT_GSVS_RING_OFFSET_2
680    0x00000000, // VGT_GSVS_RING_OFFSET_3
681    0x00000000, // VGT_GS_OUT_PRIM_TYPE
682    0x00000000, // IA_ENHANCE
683};
684static const u32 si_SECT_CONTEXT_def_5[] =
685{
686    0x00000000, // VGT_PRIMITIVEID_EN
687};
688static const u32 si_SECT_CONTEXT_def_6[] =
689{
690    0x00000000, // VGT_PRIMITIVEID_RESET
691};
692static const u32 si_SECT_CONTEXT_def_7[] =
693{
694    0x00000000, // VGT_MULTI_PRIM_IB_RESET_EN
695    0, // HOLE
696    0, // HOLE
697    0x00000000, // VGT_INSTANCE_STEP_RATE_0
698    0x00000000, // VGT_INSTANCE_STEP_RATE_1
699    0x000000ff, // IA_MULTI_VGT_PARAM
700    0x00000000, // VGT_ESGS_RING_ITEMSIZE
701    0x00000000, // VGT_GSVS_RING_ITEMSIZE
702    0x00000000, // VGT_REUSE_OFF
703    0x00000000, // VGT_VTX_CNT_EN
704    0x00000000, // DB_HTILE_SURFACE
705    0x00000000, // DB_SRESULTS_COMPARE_STATE0
706    0x00000000, // DB_SRESULTS_COMPARE_STATE1
707    0x00000000, // DB_PRELOAD_CONTROL
708    0, // HOLE
709    0x00000000, // VGT_STRMOUT_BUFFER_SIZE_0
710    0x00000000, // VGT_STRMOUT_VTX_STRIDE_0
711    0, // HOLE
712    0x00000000, // VGT_STRMOUT_BUFFER_OFFSET_0
713    0x00000000, // VGT_STRMOUT_BUFFER_SIZE_1
714    0x00000000, // VGT_STRMOUT_VTX_STRIDE_1
715    0, // HOLE
716    0x00000000, // VGT_STRMOUT_BUFFER_OFFSET_1
717    0x00000000, // VGT_STRMOUT_BUFFER_SIZE_2
718    0x00000000, // VGT_STRMOUT_VTX_STRIDE_2
719    0, // HOLE
720    0x00000000, // VGT_STRMOUT_BUFFER_OFFSET_2
721    0x00000000, // VGT_STRMOUT_BUFFER_SIZE_3
722    0x00000000, // VGT_STRMOUT_VTX_STRIDE_3
723    0, // HOLE
724    0x00000000, // VGT_STRMOUT_BUFFER_OFFSET_3
725    0, // HOLE
726    0, // HOLE
727    0, // HOLE
728    0, // HOLE
729    0, // HOLE
730    0, // HOLE
731    0x00000000, // VGT_STRMOUT_DRAW_OPAQUE_OFFSET
732    0x00000000, // VGT_STRMOUT_DRAW_OPAQUE_BUFFER_FILLED_SIZE
733    0x00000000, // VGT_STRMOUT_DRAW_OPAQUE_VERTEX_STRIDE
734    0, // HOLE
735    0x00000000, // VGT_GS_MAX_VERT_OUT
736    0, // HOLE
737    0, // HOLE
738    0, // HOLE
739    0, // HOLE
740    0, // HOLE
741    0, // HOLE
742    0x00000000, // VGT_SHADER_STAGES_EN
743    0x00000000, // VGT_LS_HS_CONFIG
744    0x00000000, // VGT_GS_VERT_ITEMSIZE
745    0x00000000, // VGT_GS_VERT_ITEMSIZE_1
746    0x00000000, // VGT_GS_VERT_ITEMSIZE_2
747    0x00000000, // VGT_GS_VERT_ITEMSIZE_3
748    0x00000000, // VGT_TF_PARAM
749    0x00000000, // DB_ALPHA_TO_MASK
750    0, // HOLE
751    0x00000000, // PA_SU_POLY_OFFSET_DB_FMT_CNTL
752    0x00000000, // PA_SU_POLY_OFFSET_CLAMP
753    0x00000000, // PA_SU_POLY_OFFSET_FRONT_SCALE
754    0x00000000, // PA_SU_POLY_OFFSET_FRONT_OFFSET
755    0x00000000, // PA_SU_POLY_OFFSET_BACK_SCALE
756    0x00000000, // PA_SU_POLY_OFFSET_BACK_OFFSET
757    0x00000000, // VGT_GS_INSTANCE_CNT
758    0x00000000, // VGT_STRMOUT_CONFIG
759    0x00000000, // VGT_STRMOUT_BUFFER_CONFIG
760    0, // HOLE
761    0, // HOLE
762    0, // HOLE
763    0, // HOLE
764    0, // HOLE
765    0, // HOLE
766    0, // HOLE
767    0, // HOLE
768    0, // HOLE
769    0, // HOLE
770    0, // HOLE
771    0, // HOLE
772    0, // HOLE
773    0, // HOLE
774    0x00000000, // PA_SC_CENTROID_PRIORITY_0
775    0x00000000, // PA_SC_CENTROID_PRIORITY_1
776    0x00001000, // PA_SC_LINE_CNTL
777    0x00000000, // PA_SC_AA_CONFIG
778    0x00000005, // PA_SU_VTX_CNTL
779    0x3f800000, // PA_CL_GB_VERT_CLIP_ADJ
780    0x3f800000, // PA_CL_GB_VERT_DISC_ADJ
781    0x3f800000, // PA_CL_GB_HORZ_CLIP_ADJ
782    0x3f800000, // PA_CL_GB_HORZ_DISC_ADJ
783    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_0
784    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_1
785    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_2
786    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_3
787    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y0_0
788    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y0_1
789    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y0_2
790    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y0_3
791    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y1_0
792    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y1_1
793    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y1_2
794    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y1_3
795    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y1_0
796    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y1_1
797    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y1_2
798    0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y1_3
799    0xffffffff, // PA_SC_AA_MASK_X0Y0_X1Y0
800    0xffffffff, // PA_SC_AA_MASK_X0Y1_X1Y1
801    0, // HOLE
802    0, // HOLE
803    0, // HOLE
804    0, // HOLE
805    0, // HOLE
806    0, // HOLE
807    0x0000000e, // VGT_VERTEX_REUSE_BLOCK_CNTL
808    0x00000010, // VGT_OUT_DEALLOC_CNTL
809    0x00000000, // CB_COLOR0_BASE
810    0x00000000, // CB_COLOR0_PITCH
811    0x00000000, // CB_COLOR0_SLICE
812    0x00000000, // CB_COLOR0_VIEW
813    0x00000000, // CB_COLOR0_INFO
814    0x00000000, // CB_COLOR0_ATTRIB
815    0, // HOLE
816    0x00000000, // CB_COLOR0_CMASK
817    0x00000000, // CB_COLOR0_CMASK_SLICE
818    0x00000000, // CB_COLOR0_FMASK
819    0x00000000, // CB_COLOR0_FMASK_SLICE
820    0x00000000, // CB_COLOR0_CLEAR_WORD0
821    0x00000000, // CB_COLOR0_CLEAR_WORD1
822    0, // HOLE
823    0, // HOLE
824    0x00000000, // CB_COLOR1_BASE
825    0x00000000, // CB_COLOR1_PITCH
826    0x00000000, // CB_COLOR1_SLICE
827    0x00000000, // CB_COLOR1_VIEW
828    0x00000000, // CB_COLOR1_INFO
829    0x00000000, // CB_COLOR1_ATTRIB
830    0, // HOLE
831    0x00000000, // CB_COLOR1_CMASK
832    0x00000000, // CB_COLOR1_CMASK_SLICE
833    0x00000000, // CB_COLOR1_FMASK
834    0x00000000, // CB_COLOR1_FMASK_SLICE
835    0x00000000, // CB_COLOR1_CLEAR_WORD0
836    0x00000000, // CB_COLOR1_CLEAR_WORD1
837    0, // HOLE
838    0, // HOLE
839    0x00000000, // CB_COLOR2_BASE
840    0x00000000, // CB_COLOR2_PITCH
841    0x00000000, // CB_COLOR2_SLICE
842    0x00000000, // CB_COLOR2_VIEW
843    0x00000000, // CB_COLOR2_INFO
844    0x00000000, // CB_COLOR2_ATTRIB
845    0, // HOLE
846    0x00000000, // CB_COLOR2_CMASK
847    0x00000000, // CB_COLOR2_CMASK_SLICE
848    0x00000000, // CB_COLOR2_FMASK
849    0x00000000, // CB_COLOR2_FMASK_SLICE
850    0x00000000, // CB_COLOR2_CLEAR_WORD0
851    0x00000000, // CB_COLOR2_CLEAR_WORD1
852    0, // HOLE
853    0, // HOLE
854    0x00000000, // CB_COLOR3_BASE
855    0x00000000, // CB_COLOR3_PITCH
856    0x00000000, // CB_COLOR3_SLICE
857    0x00000000, // CB_COLOR3_VIEW
858    0x00000000, // CB_COLOR3_INFO
859    0x00000000, // CB_COLOR3_ATTRIB
860    0, // HOLE
861    0x00000000, // CB_COLOR3_CMASK
862    0x00000000, // CB_COLOR3_CMASK_SLICE
863    0x00000000, // CB_COLOR3_FMASK
864    0x00000000, // CB_COLOR3_FMASK_SLICE
865    0x00000000, // CB_COLOR3_CLEAR_WORD0
866    0x00000000, // CB_COLOR3_CLEAR_WORD1
867    0, // HOLE
868    0, // HOLE
869    0x00000000, // CB_COLOR4_BASE
870    0x00000000, // CB_COLOR4_PITCH
871    0x00000000, // CB_COLOR4_SLICE
872    0x00000000, // CB_COLOR4_VIEW
873    0x00000000, // CB_COLOR4_INFO
874    0x00000000, // CB_COLOR4_ATTRIB
875    0, // HOLE
876    0x00000000, // CB_COLOR4_CMASK
877    0x00000000, // CB_COLOR4_CMASK_SLICE
878    0x00000000, // CB_COLOR4_FMASK
879    0x00000000, // CB_COLOR4_FMASK_SLICE
880    0x00000000, // CB_COLOR4_CLEAR_WORD0
881    0x00000000, // CB_COLOR4_CLEAR_WORD1
882    0, // HOLE
883    0, // HOLE
884    0x00000000, // CB_COLOR5_BASE
885    0x00000000, // CB_COLOR5_PITCH
886    0x00000000, // CB_COLOR5_SLICE
887    0x00000000, // CB_COLOR5_VIEW
888    0x00000000, // CB_COLOR5_INFO
889    0x00000000, // CB_COLOR5_ATTRIB
890    0, // HOLE
891    0x00000000, // CB_COLOR5_CMASK
892    0x00000000, // CB_COLOR5_CMASK_SLICE
893    0x00000000, // CB_COLOR5_FMASK
894    0x00000000, // CB_COLOR5_FMASK_SLICE
895    0x00000000, // CB_COLOR5_CLEAR_WORD0
896    0x00000000, // CB_COLOR5_CLEAR_WORD1
897    0, // HOLE
898    0, // HOLE
899    0x00000000, // CB_COLOR6_BASE
900    0x00000000, // CB_COLOR6_PITCH
901    0x00000000, // CB_COLOR6_SLICE
902    0x00000000, // CB_COLOR6_VIEW
903    0x00000000, // CB_COLOR6_INFO
904    0x00000000, // CB_COLOR6_ATTRIB
905    0, // HOLE
906    0x00000000, // CB_COLOR6_CMASK
907    0x00000000, // CB_COLOR6_CMASK_SLICE
908    0x00000000, // CB_COLOR6_FMASK
909    0x00000000, // CB_COLOR6_FMASK_SLICE
910    0x00000000, // CB_COLOR6_CLEAR_WORD0
911    0x00000000, // CB_COLOR6_CLEAR_WORD1
912    0, // HOLE
913    0, // HOLE
914    0x00000000, // CB_COLOR7_BASE
915    0x00000000, // CB_COLOR7_PITCH
916    0x00000000, // CB_COLOR7_SLICE
917    0x00000000, // CB_COLOR7_VIEW
918    0x00000000, // CB_COLOR7_INFO
919    0x00000000, // CB_COLOR7_ATTRIB
920    0, // HOLE
921    0x00000000, // CB_COLOR7_CMASK
922    0x00000000, // CB_COLOR7_CMASK_SLICE
923    0x00000000, // CB_COLOR7_FMASK
924    0x00000000, // CB_COLOR7_FMASK_SLICE
925    0x00000000, // CB_COLOR7_CLEAR_WORD0
926    0x00000000, // CB_COLOR7_CLEAR_WORD1
927};
928static const struct cs_extent_def si_SECT_CONTEXT_defs[] =
929{
930    {si_SECT_CONTEXT_def_1, 0x0000a000, 212 },
931    {si_SECT_CONTEXT_def_2, 0x0000a0d8, 272 },
932    {si_SECT_CONTEXT_def_3, 0x0000a1f5, 6 },
933    {si_SECT_CONTEXT_def_4, 0x0000a200, 157 },
934    {si_SECT_CONTEXT_def_5, 0x0000a2a1, 1 },
935    {si_SECT_CONTEXT_def_6, 0x0000a2a3, 1 },
936    {si_SECT_CONTEXT_def_7, 0x0000a2a5, 233 },
937    { NULL, 0, 0 }
938};
939static const struct cs_section_def si_cs_data[] = {
940    { si_SECT_CONTEXT_defs, SECT_CONTEXT },
941    { NULL, SECT_NONE }
942};
943