xref: /linux/drivers/gpu/drm/amd/amdgpu/clearstate_si.h (revision 791d3ef2e11100449837dc0b6fe884e60ca3a484)
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 static const u32 si_SECT_CONTEXT_def_1[] =
25 {
26     0x00000000, // DB_RENDER_CONTROL
27     0x00000000, // DB_COUNT_CONTROL
28     0x00000000, // DB_DEPTH_VIEW
29     0x00000000, // DB_RENDER_OVERRIDE
30     0x00000000, // DB_RENDER_OVERRIDE2
31     0x00000000, // DB_HTILE_DATA_BASE
32     0, // HOLE
33     0, // HOLE
34     0x00000000, // DB_DEPTH_BOUNDS_MIN
35     0x00000000, // DB_DEPTH_BOUNDS_MAX
36     0x00000000, // DB_STENCIL_CLEAR
37     0x00000000, // DB_DEPTH_CLEAR
38     0x00000000, // PA_SC_SCREEN_SCISSOR_TL
39     0x40004000, // PA_SC_SCREEN_SCISSOR_BR
40     0, // HOLE
41     0x00000000, // DB_DEPTH_INFO
42     0x00000000, // DB_Z_INFO
43     0x00000000, // DB_STENCIL_INFO
44     0x00000000, // DB_Z_READ_BASE
45     0x00000000, // DB_STENCIL_READ_BASE
46     0x00000000, // DB_Z_WRITE_BASE
47     0x00000000, // DB_STENCIL_WRITE_BASE
48     0x00000000, // DB_DEPTH_SIZE
49     0x00000000, // DB_DEPTH_SLICE
50     0, // HOLE
51     0, // HOLE
52     0, // HOLE
53     0, // HOLE
54     0, // HOLE
55     0, // HOLE
56     0, // HOLE
57     0, // HOLE
58     0x00000000, // TA_BC_BASE_ADDR
59     0, // HOLE
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     0x00000000, // COHER_DEST_BASE_2
153     0x00000000, // COHER_DEST_BASE_3
154     0x00000000, // PA_SC_WINDOW_OFFSET
155     0x80000000, // PA_SC_WINDOW_SCISSOR_TL
156     0x40004000, // PA_SC_WINDOW_SCISSOR_BR
157     0x0000ffff, // PA_SC_CLIPRECT_RULE
158     0x00000000, // PA_SC_CLIPRECT_0_TL
159     0x40004000, // PA_SC_CLIPRECT_0_BR
160     0x00000000, // PA_SC_CLIPRECT_1_TL
161     0x40004000, // PA_SC_CLIPRECT_1_BR
162     0x00000000, // PA_SC_CLIPRECT_2_TL
163     0x40004000, // PA_SC_CLIPRECT_2_BR
164     0x00000000, // PA_SC_CLIPRECT_3_TL
165     0x40004000, // PA_SC_CLIPRECT_3_BR
166     0xaa99aaaa, // PA_SC_EDGERULE
167     0x00000000, // PA_SU_HARDWARE_SCREEN_OFFSET
168     0xffffffff, // CB_TARGET_MASK
169     0xffffffff, // CB_SHADER_MASK
170     0x80000000, // PA_SC_GENERIC_SCISSOR_TL
171     0x40004000, // PA_SC_GENERIC_SCISSOR_BR
172     0x00000000, // COHER_DEST_BASE_0
173     0x00000000, // COHER_DEST_BASE_1
174     0x80000000, // PA_SC_VPORT_SCISSOR_0_TL
175     0x40004000, // PA_SC_VPORT_SCISSOR_0_BR
176     0x80000000, // PA_SC_VPORT_SCISSOR_1_TL
177     0x40004000, // PA_SC_VPORT_SCISSOR_1_BR
178     0x80000000, // PA_SC_VPORT_SCISSOR_2_TL
179     0x40004000, // PA_SC_VPORT_SCISSOR_2_BR
180     0x80000000, // PA_SC_VPORT_SCISSOR_3_TL
181     0x40004000, // PA_SC_VPORT_SCISSOR_3_BR
182     0x80000000, // PA_SC_VPORT_SCISSOR_4_TL
183     0x40004000, // PA_SC_VPORT_SCISSOR_4_BR
184     0x80000000, // PA_SC_VPORT_SCISSOR_5_TL
185     0x40004000, // PA_SC_VPORT_SCISSOR_5_BR
186     0x80000000, // PA_SC_VPORT_SCISSOR_6_TL
187     0x40004000, // PA_SC_VPORT_SCISSOR_6_BR
188     0x80000000, // PA_SC_VPORT_SCISSOR_7_TL
189     0x40004000, // PA_SC_VPORT_SCISSOR_7_BR
190     0x80000000, // PA_SC_VPORT_SCISSOR_8_TL
191     0x40004000, // PA_SC_VPORT_SCISSOR_8_BR
192     0x80000000, // PA_SC_VPORT_SCISSOR_9_TL
193     0x40004000, // PA_SC_VPORT_SCISSOR_9_BR
194     0x80000000, // PA_SC_VPORT_SCISSOR_10_TL
195     0x40004000, // PA_SC_VPORT_SCISSOR_10_BR
196     0x80000000, // PA_SC_VPORT_SCISSOR_11_TL
197     0x40004000, // PA_SC_VPORT_SCISSOR_11_BR
198     0x80000000, // PA_SC_VPORT_SCISSOR_12_TL
199     0x40004000, // PA_SC_VPORT_SCISSOR_12_BR
200     0x80000000, // PA_SC_VPORT_SCISSOR_13_TL
201     0x40004000, // PA_SC_VPORT_SCISSOR_13_BR
202     0x80000000, // PA_SC_VPORT_SCISSOR_14_TL
203     0x40004000, // PA_SC_VPORT_SCISSOR_14_BR
204     0x80000000, // PA_SC_VPORT_SCISSOR_15_TL
205     0x40004000, // PA_SC_VPORT_SCISSOR_15_BR
206     0x00000000, // PA_SC_VPORT_ZMIN_0
207     0x3f800000, // PA_SC_VPORT_ZMAX_0
208     0x00000000, // PA_SC_VPORT_ZMIN_1
209     0x3f800000, // PA_SC_VPORT_ZMAX_1
210     0x00000000, // PA_SC_VPORT_ZMIN_2
211     0x3f800000, // PA_SC_VPORT_ZMAX_2
212     0x00000000, // PA_SC_VPORT_ZMIN_3
213     0x3f800000, // PA_SC_VPORT_ZMAX_3
214     0x00000000, // PA_SC_VPORT_ZMIN_4
215     0x3f800000, // PA_SC_VPORT_ZMAX_4
216     0x00000000, // PA_SC_VPORT_ZMIN_5
217     0x3f800000, // PA_SC_VPORT_ZMAX_5
218     0x00000000, // PA_SC_VPORT_ZMIN_6
219     0x3f800000, // PA_SC_VPORT_ZMAX_6
220     0x00000000, // PA_SC_VPORT_ZMIN_7
221     0x3f800000, // PA_SC_VPORT_ZMAX_7
222     0x00000000, // PA_SC_VPORT_ZMIN_8
223     0x3f800000, // PA_SC_VPORT_ZMAX_8
224     0x00000000, // PA_SC_VPORT_ZMIN_9
225     0x3f800000, // PA_SC_VPORT_ZMAX_9
226     0x00000000, // PA_SC_VPORT_ZMIN_10
227     0x3f800000, // PA_SC_VPORT_ZMAX_10
228     0x00000000, // PA_SC_VPORT_ZMIN_11
229     0x3f800000, // PA_SC_VPORT_ZMAX_11
230     0x00000000, // PA_SC_VPORT_ZMIN_12
231     0x3f800000, // PA_SC_VPORT_ZMAX_12
232     0x00000000, // PA_SC_VPORT_ZMIN_13
233     0x3f800000, // PA_SC_VPORT_ZMAX_13
234     0x00000000, // PA_SC_VPORT_ZMIN_14
235     0x3f800000, // PA_SC_VPORT_ZMAX_14
236     0x00000000, // PA_SC_VPORT_ZMIN_15
237     0x3f800000, // PA_SC_VPORT_ZMAX_15
238 };
239 static const u32 si_SECT_CONTEXT_def_2[] =
240 {
241     0x00000000, // CP_PERFMON_CNTX_CNTL
242     0x00000000, // CP_RINGID
243     0x00000000, // CP_VMID
244     0, // HOLE
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     0xffffffff, // VGT_MAX_VTX_INDX
282     0x00000000, // VGT_MIN_VTX_INDX
283     0x00000000, // VGT_INDX_OFFSET
284     0x00000000, // VGT_MULTI_PRIM_IB_RESET_INDX
285     0, // HOLE
286     0x00000000, // CB_BLEND_RED
287     0x00000000, // CB_BLEND_GREEN
288     0x00000000, // CB_BLEND_BLUE
289     0x00000000, // CB_BLEND_ALPHA
290     0, // HOLE
291     0, // HOLE
292     0x00000000, // DB_STENCIL_CONTROL
293     0x00000000, // DB_STENCILREFMASK
294     0x00000000, // DB_STENCILREFMASK_BF
295     0, // HOLE
296     0x00000000, // PA_CL_VPORT_XSCALE
297     0x00000000, // PA_CL_VPORT_XOFFSET
298     0x00000000, // PA_CL_VPORT_YSCALE
299     0x00000000, // PA_CL_VPORT_YOFFSET
300     0x00000000, // PA_CL_VPORT_ZSCALE
301     0x00000000, // PA_CL_VPORT_ZOFFSET
302     0x00000000, // PA_CL_VPORT_XSCALE_1
303     0x00000000, // PA_CL_VPORT_XOFFSET_1
304     0x00000000, // PA_CL_VPORT_YSCALE_1
305     0x00000000, // PA_CL_VPORT_YOFFSET_1
306     0x00000000, // PA_CL_VPORT_ZSCALE_1
307     0x00000000, // PA_CL_VPORT_ZOFFSET_1
308     0x00000000, // PA_CL_VPORT_XSCALE_2
309     0x00000000, // PA_CL_VPORT_XOFFSET_2
310     0x00000000, // PA_CL_VPORT_YSCALE_2
311     0x00000000, // PA_CL_VPORT_YOFFSET_2
312     0x00000000, // PA_CL_VPORT_ZSCALE_2
313     0x00000000, // PA_CL_VPORT_ZOFFSET_2
314     0x00000000, // PA_CL_VPORT_XSCALE_3
315     0x00000000, // PA_CL_VPORT_XOFFSET_3
316     0x00000000, // PA_CL_VPORT_YSCALE_3
317     0x00000000, // PA_CL_VPORT_YOFFSET_3
318     0x00000000, // PA_CL_VPORT_ZSCALE_3
319     0x00000000, // PA_CL_VPORT_ZOFFSET_3
320     0x00000000, // PA_CL_VPORT_XSCALE_4
321     0x00000000, // PA_CL_VPORT_XOFFSET_4
322     0x00000000, // PA_CL_VPORT_YSCALE_4
323     0x00000000, // PA_CL_VPORT_YOFFSET_4
324     0x00000000, // PA_CL_VPORT_ZSCALE_4
325     0x00000000, // PA_CL_VPORT_ZOFFSET_4
326     0x00000000, // PA_CL_VPORT_XSCALE_5
327     0x00000000, // PA_CL_VPORT_XOFFSET_5
328     0x00000000, // PA_CL_VPORT_YSCALE_5
329     0x00000000, // PA_CL_VPORT_YOFFSET_5
330     0x00000000, // PA_CL_VPORT_ZSCALE_5
331     0x00000000, // PA_CL_VPORT_ZOFFSET_5
332     0x00000000, // PA_CL_VPORT_XSCALE_6
333     0x00000000, // PA_CL_VPORT_XOFFSET_6
334     0x00000000, // PA_CL_VPORT_YSCALE_6
335     0x00000000, // PA_CL_VPORT_YOFFSET_6
336     0x00000000, // PA_CL_VPORT_ZSCALE_6
337     0x00000000, // PA_CL_VPORT_ZOFFSET_6
338     0x00000000, // PA_CL_VPORT_XSCALE_7
339     0x00000000, // PA_CL_VPORT_XOFFSET_7
340     0x00000000, // PA_CL_VPORT_YSCALE_7
341     0x00000000, // PA_CL_VPORT_YOFFSET_7
342     0x00000000, // PA_CL_VPORT_ZSCALE_7
343     0x00000000, // PA_CL_VPORT_ZOFFSET_7
344     0x00000000, // PA_CL_VPORT_XSCALE_8
345     0x00000000, // PA_CL_VPORT_XOFFSET_8
346     0x00000000, // PA_CL_VPORT_YSCALE_8
347     0x00000000, // PA_CL_VPORT_YOFFSET_8
348     0x00000000, // PA_CL_VPORT_ZSCALE_8
349     0x00000000, // PA_CL_VPORT_ZOFFSET_8
350     0x00000000, // PA_CL_VPORT_XSCALE_9
351     0x00000000, // PA_CL_VPORT_XOFFSET_9
352     0x00000000, // PA_CL_VPORT_YSCALE_9
353     0x00000000, // PA_CL_VPORT_YOFFSET_9
354     0x00000000, // PA_CL_VPORT_ZSCALE_9
355     0x00000000, // PA_CL_VPORT_ZOFFSET_9
356     0x00000000, // PA_CL_VPORT_XSCALE_10
357     0x00000000, // PA_CL_VPORT_XOFFSET_10
358     0x00000000, // PA_CL_VPORT_YSCALE_10
359     0x00000000, // PA_CL_VPORT_YOFFSET_10
360     0x00000000, // PA_CL_VPORT_ZSCALE_10
361     0x00000000, // PA_CL_VPORT_ZOFFSET_10
362     0x00000000, // PA_CL_VPORT_XSCALE_11
363     0x00000000, // PA_CL_VPORT_XOFFSET_11
364     0x00000000, // PA_CL_VPORT_YSCALE_11
365     0x00000000, // PA_CL_VPORT_YOFFSET_11
366     0x00000000, // PA_CL_VPORT_ZSCALE_11
367     0x00000000, // PA_CL_VPORT_ZOFFSET_11
368     0x00000000, // PA_CL_VPORT_XSCALE_12
369     0x00000000, // PA_CL_VPORT_XOFFSET_12
370     0x00000000, // PA_CL_VPORT_YSCALE_12
371     0x00000000, // PA_CL_VPORT_YOFFSET_12
372     0x00000000, // PA_CL_VPORT_ZSCALE_12
373     0x00000000, // PA_CL_VPORT_ZOFFSET_12
374     0x00000000, // PA_CL_VPORT_XSCALE_13
375     0x00000000, // PA_CL_VPORT_XOFFSET_13
376     0x00000000, // PA_CL_VPORT_YSCALE_13
377     0x00000000, // PA_CL_VPORT_YOFFSET_13
378     0x00000000, // PA_CL_VPORT_ZSCALE_13
379     0x00000000, // PA_CL_VPORT_ZOFFSET_13
380     0x00000000, // PA_CL_VPORT_XSCALE_14
381     0x00000000, // PA_CL_VPORT_XOFFSET_14
382     0x00000000, // PA_CL_VPORT_YSCALE_14
383     0x00000000, // PA_CL_VPORT_YOFFSET_14
384     0x00000000, // PA_CL_VPORT_ZSCALE_14
385     0x00000000, // PA_CL_VPORT_ZOFFSET_14
386     0x00000000, // PA_CL_VPORT_XSCALE_15
387     0x00000000, // PA_CL_VPORT_XOFFSET_15
388     0x00000000, // PA_CL_VPORT_YSCALE_15
389     0x00000000, // PA_CL_VPORT_YOFFSET_15
390     0x00000000, // PA_CL_VPORT_ZSCALE_15
391     0x00000000, // PA_CL_VPORT_ZOFFSET_15
392     0x00000000, // PA_CL_UCP_0_X
393     0x00000000, // PA_CL_UCP_0_Y
394     0x00000000, // PA_CL_UCP_0_Z
395     0x00000000, // PA_CL_UCP_0_W
396     0x00000000, // PA_CL_UCP_1_X
397     0x00000000, // PA_CL_UCP_1_Y
398     0x00000000, // PA_CL_UCP_1_Z
399     0x00000000, // PA_CL_UCP_1_W
400     0x00000000, // PA_CL_UCP_2_X
401     0x00000000, // PA_CL_UCP_2_Y
402     0x00000000, // PA_CL_UCP_2_Z
403     0x00000000, // PA_CL_UCP_2_W
404     0x00000000, // PA_CL_UCP_3_X
405     0x00000000, // PA_CL_UCP_3_Y
406     0x00000000, // PA_CL_UCP_3_Z
407     0x00000000, // PA_CL_UCP_3_W
408     0x00000000, // PA_CL_UCP_4_X
409     0x00000000, // PA_CL_UCP_4_Y
410     0x00000000, // PA_CL_UCP_4_Z
411     0x00000000, // PA_CL_UCP_4_W
412     0x00000000, // PA_CL_UCP_5_X
413     0x00000000, // PA_CL_UCP_5_Y
414     0x00000000, // PA_CL_UCP_5_Z
415     0x00000000, // PA_CL_UCP_5_W
416     0, // HOLE
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     0x00000000, // SPI_PS_INPUT_CNTL_0
427     0x00000000, // SPI_PS_INPUT_CNTL_1
428     0x00000000, // SPI_PS_INPUT_CNTL_2
429     0x00000000, // SPI_PS_INPUT_CNTL_3
430     0x00000000, // SPI_PS_INPUT_CNTL_4
431     0x00000000, // SPI_PS_INPUT_CNTL_5
432     0x00000000, // SPI_PS_INPUT_CNTL_6
433     0x00000000, // SPI_PS_INPUT_CNTL_7
434     0x00000000, // SPI_PS_INPUT_CNTL_8
435     0x00000000, // SPI_PS_INPUT_CNTL_9
436     0x00000000, // SPI_PS_INPUT_CNTL_10
437     0x00000000, // SPI_PS_INPUT_CNTL_11
438     0x00000000, // SPI_PS_INPUT_CNTL_12
439     0x00000000, // SPI_PS_INPUT_CNTL_13
440     0x00000000, // SPI_PS_INPUT_CNTL_14
441     0x00000000, // SPI_PS_INPUT_CNTL_15
442     0x00000000, // SPI_PS_INPUT_CNTL_16
443     0x00000000, // SPI_PS_INPUT_CNTL_17
444     0x00000000, // SPI_PS_INPUT_CNTL_18
445     0x00000000, // SPI_PS_INPUT_CNTL_19
446     0x00000000, // SPI_PS_INPUT_CNTL_20
447     0x00000000, // SPI_PS_INPUT_CNTL_21
448     0x00000000, // SPI_PS_INPUT_CNTL_22
449     0x00000000, // SPI_PS_INPUT_CNTL_23
450     0x00000000, // SPI_PS_INPUT_CNTL_24
451     0x00000000, // SPI_PS_INPUT_CNTL_25
452     0x00000000, // SPI_PS_INPUT_CNTL_26
453     0x00000000, // SPI_PS_INPUT_CNTL_27
454     0x00000000, // SPI_PS_INPUT_CNTL_28
455     0x00000000, // SPI_PS_INPUT_CNTL_29
456     0x00000000, // SPI_PS_INPUT_CNTL_30
457     0x00000000, // SPI_PS_INPUT_CNTL_31
458     0x00000000, // SPI_VS_OUT_CONFIG
459     0, // HOLE
460     0x00000000, // SPI_PS_INPUT_ENA
461     0x00000000, // SPI_PS_INPUT_ADDR
462     0x00000000, // SPI_INTERP_CONTROL_0
463     0x00000002, // SPI_PS_IN_CONTROL
464     0, // HOLE
465     0x00000000, // SPI_BARYC_CNTL
466     0, // HOLE
467     0x00000000, // SPI_TMPRING_SIZE
468     0, // HOLE
469     0, // HOLE
470     0, // HOLE
471     0, // HOLE
472     0, // HOLE
473     0, // HOLE
474     0x00000000, // SPI_WAVE_MGMT_1
475     0x00000000, // SPI_WAVE_MGMT_2
476     0x00000000, // SPI_SHADER_POS_FORMAT
477     0x00000000, // SPI_SHADER_Z_FORMAT
478     0x00000000, // SPI_SHADER_COL_FORMAT
479     0, // HOLE
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     0x00000000, // CB_BLEND0_CONTROL
506     0x00000000, // CB_BLEND1_CONTROL
507     0x00000000, // CB_BLEND2_CONTROL
508     0x00000000, // CB_BLEND3_CONTROL
509     0x00000000, // CB_BLEND4_CONTROL
510     0x00000000, // CB_BLEND5_CONTROL
511     0x00000000, // CB_BLEND6_CONTROL
512     0x00000000, // CB_BLEND7_CONTROL
513 };
514 static const u32 si_SECT_CONTEXT_def_3[] =
515 {
516     0x00000000, // PA_CL_POINT_X_RAD
517     0x00000000, // PA_CL_POINT_Y_RAD
518     0x00000000, // PA_CL_POINT_SIZE
519     0x00000000, // PA_CL_POINT_CULL_RAD
520     0x00000000, // VGT_DMA_BASE_HI
521     0x00000000, // VGT_DMA_BASE
522 };
523 static const u32 si_SECT_CONTEXT_def_4[] =
524 {
525     0x00000000, // DB_DEPTH_CONTROL
526     0x00000000, // DB_EQAA
527     0x00000000, // CB_COLOR_CONTROL
528     0x00000000, // DB_SHADER_CONTROL
529     0x00090000, // PA_CL_CLIP_CNTL
530     0x00000004, // PA_SU_SC_MODE_CNTL
531     0x00000000, // PA_CL_VTE_CNTL
532     0x00000000, // PA_CL_VS_OUT_CNTL
533     0x00000000, // PA_CL_NANINF_CNTL
534     0x00000000, // PA_SU_LINE_STIPPLE_CNTL
535     0x00000000, // PA_SU_LINE_STIPPLE_SCALE
536     0x00000000, // PA_SU_PRIM_FILTER_CNTL
537     0, // HOLE
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     0x00000000, // PA_SU_POINT_SIZE
654     0x00000000, // PA_SU_POINT_MINMAX
655     0x00000000, // PA_SU_LINE_CNTL
656     0x00000000, // PA_SC_LINE_STIPPLE
657     0x00000000, // VGT_OUTPUT_PATH_CNTL
658     0x00000000, // VGT_HOS_CNTL
659     0x00000000, // VGT_HOS_MAX_TESS_LEVEL
660     0x00000000, // VGT_HOS_MIN_TESS_LEVEL
661     0x00000000, // VGT_HOS_REUSE_DEPTH
662     0x00000000, // VGT_GROUP_PRIM_TYPE
663     0x00000000, // VGT_GROUP_FIRST_DECR
664     0x00000000, // VGT_GROUP_DECR
665     0x00000000, // VGT_GROUP_VECT_0_CNTL
666     0x00000000, // VGT_GROUP_VECT_1_CNTL
667     0x00000000, // VGT_GROUP_VECT_0_FMT_CNTL
668     0x00000000, // VGT_GROUP_VECT_1_FMT_CNTL
669     0x00000000, // VGT_GS_MODE
670     0, // HOLE
671     0x00000000, // PA_SC_MODE_CNTL_0
672     0x00000000, // PA_SC_MODE_CNTL_1
673     0x00000000, // VGT_ENHANCE
674     0x00000100, // VGT_GS_PER_ES
675     0x00000080, // VGT_ES_PER_GS
676     0x00000002, // VGT_GS_PER_VS
677     0x00000000, // VGT_GSVS_RING_OFFSET_1
678     0x00000000, // VGT_GSVS_RING_OFFSET_2
679     0x00000000, // VGT_GSVS_RING_OFFSET_3
680     0x00000000, // VGT_GS_OUT_PRIM_TYPE
681     0x00000000, // IA_ENHANCE
682 };
683 static const u32 si_SECT_CONTEXT_def_5[] =
684 {
685     0x00000000, // VGT_PRIMITIVEID_EN
686 };
687 static const u32 si_SECT_CONTEXT_def_6[] =
688 {
689     0x00000000, // VGT_PRIMITIVEID_RESET
690 };
691 static const u32 si_SECT_CONTEXT_def_7[] =
692 {
693     0x00000000, // VGT_MULTI_PRIM_IB_RESET_EN
694     0, // HOLE
695     0, // HOLE
696     0x00000000, // VGT_INSTANCE_STEP_RATE_0
697     0x00000000, // VGT_INSTANCE_STEP_RATE_1
698     0x000000ff, // IA_MULTI_VGT_PARAM
699     0x00000000, // VGT_ESGS_RING_ITEMSIZE
700     0x00000000, // VGT_GSVS_RING_ITEMSIZE
701     0x00000000, // VGT_REUSE_OFF
702     0x00000000, // VGT_VTX_CNT_EN
703     0x00000000, // DB_HTILE_SURFACE
704     0x00000000, // DB_SRESULTS_COMPARE_STATE0
705     0x00000000, // DB_SRESULTS_COMPARE_STATE1
706     0x00000000, // DB_PRELOAD_CONTROL
707     0, // HOLE
708     0x00000000, // VGT_STRMOUT_BUFFER_SIZE_0
709     0x00000000, // VGT_STRMOUT_VTX_STRIDE_0
710     0, // HOLE
711     0x00000000, // VGT_STRMOUT_BUFFER_OFFSET_0
712     0x00000000, // VGT_STRMOUT_BUFFER_SIZE_1
713     0x00000000, // VGT_STRMOUT_VTX_STRIDE_1
714     0, // HOLE
715     0x00000000, // VGT_STRMOUT_BUFFER_OFFSET_1
716     0x00000000, // VGT_STRMOUT_BUFFER_SIZE_2
717     0x00000000, // VGT_STRMOUT_VTX_STRIDE_2
718     0, // HOLE
719     0x00000000, // VGT_STRMOUT_BUFFER_OFFSET_2
720     0x00000000, // VGT_STRMOUT_BUFFER_SIZE_3
721     0x00000000, // VGT_STRMOUT_VTX_STRIDE_3
722     0, // HOLE
723     0x00000000, // VGT_STRMOUT_BUFFER_OFFSET_3
724     0, // HOLE
725     0, // HOLE
726     0, // HOLE
727     0, // HOLE
728     0, // HOLE
729     0, // HOLE
730     0x00000000, // VGT_STRMOUT_DRAW_OPAQUE_OFFSET
731     0x00000000, // VGT_STRMOUT_DRAW_OPAQUE_BUFFER_FILLED_SIZE
732     0x00000000, // VGT_STRMOUT_DRAW_OPAQUE_VERTEX_STRIDE
733     0, // HOLE
734     0x00000000, // VGT_GS_MAX_VERT_OUT
735     0, // HOLE
736     0, // HOLE
737     0, // HOLE
738     0, // HOLE
739     0, // HOLE
740     0, // HOLE
741     0x00000000, // VGT_SHADER_STAGES_EN
742     0x00000000, // VGT_LS_HS_CONFIG
743     0x00000000, // VGT_GS_VERT_ITEMSIZE
744     0x00000000, // VGT_GS_VERT_ITEMSIZE_1
745     0x00000000, // VGT_GS_VERT_ITEMSIZE_2
746     0x00000000, // VGT_GS_VERT_ITEMSIZE_3
747     0x00000000, // VGT_TF_PARAM
748     0x00000000, // DB_ALPHA_TO_MASK
749     0, // HOLE
750     0x00000000, // PA_SU_POLY_OFFSET_DB_FMT_CNTL
751     0x00000000, // PA_SU_POLY_OFFSET_CLAMP
752     0x00000000, // PA_SU_POLY_OFFSET_FRONT_SCALE
753     0x00000000, // PA_SU_POLY_OFFSET_FRONT_OFFSET
754     0x00000000, // PA_SU_POLY_OFFSET_BACK_SCALE
755     0x00000000, // PA_SU_POLY_OFFSET_BACK_OFFSET
756     0x00000000, // VGT_GS_INSTANCE_CNT
757     0x00000000, // VGT_STRMOUT_CONFIG
758     0x00000000, // VGT_STRMOUT_BUFFER_CONFIG
759     0, // HOLE
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     0x00000000, // PA_SC_CENTROID_PRIORITY_0
774     0x00000000, // PA_SC_CENTROID_PRIORITY_1
775     0x00001000, // PA_SC_LINE_CNTL
776     0x00000000, // PA_SC_AA_CONFIG
777     0x00000005, // PA_SU_VTX_CNTL
778     0x3f800000, // PA_CL_GB_VERT_CLIP_ADJ
779     0x3f800000, // PA_CL_GB_VERT_DISC_ADJ
780     0x3f800000, // PA_CL_GB_HORZ_CLIP_ADJ
781     0x3f800000, // PA_CL_GB_HORZ_DISC_ADJ
782     0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_0
783     0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_1
784     0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_2
785     0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y0_3
786     0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y0_0
787     0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y0_1
788     0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y0_2
789     0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y0_3
790     0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y1_0
791     0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y1_1
792     0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y1_2
793     0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X0Y1_3
794     0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y1_0
795     0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y1_1
796     0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y1_2
797     0x00000000, // PA_SC_AA_SAMPLE_LOCS_PIXEL_X1Y1_3
798     0xffffffff, // PA_SC_AA_MASK_X0Y0_X1Y0
799     0xffffffff, // PA_SC_AA_MASK_X0Y1_X1Y1
800     0, // HOLE
801     0, // HOLE
802     0, // HOLE
803     0, // HOLE
804     0, // HOLE
805     0, // HOLE
806     0x0000000e, // VGT_VERTEX_REUSE_BLOCK_CNTL
807     0x00000010, // VGT_OUT_DEALLOC_CNTL
808     0x00000000, // CB_COLOR0_BASE
809     0x00000000, // CB_COLOR0_PITCH
810     0x00000000, // CB_COLOR0_SLICE
811     0x00000000, // CB_COLOR0_VIEW
812     0x00000000, // CB_COLOR0_INFO
813     0x00000000, // CB_COLOR0_ATTRIB
814     0, // HOLE
815     0x00000000, // CB_COLOR0_CMASK
816     0x00000000, // CB_COLOR0_CMASK_SLICE
817     0x00000000, // CB_COLOR0_FMASK
818     0x00000000, // CB_COLOR0_FMASK_SLICE
819     0x00000000, // CB_COLOR0_CLEAR_WORD0
820     0x00000000, // CB_COLOR0_CLEAR_WORD1
821     0, // HOLE
822     0, // HOLE
823     0x00000000, // CB_COLOR1_BASE
824     0x00000000, // CB_COLOR1_PITCH
825     0x00000000, // CB_COLOR1_SLICE
826     0x00000000, // CB_COLOR1_VIEW
827     0x00000000, // CB_COLOR1_INFO
828     0x00000000, // CB_COLOR1_ATTRIB
829     0, // HOLE
830     0x00000000, // CB_COLOR1_CMASK
831     0x00000000, // CB_COLOR1_CMASK_SLICE
832     0x00000000, // CB_COLOR1_FMASK
833     0x00000000, // CB_COLOR1_FMASK_SLICE
834     0x00000000, // CB_COLOR1_CLEAR_WORD0
835     0x00000000, // CB_COLOR1_CLEAR_WORD1
836     0, // HOLE
837     0, // HOLE
838     0x00000000, // CB_COLOR2_BASE
839     0x00000000, // CB_COLOR2_PITCH
840     0x00000000, // CB_COLOR2_SLICE
841     0x00000000, // CB_COLOR2_VIEW
842     0x00000000, // CB_COLOR2_INFO
843     0x00000000, // CB_COLOR2_ATTRIB
844     0, // HOLE
845     0x00000000, // CB_COLOR2_CMASK
846     0x00000000, // CB_COLOR2_CMASK_SLICE
847     0x00000000, // CB_COLOR2_FMASK
848     0x00000000, // CB_COLOR2_FMASK_SLICE
849     0x00000000, // CB_COLOR2_CLEAR_WORD0
850     0x00000000, // CB_COLOR2_CLEAR_WORD1
851     0, // HOLE
852     0, // HOLE
853     0x00000000, // CB_COLOR3_BASE
854     0x00000000, // CB_COLOR3_PITCH
855     0x00000000, // CB_COLOR3_SLICE
856     0x00000000, // CB_COLOR3_VIEW
857     0x00000000, // CB_COLOR3_INFO
858     0x00000000, // CB_COLOR3_ATTRIB
859     0, // HOLE
860     0x00000000, // CB_COLOR3_CMASK
861     0x00000000, // CB_COLOR3_CMASK_SLICE
862     0x00000000, // CB_COLOR3_FMASK
863     0x00000000, // CB_COLOR3_FMASK_SLICE
864     0x00000000, // CB_COLOR3_CLEAR_WORD0
865     0x00000000, // CB_COLOR3_CLEAR_WORD1
866     0, // HOLE
867     0, // HOLE
868     0x00000000, // CB_COLOR4_BASE
869     0x00000000, // CB_COLOR4_PITCH
870     0x00000000, // CB_COLOR4_SLICE
871     0x00000000, // CB_COLOR4_VIEW
872     0x00000000, // CB_COLOR4_INFO
873     0x00000000, // CB_COLOR4_ATTRIB
874     0, // HOLE
875     0x00000000, // CB_COLOR4_CMASK
876     0x00000000, // CB_COLOR4_CMASK_SLICE
877     0x00000000, // CB_COLOR4_FMASK
878     0x00000000, // CB_COLOR4_FMASK_SLICE
879     0x00000000, // CB_COLOR4_CLEAR_WORD0
880     0x00000000, // CB_COLOR4_CLEAR_WORD1
881     0, // HOLE
882     0, // HOLE
883     0x00000000, // CB_COLOR5_BASE
884     0x00000000, // CB_COLOR5_PITCH
885     0x00000000, // CB_COLOR5_SLICE
886     0x00000000, // CB_COLOR5_VIEW
887     0x00000000, // CB_COLOR5_INFO
888     0x00000000, // CB_COLOR5_ATTRIB
889     0, // HOLE
890     0x00000000, // CB_COLOR5_CMASK
891     0x00000000, // CB_COLOR5_CMASK_SLICE
892     0x00000000, // CB_COLOR5_FMASK
893     0x00000000, // CB_COLOR5_FMASK_SLICE
894     0x00000000, // CB_COLOR5_CLEAR_WORD0
895     0x00000000, // CB_COLOR5_CLEAR_WORD1
896     0, // HOLE
897     0, // HOLE
898     0x00000000, // CB_COLOR6_BASE
899     0x00000000, // CB_COLOR6_PITCH
900     0x00000000, // CB_COLOR6_SLICE
901     0x00000000, // CB_COLOR6_VIEW
902     0x00000000, // CB_COLOR6_INFO
903     0x00000000, // CB_COLOR6_ATTRIB
904     0, // HOLE
905     0x00000000, // CB_COLOR6_CMASK
906     0x00000000, // CB_COLOR6_CMASK_SLICE
907     0x00000000, // CB_COLOR6_FMASK
908     0x00000000, // CB_COLOR6_FMASK_SLICE
909     0x00000000, // CB_COLOR6_CLEAR_WORD0
910     0x00000000, // CB_COLOR6_CLEAR_WORD1
911     0, // HOLE
912     0, // HOLE
913     0x00000000, // CB_COLOR7_BASE
914     0x00000000, // CB_COLOR7_PITCH
915     0x00000000, // CB_COLOR7_SLICE
916     0x00000000, // CB_COLOR7_VIEW
917     0x00000000, // CB_COLOR7_INFO
918     0x00000000, // CB_COLOR7_ATTRIB
919     0, // HOLE
920     0x00000000, // CB_COLOR7_CMASK
921     0x00000000, // CB_COLOR7_CMASK_SLICE
922     0x00000000, // CB_COLOR7_FMASK
923     0x00000000, // CB_COLOR7_FMASK_SLICE
924     0x00000000, // CB_COLOR7_CLEAR_WORD0
925     0x00000000, // CB_COLOR7_CLEAR_WORD1
926 };
927 static const struct cs_extent_def si_SECT_CONTEXT_defs[] =
928 {
929     {si_SECT_CONTEXT_def_1, 0x0000a000, 212 },
930     {si_SECT_CONTEXT_def_2, 0x0000a0d8, 272 },
931     {si_SECT_CONTEXT_def_3, 0x0000a1f5, 6 },
932     {si_SECT_CONTEXT_def_4, 0x0000a200, 157 },
933     {si_SECT_CONTEXT_def_5, 0x0000a2a1, 1 },
934     {si_SECT_CONTEXT_def_6, 0x0000a2a3, 1 },
935     {si_SECT_CONTEXT_def_7, 0x0000a2a5, 233 },
936     { NULL, 0, 0 }
937 };
938 static const struct cs_section_def si_cs_data[] = {
939     { si_SECT_CONTEXT_defs, SECT_CONTEXT },
940     { NULL, SECT_NONE }
941 };
942