]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blob - drivers/scsi/aic7xxx/aic79xx_seq.h_shipped
UBUNTU: Ubuntu-4.13.0-45.50
[mirror_ubuntu-artful-kernel.git] / drivers / scsi / aic7xxx / aic79xx_seq.h_shipped
1 /*
2 * DO NOT EDIT - This file is automatically generated
3 * from the following source files:
4 *
5 * $Id: //depot/aic7xxx/aic7xxx/aic79xx.seq#120 $
6 * $Id: //depot/aic7xxx/aic7xxx/aic79xx.reg#77 $
7 */
8 static const uint8_t seqprog[] = {
9 0xff, 0x02, 0x06, 0x78,
10 0x00, 0xea, 0x6e, 0x59,
11 0x01, 0xea, 0x04, 0x30,
12 0xff, 0x04, 0x0c, 0x78,
13 0x19, 0xea, 0x6e, 0x59,
14 0x19, 0xea, 0x04, 0x00,
15 0x33, 0xea, 0x68, 0x59,
16 0x33, 0xea, 0x00, 0x00,
17 0x60, 0x3a, 0x3a, 0x68,
18 0x04, 0x4d, 0x35, 0x78,
19 0x01, 0x34, 0xc1, 0x31,
20 0x00, 0x32, 0x21, 0x60,
21 0x01, 0x35, 0xc1, 0x31,
22 0x00, 0x33, 0x21, 0x60,
23 0xfb, 0x4d, 0x9b, 0x0a,
24 0x00, 0xe2, 0x34, 0x40,
25 0x50, 0x4b, 0x3a, 0x68,
26 0xff, 0x31, 0x3b, 0x70,
27 0x02, 0x30, 0x51, 0x31,
28 0xff, 0x8d, 0x2d, 0x70,
29 0x02, 0x8c, 0x51, 0x31,
30 0xff, 0x8d, 0x29, 0x60,
31 0x02, 0x28, 0x19, 0x33,
32 0x02, 0x30, 0x51, 0x32,
33 0xff, 0xea, 0x62, 0x02,
34 0x00, 0xe2, 0x3a, 0x40,
35 0xff, 0x21, 0x3b, 0x70,
36 0x40, 0x4b, 0xb4, 0x69,
37 0x00, 0xe2, 0x72, 0x59,
38 0x40, 0x4b, 0xb4, 0x69,
39 0x20, 0x4b, 0xa0, 0x69,
40 0xfc, 0x42, 0x44, 0x78,
41 0x10, 0x40, 0x44, 0x78,
42 0x00, 0xe2, 0x10, 0x5e,
43 0x20, 0x4d, 0x48, 0x78,
44 0x00, 0xe2, 0x10, 0x5e,
45 0x30, 0x3f, 0xc0, 0x09,
46 0x30, 0xe0, 0x50, 0x60,
47 0x7f, 0x4a, 0x94, 0x08,
48 0x00, 0xe2, 0x52, 0x40,
49 0xc0, 0x4a, 0x94, 0x00,
50 0x00, 0xe2, 0x5e, 0x58,
51 0x00, 0xe2, 0x76, 0x58,
52 0x00, 0xe2, 0x86, 0x58,
53 0x00, 0xe2, 0x06, 0x40,
54 0x33, 0xea, 0x68, 0x59,
55 0x33, 0xea, 0x00, 0x00,
56 0x01, 0x52, 0x84, 0x78,
57 0x02, 0x58, 0x50, 0x31,
58 0xff, 0xea, 0x10, 0x0b,
59 0xff, 0x97, 0x6f, 0x78,
60 0x50, 0x4b, 0x6a, 0x68,
61 0xbf, 0x3a, 0x74, 0x08,
62 0x14, 0xea, 0x6e, 0x59,
63 0x14, 0xea, 0x04, 0x00,
64 0x08, 0x92, 0x25, 0x03,
65 0xff, 0x90, 0x5f, 0x68,
66 0x00, 0xe2, 0x8a, 0x5b,
67 0x00, 0xe2, 0x5e, 0x40,
68 0x00, 0xea, 0x68, 0x59,
69 0x01, 0xea, 0x00, 0x30,
70 0x80, 0xf9, 0x7e, 0x68,
71 0x00, 0xe2, 0x66, 0x59,
72 0x11, 0xea, 0x68, 0x59,
73 0x11, 0xea, 0x00, 0x00,
74 0x80, 0xf9, 0x66, 0x79,
75 0xff, 0xea, 0xd4, 0x0d,
76 0x22, 0xea, 0x68, 0x59,
77 0x22, 0xea, 0x00, 0x00,
78 0x10, 0x16, 0x90, 0x78,
79 0x10, 0x16, 0x2c, 0x00,
80 0x01, 0x0b, 0xae, 0x32,
81 0x18, 0xad, 0x1c, 0x79,
82 0x04, 0xad, 0xdc, 0x68,
83 0x80, 0xad, 0x84, 0x78,
84 0x10, 0xad, 0xaa, 0x78,
85 0xe7, 0xad, 0x5a, 0x09,
86 0x02, 0x8c, 0x59, 0x32,
87 0xff, 0x8d, 0xa1, 0x60,
88 0xff, 0xea, 0x5e, 0x02,
89 0xff, 0x88, 0xa7, 0x78,
90 0x02, 0x30, 0x19, 0x33,
91 0x02, 0xa8, 0x60, 0x36,
92 0x02, 0x28, 0x19, 0x33,
93 0x02, 0xa8, 0x50, 0x36,
94 0xe7, 0xad, 0x5a, 0x09,
95 0x00, 0xe2, 0xb8, 0x58,
96 0xff, 0xea, 0x56, 0x02,
97 0x04, 0x7c, 0x88, 0x32,
98 0x20, 0x16, 0x84, 0x78,
99 0x04, 0x40, 0x89, 0x32,
100 0x80, 0x3d, 0x7b, 0x16,
101 0xff, 0x2d, 0xc7, 0x60,
102 0xff, 0x29, 0xc7, 0x60,
103 0x40, 0x57, 0xd7, 0x78,
104 0xff, 0x55, 0xc7, 0x68,
105 0xff, 0x53, 0xc1, 0x19,
106 0x00, 0x54, 0xd5, 0x19,
107 0x00, 0xe2, 0xd6, 0x50,
108 0x01, 0x52, 0xc1, 0x31,
109 0x00, 0x56, 0xd5, 0x19,
110 0x00, 0xe2, 0xd6, 0x48,
111 0x80, 0x18, 0x84, 0x78,
112 0x02, 0x50, 0x1d, 0x30,
113 0x10, 0xea, 0x18, 0x00,
114 0x60, 0x18, 0x30, 0x00,
115 0x7f, 0x18, 0x30, 0x0c,
116 0x02, 0xea, 0x02, 0x00,
117 0xff, 0xea, 0xac, 0x0a,
118 0x80, 0x18, 0x30, 0x04,
119 0x40, 0xad, 0x84, 0x78,
120 0xe7, 0xad, 0x5a, 0x09,
121 0xff, 0xea, 0xc0, 0x09,
122 0x01, 0x54, 0xa9, 0x1a,
123 0x00, 0x55, 0xab, 0x22,
124 0x01, 0x94, 0x6d, 0x33,
125 0xff, 0xea, 0x20, 0x0b,
126 0x04, 0xac, 0x49, 0x32,
127 0xff, 0xea, 0x5a, 0x03,
128 0xff, 0xea, 0x5e, 0x03,
129 0x01, 0x10, 0xd4, 0x31,
130 0x02, 0xa8, 0x40, 0x31,
131 0x01, 0x92, 0xc1, 0x31,
132 0x3d, 0x93, 0xc5, 0x29,
133 0xfe, 0xe2, 0xc4, 0x09,
134 0x01, 0xea, 0xc6, 0x01,
135 0x02, 0xe2, 0xc8, 0x31,
136 0x02, 0xec, 0x50, 0x31,
137 0x02, 0xa0, 0xda, 0x31,
138 0xff, 0xa9, 0x10, 0x71,
139 0x10, 0xe0, 0x0e, 0x79,
140 0x10, 0x92, 0x0f, 0x79,
141 0x01, 0x4d, 0x9b, 0x02,
142 0x02, 0xa0, 0xc0, 0x32,
143 0x01, 0x93, 0xc5, 0x36,
144 0x02, 0xa0, 0x58, 0x37,
145 0xff, 0x21, 0x19, 0x71,
146 0x02, 0x22, 0x51, 0x31,
147 0x02, 0xa0, 0x5c, 0x33,
148 0x02, 0xa0, 0x44, 0x36,
149 0x02, 0xa0, 0x40, 0x32,
150 0x02, 0xa0, 0x44, 0x36,
151 0x05, 0x4d, 0x21, 0x69,
152 0x40, 0x16, 0x52, 0x69,
153 0xff, 0x2d, 0x57, 0x61,
154 0xff, 0x29, 0x85, 0x70,
155 0x02, 0x28, 0x55, 0x32,
156 0x01, 0xea, 0x5a, 0x01,
157 0x04, 0x44, 0xf9, 0x30,
158 0x01, 0x44, 0xc1, 0x31,
159 0x02, 0x28, 0x51, 0x31,
160 0x02, 0xa8, 0x60, 0x31,
161 0x01, 0xa4, 0x61, 0x31,
162 0x01, 0x3d, 0x61, 0x31,
163 0x01, 0x14, 0xd4, 0x31,
164 0x01, 0x56, 0xad, 0x1a,
165 0xff, 0x54, 0xa9, 0x1a,
166 0xff, 0x55, 0xab, 0x22,
167 0xff, 0x8d, 0x4b, 0x71,
168 0x80, 0xac, 0x4a, 0x71,
169 0x20, 0x16, 0x4a, 0x69,
170 0x00, 0xac, 0xc4, 0x19,
171 0x07, 0xe2, 0x4a, 0xf9,
172 0x02, 0x8c, 0x51, 0x31,
173 0x00, 0xe2, 0x2e, 0x41,
174 0x01, 0xac, 0x08, 0x31,
175 0x09, 0xea, 0x5a, 0x01,
176 0x02, 0x8c, 0x51, 0x32,
177 0xff, 0xea, 0x1a, 0x07,
178 0x04, 0x24, 0xf9, 0x30,
179 0x1d, 0xea, 0x5c, 0x41,
180 0x02, 0x2c, 0x51, 0x31,
181 0x04, 0xa8, 0xf9, 0x30,
182 0x19, 0xea, 0x5c, 0x41,
183 0x06, 0xea, 0x08, 0x81,
184 0x01, 0xe2, 0x5a, 0x35,
185 0x02, 0xf2, 0xf0, 0x31,
186 0xff, 0xea, 0xd4, 0x0d,
187 0x02, 0xf2, 0xf0, 0x31,
188 0x02, 0xf8, 0xe4, 0x35,
189 0x80, 0xea, 0xb2, 0x01,
190 0x01, 0xe2, 0x00, 0x30,
191 0xff, 0xea, 0xb2, 0x0d,
192 0x01, 0xe2, 0x04, 0x30,
193 0x01, 0xea, 0x04, 0x34,
194 0x02, 0x20, 0xbd, 0x30,
195 0x02, 0x20, 0xb9, 0x30,
196 0x02, 0x20, 0x51, 0x31,
197 0x4c, 0x93, 0xd7, 0x28,
198 0x10, 0x92, 0x81, 0x79,
199 0x01, 0x6b, 0xc0, 0x30,
200 0x02, 0x64, 0xc8, 0x00,
201 0x40, 0x3a, 0x74, 0x04,
202 0x00, 0xe2, 0x76, 0x58,
203 0x33, 0xea, 0x68, 0x59,
204 0x33, 0xea, 0x00, 0x00,
205 0x30, 0x3f, 0xc0, 0x09,
206 0x30, 0xe0, 0x82, 0x61,
207 0x20, 0x3f, 0x98, 0x69,
208 0x10, 0x3f, 0x82, 0x79,
209 0x02, 0xea, 0x7e, 0x00,
210 0x00, 0xea, 0x68, 0x59,
211 0x01, 0xea, 0x00, 0x30,
212 0x02, 0x4e, 0x51, 0x35,
213 0x01, 0xea, 0x7e, 0x00,
214 0x11, 0xea, 0x68, 0x59,
215 0x11, 0xea, 0x00, 0x00,
216 0x02, 0x4e, 0x51, 0x35,
217 0xc0, 0x4a, 0x94, 0x00,
218 0x04, 0x41, 0xa6, 0x79,
219 0x08, 0xea, 0x98, 0x00,
220 0x08, 0x57, 0xae, 0x00,
221 0x08, 0x3c, 0x78, 0x00,
222 0xf0, 0x49, 0x74, 0x0a,
223 0x0f, 0x67, 0xc0, 0x09,
224 0x00, 0x3a, 0x75, 0x02,
225 0x20, 0xea, 0x96, 0x00,
226 0x00, 0xe2, 0x28, 0x42,
227 0xc0, 0x4a, 0x94, 0x00,
228 0x40, 0x3a, 0xd2, 0x69,
229 0x02, 0x55, 0x06, 0x68,
230 0x02, 0x56, 0xd2, 0x69,
231 0xff, 0x5b, 0xd2, 0x61,
232 0x02, 0x20, 0x51, 0x31,
233 0x80, 0xea, 0xb2, 0x01,
234 0x44, 0xea, 0x00, 0x00,
235 0x01, 0x33, 0xc0, 0x31,
236 0x33, 0xea, 0x00, 0x00,
237 0xff, 0xea, 0xb2, 0x09,
238 0xff, 0xe0, 0xc0, 0x19,
239 0xff, 0xe0, 0xd4, 0x79,
240 0x02, 0xac, 0x51, 0x31,
241 0x00, 0xe2, 0xca, 0x41,
242 0x02, 0x5e, 0x50, 0x31,
243 0x02, 0xa8, 0xb8, 0x30,
244 0x02, 0x5c, 0x50, 0x31,
245 0xff, 0xad, 0xe5, 0x71,
246 0x02, 0xac, 0x41, 0x31,
247 0x02, 0x22, 0x51, 0x31,
248 0x02, 0xa0, 0x5c, 0x33,
249 0x02, 0xa0, 0x44, 0x32,
250 0x00, 0xe2, 0xf8, 0x41,
251 0x01, 0x4d, 0xf1, 0x79,
252 0x01, 0x62, 0xc1, 0x31,
253 0x00, 0x93, 0xf1, 0x61,
254 0xfe, 0x4d, 0x9b, 0x0a,
255 0x02, 0x60, 0x41, 0x31,
256 0x00, 0xe2, 0xdc, 0x41,
257 0x3d, 0x93, 0xc9, 0x29,
258 0x01, 0xe4, 0xc8, 0x01,
259 0x01, 0xea, 0xca, 0x01,
260 0xff, 0xea, 0xda, 0x01,
261 0x02, 0x20, 0x51, 0x31,
262 0x02, 0xae, 0x41, 0x32,
263 0xff, 0x21, 0x01, 0x62,
264 0xff, 0xea, 0x46, 0x02,
265 0x02, 0x5c, 0x50, 0x31,
266 0x40, 0xea, 0x96, 0x00,
267 0x02, 0x56, 0x20, 0x6e,
268 0x01, 0x55, 0x20, 0x6e,
269 0x10, 0x92, 0x0d, 0x7a,
270 0x10, 0x40, 0x16, 0x6a,
271 0x01, 0x56, 0x16, 0x7a,
272 0xff, 0x97, 0x07, 0x78,
273 0x13, 0xea, 0x6e, 0x59,
274 0x13, 0xea, 0x04, 0x00,
275 0x00, 0xe2, 0x06, 0x40,
276 0xbf, 0x3a, 0x74, 0x08,
277 0x04, 0x41, 0x1c, 0x7a,
278 0x08, 0xea, 0x98, 0x00,
279 0x08, 0x57, 0xae, 0x00,
280 0x01, 0x93, 0x75, 0x32,
281 0x01, 0x94, 0x77, 0x32,
282 0x40, 0xea, 0x72, 0x02,
283 0x08, 0x3c, 0x78, 0x00,
284 0x80, 0xea, 0x6e, 0x02,
285 0x00, 0xe2, 0xf6, 0x5b,
286 0x01, 0x3c, 0xc1, 0x31,
287 0x9f, 0xe0, 0x98, 0x7c,
288 0x80, 0xe0, 0x3c, 0x72,
289 0xa0, 0xe0, 0x78, 0x72,
290 0xc0, 0xe0, 0x6e, 0x72,
291 0xe0, 0xe0, 0xa8, 0x72,
292 0x01, 0xea, 0x6e, 0x59,
293 0x01, 0xea, 0x04, 0x00,
294 0x00, 0xe2, 0x28, 0x42,
295 0x80, 0x39, 0x43, 0x7a,
296 0x03, 0xea, 0x6e, 0x59,
297 0x03, 0xea, 0x04, 0x00,
298 0xee, 0x00, 0x4a, 0x6a,
299 0x05, 0xea, 0xb4, 0x00,
300 0x33, 0xea, 0x68, 0x59,
301 0x33, 0xea, 0x00, 0x00,
302 0x02, 0xa8, 0x9c, 0x32,
303 0x00, 0xe2, 0x88, 0x59,
304 0xef, 0x96, 0xd5, 0x19,
305 0x00, 0xe2, 0x5a, 0x52,
306 0x09, 0x80, 0xe1, 0x30,
307 0x02, 0xea, 0x36, 0x00,
308 0xa8, 0xea, 0x32, 0x00,
309 0x00, 0xe2, 0x60, 0x42,
310 0x01, 0x96, 0xd1, 0x30,
311 0x10, 0x80, 0x89, 0x31,
312 0x20, 0xea, 0x32, 0x00,
313 0xbf, 0x39, 0x73, 0x0a,
314 0x10, 0x4c, 0x6a, 0x6a,
315 0x20, 0x19, 0x62, 0x6a,
316 0x20, 0x19, 0x66, 0x6a,
317 0x02, 0x4d, 0x28, 0x6a,
318 0x40, 0x39, 0x73, 0x02,
319 0x00, 0xe2, 0x28, 0x42,
320 0x80, 0x39, 0xe9, 0x6a,
321 0x01, 0x44, 0x10, 0x33,
322 0x08, 0x92, 0x25, 0x03,
323 0x00, 0xe2, 0x28, 0x42,
324 0x10, 0xea, 0x80, 0x00,
325 0x01, 0x37, 0xc5, 0x31,
326 0x80, 0xe2, 0x94, 0x62,
327 0x10, 0x92, 0xb9, 0x6a,
328 0xc0, 0x94, 0xc5, 0x01,
329 0x40, 0x92, 0x85, 0x6a,
330 0xbf, 0xe2, 0xc4, 0x09,
331 0x20, 0x92, 0x99, 0x7a,
332 0x01, 0xe2, 0x88, 0x30,
333 0x00, 0xe2, 0xf6, 0x5b,
334 0xa0, 0x3c, 0xa1, 0x62,
335 0x23, 0x92, 0x89, 0x08,
336 0x00, 0xe2, 0xf6, 0x5b,
337 0xa0, 0x3c, 0xa1, 0x62,
338 0x00, 0xa8, 0x98, 0x42,
339 0xff, 0xe2, 0x98, 0x62,
340 0x00, 0xe2, 0xb8, 0x42,
341 0x40, 0xea, 0x98, 0x00,
342 0x01, 0xe2, 0x88, 0x30,
343 0x00, 0xe2, 0xf6, 0x5b,
344 0xa0, 0x3c, 0x77, 0x72,
345 0x40, 0xea, 0x98, 0x00,
346 0x01, 0x37, 0x95, 0x32,
347 0x08, 0xea, 0x6e, 0x02,
348 0x00, 0xe2, 0x28, 0x42,
349 0xe0, 0xea, 0x12, 0x5c,
350 0x80, 0xe0, 0xf4, 0x6a,
351 0x04, 0xe0, 0xa6, 0x73,
352 0x02, 0xe0, 0xd8, 0x73,
353 0x00, 0xea, 0x52, 0x73,
354 0x03, 0xe0, 0xe8, 0x73,
355 0x23, 0xe0, 0xca, 0x72,
356 0x08, 0xe0, 0xf0, 0x72,
357 0x00, 0xe2, 0xf6, 0x5b,
358 0x07, 0xea, 0x6e, 0x59,
359 0x07, 0xea, 0x04, 0x00,
360 0x08, 0x48, 0x29, 0x72,
361 0x04, 0x48, 0xc7, 0x62,
362 0x01, 0x49, 0x89, 0x30,
363 0x00, 0xe2, 0xb8, 0x42,
364 0x01, 0x44, 0xd4, 0x31,
365 0x00, 0xe2, 0xb8, 0x42,
366 0x01, 0x00, 0x6c, 0x32,
367 0x33, 0xea, 0x68, 0x59,
368 0x33, 0xea, 0x00, 0x00,
369 0x4c, 0x3a, 0xc1, 0x28,
370 0x01, 0x64, 0xc0, 0x31,
371 0x00, 0x36, 0x69, 0x59,
372 0x01, 0x36, 0x01, 0x30,
373 0x01, 0xe0, 0xee, 0x7a,
374 0xa0, 0xea, 0x08, 0x5c,
375 0x01, 0xa0, 0xee, 0x62,
376 0x01, 0x84, 0xe3, 0x7a,
377 0x01, 0x95, 0xf1, 0x6a,
378 0x05, 0xea, 0x6e, 0x59,
379 0x05, 0xea, 0x04, 0x00,
380 0x00, 0xe2, 0xf0, 0x42,
381 0x03, 0xea, 0x6e, 0x59,
382 0x03, 0xea, 0x04, 0x00,
383 0x00, 0xe2, 0xf0, 0x42,
384 0x07, 0xea, 0x1a, 0x5c,
385 0x01, 0x44, 0xd4, 0x31,
386 0x00, 0xe2, 0x28, 0x42,
387 0x3f, 0xe0, 0x76, 0x0a,
388 0xc0, 0x3a, 0xc1, 0x09,
389 0x00, 0x3b, 0x51, 0x01,
390 0xff, 0xea, 0x52, 0x09,
391 0x30, 0x3a, 0xc5, 0x09,
392 0x3d, 0xe2, 0xc4, 0x29,
393 0xb8, 0xe2, 0xc4, 0x19,
394 0x01, 0xea, 0xc6, 0x01,
395 0x02, 0xe2, 0xc8, 0x31,
396 0x02, 0xec, 0x40, 0x31,
397 0xff, 0xa1, 0x10, 0x73,
398 0x02, 0xe8, 0xda, 0x31,
399 0x02, 0xa0, 0x50, 0x31,
400 0x00, 0xe2, 0x32, 0x43,
401 0x80, 0x39, 0x73, 0x02,
402 0x01, 0x44, 0xd4, 0x31,
403 0x00, 0xe2, 0xf6, 0x5b,
404 0x01, 0x39, 0x73, 0x02,
405 0xe0, 0x3c, 0x4d, 0x63,
406 0x02, 0x39, 0x73, 0x02,
407 0x20, 0x46, 0x46, 0x63,
408 0xff, 0xea, 0x52, 0x09,
409 0xa8, 0xea, 0x08, 0x5c,
410 0x04, 0x92, 0x2d, 0x7b,
411 0x01, 0x3a, 0xc1, 0x31,
412 0x00, 0x93, 0x2d, 0x63,
413 0x01, 0x3b, 0xc1, 0x31,
414 0x00, 0x94, 0x37, 0x73,
415 0x01, 0xa9, 0x52, 0x11,
416 0xff, 0xa9, 0x22, 0x6b,
417 0x00, 0xe2, 0x46, 0x43,
418 0x10, 0x39, 0x73, 0x02,
419 0x04, 0x92, 0x47, 0x7b,
420 0xfb, 0x92, 0x25, 0x0b,
421 0xff, 0xea, 0x72, 0x0a,
422 0x01, 0xa4, 0x41, 0x6b,
423 0x02, 0xa8, 0x9c, 0x32,
424 0x00, 0xe2, 0x88, 0x59,
425 0x10, 0x92, 0xf1, 0x7a,
426 0xff, 0xea, 0x1a, 0x5c,
427 0x00, 0xe2, 0xf0, 0x42,
428 0x04, 0xea, 0x6e, 0x59,
429 0x04, 0xea, 0x04, 0x00,
430 0x00, 0xe2, 0xf0, 0x42,
431 0x04, 0xea, 0x6e, 0x59,
432 0x04, 0xea, 0x04, 0x00,
433 0x00, 0xe2, 0x28, 0x42,
434 0x08, 0x92, 0xe9, 0x7a,
435 0xc0, 0x39, 0x5d, 0x7b,
436 0x80, 0x39, 0xe9, 0x6a,
437 0xff, 0x88, 0x5d, 0x6b,
438 0x40, 0x39, 0xe9, 0x6a,
439 0x10, 0x92, 0x63, 0x7b,
440 0x0a, 0xea, 0x6e, 0x59,
441 0x0a, 0xea, 0x04, 0x00,
442 0x00, 0xe2, 0x82, 0x5b,
443 0x00, 0xe2, 0xc2, 0x43,
444 0x50, 0x4b, 0x6a, 0x6b,
445 0xbf, 0x3a, 0x74, 0x08,
446 0x01, 0xe0, 0xf4, 0x31,
447 0xff, 0xea, 0xc0, 0x09,
448 0x01, 0x32, 0x65, 0x1a,
449 0x00, 0x33, 0x67, 0x22,
450 0x04, 0x4d, 0x9b, 0x02,
451 0x01, 0xfa, 0xc0, 0x35,
452 0x02, 0xa8, 0x90, 0x32,
453 0x02, 0xea, 0xb4, 0x00,
454 0x33, 0xea, 0x68, 0x59,
455 0x33, 0xea, 0x00, 0x00,
456 0x02, 0x48, 0x51, 0x31,
457 0xff, 0x90, 0x85, 0x68,
458 0xff, 0x88, 0x8f, 0x6b,
459 0x01, 0xa4, 0x8b, 0x6b,
460 0x02, 0xa4, 0x93, 0x6b,
461 0x01, 0x84, 0x93, 0x7b,
462 0x02, 0x28, 0x19, 0x33,
463 0x02, 0xa8, 0x50, 0x36,
464 0xff, 0x88, 0x93, 0x73,
465 0x00, 0xe2, 0x66, 0x5b,
466 0x02, 0xa8, 0x20, 0x33,
467 0x04, 0xa4, 0x49, 0x03,
468 0xff, 0xea, 0x1a, 0x03,
469 0xff, 0x2d, 0x9f, 0x63,
470 0x02, 0xa8, 0x58, 0x32,
471 0x02, 0xa8, 0x5c, 0x36,
472 0x02, 0xa8, 0x40, 0x31,
473 0x02, 0x2e, 0x51, 0x31,
474 0x02, 0xa0, 0x18, 0x33,
475 0x02, 0xa0, 0x5c, 0x36,
476 0xc0, 0x39, 0xe9, 0x6a,
477 0x04, 0x92, 0x25, 0x03,
478 0x20, 0x92, 0xc3, 0x6b,
479 0x02, 0xa8, 0x40, 0x31,
480 0xc0, 0x3a, 0xc1, 0x09,
481 0x00, 0x3b, 0x51, 0x01,
482 0xff, 0xea, 0x52, 0x09,
483 0x30, 0x3a, 0xc5, 0x09,
484 0x3d, 0xe2, 0xc4, 0x29,
485 0xb8, 0xe2, 0xc4, 0x19,
486 0x01, 0xea, 0xc6, 0x01,
487 0x02, 0xe2, 0xc8, 0x31,
488 0x02, 0xa0, 0xda, 0x31,
489 0x02, 0xa0, 0x50, 0x31,
490 0xf7, 0x57, 0xae, 0x08,
491 0x08, 0xea, 0x98, 0x00,
492 0x01, 0x44, 0xd4, 0x31,
493 0xee, 0x00, 0xcc, 0x6b,
494 0x02, 0xea, 0xb4, 0x00,
495 0xc0, 0xea, 0x72, 0x02,
496 0x09, 0x4c, 0xce, 0x7b,
497 0x01, 0xea, 0x78, 0x02,
498 0x08, 0x4c, 0x06, 0x68,
499 0x0b, 0xea, 0x6e, 0x59,
500 0x0b, 0xea, 0x04, 0x00,
501 0x01, 0x44, 0xd4, 0x31,
502 0x20, 0x39, 0x29, 0x7a,
503 0x00, 0xe2, 0xe0, 0x5b,
504 0x00, 0xe2, 0x28, 0x42,
505 0x01, 0x84, 0xe5, 0x7b,
506 0x01, 0xa4, 0x49, 0x07,
507 0x08, 0x60, 0x30, 0x33,
508 0x08, 0x80, 0x41, 0x37,
509 0xdf, 0x39, 0x73, 0x0a,
510 0xee, 0x00, 0xf2, 0x6b,
511 0x05, 0xea, 0xb4, 0x00,
512 0x33, 0xea, 0x68, 0x59,
513 0x33, 0xea, 0x00, 0x00,
514 0x00, 0xe2, 0x88, 0x59,
515 0x00, 0xe2, 0xf0, 0x42,
516 0xff, 0x42, 0x02, 0x6c,
517 0x01, 0x41, 0xf6, 0x6b,
518 0x02, 0x41, 0xf6, 0x7b,
519 0xff, 0x42, 0x02, 0x6c,
520 0x01, 0x41, 0xf6, 0x6b,
521 0x02, 0x41, 0xf6, 0x7b,
522 0xff, 0x42, 0x02, 0x7c,
523 0x04, 0x4c, 0xf6, 0x6b,
524 0xe0, 0x41, 0x78, 0x0e,
525 0x01, 0x44, 0xd4, 0x31,
526 0xff, 0x42, 0x0a, 0x7c,
527 0x04, 0x4c, 0x0a, 0x6c,
528 0xe0, 0x41, 0x78, 0x0a,
529 0xe0, 0x3c, 0x29, 0x62,
530 0xff, 0xea, 0xca, 0x09,
531 0x01, 0xe2, 0xc8, 0x31,
532 0x01, 0x46, 0xda, 0x35,
533 0x01, 0x44, 0xd4, 0x35,
534 0x10, 0xea, 0x80, 0x00,
535 0x01, 0xe2, 0x6e, 0x36,
536 0x04, 0xa6, 0x22, 0x7c,
537 0xff, 0xea, 0x5a, 0x09,
538 0xff, 0xea, 0x4c, 0x0d,
539 0x01, 0xa6, 0x4e, 0x6c,
540 0x10, 0xad, 0x84, 0x78,
541 0x80, 0xad, 0x46, 0x6c,
542 0x08, 0xad, 0x84, 0x68,
543 0x20, 0x19, 0x3a, 0x7c,
544 0x80, 0xea, 0xb2, 0x01,
545 0x11, 0x00, 0x00, 0x10,
546 0x02, 0xa6, 0x36, 0x7c,
547 0xff, 0xea, 0xb2, 0x0d,
548 0x11, 0x00, 0x00, 0x10,
549 0xff, 0xea, 0xb2, 0x09,
550 0x04, 0x84, 0xf9, 0x30,
551 0x00, 0xea, 0x08, 0x81,
552 0xff, 0xea, 0xd4, 0x09,
553 0x02, 0x84, 0xf9, 0x88,
554 0x0d, 0xea, 0x5a, 0x01,
555 0x04, 0xa6, 0x4c, 0x05,
556 0x04, 0xa6, 0x84, 0x78,
557 0xff, 0xea, 0x5a, 0x09,
558 0x03, 0x84, 0x59, 0x89,
559 0x03, 0xea, 0x4c, 0x01,
560 0x80, 0x1a, 0x84, 0x78,
561 0x08, 0x19, 0x84, 0x78,
562 0x08, 0xb0, 0xe0, 0x30,
563 0x04, 0xb0, 0xe0, 0x30,
564 0x03, 0xb0, 0xf0, 0x30,
565 0x01, 0xb0, 0x06, 0x33,
566 0x7f, 0x83, 0xe9, 0x08,
567 0x04, 0xac, 0x58, 0x19,
568 0xff, 0xea, 0xc0, 0x09,
569 0x04, 0x84, 0x09, 0x9b,
570 0x00, 0x85, 0x0b, 0x23,
571 0x00, 0x86, 0x0d, 0x23,
572 0x00, 0x87, 0x0f, 0x23,
573 0x01, 0x84, 0xc5, 0x31,
574 0x80, 0x83, 0x71, 0x7c,
575 0x02, 0xe2, 0xc4, 0x01,
576 0xff, 0xea, 0x4c, 0x09,
577 0x01, 0xe2, 0x36, 0x30,
578 0xc8, 0x19, 0x32, 0x00,
579 0x88, 0x19, 0x32, 0x00,
580 0x01, 0xac, 0xd4, 0x99,
581 0x00, 0xe2, 0x84, 0x50,
582 0xfe, 0xa6, 0x4c, 0x0d,
583 0x0b, 0x98, 0xe1, 0x30,
584 0xfd, 0xa4, 0x49, 0x09,
585 0x80, 0xa3, 0x85, 0x7c,
586 0x02, 0xa4, 0x48, 0x01,
587 0x01, 0xa4, 0x36, 0x30,
588 0xa8, 0xea, 0x32, 0x00,
589 0xfd, 0xa4, 0x49, 0x0b,
590 0x05, 0xa3, 0x07, 0x33,
591 0x80, 0x83, 0x91, 0x6c,
592 0x02, 0xea, 0x4c, 0x05,
593 0xff, 0xea, 0x4c, 0x0d,
594 0x00, 0xe2, 0x60, 0x59,
595 0x02, 0xa6, 0x24, 0x6c,
596 0x80, 0xf9, 0xf2, 0x05,
597 0xc0, 0x39, 0x9f, 0x7c,
598 0x03, 0xea, 0x6e, 0x59,
599 0x03, 0xea, 0x04, 0x00,
600 0x20, 0x39, 0xc3, 0x7c,
601 0x01, 0x84, 0xa9, 0x6c,
602 0x06, 0xea, 0x6e, 0x59,
603 0x06, 0xea, 0x04, 0x00,
604 0x00, 0xe2, 0xc6, 0x44,
605 0x01, 0x00, 0x6c, 0x32,
606 0xee, 0x00, 0xb2, 0x6c,
607 0x05, 0xea, 0xb4, 0x00,
608 0x33, 0xea, 0x68, 0x59,
609 0x33, 0xea, 0x00, 0x00,
610 0x80, 0x3d, 0x7a, 0x00,
611 0xfc, 0x42, 0xb4, 0x7c,
612 0x7f, 0x3d, 0x7a, 0x08,
613 0x00, 0x36, 0x69, 0x59,
614 0x01, 0x36, 0x01, 0x30,
615 0x09, 0xea, 0x6e, 0x59,
616 0x09, 0xea, 0x04, 0x00,
617 0x00, 0xe2, 0x28, 0x42,
618 0x01, 0xa4, 0xa9, 0x6c,
619 0x00, 0xe2, 0x7c, 0x5c,
620 0x20, 0x39, 0x73, 0x02,
621 0x01, 0x00, 0x6c, 0x32,
622 0x02, 0xa6, 0xce, 0x7c,
623 0x00, 0xe2, 0x92, 0x5c,
624 0x00, 0xe2, 0x76, 0x58,
625 0x00, 0xe2, 0x86, 0x58,
626 0x00, 0xe2, 0x5a, 0x58,
627 0x00, 0x36, 0x69, 0x59,
628 0x01, 0x36, 0x01, 0x30,
629 0x20, 0x19, 0xce, 0x6c,
630 0x00, 0xe2, 0xfe, 0x5c,
631 0x04, 0x19, 0xe8, 0x6c,
632 0x02, 0x19, 0x32, 0x00,
633 0x01, 0x84, 0xe9, 0x7c,
634 0x01, 0x1b, 0xe2, 0x7c,
635 0x01, 0x1a, 0xe8, 0x6c,
636 0x00, 0xe2, 0x98, 0x44,
637 0x80, 0x4b, 0xee, 0x6c,
638 0x01, 0x4c, 0xea, 0x7c,
639 0x03, 0x42, 0x98, 0x6c,
640 0x00, 0xe2, 0x1e, 0x5c,
641 0x80, 0xf9, 0xf2, 0x01,
642 0x04, 0x39, 0x29, 0x7a,
643 0x00, 0xe2, 0x28, 0x42,
644 0x08, 0x5d, 0x06, 0x6d,
645 0x00, 0xe2, 0x76, 0x58,
646 0x00, 0x36, 0x69, 0x59,
647 0x01, 0x36, 0x01, 0x30,
648 0x02, 0x1b, 0xf6, 0x7c,
649 0x08, 0x5d, 0x04, 0x7d,
650 0x03, 0x68, 0x00, 0x37,
651 0x01, 0x84, 0x09, 0x07,
652 0x80, 0x1b, 0x10, 0x7d,
653 0x80, 0x84, 0x11, 0x6d,
654 0xff, 0x85, 0x0b, 0x1b,
655 0xff, 0x86, 0x0d, 0x23,
656 0xff, 0x87, 0x0f, 0x23,
657 0xf8, 0x1b, 0x08, 0x0b,
658 0xff, 0xea, 0x06, 0x0b,
659 0x03, 0x68, 0x00, 0x37,
660 0x00, 0xe2, 0xd6, 0x58,
661 0x10, 0xea, 0x18, 0x00,
662 0xf9, 0xd9, 0xb2, 0x0d,
663 0x01, 0xd9, 0xb2, 0x05,
664 0x01, 0x52, 0x48, 0x31,
665 0x20, 0xa4, 0x3a, 0x7d,
666 0x20, 0x5b, 0x3a, 0x7d,
667 0x80, 0xf9, 0x48, 0x7d,
668 0x02, 0xea, 0xb4, 0x00,
669 0x11, 0x00, 0x00, 0x10,
670 0x04, 0x19, 0x54, 0x7d,
671 0xdf, 0x19, 0x32, 0x08,
672 0x60, 0x5b, 0x54, 0x6d,
673 0x01, 0x4c, 0x2e, 0x7d,
674 0x20, 0x19, 0x32, 0x00,
675 0x01, 0xd9, 0xb2, 0x05,
676 0x02, 0xea, 0xb4, 0x00,
677 0x01, 0xd9, 0xb2, 0x05,
678 0x10, 0x5b, 0x4c, 0x6d,
679 0x08, 0x5b, 0x56, 0x6d,
680 0x20, 0x5b, 0x46, 0x6d,
681 0x02, 0x5b, 0x76, 0x6d,
682 0x0e, 0xea, 0x6e, 0x59,
683 0x0e, 0xea, 0x04, 0x00,
684 0x80, 0xf9, 0x36, 0x6d,
685 0xdf, 0x5c, 0xb8, 0x08,
686 0x01, 0xd9, 0xb2, 0x05,
687 0x01, 0xa4, 0x37, 0x6e,
688 0x00, 0xe2, 0x7c, 0x5c,
689 0x00, 0xe2, 0x80, 0x5d,
690 0x01, 0x90, 0x21, 0x1b,
691 0x01, 0xd9, 0xb2, 0x05,
692 0x00, 0xe2, 0x66, 0x5b,
693 0xf3, 0x96, 0xd5, 0x19,
694 0x00, 0xe2, 0x64, 0x55,
695 0x80, 0x96, 0x65, 0x6d,
696 0x0f, 0xea, 0x6e, 0x59,
697 0x0f, 0xea, 0x04, 0x00,
698 0x00, 0xe2, 0x6c, 0x45,
699 0x04, 0x8c, 0xe1, 0x30,
700 0x01, 0xea, 0xf2, 0x00,
701 0x02, 0xea, 0x36, 0x00,
702 0xa8, 0xea, 0x32, 0x00,
703 0xff, 0x97, 0x73, 0x7d,
704 0x14, 0xea, 0x6e, 0x59,
705 0x14, 0xea, 0x04, 0x00,
706 0x00, 0xe2, 0xe2, 0x5d,
707 0x01, 0xd9, 0xb2, 0x05,
708 0x09, 0x80, 0xe1, 0x30,
709 0x02, 0xea, 0x36, 0x00,
710 0xa8, 0xea, 0x32, 0x00,
711 0x00, 0xe2, 0xda, 0x5d,
712 0x01, 0xd9, 0xb2, 0x05,
713 0x02, 0xa6, 0x90, 0x7d,
714 0x00, 0xe2, 0x60, 0x59,
715 0x20, 0x5b, 0x9e, 0x6d,
716 0xfc, 0x42, 0x8a, 0x7d,
717 0x10, 0x40, 0x8c, 0x6d,
718 0x20, 0x4d, 0x8e, 0x7d,
719 0x08, 0x5d, 0x9e, 0x6d,
720 0x02, 0xa6, 0x24, 0x6c,
721 0x00, 0xe2, 0x60, 0x59,
722 0x20, 0x5b, 0x9e, 0x6d,
723 0x01, 0x1b, 0xbe, 0x6d,
724 0xfc, 0x42, 0x9a, 0x7d,
725 0x10, 0x40, 0x9c, 0x6d,
726 0x20, 0x4d, 0x84, 0x78,
727 0x08, 0x5d, 0x84, 0x78,
728 0x02, 0x19, 0x32, 0x00,
729 0x01, 0x5b, 0x40, 0x31,
730 0x00, 0xe2, 0xfe, 0x5c,
731 0x00, 0xe2, 0xe0, 0x5b,
732 0x20, 0xea, 0xb6, 0x00,
733 0x00, 0xe2, 0x1e, 0x5c,
734 0x20, 0x5c, 0xb8, 0x00,
735 0x04, 0x19, 0xb4, 0x6d,
736 0x01, 0x1a, 0xb4, 0x6d,
737 0x00, 0xe2, 0x60, 0x59,
738 0x01, 0x1a, 0x84, 0x78,
739 0x80, 0xf9, 0xf2, 0x01,
740 0x20, 0xa0, 0x18, 0x7e,
741 0xff, 0x90, 0x21, 0x1b,
742 0x08, 0x92, 0x77, 0x6b,
743 0x02, 0xea, 0xb4, 0x04,
744 0x01, 0xa4, 0x49, 0x03,
745 0x40, 0x5b, 0xce, 0x6d,
746 0x00, 0xe2, 0x60, 0x59,
747 0x40, 0x5b, 0xce, 0x6d,
748 0x04, 0x5d, 0x38, 0x7e,
749 0x01, 0x1a, 0x38, 0x7e,
750 0x20, 0x4d, 0x84, 0x78,
751 0x40, 0x5b, 0x18, 0x7e,
752 0x04, 0x5d, 0x38, 0x7e,
753 0x01, 0x1a, 0x38, 0x7e,
754 0x80, 0xf9, 0xf2, 0x01,
755 0xff, 0x90, 0x21, 0x1b,
756 0x08, 0x92, 0x77, 0x6b,
757 0x02, 0xea, 0xb4, 0x04,
758 0x00, 0xe2, 0x60, 0x59,
759 0x01, 0x1b, 0x84, 0x78,
760 0x80, 0xf9, 0xf2, 0x01,
761 0x02, 0xea, 0xb4, 0x04,
762 0x00, 0xe2, 0x60, 0x59,
763 0x01, 0x1b, 0xf6, 0x6d,
764 0x40, 0x5b, 0x04, 0x7e,
765 0x01, 0x1b, 0xf6, 0x6d,
766 0x02, 0x19, 0x32, 0x00,
767 0x01, 0x1a, 0x84, 0x78,
768 0x80, 0xf9, 0xf2, 0x01,
769 0xff, 0xea, 0x10, 0x03,
770 0x08, 0x92, 0x25, 0x03,
771 0x00, 0xe2, 0x76, 0x43,
772 0x01, 0x1a, 0x00, 0x7e,
773 0x40, 0x5b, 0xfc, 0x7d,
774 0x01, 0x1a, 0xea, 0x6d,
775 0xfc, 0x42, 0x84, 0x78,
776 0x01, 0x1a, 0x04, 0x6e,
777 0x10, 0xea, 0x6e, 0x59,
778 0x10, 0xea, 0x04, 0x00,
779 0xfc, 0x42, 0x84, 0x78,
780 0x10, 0x40, 0x0a, 0x6e,
781 0x20, 0x4d, 0x84, 0x78,
782 0x40, 0x5b, 0xea, 0x6d,
783 0x01, 0x1a, 0x84, 0x78,
784 0x01, 0x90, 0x21, 0x1b,
785 0x30, 0x3f, 0xc0, 0x09,
786 0x30, 0xe0, 0x84, 0x60,
787 0x40, 0x4b, 0x84, 0x68,
788 0xff, 0xea, 0x52, 0x01,
789 0xee, 0x00, 0x20, 0x6e,
790 0x80, 0xf9, 0xf2, 0x01,
791 0xff, 0x90, 0x21, 0x1b,
792 0x02, 0xea, 0xb4, 0x00,
793 0x20, 0xea, 0x9a, 0x00,
794 0x04, 0x41, 0x26, 0x7e,
795 0x08, 0xea, 0x98, 0x00,
796 0x08, 0x57, 0xae, 0x00,
797 0xf3, 0x42, 0x30, 0x6e,
798 0x12, 0xea, 0x6e, 0x59,
799 0x12, 0xea, 0x04, 0x00,
800 0x00, 0xe2, 0x28, 0x42,
801 0x0d, 0xea, 0x6e, 0x59,
802 0x0d, 0xea, 0x04, 0x00,
803 0x00, 0xe2, 0x28, 0x42,
804 0x01, 0x90, 0x21, 0x1b,
805 0x11, 0xea, 0x6e, 0x59,
806 0x11, 0xea, 0x04, 0x00,
807 0x00, 0xe2, 0x66, 0x5b,
808 0x08, 0x5a, 0xb4, 0x00,
809 0x00, 0xe2, 0x5e, 0x5e,
810 0xa8, 0xea, 0x32, 0x00,
811 0x00, 0xe2, 0x60, 0x59,
812 0x80, 0x1a, 0x4c, 0x7e,
813 0x00, 0xe2, 0x5e, 0x5e,
814 0x80, 0x19, 0x32, 0x00,
815 0x40, 0x5b, 0x52, 0x6e,
816 0x08, 0x5a, 0x52, 0x7e,
817 0x20, 0x4d, 0x84, 0x78,
818 0x02, 0x84, 0x09, 0x03,
819 0x40, 0x5b, 0x18, 0x7e,
820 0xff, 0x90, 0x21, 0x1b,
821 0x80, 0xf9, 0xf2, 0x01,
822 0x08, 0x92, 0x77, 0x6b,
823 0x02, 0xea, 0xb4, 0x04,
824 0x01, 0x40, 0xe1, 0x30,
825 0x05, 0x41, 0xe3, 0x98,
826 0x01, 0xe0, 0xf4, 0x31,
827 0xff, 0xea, 0xc0, 0x09,
828 0x00, 0x42, 0xe5, 0x20,
829 0x00, 0x43, 0xe7, 0x20,
830 0x01, 0xfa, 0xc0, 0x31,
831 0x04, 0xea, 0xe8, 0x30,
832 0xff, 0xea, 0xf0, 0x08,
833 0x02, 0xea, 0xf2, 0x00,
834 0xff, 0xea, 0xf4, 0x0c
835 };
836
837 typedef int ahd_patch_func_t (struct ahd_softc *ahd);
838 static ahd_patch_func_t ahd_patch23_func;
839
840 static int
841 ahd_patch23_func(struct ahd_softc *ahd)
842 {
843 return ((ahd->bugs & AHD_PKT_BITBUCKET_BUG) != 0);
844 }
845
846 static ahd_patch_func_t ahd_patch22_func;
847
848 static int
849 ahd_patch22_func(struct ahd_softc *ahd)
850 {
851 return ((ahd->bugs & AHD_PKT_BITBUCKET_BUG) == 0);
852 }
853
854 static ahd_patch_func_t ahd_patch21_func;
855
856 static int
857 ahd_patch21_func(struct ahd_softc *ahd)
858 {
859 return ((ahd->flags & AHD_INITIATORROLE) != 0);
860 }
861
862 static ahd_patch_func_t ahd_patch20_func;
863
864 static int
865 ahd_patch20_func(struct ahd_softc *ahd)
866 {
867 return ((ahd->flags & AHD_TARGETROLE) != 0);
868 }
869
870 static ahd_patch_func_t ahd_patch19_func;
871
872 static int
873 ahd_patch19_func(struct ahd_softc *ahd)
874 {
875 return ((ahd->bugs & AHD_AUTOFLUSH_BUG) != 0);
876 }
877
878 static ahd_patch_func_t ahd_patch18_func;
879
880 static int
881 ahd_patch18_func(struct ahd_softc *ahd)
882 {
883 return ((ahd->features & AHD_NEW_DFCNTRL_OPTS) != 0);
884 }
885
886 static ahd_patch_func_t ahd_patch17_func;
887
888 static int
889 ahd_patch17_func(struct ahd_softc *ahd)
890 {
891 return ((ahd->flags & AHD_39BIT_ADDRESSING) != 0);
892 }
893
894 static ahd_patch_func_t ahd_patch16_func;
895
896 static int
897 ahd_patch16_func(struct ahd_softc *ahd)
898 {
899 return ((ahd->flags & AHD_64BIT_ADDRESSING) != 0);
900 }
901
902 static ahd_patch_func_t ahd_patch15_func;
903
904 static int
905 ahd_patch15_func(struct ahd_softc *ahd)
906 {
907 return ((ahd->features & AHD_NEW_DFCNTRL_OPTS) == 0);
908 }
909
910 static ahd_patch_func_t ahd_patch14_func;
911
912 static int
913 ahd_patch14_func(struct ahd_softc *ahd)
914 {
915 return ((ahd->bugs & AHD_REG_SLOW_SETTLE_BUG) != 0);
916 }
917
918 static ahd_patch_func_t ahd_patch13_func;
919
920 static int
921 ahd_patch13_func(struct ahd_softc *ahd)
922 {
923 return ((ahd->features & AHD_RTI) == 0);
924 }
925
926 static ahd_patch_func_t ahd_patch12_func;
927
928 static int
929 ahd_patch12_func(struct ahd_softc *ahd)
930 {
931 return ((ahd->bugs & AHD_EARLY_REQ_BUG) != 0);
932 }
933
934 static ahd_patch_func_t ahd_patch11_func;
935
936 static int
937 ahd_patch11_func(struct ahd_softc *ahd)
938 {
939 return ((ahd->bugs & AHD_BUSFREEREV_BUG) == 0);
940 }
941
942 static ahd_patch_func_t ahd_patch10_func;
943
944 static int
945 ahd_patch10_func(struct ahd_softc *ahd)
946 {
947 return ((ahd->flags & AHD_SEQUENCER_DEBUG) != 0);
948 }
949
950 static ahd_patch_func_t ahd_patch9_func;
951
952 static int
953 ahd_patch9_func(struct ahd_softc *ahd)
954 {
955 return ((ahd->features & AHD_FAST_CDB_DELIVERY) != 0);
956 }
957
958 static ahd_patch_func_t ahd_patch8_func;
959
960 static int
961 ahd_patch8_func(struct ahd_softc *ahd)
962 {
963 return ((ahd->bugs & AHD_LQO_ATNO_BUG) != 0);
964 }
965
966 static ahd_patch_func_t ahd_patch7_func;
967
968 static int
969 ahd_patch7_func(struct ahd_softc *ahd)
970 {
971 return ((ahd->bugs & AHD_BUSFREEREV_BUG) != 0);
972 }
973
974 static ahd_patch_func_t ahd_patch6_func;
975
976 static int
977 ahd_patch6_func(struct ahd_softc *ahd)
978 {
979 return ((ahd->bugs & AHD_NONPACKFIFO_BUG) != 0);
980 }
981
982 static ahd_patch_func_t ahd_patch5_func;
983
984 static int
985 ahd_patch5_func(struct ahd_softc *ahd)
986 {
987 return ((ahd->bugs & AHD_SENT_SCB_UPDATE_BUG) != 0);
988 }
989
990 static ahd_patch_func_t ahd_patch4_func;
991
992 static int
993 ahd_patch4_func(struct ahd_softc *ahd)
994 {
995 return ((ahd->bugs & AHD_PKT_LUN_BUG) != 0);
996 }
997
998 static ahd_patch_func_t ahd_patch3_func;
999
1000 static int
1001 ahd_patch3_func(struct ahd_softc *ahd)
1002 {
1003 return ((ahd->bugs & AHD_FAINT_LED_BUG) != 0);
1004 }
1005
1006 static ahd_patch_func_t ahd_patch2_func;
1007
1008 static int
1009 ahd_patch2_func(struct ahd_softc *ahd)
1010 {
1011 return ((ahd->bugs & AHD_SET_MODE_BUG) != 0);
1012 }
1013
1014 static ahd_patch_func_t ahd_patch1_func;
1015
1016 static int
1017 ahd_patch1_func(struct ahd_softc *ahd)
1018 {
1019 return ((ahd->bugs & AHD_INTCOLLISION_BUG) != 0);
1020 }
1021
1022 static ahd_patch_func_t ahd_patch0_func;
1023
1024 static int
1025 ahd_patch0_func(struct ahd_softc *ahd)
1026 {
1027 return (0);
1028 }
1029
1030 static const struct patch {
1031 ahd_patch_func_t *patch_func;
1032 uint32_t begin :10,
1033 skip_instr :10,
1034 skip_patch :12;
1035 } patches[] = {
1036 { ahd_patch1_func, 0, 3, 3 },
1037 { ahd_patch1_func, 1, 1, 2 },
1038 { ahd_patch0_func, 2, 1, 1 },
1039 { ahd_patch1_func, 3, 3, 3 },
1040 { ahd_patch1_func, 4, 1, 2 },
1041 { ahd_patch0_func, 5, 1, 1 },
1042 { ahd_patch2_func, 6, 1, 2 },
1043 { ahd_patch0_func, 7, 1, 1 },
1044 { ahd_patch3_func, 36, 5, 1 },
1045 { ahd_patch2_func, 45, 1, 2 },
1046 { ahd_patch0_func, 46, 1, 1 },
1047 { ahd_patch1_func, 53, 1, 2 },
1048 { ahd_patch0_func, 54, 1, 1 },
1049 { ahd_patch2_func, 59, 1, 2 },
1050 { ahd_patch0_func, 60, 1, 1 },
1051 { ahd_patch2_func, 63, 1, 2 },
1052 { ahd_patch0_func, 64, 1, 1 },
1053 { ahd_patch2_func, 67, 1, 2 },
1054 { ahd_patch0_func, 68, 1, 1 },
1055 { ahd_patch4_func, 115, 1, 1 },
1056 { ahd_patch2_func, 180, 3, 1 },
1057 { ahd_patch1_func, 183, 2, 1 },
1058 { ahd_patch5_func, 185, 1, 1 },
1059 { ahd_patch2_func, 194, 1, 2 },
1060 { ahd_patch0_func, 195, 1, 1 },
1061 { ahd_patch6_func, 196, 2, 2 },
1062 { ahd_patch0_func, 198, 6, 3 },
1063 { ahd_patch2_func, 201, 1, 2 },
1064 { ahd_patch0_func, 202, 1, 1 },
1065 { ahd_patch2_func, 205, 1, 2 },
1066 { ahd_patch0_func, 206, 1, 1 },
1067 { ahd_patch3_func, 208, 1, 1 },
1068 { ahd_patch7_func, 209, 3, 1 },
1069 { ahd_patch3_func, 218, 1, 1 },
1070 { ahd_patch5_func, 219, 16, 2 },
1071 { ahd_patch0_func, 235, 1, 1 },
1072 { ahd_patch8_func, 260, 2, 1 },
1073 { ahd_patch1_func, 264, 1, 2 },
1074 { ahd_patch0_func, 265, 1, 1 },
1075 { ahd_patch7_func, 268, 3, 1 },
1076 { ahd_patch1_func, 283, 1, 2 },
1077 { ahd_patch0_func, 284, 1, 1 },
1078 { ahd_patch1_func, 287, 1, 2 },
1079 { ahd_patch0_func, 288, 1, 1 },
1080 { ahd_patch2_func, 291, 1, 2 },
1081 { ahd_patch0_func, 292, 1, 1 },
1082 { ahd_patch9_func, 305, 2, 2 },
1083 { ahd_patch0_func, 307, 1, 1 },
1084 { ahd_patch1_func, 349, 1, 2 },
1085 { ahd_patch0_func, 350, 1, 1 },
1086 { ahd_patch2_func, 358, 1, 2 },
1087 { ahd_patch0_func, 359, 1, 1 },
1088 { ahd_patch2_func, 362, 1, 2 },
1089 { ahd_patch0_func, 363, 1, 1 },
1090 { ahd_patch1_func, 369, 1, 2 },
1091 { ahd_patch0_func, 370, 1, 1 },
1092 { ahd_patch1_func, 372, 1, 2 },
1093 { ahd_patch0_func, 373, 1, 1 },
1094 { ahd_patch10_func, 392, 1, 1 },
1095 { ahd_patch10_func, 395, 1, 1 },
1096 { ahd_patch10_func, 397, 1, 1 },
1097 { ahd_patch10_func, 409, 1, 1 },
1098 { ahd_patch1_func, 419, 1, 2 },
1099 { ahd_patch0_func, 420, 1, 1 },
1100 { ahd_patch1_func, 422, 1, 2 },
1101 { ahd_patch0_func, 423, 1, 1 },
1102 { ahd_patch1_func, 431, 1, 2 },
1103 { ahd_patch0_func, 432, 1, 1 },
1104 { ahd_patch2_func, 445, 1, 2 },
1105 { ahd_patch0_func, 446, 1, 1 },
1106 { ahd_patch11_func, 482, 1, 1 },
1107 { ahd_patch1_func, 490, 1, 2 },
1108 { ahd_patch0_func, 491, 1, 1 },
1109 { ahd_patch2_func, 503, 1, 2 },
1110 { ahd_patch0_func, 504, 1, 1 },
1111 { ahd_patch12_func, 507, 6, 2 },
1112 { ahd_patch0_func, 513, 1, 1 },
1113 { ahd_patch13_func, 534, 7, 1 },
1114 { ahd_patch14_func, 543, 1, 1 },
1115 { ahd_patch15_func, 552, 1, 1 },
1116 { ahd_patch16_func, 553, 1, 2 },
1117 { ahd_patch0_func, 554, 1, 1 },
1118 { ahd_patch17_func, 557, 1, 1 },
1119 { ahd_patch16_func, 558, 1, 1 },
1120 { ahd_patch18_func, 569, 1, 2 },
1121 { ahd_patch0_func, 570, 1, 1 },
1122 { ahd_patch1_func, 589, 1, 2 },
1123 { ahd_patch0_func, 590, 1, 1 },
1124 { ahd_patch1_func, 593, 1, 2 },
1125 { ahd_patch0_func, 594, 1, 1 },
1126 { ahd_patch2_func, 599, 1, 2 },
1127 { ahd_patch0_func, 600, 1, 1 },
1128 { ahd_patch2_func, 604, 1, 2 },
1129 { ahd_patch0_func, 605, 1, 1 },
1130 { ahd_patch1_func, 606, 1, 2 },
1131 { ahd_patch0_func, 607, 1, 1 },
1132 { ahd_patch2_func, 618, 1, 2 },
1133 { ahd_patch0_func, 619, 1, 1 },
1134 { ahd_patch19_func, 623, 1, 1 },
1135 { ahd_patch20_func, 628, 1, 1 },
1136 { ahd_patch21_func, 629, 2, 1 },
1137 { ahd_patch20_func, 633, 1, 2 },
1138 { ahd_patch0_func, 634, 1, 1 },
1139 { ahd_patch2_func, 637, 1, 2 },
1140 { ahd_patch0_func, 638, 1, 1 },
1141 { ahd_patch2_func, 653, 1, 2 },
1142 { ahd_patch0_func, 654, 1, 1 },
1143 { ahd_patch13_func, 655, 14, 1 },
1144 { ahd_patch1_func, 673, 1, 2 },
1145 { ahd_patch0_func, 674, 1, 1 },
1146 { ahd_patch13_func, 675, 1, 1 },
1147 { ahd_patch1_func, 687, 1, 2 },
1148 { ahd_patch0_func, 688, 1, 1 },
1149 { ahd_patch1_func, 695, 1, 2 },
1150 { ahd_patch0_func, 696, 1, 1 },
1151 { ahd_patch19_func, 719, 1, 1 },
1152 { ahd_patch19_func, 757, 1, 1 },
1153 { ahd_patch1_func, 768, 1, 2 },
1154 { ahd_patch0_func, 769, 1, 1 },
1155 { ahd_patch7_func, 785, 3, 1 },
1156 { ahd_patch1_func, 789, 1, 2 },
1157 { ahd_patch0_func, 790, 1, 1 },
1158 { ahd_patch1_func, 792, 1, 2 },
1159 { ahd_patch0_func, 793, 1, 1 },
1160 { ahd_patch1_func, 796, 1, 2 },
1161 { ahd_patch0_func, 797, 1, 1 },
1162 { ahd_patch22_func, 799, 1, 2 },
1163 { ahd_patch0_func, 800, 2, 1 },
1164 { ahd_patch23_func, 803, 4, 2 },
1165 { ahd_patch0_func, 807, 1, 1 },
1166 { ahd_patch23_func, 815, 11, 1 }
1167 };
1168
1169 static const struct cs {
1170 uint16_t begin;
1171 uint16_t end;
1172 } critical_sections[] = {
1173 { 17, 30 },
1174 { 47, 58 },
1175 { 61, 63 },
1176 { 65, 66 },
1177 { 72, 92 },
1178 { 110, 142 },
1179 { 143, 180 },
1180 { 185, 193 },
1181 { 218, 274 },
1182 { 435, 443 },
1183 { 453, 455 },
1184 { 458, 467 },
1185 { 719, 749 },
1186 { 759, 763 }
1187 };
1188
1189 static const int num_critical_sections = sizeof(critical_sections)
1190 / sizeof(*critical_sections);