blob: 0029dd6bbd6785073fadce9130717b6f14ec414b [file] [log] [blame]
Shrenuj Bansala419c792016-10-20 14:05:11 -07001/* Copyright (c) 2016, The Linux Foundation. All rights reserved.
2 *
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License version 2 and
5 * only version 2 as published by the Free Software Foundation.
6 *
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
11 *
12 */
13
14enum adreno_critical_fixup_buffers {
15 CRITICAL_PACKET0 = 0,
16 CRITICAL_PACKET1,
17 CRITICAL_PACKET2,
18 CRITICAL_PACKET3,
19 CRITICAL_PACKET_MAX,
20};
21
22struct adreno_critical_fixup {
23 unsigned int lo_offset;
24 unsigned int hi_offset;
25 enum adreno_critical_fixup_buffers buffer;
26 uint64_t mem_offset;
27};
28
29static unsigned int _a5xx_critical_pkts[] = {
30 0x400E0601, /* [0x0000] == TYPE4 == */
31 0x00000002, /* [0x0001] A5X_HLSQ_MODE_CNTL (0x0E06)*/
32 0x40E78A01, /* [0x0002] == TYPE4 == */
33 0x000FFFFF, /* [0x0003] A5X_HLSQ_UPDATE_CNTL_CTX_0 (0xE78A)*/
34 0x48E78401, /* [0x0004] == TYPE4 == */
35 0x00000005, /* [0x0005] A5X_HLSQ_CNTL_0_CTX_0 (0xE784)*/
36 0x40E78501, /* [0x0006] == TYPE4 == */
37 0x00000009, /* [0x0007] A5X_HLSQ_CNTL_1_CTX_0 (0xE785)*/
38 0x48E78B85, /* [0x0008] == TYPE4 == */
39 0x00000001, /* [0x0009] A5X_HLSQ_VS_CONFIG_CTX_0 (0xE78B)*/
40 0x00002085, /* [0x000A] A5X_HLSQ_PS_CONFIG_CTX_0 (0xE78C)*/
41 0x00002084, /* [0x000B] A5X_HLSQ_HS_CONFIG_CTX_0 (0xE78D)*/
42 0x00002084, /* [0x000C] A5X_HLSQ_DS_CONFIG_CTX_0 (0xE78E)*/
43 0x00002084, /* [0x000D] A5X_HLSQ_GS_CONFIG_CTX_0 (0xE78F)*/
44 0x40E58485, /* [0x000E] == TYPE4 == */
45 0x00000001, /* [0x000F] A5X_SP_VS_CONFIG_CTX_0 (0xE584)*/
46 0x00002085, /* [0x0010] A5X_SP_PS_CONFIG_CTX_0 (0xE585)*/
47 0x00002084, /* [0x0011] A5X_SP_HS_CONFIG_CTX_0 (0xE586)*/
48 0x00002084, /* [0x0012] A5X_SP_DS_CONFIG_CTX_0 (0xE587)*/
49 0x00002084, /* [0x0013] A5X_SP_GS_CONFIG_CTX_0 (0xE588)*/
50 0x40E79101, /* [0x0014] == TYPE4 == */
51 0x00000004, /* [0x0015] A5X_HLSQ_VS_CNTL_CTX_0 (0xE791)*/
52 0x40E79201, /* [0x0016] == TYPE4 == */
53 0x00000002, /* [0x0017] A5X_HLSQ_PS_CNTL_CTX_0 (0xE792)*/
54 0x48E58001, /* [0x0018] == TYPE4 == */
55 0x00000010, /* [0x0019] A5X_SP_SP_CNTL_CTX_0 (0xE580)*/
56 0x70B00043, /* [0x001A] == TYPE7: LOAD_STATE (30) == */
57 0x00A00000, /* [0x001B] */
58 0x00000000, /* [0x001C] */
59 0x00000000, /* [0x001D] */
60 0x20020003, /* [0x001E] */
61 0x56D81803, /* [0x001F] */
62 0x00000003, /* [0x0020] */
63 0x20150000, /* [0x0021] */
64 0x00000000, /* [0x0022] */
65 0x00000200, /* [0x0023] */
66 0x00000000, /* [0x0024] */
67 0x201100F4, /* [0x0025] */
68 0x00000000, /* [0x0026] */
69 0x00000500, /* [0x0027] */
70 0x00000C21, /* [0x0028] */
71 0x20154004, /* [0x0029] */
72 0x00000C20, /* [0x002A] */
73 0x20154003, /* [0x002B] */
74 0x00000C23, /* [0x002C] */
75 0x20154008, /* [0x002D] */
76 0x00000C22, /* [0x002E] */
77 0x20156007, /* [0x002F] */
78 0x00000000, /* [0x0030] */
79 0x20554005, /* [0x0031] */
80 0x3F800000, /* [0x0032] */
81 0x20554006, /* [0x0033] */
82 0x00000000, /* [0x0034] */
83 0x03000000, /* [0x0035] */
84 0x20050000, /* [0x0036] */
85 0x46F00009, /* [0x0037] */
86 0x201F0000, /* [0x0038] */
87 0x4398000A, /* [0x0039] */
88 0x201F0009, /* [0x003A] */
89 0x43980809, /* [0x003B] */
90 0x20180009, /* [0x003C] */
91 0x46100809, /* [0x003D] */
92 0x00091014, /* [0x003E] */
93 0x62050009, /* [0x003F] */
94 0x00000000, /* [0x0040] */
95 0x00000500, /* [0x0041] */
96 0x04800006, /* [0x0042] */
97 0xC2C61300, /* [0x0043] */
98 0x0280000E, /* [0x0044] */
99 0xC2C61310, /* [0x0045] */
100 0x00000000, /* [0x0046] */
101 0x04800000, /* [0x0047] */
102 0x00000000, /* [0x0048] */
103 0x05000000, /* [0x0049] */
104 0x00000000, /* [0x004A] */
105 0x00000000, /* [0x004B] */
106 0x00000000, /* [0x004C] */
107 0x00000000, /* [0x004D] */
108 0x00000000, /* [0x004E] */
109 0x00000000, /* [0x004F] */
110 0x00000000, /* [0x0050] */
111 0x00000000, /* [0x0051] */
112 0x00000000, /* [0x0052] */
113 0x00000000, /* [0x0053] */
114 0x00000000, /* [0x0054] */
115 0x00000000, /* [0x0055] */
116 0x00000000, /* [0x0056] */
117 0x00000000, /* [0x0057] */
118 0x00000000, /* [0x0058] */
119 0x00000000, /* [0x0059] */
120 0x00000000, /* [0x005A] */
121 0x00000000, /* [0x005B] */
122 0x00000000, /* [0x005C] */
123 0x00000000, /* [0x005D] */
124 0x70B00023, /* [0x005E] == TYPE7: LOAD_STATE (30) == */
125 0x00700000, /* [0x005F] */
126 0x00000000, /* [0x0060] */
127 0x00000000, /* [0x0061] */
128 0x00000000, /* [0x0062] */
129 0x03000000, /* [0x0063] */
130 0x00000000, /* [0x0064] */
131 0x00000000, /* [0x0065] */
132 0x00000000, /* [0x0066] */
133 0x00000000, /* [0x0067] */
134 0x00000000, /* [0x0068] */
135 0x00000000, /* [0x0069] */
136 0x00000000, /* [0x006A] */
137 0x00000000, /* [0x006B] */
138 0x00000000, /* [0x006C] */
139 0x00000000, /* [0x006D] */
140 0x00000000, /* [0x006E] */
141 0x00000000, /* [0x006F] */
142 0x00000000, /* [0x0070] */
143 0x00000000, /* [0x0071] */
144 0x00000000, /* [0x0072] */
145 0x00000000, /* [0x0073] */
146 0x00000000, /* [0x0074] */
147 0x00000000, /* [0x0075] */
148 0x00000000, /* [0x0076] */
149 0x00000000, /* [0x0077] */
150 0x00000000, /* [0x0078] */
151 0x00000000, /* [0x0079] */
152 0x00000000, /* [0x007A] */
153 0x00000000, /* [0x007B] */
154 0x00000000, /* [0x007C] */
155 0x00000000, /* [0x007D] */
156 0x00000000, /* [0x007E] */
157 0x00000000, /* [0x007F] */
158 0x00000000, /* [0x0080] */
159 0x00000000, /* [0x0081] */
160 0x70B08003, /* [0x0082] == TYPE7: LOAD_STATE (30) == */
161 0x00620000, /* [0x0083] */
162 0x00000000, /* [0x0084] */
163 0x00000000, /* [0x0085] */
164 0x70B08003, /* [0x0086] == TYPE7: LOAD_STATE (30) == */
165 0x01220008, /* [0x0087] */
166 0x00000000, /* [0x0088] */
167 0x00000000, /* [0x0089] */
168 0x70B0000B, /* [0x008A] == TYPE7: LOAD_STATE (30) == */
169 0x01180000, /* [0x008B] */
170 0x00000001, /* [0x008C] */
171 0x00000000, /* [0x008D] */
172 0x00000000, /* [0x008E] */
173 0x00000000, /* [0x008F] */
174 0x00000000, /* [0x0090] */
175 0x00000000, /* [0x0091] */
176 0x00000000, /* [0x0092] */
177 0x00000000, /* [0x0093] */
178 0x00000000, /* [0x0094] */
179 0x01400000, /* [0x0095] */
180 0x70460001, /* [0x0096] == TYPE7: EVENT_WRITE (46) == */
181 0x00000019, /* [0x0097] */
182 0x70460004, /* [0x0098] == TYPE7: EVENT_WRITE (46) == */
183 0x0000001D, /* [0x0099] */
184 0x00000000, /* [0x009A] */
185 0x00000000, /* [0x009B] */
186 0x00000001, /* [0x009C] */
187 0x70460004, /* [0x009D] == TYPE7: EVENT_WRITE (46) == */
188 0x0000001C, /* [0x009E] */
189 0x00000000, /* [0x009F] */
190 0x00000000, /* [0x00A0] */
191 0x00000001, /* [0x00A1] */
192 0x480E9185, /* [0x00A2] == TYPE4 == */
193 0x00000000, /* [0x00A3] A5X_UCHE_CACHE_INVALIDATE_MIN_LO (0x0E91)*/
194 0x00000000, /* [0x00A4] A5X_UCHE_CACHE_INVALIDATE_MIN_HI (0x0E92)*/
195 0x00000000, /* [0x00A5] A5X_UCHE_CACHE_INVALIDATE_MAX_LO (0x0E93)*/
196 0x00000000, /* [0x00A6] A5X_UCHE_CACHE_INVALIDATE_MAX_HI (0x0E94)*/
197 0x00000012, /* [0x00A7] A5X_UCHE_CACHE_INVALIDATE (0x0E95)*/
198 0x70268000, /* [0x00A8] == TYPE7: WAIT_FOR_IDLE (26) == */
199 0x40E78A01, /* [0x00A9] == TYPE4 == */
200 0x000FFFFF, /* [0x00AA] A5X_HLSQ_UPDATE_CNTL_CTX_0 (0xE78A)*/
201 0x70D08003, /* [0x00AB] == TYPE7: PERFCOUNTER_ACTION (50) == */
202 0x00000000, /* [0x00AC] */
203 0x00000000, /* [0x00AD] */
204 0x00000000, /* [0x00AE] */
205 0x70D08003, /* [0x00AF] == TYPE7: PERFCOUNTER_ACTION (50) == */
206 0x00000010, /* [0x00B0] */
207 0x00000000, /* [0x00B1] */
208 0x00000000, /* [0x00B2] */
209 0x70268000, /* [0x00B3] == TYPE7: WAIT_FOR_IDLE (26) == */
210 0x48E38C01, /* [0x00B4] == TYPE4 == */
211 0xFFFFFFFF, /* [0x00B5] A5X_PC_RESTART_INDEX_CTX_0 (0xE38C)*/
212 0x40E38801, /* [0x00B6] == TYPE4 == */
213 0x00000012, /* [0x00B7] A5X_PC_RASTER_CNTL_CTX_0 (0xE388)*/
214 0x48E09102, /* [0x00B8] == TYPE4 == */
215 0xFFC00010, /* [0x00B9] A5X_GRAS_SU_POINT_MINMAX_CTX_0 (0xE091)*/
216 0x00000008, /* [0x00BA] A5X_GRAS_SU_POINT_SIZE_CTX_0 (0xE092)*/
217 0x40E09901, /* [0x00BB] == TYPE4 == */
218 0x00000000, /* [0x00BC] A5X_GRAS_SU_CONSERVATIVE_RAS_CNTL_CTX_0 (0xE099)*/
219 0x48E0A401, /* [0x00BD] == TYPE4 == */
220 0x00000000, /* [0x00BE] A5X_GRAS_SC_SCREEN_SCISSOR_CNTL_CTX_0 (0xE0A4)*/
221 0x48E58A01, /* [0x00BF] == TYPE4 == */
222 0x00000000, /* [0x00C0] A5X_SP_VS_CONFIG_MAX_CONST_CTX_0 (0xE58A)*/
223 0x40E58B01, /* [0x00C1] == TYPE4 == */
224 0x00000000, /* [0x00C2] A5X_SP_PS_CONFIG_MAX_CONST_CTX_0 (0xE58B)*/
225 0x480CC601, /* [0x00C3] == TYPE4 == */
226 0x00000044, /* [0x00C4] A5X_RB_MODE_CNTL (0x0CC6)*/
227 0x400CC401, /* [0x00C5] == TYPE4 == */
228 0x00100000, /* [0x00C6] A5X_RB_DBG_ECO_CNTL (0x0CC4)*/
229 0x400E4201, /* [0x00C7] == TYPE4 == */
230 0x00000000, /* [0x00C8] A5X_VFD_MODE_CNTL (0x0E42)*/
231 0x480D0201, /* [0x00C9] == TYPE4 == */
232 0x0000001F, /* [0x00CA] A5X_PC_MODE_CNTL (0x0D02)*/
233 0x480EC201, /* [0x00CB] == TYPE4 == */
234 0x0000001E, /* [0x00CC] A5X_SP_MODE_CNTL (0x0EC2)*/
235 0x400EC001, /* [0x00CD] == TYPE4 == */
236 0x40000800, /* [0x00CE] A5X_SP_DBG_ECO_CNTL (0x0EC0)*/
237 0x400F0201, /* [0x00CF] == TYPE4 == */
238 0x00000544, /* [0x00D0] A5X_TPL1_MODE_CNTL (0x0F02)*/
239 0x400E0002, /* [0x00D1] == TYPE4 == */
240 0x00000080, /* [0x00D2] A5X_HLSQ_TIMEOUT_THRESHOLD_0 (0x0E00)*/
241 0x00000000, /* [0x00D3] A5X_HLSQ_TIMEOUT_THRESHOLD_1 (0x0E01)*/
242 0x400E6001, /* [0x00D4] == TYPE4 == */
243 0x00000400, /* [0x00D5] A5X_VPC_DBG_ECO_CNTL (0x0E60)*/
244 0x400E0601, /* [0x00D6] == TYPE4 == */
245 0x00000001, /* [0x00D7] A5X_HLSQ_MODE_CNTL (0x0E06)*/
246 0x480E6201, /* [0x00D8] == TYPE4 == */
247 0x00000000, /* [0x00D9] A5X_VPC_MODE_CNTL (0x0E62)*/
248 0x70EC8005, /* [0x00DA] == TYPE7: SET_RENDER_MODE (6C) == */
249 0x00000002, /* [0x00DB] */
250 0x00000000, /* [0x00DC] */
251 0x00000000, /* [0x00DD] */
252 0x00000008, /* [0x00DE] */
253 0x00000001, /* [0x00DF] */
254 0x40E14001, /* [0x00E0] == TYPE4 == */
255 0x00000204, /* [0x00E1] A5X_RB_CNTL_CTX_0 (0xE140)*/
256 0x709D0001, /* [0x00E2] == TYPE7: SKIP_IB2_ENABLE_GLOBAL (1D) == */
257 0x00000000, /* [0x00E3] */
258 0x48E0EA02, /* [0x00E4] == TYPE4 == */
259 0x00000000, /* [0x00E5] A5X_GRAS_SC_WINDOW_SCISSOR_TL_CTX_0 (0xE0EA)*/
260 0x001F0073, /* [0x00E6] A5X_GRAS_SC_WINDOW_SCISSOR_BR_CTX_0 (0xE0EB)*/
261 0x48E21102, /* [0x00E7] == TYPE4 == */
262 0x00000000, /* [0x00E8] A5X_RB_RESOLVE_CNTL_1_CTX_0 (0xE211)*/
263 0x00000000, /* [0x00E9] A5X_RB_RESOLVE_CNTL_2_CTX_0 (0xE212)*/
264 0x480BC283, /* [0x00EA] == TYPE4 == */
265 0x00000204, /* [0x00EB] UNKNOWN (0x0BC2)*/
266 0x00000000, /* [0x00EC] UNKNOWN (0x0BC3)*/
267 0x00000000, /* [0x00ED] UNKNOWN (0x0BC4)*/
268 0x400BC502, /* [0x00EE] == TYPE4 == */
269 0x00000000, /* [0x00EF] UNKNOWN (0x0BC5)*/
270 0x00000000, /* [0x00F0] UNKNOWN (0x0BC6)*/
271 0x480BD001, /* [0x00F1] == TYPE4 == */
272 0x01100000, /* [0x00F2] UNKNOWN (0x0BD0)*/
273 0x480BE002, /* [0x00F3] == TYPE4 == */
274 0x00000000, /* [0x00F4] UNKNOWN (0x0BE0)*/
275 0x00000000, /* [0x00F5] UNKNOWN (0x0BE1)*/
276 0x480C0001, /* [0x00F6] == TYPE4 == */
277 0x00000020, /* [0x00F7] A5X_VSC_PIPE_DATA_LENGTH_0 (0x0C00)*/
278 0x48E3B001, /* [0x00F8] == TYPE4 == */
279 0x00000003, /* [0x00F9] A5X_PC_POWER_CNTL_CTX_0 (0xE3B0)*/
280 0x48E4F001, /* [0x00FA] == TYPE4 == */
281 0x00000003, /* [0x00FB] A5X_VFD_POWER_CNTL_CTX_0 (0xE4F0)*/
282 0x480E6201, /* [0x00FC] == TYPE4 == */
283 0x00000001, /* [0x00FD] A5X_VPC_MODE_CNTL (0x0E62)*/
284 0x70460001, /* [0x00FE] == TYPE7: EVENT_WRITE (46) == */
285 0x0000002C, /* [0x00FF] */
286 0x40E1D001, /* [0x0100] == TYPE4 == */
287 0x00000000, /* [0x0101] A5X_RB_WINDOW_OFFSET_CTX_0 (0xE1D0)*/
288 0x70BF8003, /* [0x0102] == TYPE7: INDIRECT_BUFFER_PFE (3F) == */
289 0x00000000, /* [0x0103] */
290 0x00000000, /* [0x0104] */
291 0x000000A0, /* [0x0105] */
292 0x70460001, /* [0x0106] == TYPE7: EVENT_WRITE (46) == */
293 0x0000002D, /* [0x0107] */
294 0x70460004, /* [0x0108] == TYPE7: EVENT_WRITE (46) == */
295 0x00000004, /* [0x0109] */
296 0x00000000, /* [0x010A] */
297 0x00000000, /* [0x010B] */
298 0x00000000, /* [0x010C] */
299 0x70268000, /* [0x010D] == TYPE7: WAIT_FOR_IDLE (26) == */
300 0x480E6201, /* [0x010E] == TYPE4 == */
301 0x00000000, /* [0x010F] A5X_VPC_MODE_CNTL (0x0E62)*/
302 0x48E3B001, /* [0x0110] == TYPE4 == */
303 0x00000003, /* [0x0111] A5X_PC_POWER_CNTL_CTX_0 (0xE3B0)*/
304 0x48E4F001, /* [0x0112] == TYPE4 == */
305 0x00000003, /* [0x0113] A5X_VFD_POWER_CNTL_CTX_0 (0xE4F0)*/
306 0x70268000, /* [0x0114] == TYPE7: WAIT_FOR_IDLE (26) == */
307 0x400CC701, /* [0x0115] == TYPE4 == */
308 0x7C13C080, /* [0x0116] A5X_RB_CCU_CNTL (0x0CC7)*/
309 0x70EC8005, /* [0x0117] == TYPE7: SET_RENDER_MODE (6C) == */
310 0x00000001, /* [0x0118] */
311 0x00000000, /* [0x0119] */
312 0x00000000, /* [0x011A] */
313 0x00000010, /* [0x011B] */
314 0x00000001, /* [0x011C] */
315 0x70EA0001, /* [0x011D] == TYPE7: PREEMPT_ENABLE_LOCAL (6A) == */
316 0x00000000, /* [0x011E] */
317 0x48E0EA02, /* [0x011F] == TYPE4 == */
318 0x00000000, /* [0x0120] A5X_GRAS_SC_WINDOW_SCISSOR_TL_CTX_0 (0xE0EA)*/
319 0x001F0073, /* [0x0121] A5X_GRAS_SC_WINDOW_SCISSOR_BR_CTX_0 (0xE0EB)*/
320 0x48E21102, /* [0x0122] == TYPE4 == */
321 0x00000000, /* [0x0123] A5X_RB_RESOLVE_CNTL_1_CTX_0 (0xE211)*/
322 0x00030007, /* [0x0124] A5X_RB_RESOLVE_CNTL_2_CTX_0 (0xE212)*/
323 0x70138000, /* [0x0125] == TYPE7: WAIT_FOR_ME (13) == */
324 0x70640001, /* [0x0126] == TYPE7: SET_VISIBILITY_OVERRIDE (64) == */
325 0x00000000, /* [0x0127] */
326 0x702F8005, /* [0x0128] == TYPE7: SET_BIN_DATA (2F) == */
327 0x00010000, /* [0x0129] */
328 0x00000000, /* [0x012A] */
329 0x00000000, /* [0x012B] */
330 0x00000000, /* [0x012C] */
331 0x00000000, /* [0x012D] */
332 0x40E1D001, /* [0x012E] == TYPE4 == */
333 0x00000000, /* [0x012F] A5X_RB_WINDOW_OFFSET_CTX_0 (0xE1D0)*/
334 0x40E2A201, /* [0x0130] == TYPE4 == */
335 0x00000001, /* [0x0131] A5X_VPC_SO_OVERRIDE_CTX_0 (0xE2A2)*/
336 0x70640001, /* [0x0132] == TYPE7: SET_VISIBILITY_OVERRIDE (64) == */
337 0x00000000, /* [0x0133] */
338 0x48E1B285, /* [0x0134] == TYPE4 == */
339 0x00000001, /* [0x0135] A5X_RB_DEPTH_BUFFER_INFO_CTX_0 (0xE1B2)*/
340 0x00004000, /* [0x0136] A5X_RB_DEPTH_BUFFER_BASE_LO_CTX_0 (0xE1B3)*/
341 0x00000000, /* [0x0137] A5X_RB_DEPTH_BUFFER_BASE_HI_CTX_0 (0xE1B4)*/
342 0x00000004, /* [0x0138] A5X_RB_DEPTH_BUFFER_PITCH_CTX_0 (0xE1B5)*/
343 0x000000C0, /* [0x0139] A5X_RB_DEPTH_BUFFER_ARRAY_PITCH_CTX_0 (0xE1B6)*/
344 0x48E09801, /* [0x013A] == TYPE4 == */
345 0x00000001, /* [0x013B] A5X_GRAS_SU_DEPTH_BUFFER_INFO_CTX_0 (0xE098)*/
346 0x40E24083, /* [0x013C] == TYPE4 == */
347 0x00000000, /* [0x013D] A5X_RB_DEPTH_FLAG_BUFFER_BASE_LO_CTX_0 (0xE240)*/
348 0x00000000, /* [0x013E] A5X_RB_DEPTH_FLAG_BUFFER_BASE_HI_CTX_0 (0xE241)*/
349 0x00000000, /* [0x013F] A5X_RB_DEPTH_FLAG_BUFFER_PITCH_CTX_0 (0xE242)*/
350 0x40E15285, /* [0x0140] == TYPE4 == */
351 0x00001230, /* [0x0141] A5X_RB_MRT_BUFFER_INFO_0_CTX_0 (0xE152)*/
352 0x00000008, /* [0x0142] A5X_RB_MRT_BUFFER_PITCH_0_CTX_0 (0xE153)*/
353 0x00000100, /* [0x0143] A5X_RB_MRT_BUFFER_ARRAY_PITCH_0_CTX_0 (0xE154)*/
354 0x00000000, /* [0x0144] A5X_RB_MRT_BUFFER_BASE_LO_0_CTX_0 (0xE155)*/
355 0x00000000, /* [0x0145] A5X_RB_MRT_BUFFER_BASE_HI_0_CTX_0 (0xE156)*/
356 0x40E40801, /* [0x0146] == TYPE4 == */
357 0x00000000, /* [0x0147] A5X_VFD_INDEX_OFFSET_CTX_0 (0xE408)*/
358 0x48E40901, /* [0x0148] == TYPE4 == */
359 0x00000000, /* [0x0149] A5X_VFD_INSTANCE_START_OFFSET_CTX_0 (0xE409)*/
360 0x70BF8003, /* [0x014A] == TYPE7: INDIRECT_BUFFER_PFE (3F) == */
361 0x00000000, /* [0x014B] */
362 0x00000000, /* [0x014C] */
363 0x00000112, /* [0x014D] */
364 0x70230001, /* [0x014E] == TYPE7: SKIP_IB2_ENABLE_LOCAL (23) == */
365 0x00000000, /* [0x014F] */
366 0x70BF8003, /* [0x0150] == TYPE7: INDIRECT_BUFFER_PFE (3F) == */
367 0x00000000, /* [0x0151] */
368 0x00000000, /* [0x0152] */
369 0x0000001B, /* [0x0153] */
370 0x70EC8005, /* [0x0154] == TYPE7: SET_RENDER_MODE (6C) == */
371 0x00000001, /* [0x0155] */
372 0x00000000, /* [0x0156] */
373 0x00000000, /* [0x0157] */
374 0x00000000, /* [0x0158] */
375 0x00000001, /* [0x0159] */
376 0x70438003, /* [0x015A] == TYPE7: SET_DRAW_STATE (43) == */
377 0x00080059, /* [0x015B] */
378 0x00000000, /* [0x015C] */
379 0x00000000, /* [0x015D] */
380 0x70388003, /* [0x015E] == TYPE7: DRAW_INDX_OFFSET (38) == */
381 0x00000888, /* [0x015F] */
382 0x00000000, /* [0x0160] */
383 0x00000002, /* [0x0161] */
384 0x70A88003, /* [0x0162] == TYPE7: DRAW_INDIRECT (28) == */
385 0x00200884, /* [0x0163] */
386 0x00000000, /* [0x0164] */
387 0x00000000, /* [0x0165] */
388 0x70298006, /* [0x0166] == TYPE7: DRAW_INDX_INDIRECT (29) == */
389 0x00200404, /* [0x0167] */
390 0x00000000, /* [0x0168] */
391 0x00000000, /* [0x0169] */
392 0x00000006, /* [0x016A] */
393 0x00000000, /* [0x016B] */
394 0x00000000, /* [0x016C] */
395 0x40E2A783, /* [0x016D] == TYPE4 == */
396 0x00000000, /* [0x016E] A5X_VPC_SO_BUFFER_BASE_LO_0_CTX_0 (0xE2A7)*/
397 0x00000000, /* [0x016F] A5X_VPC_SO_BUFFER_BASE_HI_0_CTX_0 (0xE2A8)*/
398 0x00000004, /* [0x0170] A5X_VPC_SO_BUFFER_SIZE_0_CTX_0 (0xE2A9)*/
399 0x48E2AC02, /* [0x0171] == TYPE4 == */
400 0x00000000, /* [0x0172] A5X_VPC_SO_FLUSH_BASE_LO_0_CTX_0 (0xE2AC)*/
401 0x00000000, /* [0x0173] A5X_VPC_SO_FLUSH_BASE_HI_0_CTX_0 (0xE2AD)*/
402 0x70460001, /* [0x0174] == TYPE7: EVENT_WRITE (46) == */
403 0x00000011, /* [0x0175] */
404 0x48E10001, /* [0x0176] == TYPE4 == */
405 0x00000009, /* [0x0177] A5X_GRAS_LRZ_CNTL_CTX_0 (0xE100)*/
406 0x70460001, /* [0x0178] == TYPE7: EVENT_WRITE (46) == */
407 0x00000026, /* [0x0179] */
408 0x48E10001, /* [0x017A] == TYPE4 == */
409 0x00000008, /* [0x017B] A5X_GRAS_LRZ_CNTL_CTX_0 (0xE100)*/
410 0x40E10185, /* [0x017C] == TYPE4 == */
411 0x00000000, /* [0x017D] A5X_GRAS_LRZ_BUFFER_BASE_LO_CTX_0 (0xE101)*/
412 0x00000000, /* [0x017E] A5X_GRAS_LRZ_BUFFER_BASE_HI_CTX_0 (0xE102)*/
413 0x00000001, /* [0x017F] A5X_GRAS_LRZ_BUFFER_PITCH_CTX_0 (0xE103)*/
414 0x00000000, /* [0x0180] A5X_GRAS_LRZ_FAST_CLEAR_BUFFER_BASE_LO_CTX_0 (0xE104)*/
415 0x00000000, /* [0x0181] A5X_GRAS_LRZ_FAST_CLEAR_BUFFER_BASE_HI_CTX_0 (0xE105)*/
416 0x70460001, /* [0x0182] == TYPE7: EVENT_WRITE (46) == */
417 0x00000025, /* [0x0183] */
418 0x70460001, /* [0x0184] == TYPE7: EVENT_WRITE (46) == */
419 0x00000019, /* [0x0185] */
420 0x70460001, /* [0x0186] == TYPE7: EVENT_WRITE (46) == */
421 0x00000018, /* [0x0187] */
422 0x70EA0001, /* [0x0188] == TYPE7: PREEMPT_ENABLE_LOCAL (6A) == */
423 0x00000000, /* [0x0189] */
424 0x70EC0001, /* [0x018A] == TYPE7: SET_RENDER_MODE (6C) == */
425 0x00000006, /* [0x018B] */
426 0x70438003, /* [0x018C] == TYPE7: SET_DRAW_STATE (43) == */
427 0x00080059, /* [0x018D] */
428 0x00000000, /* [0x018E] */
429 0x00000000, /* [0x018F] */
430 0x70DC0002, /* [0x0190] == TYPE7: CONTEXT_REG_BUNCH (5C) == */
431 0x0000E2A1, /* [0x0191] */
432 0x00008001, /* [0x0192] */
433 0x709D0001, /* [0x0193] == TYPE7: SKIP_IB2_ENABLE_GLOBAL (1D) == */
434 0x00000000, /* [0x0194] */
435 0x70138000, /* [0x0195] == TYPE7: WAIT_FOR_ME (13) == */
436 0x70640001, /* [0x0196] == TYPE7: SET_VISIBILITY_OVERRIDE (64) == */
437 0x00000001, /* [0x0197] */
438 0x70380007, /* [0x0198] == TYPE7: DRAW_INDX_OFFSET (38) == */
439 0x00200506, /* [0x0199] */
440 0x00000000, /* [0x019A] */
441 0x00000004, /* [0x019B] */
442 0x00000000, /* [0x019C] */
443 0x00000000, /* [0x019D] */
444 0x00000000, /* [0x019E] */
445 0x00000004, /* [0x019F] */
446 0x703D8005, /* [0x01A0] == TYPE7: MEM_WRITE (3D) == */
447 0x00000000, /* [0x01A1] */
448 0x00000000, /* [0x01A2] */
449 0x00000001, /* [0x01A3] */
450 0x00000001, /* [0x01A4] */
451 0x00000001, /* [0x01A5] */
452 0x70928000, /* [0x01A6] == TYPE7: WAIT_MEM_WRITES (12) == */
453 0x70BF8003, /* [0x01A7] == TYPE7: INDIRECT_BUFFER_PFE (3F) == */
454 0x00000000, /* [0x01A8] */
455 0x00000000, /* [0x01A9] */
456 0x00000028, /* [0x01AA] */
457 0x70C48006, /* [0x01AB] == TYPE7: COND_EXEC (44) == */
458 0x00000000, /* [0x01AC] */
459 0x00000000, /* [0x01AD] */
460 0x00000000, /* [0x01AE] */
461 0x00000000, /* [0x01AF] */
462 0x00000001, /* [0x01B0] */
463 0x00000002, /* [0x01B1] */
464 0x70100001, /* [0x01B2] == TYPE7: NOP (10) == */
465 0x00000000, /* [0x01B3] */
466 0x70C28003, /* [0x01B4] == TYPE7: MEM_TO_REG (42) == */
467 0xC000E2AB, /* [0x01B5] */
468 0x00000000, /* [0x01B6] */
469 0x00000000, /* [0x01B7] */
470 0x70230001, /* [0x01B8] == TYPE7: SKIP_IB2_ENABLE_LOCAL (23) == */
471 0x00000000, /* [0x01B9] */
472 0x70E90001, /* [0x01BA] == TYPE7: PREEMPT_ENABLE_GLOBAL (69) == */
473 0x00000000, /* [0x01BB] */
474 0x70BC8006, /* [0x01BC] == TYPE7: WAIT_REG_MEM (3C) == */
475 0x00000010, /* [0x01BD] */
476 0x00000000, /* [0x01BE] */
477 0x00000000, /* [0x01BF] */
478 0x00000001, /* [0x01C0] */
479 0xFFFFFFFF, /* [0x01C1] */
480 0x00000001, /* [0x01C2] */
481 0x70738009, /* [0x01C3] == TYPE7: MEM_TO_MEM (73) == */
482 0x20000004, /* [0x01C4] */
483 0x00000000, /* [0x01C5] */
484 0x00000000, /* [0x01C6] */
485 0x00000000, /* [0x01C7] */
486 0x00000000, /* [0x01C8] */
487 0x00000000, /* [0x01C9] */
488 0x00000000, /* [0x01CA] */
489 0x00000000, /* [0x01CB] */
490 0x00000000, /* [0x01CC] */
491 0x70738009, /* [0x01CD] == TYPE7: MEM_TO_MEM (73) == */
492 0xE0000004, /* [0x01CE] */
493 0x00000000, /* [0x01CF] */
494 0x00000000, /* [0x01D0] */
495 0x00000000, /* [0x01D1] */
496 0x00000000, /* [0x01D2] */
497 0x00000000, /* [0x01D3] */
498 0x00000000, /* [0x01D4] */
499 0x00000000, /* [0x01D5] */
500 0x00000000, /* [0x01D6] */
501 0x70B50001, /* [0x01D7] == TYPE7: SET_SUBDRAW_SIZE (35) == */
502 0x00000001, /* [0x01D8] */
503 0x40E78A01, /* [0x01D9] == TYPE4 == */
504 0x000FFFFF, /* [0x01DA] A5X_HLSQ_UPDATE_CNTL_CTX_0 (0xE78A)*/
505 0x70268000, /* [0x01DB] == TYPE7: WAIT_FOR_IDLE (26) == */
506 0x400E0601, /* [0x01DC] == TYPE4 == */
507 0x00000001, /* [0x01DD] A5X_HLSQ_MODE_CNTL (0x0E06)*/
508 0x706E0004, /* [0x01DE] == TYPE7: COMPUTE_CHECKPOINT (6E) == */
509 0x00000000, /* [0x01DF] */
510 0x00000000, /* [0x01E0] */
511 0x00000018, /* [0x01E1] */
512 0x00000001, /* [0x01E2] */
513 0x40E14001, /* [0x01E3] == TYPE4 == */
514 0x00020000, /* [0x01E4] A5X_RB_CNTL_CTX_0 (0xE140)*/
515 0x40E78A01, /* [0x01E5] == TYPE4 == */
516 0x01F00000, /* [0x01E6] A5X_HLSQ_UPDATE_CNTL_CTX_0 (0xE78A)*/
517 0x70268000, /* [0x01E7] == TYPE7: WAIT_FOR_IDLE (26) == */
518 0x48E38C01, /* [0x01E8] == TYPE4 == */
519 0xFFFFFFFF, /* [0x01E9] A5X_PC_RESTART_INDEX_CTX_0 (0xE38C)*/
520 0x480D0201, /* [0x01EA] == TYPE4 == */
521 0x0000001F, /* [0x01EB] A5X_PC_MODE_CNTL (0x0D02)*/
522 0x480EC201, /* [0x01EC] == TYPE4 == */
523 0x0000001E, /* [0x01ED] A5X_SP_MODE_CNTL (0x0EC2)*/
524 0x48E58001, /* [0x01EE] == TYPE4 == */
525 0x00000000, /* [0x01EF] A5X_SP_SP_CNTL_CTX_0 (0xE580)*/
526 0x40E2A201, /* [0x01F0] == TYPE4 == */
527 0x00000001, /* [0x01F1] A5X_VPC_SO_OVERRIDE_CTX_0 (0xE2A2)*/
528 0x70640001, /* [0x01F2] == TYPE7: SET_VISIBILITY_OVERRIDE (64) == */
529 0x00000001, /* [0x01F3] */
530 0x48E78401, /* [0x01F4] == TYPE4 == */
531 0x00000881, /* [0x01F5] A5X_HLSQ_CNTL_0_CTX_0 (0xE784)*/
532 0x40E5F001, /* [0x01F6] == TYPE4 == */
533 0x00000C06, /* [0x01F7] A5X_SP_CS_CNTL_0_CTX_0 (0xE5F0)*/
534 0x48E79001, /* [0x01F8] == TYPE4 == */
535 0x00000001, /* [0x01F9] A5X_HLSQ_CS_CONFIG_CTX_0 (0xE790)*/
536 0x48E79601, /* [0x01FA] == TYPE4 == */
537 0x00000005, /* [0x01FB] A5X_HLSQ_CS_CNTL_CTX_0 (0xE796)*/
538 0x48E58901, /* [0x01FC] == TYPE4 == */
539 0x00000001, /* [0x01FD] A5X_SP_CS_CONFIG_CTX_0 (0xE589)*/
540 0x40E7DC01, /* [0x01FE] == TYPE4 == */
541 0x00000030, /* [0x01FF] A5X_HLSQ_CONTEXT_SWITCH_CS_SW_3_CTX_0 (0xE7DC)*/
542 0x48E7DD01, /* [0x0200] == TYPE4 == */
543 0x00000002, /* [0x0201] A5X_HLSQ_CONTEXT_SWITCH_CS_SW_4_CTX_0 (0xE7DD)*/
544 0x40E7B001, /* [0x0202] == TYPE4 == */
545 0x00000003, /* [0x0203] A5X_HLSQ_CS_NDRANGE_0_CTX_0 (0xE7B0)*/
546 0x48E7B702, /* [0x0204] == TYPE4 == */
547 0x00FCC0CF, /* [0x0205] A5X_HLSQ_CS_CNTL_0_CTX_0 (0xE7B7)*/
548 0x00000000, /* [0x0206] A5X_HLSQ_CS_CNTL_1_CTX_0 (0xE7B8)*/
549 0x40E7B983, /* [0x0207] == TYPE4 == */
550 0x00000001, /* [0x0208] A5X_HLSQ_CS_KERNEL_GROUP_X_CTX_0 (0xE7B9)*/
551 0x00000001, /* [0x0209] A5X_HLSQ_CS_KERNEL_GROUP_Y_CTX_0 (0xE7BA)*/
552 0x00000001, /* [0x020A] A5X_HLSQ_CS_KERNEL_GROUP_Z_CTX_0 (0xE7BB)*/
553 0x70B08003, /* [0x020B] == TYPE7: LOAD_STATE (30) == */
554 0x00B60000, /* [0x020C] */
555 0x00000000, /* [0x020D] */
556 0x00000000, /* [0x020E] */
557 0x70B08003, /* [0x020F] == TYPE7: LOAD_STATE (30) == */
558 0x01360008, /* [0x0210] */
559 0x00000000, /* [0x0211] */
560 0x00000000, /* [0x0212] */
561 0x70B0000B, /* [0x0213] == TYPE7: LOAD_STATE (30) == */
562 0x00BC0000, /* [0x0214] */
563 0x00000000, /* [0x0215] */
564 0x00000000, /* [0x0216] */
565 0x00000000, /* [0x0217] */
566 0x00000000, /* [0x0218] */
567 0x00000000, /* [0x0219] */
568 0x00000000, /* [0x021A] */
569 0x00000000, /* [0x021B] */
570 0x00000000, /* [0x021C] */
571 0x00000000, /* [0x021D] */
572 0x00000000, /* [0x021E] */
573 0x70B00007, /* [0x021F] == TYPE7: LOAD_STATE (30) == */
574 0x00BC0000, /* [0x0220] */
575 0x00000001, /* [0x0221] */
576 0x00000000, /* [0x0222] */
577 0x00040000, /* [0x0223] */
578 0x00000000, /* [0x0224] */
579 0x00040000, /* [0x0225] */
580 0x00000000, /* [0x0226] */
581 0x70B00007, /* [0x0227] == TYPE7: LOAD_STATE (30) == */
582 0x00BC0000, /* [0x0228] */
583 0x00000002, /* [0x0229] */
584 0x00000000, /* [0x022A] */
585 0x00000000, /* [0x022B] */
586 0x00000000, /* [0x022C] */
587 0x00000000, /* [0x022D] */
588 0x00000000, /* [0x022E] */
589 0x48E7B186, /* [0x022F] == TYPE4 == */
590 0x00000001, /* [0x0230] A5X_HLSQ_CS_NDRANGE_1_CTX_0 (0xE7B1)*/
591 0x00000000, /* [0x0231] A5X_HLSQ_CS_NDRANGE_2_CTX_0 (0xE7B2)*/
592 0x00000001, /* [0x0232] A5X_HLSQ_CS_NDRANGE_3_CTX_0 (0xE7B3)*/
593 0x00000000, /* [0x0233] A5X_HLSQ_CS_NDRANGE_4_CTX_0 (0xE7B4)*/
594 0x00000001, /* [0x0234] A5X_HLSQ_CS_NDRANGE_5_CTX_0 (0xE7B5)*/
595 0x00000000, /* [0x0235] A5X_HLSQ_CS_NDRANGE_6_CTX_0 (0xE7B6)*/
596 0x70B30004, /* [0x0236] == TYPE7: EXEC_CS (33) == */
597 0x00000000, /* [0x0237] */
598 0x00000001, /* [0x0238] */
599 0x00000001, /* [0x0239] */
600 0x00000001, /* [0x023A] */
601 0x480E6201, /* [0x023B] == TYPE4 == */
602 0x00000001, /* [0x023C] A5X_VPC_MODE_CNTL (0x0E62)*/
603};
604
605/*
606 * These are fixups for the addresses _a5xx_critical_pkts[]. The first two
607 * numbers are the dword offsets into the buffer above. The third enum is a
608 * clue as to which buffer is being patched in and the final number is an offset
609 * in said buffer.
610 */
611static const struct adreno_critical_fixup critical_pkt_fixups[] = {
612 { 132, 133, CRITICAL_PACKET2, 0x0000 },
613 { 136, 137, CRITICAL_PACKET2, 0x0001 },
614 { 154, 155, CRITICAL_PACKET2, 0x0100 },
615 { 159, 160, CRITICAL_PACKET2, 0x0104 },
616 { 173, 174, CRITICAL_PACKET2, 0x0200 },
617 { 177, 178, CRITICAL_PACKET2, 0x0300 },
618 { 236, 237, CRITICAL_PACKET0, 0x0000 },
619 { 244, 245, CRITICAL_PACKET0, 0x0040 },
620 { 259, 260, CRITICAL_PACKET3, 0x0000 },
621 { 266, 267, CRITICAL_PACKET2, 0x0108 },
622 { 298, 299, CRITICAL_PACKET0, 0x0040 },
623 { 300, 301, CRITICAL_PACKET2, 0x0080 },
624 { 331, 332, CRITICAL_PACKET3, 0x02A0 },
625 { 337, 338, CRITICAL_PACKET3, 0x0700 },
626 { 348, 349, CRITICAL_PACKET3, 0x0920 },
627 { 356, 357, CRITICAL_PACKET1, 0x008C },
628 { 360, 361, CRITICAL_PACKET1, 0x0080 },
629 { 363, 364, CRITICAL_PACKET1, 0x008C },
630 { 366, 367, CRITICAL_PACKET0, 0x0100 },
631 { 370, 371, CRITICAL_PACKET0, 0x0120 },
632 { 381, 382, CRITICAL_PACKET1, 0x0480 },
633 { 384, 385, CRITICAL_PACKET1, 0x0400 },
634 { 398, 399, CRITICAL_PACKET3, 0x0920 },
635 { 413, 414, CRITICAL_PACKET1, 0x0080 },
636 { 417, 418, CRITICAL_PACKET1, 0x0300 },
637 { 424, 425, CRITICAL_PACKET3, 0x0880 },
638 { 428, 429, CRITICAL_PACKET1, 0x0300 },
639 { 430, 431, CRITICAL_PACKET1, 0x0300 },
640 { 438, 439, CRITICAL_PACKET1, 0x0300 },
641 { 446, 447, CRITICAL_PACKET1, 0x0300 },
642 { 453, 454, CRITICAL_PACKET1, 0x0320 },
643 { 455, 456, CRITICAL_PACKET1, 0x0300 },
644 { 457, 458, CRITICAL_PACKET1, 0x0304 },
645 { 459, 460, CRITICAL_PACKET1, 0x0308 },
646 { 463, 464, CRITICAL_PACKET1, 0x0320 },
647 { 465, 466, CRITICAL_PACKET1, 0x0300 },
648 { 467, 468, CRITICAL_PACKET1, 0x0304 },
649 { 469, 470, CRITICAL_PACKET1, 0x0308 },
650 { 525, 526, CRITICAL_PACKET1, 0x0160 },
651 { 529, 530, CRITICAL_PACKET1, 0x0101 },
652 { 535, 536, CRITICAL_PACKET1, 0x0140 },
653 { 539, 540, CRITICAL_PACKET0, 0x0800 },
654 { 555, 556, CRITICAL_PACKET1, 0x0140 },
655 { 557, 558, CRITICAL_PACKET0, 0x0800 },
656};
657
658static unsigned int _a5xx_critical_pkts_mem01[] = {
659 0xBECCCCCD, 0x00000000, 0x3ECCCCCD, 0x00000000, 0x3ECCCCCD, 0x3ECCCCCD,
660 0xBECCCCCD, 0x00000000, 0xBECCCCCD, 0x3ECCCCCD, 0x3ECCCCCD, 0x00000000,
661 0xBECCCCCD, 0x00000000, 0x3ECCCCCD, 0x00000000, 0x3ECCCCCD, 0xBECCCCCD,
662 0xBECCCCCD, 0x00000000, 0xBECCCCCD, 0xBECCCCCD, 0x3ECCCCCD, 0x00000000,
663 0x3ECCCCCD, 0x00000000, 0x3ECCCCCD, 0x00000000, 0x3ECCCCCD, 0x00000000,
664 0x00000000, 0x00000000, 0x00040003, 0x00090005, 0x000B000A, 0x00000000,
665 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000003, 0x00000001,
666 0x00000006, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
667 0x00000003, 0x00000001, 0x00000003, 0x00000000, 0x00000000, 0x00000000,
668 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
669 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000,
670 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
671 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
672 0x00000000, 0x00000000, 0x3EF5C28F, 0x3ED1EB85, 0x3E6147AE, 0x3F800000,
673 0x3E947AE1, 0x3E6147AE, 0x3D4CCCCD, 0x3F800000, 0x00000000, 0x20554002,
674 0x3F800000, 0x20444003, 0x000000CF, 0x20044904, 0x00000000, 0x00000200,
675 0x00050001, 0x42300001, 0x00000002, 0x20154005, 0x00000020, 0x20244006,
676 0x00000000, 0x00000000, 0x10200001, 0x46500007, 0x20030004, 0x46D00004,
677 0x00000000, 0x20554008, 0x00070001, 0x61830806, 0x00061020, 0x61808001,
678 0x00040000, 0x42380800, 0x00010000, 0x42380800, 0x20040000, 0x46D80800,
679 0x00000000, 0x20154007, 0x20020000, 0x46F80000, 0x00000007, 0x20154001,
680 0x00000000, 0x00000200, 0x60030001, 0x43900004, 0x60030001, 0x43900001,
681 0x00000000, 0x00000400, 0x00013600, 0xC6E20004, 0x40040003, 0x50180104,
682 0x40060003, 0x40180803, 0x00000003, 0x20044006, 0x00000000, 0x00000500,
683 0x00003609, 0xC7260201, 0x00000000, 0x03000000, 0x00000000, 0x00000000,
684 0x00000000, 0x00000000,
685};
686
687static unsigned int _a5xx_critical_pkts_mem02[] = {
688 0x00000000, 0x03000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
689 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
690 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
691 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
692 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
693 0x00000000, 0x00000000, 0x0000000C, 0x00000000, 0x00000000, 0x00000000,
694 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8ACFE7F3, 0x00000000,
695 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
696};
697
698static unsigned int _a5xx_critical_pkts_mem03[] = {
699 0x70438003, /* [0x0000] == TYPE7: SET_DRAW_STATE (43) == */
700 0x0008003A, /* [0x0001] */
701 0x00000000, /* [0x0002] */
702 0x00000000, /* [0x0003] */
703 0x70B08003, /* [0x0004] == TYPE7: LOAD_STATE (30) == */
704 0x00620000, /* [0x0005] */
705 0x00000000, /* [0x0006] */
706 0x00000000, /* [0x0007] */
707 0x40E29801, /* [0x0008] == TYPE4 == */
708 0x0000FFFF, /* [0x0009] A5X_VPC_GS_SIV_CNTL_CTX_0 (0xE298)*/
709 0x48E2A001, /* [0x000A] == TYPE4 == */
710 0x000000FF, /* [0x000B] A5X_VPC_PS_PRIMITIVEID_CNTL_CTX_0 (0xE2A0)*/
711 0x40E40185, /* [0x000C] == TYPE4 == */
712 0x00FCFCFC, /* [0x000D] A5X_VFD_CNTL_1_CTX_0 (0xE401)*/
713 0x0000FCFC, /* [0x000E] A5X_VFD_CNTL_2_CTX_0 (0xE402)*/
714 0x0000FCFC, /* [0x000F] A5X_VFD_CNTL_3_CTX_0 (0xE403)*/
715 0x000000FC, /* [0x0010] A5X_VFD_CNTL_4_CTX_0 (0xE404)*/
716 0x00000000, /* [0x0011] A5X_VFD_CNTL_5_CTX_0 (0xE405)*/
717 0x48E38F01, /* [0x0012] == TYPE4 == */
718 0x00000000, /* [0x0013] A5X_PC_HS_PARAM_CTX_0 (0xE38F)*/
719 0x48E58001, /* [0x0014] == TYPE4 == */
720 0x00000010, /* [0x0015] A5X_SP_SP_CNTL_CTX_0 (0xE580)*/
721 0x40E00001, /* [0x0016] == TYPE4 == */
722 0x00000080, /* [0x0017] A5X_GRAS_CL_CNTL_CTX_0 (0xE000)*/
723 0x40E09583, /* [0x0018] == TYPE4 == */
724 0x00000000, /* [0x0019] A5X_GRAS_SU_POLY_OFFSET_SCALE_CTX_0 (0xE095)*/
725 0x00000000, /* [0x001A] A5X_GRAS_SU_POLY_OFFSET_OFFSET_CTX_0 (0xE096)*/
726 0x00000000, /* [0x001B] A5X_GRAS_SU_POLY_OFFSET_OFFSET_CLAMP_CTX_0 (0xE097)*/
727 0x40E09001, /* [0x001C] == TYPE4 == */
728 0x00000010, /* [0x001D] A5X_GRAS_SU_CNTL_CTX_0 (0xE090)*/
729 0x40E0AA02, /* [0x001E] == TYPE4 == */
730 0x00000000, /* [0x001F] A5X_GRAS_SC_SCREEN_SCISSOR_TL_0_CTX_0 (0xE0AA)*/
731 0x001F0073, /* [0x0020] A5X_GRAS_SC_SCREEN_SCISSOR_BR_0_CTX_0 (0xE0AB)*/
732 0x48E01086, /* [0x0021] == TYPE4 == */
733 0x42680000, /* [0x0022] A5X_GRAS_CL_VIEWPORT_XOFFSET_0_CTX_0 (0xE010)*/
734 0x42680000, /* [0x0023] A5X_GRAS_CL_VIEWPORT_XSCALE_0_CTX_0 (0xE011)*/
735 0x41800000, /* [0x0024] A5X_GRAS_CL_VIEWPORT_YOFFSET_0_CTX_0 (0xE012)*/
736 0xC1800000, /* [0x0025] A5X_GRAS_CL_VIEWPORT_YSCALE_0_CTX_0 (0xE013)*/
737 0x3EFFFEE0, /* [0x0026] A5X_GRAS_CL_VIEWPORT_ZOFFSET_0_CTX_0 (0xE014)*/
738 0x3EFFFEE0, /* [0x0027] A5X_GRAS_CL_VIEWPORT_ZSCALE_0_CTX_0 (0xE015)*/
739 0x40E0CA02, /* [0x0028] == TYPE4 == */
740 0x00000000, /* [0x0029] A5X_GRAS_SC_VIEWPORT_SCISSOR_TL_0_CTX_0 (0xE0CA)*/
741 0x001F0073, /* [0x002A] A5X_GRAS_SC_VIEWPORT_SCISSOR_BR_0_CTX_0 (0xE0CB)*/
742 0x40E00601, /* [0x002B] == TYPE4 == */
743 0x0007FDFF, /* [0x002C] A5X_GRAS_CL_GUARDBAND_CLIP_ADJ_CTX_0 (0xE006)*/
744 0x40E70401, /* [0x002D] == TYPE4 == */
745 0x00000000, /* [0x002E] A5X_TPL1_TP_RAS_MSAA_CNTL_CTX_0 (0xE704)*/
746 0x48E70501, /* [0x002F] == TYPE4 == */
747 0x00000004, /* [0x0030] A5X_TPL1_TP_DEST_MSAA_CNTL_CTX_0 (0xE705)*/
748 0x48E14201, /* [0x0031] == TYPE4 == */
749 0x00000000, /* [0x0032] A5X_RB_RAS_MSAA_CNTL_CTX_0 (0xE142)*/
750 0x40E14301, /* [0x0033] == TYPE4 == */
751 0x00000004, /* [0x0034] A5X_RB_DEST_MSAA_CNTL_CTX_0 (0xE143)*/
752 0x40E78683, /* [0x0035] == TYPE4 == */
753 0xFCFCFCFC, /* [0x0036] A5X_HLSQ_CNTL_2_CTX_0 (0xE786)*/
754 0xFCFCFCFC, /* [0x0037] A5X_HLSQ_CNTL_3_CTX_0 (0xE787)*/
755 0xFCFCFCFC, /* [0x0038] A5X_HLSQ_CNTL_4_CTX_0 (0xE788)*/
756 0x48E0A201, /* [0x0039] == TYPE4 == */
757 0x00000000, /* [0x003A] A5X_GRAS_SC_RAS_MSAA_CNTL_CTX_0 (0xE0A2)*/
758 0x40E0A301, /* [0x003B] == TYPE4 == */
759 0x00000004, /* [0x003C] A5X_GRAS_SC_DEST_MSAA_CNTL_CTX_0 (0xE0A3)*/
760 0x48E14101, /* [0x003D] == TYPE4 == */
761 0x0000C089, /* [0x003E] A5X_RB_RENDER_CNTL_CTX_0 (0xE141)*/
762 0x40E0A001, /* [0x003F] == TYPE4 == */
763 0x00000009, /* [0x0040] A5X_GRAS_SC_CNTL_CTX_0 (0xE0A0)*/
764 0x40E28001, /* [0x0041] == TYPE4 == */
765 0x00010004, /* [0x0042] A5X_VPC_CNTL_0_CTX_0 (0xE280)*/
766 0x40E38401, /* [0x0043] == TYPE4 == */
767 0x00000404, /* [0x0044] A5X_PC_PRIMITIVE_CNTL_CTX_0 (0xE384)*/
768 0x40E78501, /* [0x0045] == TYPE4 == */
769 0x0000003F, /* [0x0046] A5X_HLSQ_CNTL_1_CTX_0 (0xE785)*/
770 0x48E5D301, /* [0x0047] == TYPE4 == */
771 0x00000030, /* [0x0048] A5X_SP_PS_MRT_0_CTX_0 (0xE5D3)*/
772 0x48E5CB01, /* [0x0049] == TYPE4 == */
773 0x00000100, /* [0x004A] A5X_SP_PS_OUTPUT_0_CTX_0 (0xE5CB)*/
774 0x40E5CA01, /* [0x004B] == TYPE4 == */
775 0x001F9F81, /* [0x004C] A5X_SP_PS_OUTPUT_CNTL_CTX_0 (0xE5CA)*/
776 0x40E14601, /* [0x004D] == TYPE4 == */
777 0x00000001, /* [0x004E] A5X_RB_PS_OUTPUT_CNTL_CTX_0 (0xE146)*/
778 0x40E38E01, /* [0x004F] == TYPE4 == */
779 0x00000000, /* [0x0050] A5X_PC_GS_PARAM_CTX_0 (0xE38E)*/
780 0x40E28A01, /* [0x0051] == TYPE4 == */
781 0x00000000, /* [0x0052] A5X_VPC_VARYING_REPLACE_MODE_0_CTX_0 (0xE28A)*/
782 0x48E1A901, /* [0x0053] == TYPE4 == */
783 0xFFFF0100, /* [0x0054] A5X_RB_BLEND_CNTL_CTX_0 (0xE1A9)*/
784 0x40E5C901, /* [0x0055] == TYPE4 == */
785 0x00000100, /* [0x0056] A5X_SP_BLEND_CNTL_CTX_0 (0xE5C9)*/
786 0x40E76401, /* [0x0057] == TYPE4 == */
787 0x00000000, /* [0x0058] A5X_TPL1_TP_PS_ROTATION_CNTL_CTX_0 (0xE764)*/
788 0x48E09401, /* [0x0059] == TYPE4 == */
789 0x00000000, /* [0x005A] A5X_GRAS_SU_DEPTH_PLANE_CNTL_CTX_0 (0xE094)*/
790 0x40E1B001, /* [0x005B] == TYPE4 == */
791 0x00000000, /* [0x005C] A5X_RB_DEPTH_PLANE_CNTL_CTX_0 (0xE1B0)*/
792 0x48E1B101, /* [0x005D] == TYPE4 == */
793 0x00000000, /* [0x005E] A5X_RB_DEPTH_CNTL_CTX_0 (0xE1B1)*/
794 0x48E40001, /* [0x005F] == TYPE4 == */
795 0x00000001, /* [0x0060] A5X_VFD_CNTL_0_CTX_0 (0xE400)*/
796 0x48E40A04, /* [0x0061] == TYPE4 == */
797 0x00000000, /* [0x0062] A5X_VFD_VERTEX_BUFFER_BASE_LO_0_CTX_0 (0xE40A)*/
798 0x00000000, /* [0x0063] A5X_VFD_VERTEX_BUFFER_BASE_HI_0_CTX_0 (0xE40B)*/
799 0x00000078, /* [0x0064] A5X_VFD_VERTEX_BUFFER_SIZE_0_CTX_0 (0xE40C)*/
800 0x00000008, /* [0x0065] A5X_VFD_VERTEX_BUFFER_STRIDE_0_CTX_0 (0xE40D)*/
801 0x40E48A02, /* [0x0066] == TYPE4 == */
802 0xC6700000, /* [0x0067] A5X_VFD_FETCH_INSTR_0_CTX_0 (0xE48A)*/
803 0x00000001, /* [0x0068] A5X_VFD_FETCH_INSTR_STEP_RATE_0_CTX_0 (0xE48B)*/
804 0x48E4CA01, /* [0x0069] == TYPE4 == */
805 0x0000000F, /* [0x006A] A5X_VFD_DEST_CNTL_0_CTX_0 (0xE4CA)*/
806 0x48E10001, /* [0x006B] == TYPE4 == */
807 0x00000008, /* [0x006C] A5X_GRAS_LRZ_CNTL_CTX_0 (0xE100)*/
808 0x48E0A101, /* [0x006D] == TYPE4 == */
809 0x00000004, /* [0x006E] A5X_GRAS_SC_BIN_CNTL_CTX_0 (0xE0A1)*/
810 0x40E10185, /* [0x006F] == TYPE4 == */
811 0x00000000, /* [0x0070] A5X_GRAS_LRZ_BUFFER_BASE_LO_CTX_0 (0xE101)*/
812 0x00000000, /* [0x0071] A5X_GRAS_LRZ_BUFFER_BASE_HI_CTX_0 (0xE102)*/
813 0x00000001, /* [0x0072] A5X_GRAS_LRZ_BUFFER_PITCH_CTX_0 (0xE103)*/
814 0x00000000, /* [0x0073] A5X_GRAS_LRZ_FAST_CLEAR_BUFFER_BASE_LO_CTX_0 (0xE104)*/
815 0x00000000, /* [0x0074] A5X_GRAS_LRZ_FAST_CLEAR_BUFFER_BASE_HI_CTX_0 (0xE105)*/
816 0x70388003, /* [0x0075] == TYPE7: DRAW_INDX_OFFSET (38) == */
817 0x00200884, /* [0x0076] */
818 0x00000001, /* [0x0077] */
819 0x00000003, /* [0x0078] */
820 0x70380007, /* [0x0079] == TYPE7: DRAW_INDX_OFFSET (38) == */
821 0x00200404, /* [0x007A] */
822 0x00000001, /* [0x007B] */
823 0x00000003, /* [0x007C] */
824 0x00000000, /* [0x007D] */
825 0x00000000, /* [0x007E] */
826 0x00000000, /* [0x007F] */
827 0x00000006, /* [0x0080] */
828 0x70460004, /* [0x0081] == TYPE7: EVENT_WRITE (46) == */
829 0x00000004, /* [0x0082] */
830 0x00000000, /* [0x0083] */
831 0x00000000, /* [0x0084] */
832 0x00000001, /* [0x0085] */
833 0x70268000, /* [0x0086] == TYPE7: WAIT_FOR_IDLE (26) == */
834 0x70A88003, /* [0x0087] == TYPE7: DRAW_INDIRECT (28) == */
835 0x00200884, /* [0x0088] */
836 0x00000000, /* [0x0089] */
837 0x00000000, /* [0x008A] */
838 0x70460004, /* [0x008B] == TYPE7: EVENT_WRITE (46) == */
839 0x00000004, /* [0x008C] */
840 0x00000000, /* [0x008D] */
841 0x00000000, /* [0x008E] */
842 0x00000001, /* [0x008F] */
843 0x70268000, /* [0x0090] == TYPE7: WAIT_FOR_IDLE (26) == */
844 0x70298006, /* [0x0091] == TYPE7: DRAW_INDX_INDIRECT (29) == */
845 0x00200404, /* [0x0092] */
846 0x00000000, /* [0x0093] */
847 0x00000000, /* [0x0094] */
848 0x00000006, /* [0x0095] */
849 0x00000000, /* [0x0096] */
850 0x00000000, /* [0x0097] */
851 0x40E40801, /* [0x0098] == TYPE4 == */
852 0x0000000D, /* [0x0099] A5X_VFD_INDEX_OFFSET_CTX_0 (0xE408)*/
853 0x48E40901, /* [0x009A] == TYPE4 == */
854 0x00000000, /* [0x009B] A5X_VFD_INSTANCE_START_OFFSET_CTX_0 (0xE409)*/
855 0x70388003, /* [0x009C] == TYPE7: DRAW_INDX_OFFSET (38) == */
856 0x00200884, /* [0x009D] */
857 0x00000001, /* [0x009E] */
858 0x00000003, /* [0x009F] */
859 0x00000000, /* [0x00A0] */
860 0x00000000, /* [0x00A1] */
861 0x00000000, /* [0x00A2] */
862 0x00000000, /* [0x00A3] */
863 0x00000000, /* [0x00A4] */
864 0x00000000, /* [0x00A5] */
865 0x00000000, /* [0x00A6] */
866 0x00000000, /* [0x00A7] */
867 0x48E78401, /* [0x00A8] */
868 0x00000881, /* [0x00A9] */
869 0x40E5C001, /* [0x00AA] */
870 0x0004001E, /* [0x00AB] */
871 0x70438003, /* [0x00AC] */
872 0x0000003A, /* [0x00AD] */
873 0x00000000, /* [0x00AE] */
874 0x00000000, /* [0x00AF] */
875 0x70B00023, /* [0x00B0] */
876 0x00600000, /* [0x00B1] */
877 0x00000000, /* [0x00B2] */
878 0x00000000, /* [0x00B3] */
879 0x00000000, /* [0x00B4] */
880 0x03000000, /* [0x00B5] */
881 0x00000000, /* [0x00B6] */
882 0x00000000, /* [0x00B7] */
883 0x00000000, /* [0x00B8] */
884 0x00000000, /* [0x00B9] */
885 0x00000000, /* [0x00BA] */
886 0x00000000, /* [0x00BB] */
887 0x00000000, /* [0x00BC] */
888 0x00000000, /* [0x00BD] */
889 0x00000000, /* [0x00BE] */
890 0x00000000, /* [0x00BF] */
891 0x00000000, /* [0x00C0] */
892 0x00000000, /* [0x00C1] */
893 0x00000000, /* [0x00C2] */
894 0x00000000, /* [0x00C3] */
895 0x00000000, /* [0x00C4] */
896 0x00000000, /* [0x00C5] */
897 0x00000000, /* [0x00C6] */
898 0x00000000, /* [0x00C7] */
899 0x00000000, /* [0x00C8] */
900 0x00000000, /* [0x00C9] */
901 0x00000000, /* [0x00CA] */
902 0x00000000, /* [0x00CB] */
903 0x00000000, /* [0x00CC] */
904 0x00000000, /* [0x00CD] */
905 0x00000000, /* [0x00CE] */
906 0x00000000, /* [0x00CF] */
907 0x00000000, /* [0x00D0] */
908 0x00000000, /* [0x00D1] */
909 0x00000000, /* [0x00D2] */
910 0x00000000, /* [0x00D3] */
911 0x40E09301, /* [0x00D4] */
912 0x00000000, /* [0x00D5] */
913 0x40E38D01, /* [0x00D6] */
914 0x00000000, /* [0x00D7] */
915 0x40E29801, /* [0x00D8] */
916 0x0000FFFF, /* [0x00D9] */
917 0x48E28201, /* [0x00DA] */
918 0xEAEAEAEA, /* [0x00DB] */
919 0x40E29404, /* [0x00DC] */
920 0xFFFFFFFF, /* [0x00DD] */
921 0xFFFFFFFF, /* [0x00DE] */
922 0xFFFFFFFF, /* [0x00DF] */
923 0xFFFFFFFF, /* [0x00E0] */
924 0x40E5DB01, /* [0x00E1] */
925 0x00000000, /* [0x00E2] */
926 0x48E14701, /* [0x00E3] */
927 0x0000000F, /* [0x00E4] */
928 0x70B00023, /* [0x00E5] */
929 0x00700000, /* [0x00E6] */
930 0x00000000, /* [0x00E7] */
931 0x00000000, /* [0x00E8] */
932 0x00003C00, /* [0x00E9] */
933 0x20400000, /* [0x00EA] */
934 0x00000000, /* [0x00EB] */
935 0x20400001, /* [0x00EC] */
936 0x00000000, /* [0x00ED] */
937 0x20400002, /* [0x00EE] */
938 0x00003C00, /* [0x00EF] */
939 0x20400003, /* [0x00F0] */
940 0x00000000, /* [0x00F1] */
941 0x03000000, /* [0x00F2] */
942 0x00000000, /* [0x00F3] */
943 0x00000000, /* [0x00F4] */
944 0x00000000, /* [0x00F5] */
945 0x00000000, /* [0x00F6] */
946 0x00000000, /* [0x00F7] */
947 0x00000000, /* [0x00F8] */
948 0x00000000, /* [0x00F9] */
949 0x00000000, /* [0x00FA] */
950 0x00000000, /* [0x00FB] */
951 0x00000000, /* [0x00FC] */
952 0x00000000, /* [0x00FD] */
953 0x00000000, /* [0x00FE] */
954 0x00000000, /* [0x00FF] */
955 0x00000000, /* [0x0100] */
956 0x00000000, /* [0x0101] */
957 0x00000000, /* [0x0102] */
958 0x00000000, /* [0x0103] */
959 0x00000000, /* [0x0104] */
960 0x00000000, /* [0x0105] */
961 0x00000000, /* [0x0106] */
962 0x00000000, /* [0x0107] */
963 0x00000000, /* [0x0108] */
964 0x48E2A001, /* [0x0109] */
965 0x000000FF, /* [0x010A] */
966 0x40E40185, /* [0x010B] */
967 0x00FCFCFC, /* [0x010C] */
968 0x0000FCFC, /* [0x010D] */
969 0x0000FCFC, /* [0x010E] */
970 0x000000FC, /* [0x010F] */
971 0x00000000, /* [0x0110] */
972 0x48E38F01, /* [0x0111] */
973 0x00000000, /* [0x0112] */
974 0x48E58001, /* [0x0113] */
975 0x00000010, /* [0x0114] */
976 0x40E1A801, /* [0x0115] */
977 0x00000E00, /* [0x0116] */
978 0x48E15001, /* [0x0117] */
979 0x000007E0, /* [0x0118] */
980 0x40E15101, /* [0x0119] */
981 0x00000000, /* [0x011A] */
982 0x40E00001, /* [0x011B] */
983 0x00000080, /* [0x011C] */
984 0x40E09583, /* [0x011D] */
985 0x00000000, /* [0x011E] */
986 0x00000000, /* [0x011F] */
987 0x00000000, /* [0x0120] */
988 0x40E09001, /* [0x0121] */
989 0x00000010, /* [0x0122] */
990 0x40E0AA02, /* [0x0123] */
991 0x00000000, /* [0x0124] */
992 0x001F0073, /* [0x0125] */
993 0x48E01086, /* [0x0126] */
994 0x42680000, /* [0x0127] */
995 0x42680000, /* [0x0128] */
996 0x41800000, /* [0x0129] */
997 0xC1800000, /* [0x012A] */
998 0x3EFFFEE0, /* [0x012B] */
999 0x3EFFFEE0, /* [0x012C] */
1000 0x40E0CA02, /* [0x012D] */
1001 0x00000000, /* [0x012E] */
1002 0x001F0073, /* [0x012F] */
1003 0x40E00601, /* [0x0130] */
1004 0x0007FDFF, /* [0x0131] */
1005 0x40E70401, /* [0x0132] */
1006 0x00000000, /* [0x0133] */
1007 0x48E70501, /* [0x0134] */
1008 0x00000004, /* [0x0135] */
1009 0x48E14201, /* [0x0136] */
1010 0x00000000, /* [0x0137] */
1011 0x40E14301, /* [0x0138] */
1012 0x00000004, /* [0x0139] */
1013 0x40E78683, /* [0x013A] */
1014 0xFCFCFCFC, /* [0x013B] */
1015 0xFCFCFCFC, /* [0x013C] */
1016 0xFCFCFCFC, /* [0x013D] */
1017 0x48E0A201, /* [0x013E] */
1018 0x00000000, /* [0x013F] */
1019 0x40E0A301, /* [0x0140] */
1020 0x00000004, /* [0x0141] */
1021 0x48E1B285, /* [0x0142] */
1022 0x00000001, /* [0x0143] */
1023 0x00004000, /* [0x0144] */
1024 0x00000000, /* [0x0145] */
1025 0x00000004, /* [0x0146] */
1026 0x000000C0, /* [0x0147] */
1027 0x48E09801, /* [0x0148] */
1028 0x00000001, /* [0x0149] */
1029 0x48E00401, /* [0x014A] */
1030 0x00000000, /* [0x014B] */
1031 0x480CDD02, /* [0x014C] */
1032 0x00200074, /* [0x014D] */
1033 0x00000000, /* [0x014E] */
1034 0x40E15285, /* [0x014F] */
1035 0x00000A30, /* [0x0150] */
1036 0x00000008, /* [0x0151] */
1037 0x00000100, /* [0x0152] */
1038 0x00000000, /* [0x0153] */
1039 0x00000000, /* [0x0154] */
1040 0x48E14101, /* [0x0155] */
1041 0x0000C008, /* [0x0156] */
1042 0x40E0A001, /* [0x0157] */
1043 0x00000008, /* [0x0158] */
1044 0x40E28001, /* [0x0159] */
1045 0x00010004, /* [0x015A] */
1046 0x40E38401, /* [0x015B] */
1047 0x00000404, /* [0x015C] */
1048 0x40E78501, /* [0x015D] */
1049 0x0000003F, /* [0x015E] */
1050 0x48E5D301, /* [0x015F] */
1051 0x00000030, /* [0x0160] */
1052 0x48E5CB01, /* [0x0161] */
1053 0x00000100, /* [0x0162] */
1054 0x40E5CA01, /* [0x0163] */
1055 0x001F9F81, /* [0x0164] */
1056 0x40E14601, /* [0x0165] */
1057 0x00000001, /* [0x0166] */
1058 0x40E38E01, /* [0x0167] */
1059 0x00000000, /* [0x0168] */
1060 0x40E28A01, /* [0x0169] */
1061 0x00000000, /* [0x016A] */
1062 0x48E1A901, /* [0x016B] */
1063 0xFFFF0100, /* [0x016C] */
1064 0x40E5C901, /* [0x016D] */
1065 0x00000100, /* [0x016E] */
1066 0x40E76401, /* [0x016F] */
1067 0x00000000, /* [0x0170] */
1068 0x48E09401, /* [0x0171] */
1069 0x00000000, /* [0x0172] */
1070 0x40E1B001, /* [0x0173] */
1071 0x00000000, /* [0x0174] */
1072 0x48E1B101, /* [0x0175] */
1073 0x00000006, /* [0x0176] */
1074 0x48E40001, /* [0x0177] */
1075 0x00000001, /* [0x0178] */
1076 0x48E40A04, /* [0x0179] */
1077 0x00000000, /* [0x017A] */
1078 0x00000000, /* [0x017B] */
1079 0x00000078, /* [0x017C] */
1080 0x00000008, /* [0x017D] */
1081 0x40E48A02, /* [0x017E] */
1082 0xC6700000, /* [0x017F] */
1083 0x00000001, /* [0x0180] */
1084 0x48E4CA01, /* [0x0181] */
1085 0x0000000F, /* [0x0182] */
1086 0x48E10001, /* [0x0183] */
1087 0x00000008, /* [0x0184] */
1088 0x48E0A101, /* [0x0185] */
1089 0x00000000, /* [0x0186] */
1090 0x40E10185, /* [0x0187] */
1091 0x00000000, /* [0x0188] */
1092 0x00000000, /* [0x0189] */
1093 0x00000001, /* [0x018A] */
1094 0x00000000, /* [0x018B] */
1095 0x00000000, /* [0x018C] */
1096 0x70230001, /* [0x018D] */
1097 0x00000000, /* [0x018E] */
1098 0x70388003, /* [0x018F] */
1099 0x00200984, /* [0x0190] */
1100 0x00000001, /* [0x0191] */
1101 0x00000003, /* [0x0192] */
1102 0x70380007, /* [0x0193] */
1103 0x00200504, /* [0x0194] */
1104 0x00000001, /* [0x0195] */
1105 0x00000003, /* [0x0196] */
1106 0x00000000, /* [0x0197] */
1107 0x00000000, /* [0x0198] */
1108 0x00000000, /* [0x0199] */
1109 0x00000006, /* [0x019A] */
1110 0x70460004, /* [0x019B] */
1111 0x00000004, /* [0x019C] */
1112 0x00000000, /* [0x019D] */
1113 0x00000000, /* [0x019E] */
1114 0x00000000, /* [0x019F] */
1115 0x70268000, /* [0x01A0] */
1116 0x70A88003, /* [0x01A1] */
1117 0x00200984, /* [0x01A2] */
1118 0x00000000, /* [0x01A3] */
1119 0x00000000, /* [0x01A4] */
1120 0x70460004, /* [0x01A5] */
1121 0x00000004, /* [0x01A6] */
1122 0x00000000, /* [0x01A7] */
1123 0x00000000, /* [0x01A8] */
1124 0x00000001, /* [0x01A9] */
1125 0x70268000, /* [0x01AA] */
1126 0x70298006, /* [0x01AB] */
1127 0x00200504, /* [0x01AC] */
1128 0x00000000, /* [0x01AD] */
1129 0x00000000, /* [0x01AE] */
1130 0x00000006, /* [0x01AF] */
1131 0x00000000, /* [0x01B0] */
1132 0x00000000, /* [0x01B1] */
1133 0x40E40801, /* [0x01B2] */
1134 0x0000000D, /* [0x01B3] */
1135 0x48E40901, /* [0x01B4] */
1136 0x00000000, /* [0x01B5] */
1137 0x70388003, /* [0x01B6] */
1138 0x00200984, /* [0x01B7] */
1139 0x00000001, /* [0x01B8] */
1140 0x00000003, /* [0x01B9] */
1141 0x00000000, /* [0x01BA] */
1142 0x00000000, /* [0x01BB] */
1143 0x00000000, /* [0x01BC] */
1144 0x00000000, /* [0x01BD] */
1145 0x00000000, /* [0x01BE] */
1146 0x00000000, /* [0x01BF] */
1147 0x70EA0001, /* [0x01C0] */
1148 0x00000000, /* [0x01C1] */
1149 0x40E78A01, /* [0x01C2] */
1150 0x000FFFFF, /* [0x01C3] */
1151 0x40E09001, /* [0x01C4] */
1152 0x00000000, /* [0x01C5] */
1153 0x40E00501, /* [0x01C6] */
1154 0x00000000, /* [0x01C7] */
1155 0x40E00001, /* [0x01C8] */
1156 0x00000181, /* [0x01C9] */
1157 0x48E10001, /* [0x01CA] */
1158 0x00000000, /* [0x01CB] */
1159 0x40E21385, /* [0x01CC] */
1160 0x00000004, /* [0x01CD] */
1161 0x00000000, /* [0x01CE] */
1162 0x00000000, /* [0x01CF] */
1163 0x00000001, /* [0x01D0] */
1164 0x00000001, /* [0x01D1] */
1165 0x40E21C01, /* [0x01D2] */
1166 0x00000000, /* [0x01D3] */
1167 0x40E21001, /* [0x01D4] */
1168 0x00000000, /* [0x01D5] */
1169 0x70460004, /* [0x01D6] */
1170 0x0000001E, /* [0x01D7] */
1171 0x00000000, /* [0x01D8] */
1172 0x00000000, /* [0x01D9] */
1173 0x00000001, /* [0x01DA] */
1174 0x00000000, /* [0x01DB] */
1175 0x00000000, /* [0x01DC] */
1176 0x00000000, /* [0x01DD] */
1177 0x00000000, /* [0x01DE] */
1178 0x00000000, /* [0x01DF] */
1179 0x40E78A01, /* [0x01E0] */
1180 0x020FFFFF, /* [0x01E1] */
1181 0x48E78B85, /* [0x01E2] */
1182 0x00000001, /* [0x01E3] */
1183 0x00003F05, /* [0x01E4] */
1184 0x00003F04, /* [0x01E5] */
1185 0x00003F04, /* [0x01E6] */
1186 0x00003F04, /* [0x01E7] */
1187 0x48E79001, /* [0x01E8] */
1188 0x00000000, /* [0x01E9] */
1189 0x40E79101, /* [0x01EA] */
1190 0x00000002, /* [0x01EB] */
1191 0x40E79201, /* [0x01EC] */
1192 0x00000002, /* [0x01ED] */
1193 0x40E58485, /* [0x01EE] */
1194 0x00000001, /* [0x01EF] */
1195 0x00003F05, /* [0x01F0] */
1196 0x00003F04, /* [0x01F1] */
1197 0x00003F04, /* [0x01F2] */
1198 0x00003F04, /* [0x01F3] */
1199 0x48E58901, /* [0x01F4] */
1200 0x00000000, /* [0x01F5] */
1201 0x48E7C302, /* [0x01F6] */
1202 0x00000002, /* [0x01F7] */
1203 0x00000001, /* [0x01F8] */
1204 0x48E7D702, /* [0x01F9] */
1205 0x00000002, /* [0x01FA] */
1206 0x00000001, /* [0x01FB] */
1207 0x40E7C802, /* [0x01FC] */
1208 0x00000000, /* [0x01FD] */
1209 0x00000000, /* [0x01FE] */
1210 0x40E7CD02, /* [0x01FF] */
1211 0x00000000, /* [0x0200] */
1212 0x00000000, /* [0x0201] */
1213 0x48E7D202, /* [0x0202] */
1214 0x00000000, /* [0x0203] */
1215 0x00000000, /* [0x0204] */
1216 0x40E7DC02, /* [0x0205] */
1217 0x00000000, /* [0x0206] */
1218 0x00000000, /* [0x0207] */
1219 0x48E38901, /* [0x0208] */
1220 0x00000000, /* [0x0209] */
1221 0x48E29A01, /* [0x020A] */
1222 0x00FFFF00, /* [0x020B] */
1223 0x48E00101, /* [0x020C] */
1224 0x00000000, /* [0x020D] */
1225 0x40E29D01, /* [0x020E] */
1226 0x0000FF00, /* [0x020F] */
1227 0x40E59001, /* [0x0210] */
1228 0x00000406, /* [0x0211] */
1229 0x48E59201, /* [0x0212] */
1230 0x00000001, /* [0x0213] */
1231 0x40E59301, /* [0x0214] */
1232 0x00000F00, /* [0x0215] */
1233 0x40E5A301, /* [0x0216] */
1234 0x00000000, /* [0x0217] */
1235 0x48E38501, /* [0x0218] */
1236 0x00000000, /* [0x0219] */
1237 0x00000000, /* [0x021A] */
1238 0x00000000, /* [0x021B] */
1239 0x00000000, /* [0x021C] */
1240 0x00000000, /* [0x021D] */
1241 0x00000000, /* [0x021E] */
1242 0x00000000, /* [0x021F] */
1243 0x48210001, /* [0x0220] */
1244 0x86000000, /* [0x0221] */
1245 0x40218001, /* [0x0222] */
1246 0x86000000, /* [0x0223] */
1247 0x40211089, /* [0x0224] */
1248 0x00001331, /* [0x0225] */
1249 0x00000000, /* [0x0226] */
1250 0x00000000, /* [0x0227] */
1251 0x00020001, /* [0x0228] */
1252 0x00000000, /* [0x0229] */
1253 0x00000000, /* [0x022A] */
1254 0x00000000, /* [0x022B] */
1255 0x00000000, /* [0x022C] */
1256 0x00000000, /* [0x022D] */
1257 0x48218201, /* [0x022E] */
1258 0x00001331, /* [0x022F] */
1259 0x40214383, /* [0x0230] */
1260 0x00000000, /* [0x0231] */
1261 0x00000000, /* [0x0232] */
1262 0x00000001, /* [0x0233] */
1263 0x40210789, /* [0x0234] */
1264 0x00000021, /* [0x0235] */
1265 0x00000000, /* [0x0236] */
1266 0x00000000, /* [0x0237] */
1267 0x00020001, /* [0x0238] */
1268 0x00000000, /* [0x0239] */
1269 0x00000000, /* [0x023A] */
1270 0x00000000, /* [0x023B] */
1271 0x00000000, /* [0x023C] */
1272 0x00000000, /* [0x023D] */
1273 0x48218101, /* [0x023E] */
1274 0x00000021, /* [0x023F] */
1275 0x48218401, /* [0x0240] */
1276 0x00000001, /* [0x0241] */
1277 0x702C8005, /* [0x0242] */
1278 0x00000002, /* [0x0243] */
1279 0x00000000, /* [0x0244] */
1280 0x00010001, /* [0x0245] */
1281 0x00000000, /* [0x0246] */
1282 0x00010001, /* [0x0247] */
1283 0x70B00023, /* [0x0248] */
1284 0x00600000, /* [0x0249] */
1285 0x00000000, /* [0x024A] */
1286 0x00000000, /* [0x024B] */
1287 0x00000000, /* [0x024C] */
1288 0x03000000, /* [0x024D] */
1289 0x00000000, /* [0x024E] */
1290 0x00000000, /* [0x024F] */
1291 0x00000000, /* [0x0250] */
1292 0x00000000, /* [0x0251] */
1293 0x00000000, /* [0x0252] */
1294 0x00000000, /* [0x0253] */
1295 0x00000000, /* [0x0254] */
1296 0x00000000, /* [0x0255] */
1297 0x00000000, /* [0x0256] */
1298 0x00000000, /* [0x0257] */
1299 0x00000000, /* [0x0258] */
1300 0x00000000, /* [0x0259] */
1301 0x00000000, /* [0x025A] */
1302 0x00000000, /* [0x025B] */
1303 0x00000000, /* [0x025C] */
1304 0x00000000, /* [0x025D] */
1305 0x00000000, /* [0x025E] */
1306 0x00000000, /* [0x025F] */
1307 0x00000000, /* [0x0260] */
1308 0x00000000, /* [0x0261] */
1309 0x00000000, /* [0x0262] */
1310 0x00000000, /* [0x0263] */
1311 0x00000000, /* [0x0264] */
1312 0x00000000, /* [0x0265] */
1313 0x00000000, /* [0x0266] */
1314 0x00000000, /* [0x0267] */
1315 0x00000000, /* [0x0268] */
1316 0x00000000, /* [0x0269] */
1317 0x00000000, /* [0x026A] */
1318 0x00000000, /* [0x026B] */
1319 0x40E09301, /* [0x026C] */
1320 0x00000000, /* [0x026D] */
1321 0x40E38D01, /* [0x026E] */
1322 0x00000000, /* [0x026F] */
1323 0x40E29801, /* [0x0270] */
1324 0x0000FFFF, /* [0x0271] */
1325 0x48E28201, /* [0x0272] */
1326 0xEAEAEAEA, /* [0x0273] */
1327 0x40E29404, /* [0x0274] */
1328 0xFFFFFFFF, /* [0x0275] */
1329 0xFFFFFFFF, /* [0x0276] */
1330 0xFFFFFFFF, /* [0x0277] */
1331 0xFFFFFFFF, /* [0x0278] */
1332 0x40E5DB01, /* [0x0279] */
1333 0x00000000, /* [0x027A] */
1334 0x48E14701, /* [0x027B] */
1335 0x0000000F, /* [0x027C] */
1336 0x70B00023, /* [0x027D] */
1337 0x00700000, /* [0x027E] */
1338 0x00000000, /* [0x027F] */
1339 0x00000000, /* [0x0280] */
1340 0x00003C00, /* [0x0281] */
1341 0x20400000, /* [0x0282] */
1342 0x00000000, /* [0x0283] */
1343 0x20400001, /* [0x0284] */
1344 0x00000000, /* [0x0285] */
1345 0x20400002, /* [0x0286] */
1346 0x00003C00, /* [0x0287] */
1347 0x20400003, /* [0x0288] */
1348 0x00000000, /* [0x0289] */
1349 0x03000000, /* [0x028A] */
1350 0x00000000, /* [0x028B] */
1351 0x00000000, /* [0x028C] */
1352 0x00000000, /* [0x028D] */
1353 0x00000000, /* [0x028E] */
1354 0x00000000, /* [0x028F] */
1355 0x00000000, /* [0x0290] */
1356 0x00000000, /* [0x0291] */
1357 0x00000000, /* [0x0292] */
1358 0x00000000, /* [0x0293] */
1359 0x00000000, /* [0x0294] */
1360 0x00000000, /* [0x0295] */
1361 0x00000000, /* [0x0296] */
1362 0x00000000, /* [0x0297] */
1363 0x00000000, /* [0x0298] */
1364 0x00000000, /* [0x0299] */
1365 0x00000000, /* [0x029A] */
1366 0x00000000, /* [0x029B] */
1367 0x00000000, /* [0x029C] */
1368 0x00000000, /* [0x029D] */
1369 0x00000000, /* [0x029E] */
1370 0x00000000, /* [0x029F] */
1371 0x00000000, /* [0x02A0] */
1372};
1373
1374/* Fixups for the IBs in _a5xx_critical_pkts_mem03 */
1375static const struct adreno_critical_fixup critical_pkt_mem03_fixups[] = {
1376 { 2, 3, CRITICAL_PACKET3, 0x0780 },
1377 { 6, 7, CRITICAL_PACKET2, 0x0000 },
1378 { 98, 99, CRITICAL_PACKET1, 0x0000 },
1379 { 112, 113, CRITICAL_PACKET1, 0x0480 },
1380 { 115, 116, CRITICAL_PACKET1, 0x0400 },
1381 { 126, 127, CRITICAL_PACKET1, 0x0080 },
1382 { 131, 132, CRITICAL_PACKET2, 0x0108 },
1383 { 137, 138, CRITICAL_PACKET1, 0x00A0 },
1384 { 141, 142, CRITICAL_PACKET2, 0x0108 },
1385 { 147, 148, CRITICAL_PACKET1, 0x0080 },
1386 { 150, 151, CRITICAL_PACKET1, 0x00C0 },
1387 { 174, 175, CRITICAL_PACKET3, 0x0780 },
1388 { 378, 379, CRITICAL_PACKET1, 0x0000 },
1389 { 392, 393, CRITICAL_PACKET1, 0x0480 },
1390 { 395, 396, CRITICAL_PACKET1, 0x0400 },
1391 { 408, 409, CRITICAL_PACKET1, 0x0080 },
1392 { 413, 414, CRITICAL_PACKET2, 0x0108 },
1393 { 419, 420, CRITICAL_PACKET1, 0x00A0 },
1394 { 423, 424, CRITICAL_PACKET2, 0x0108 },
1395 { 429, 430, CRITICAL_PACKET1, 0x0080 },
1396 { 432, 433, CRITICAL_PACKET1, 0x00C0 },
1397 { 462, 463, CRITICAL_PACKET0, 0x0700 },
1398 { 472, 473, CRITICAL_PACKET2, 0x0110 },
1399 { 550, 551, CRITICAL_PACKET1, 0x0500 },
1400 { 561, 562, CRITICAL_PACKET1, 0x0600 },
1401 { 566, 567, CRITICAL_PACKET1, 0x0700 },
1402};