3881 want device driver for HP SmartArray RAID controllers
[illumos-gate.git] / usr / src / uts / common / io / cpqary3 / cpqary3_bd.c
blob84cf7af7ce27fa80f3269c8176bd8163fd6fdedf
1 /*
2 * This file and its contents are supplied under the terms of the
3 * Common Development and Distribution License ("CDDL"), version 1.0.
4 * You may only use this file in accordance with the terms of version
5 * 1.0 of the CDDL.
7 * A full copy of the text of the CDDL should have accompanied this
8 * source. A copy of the CDDL is also available via the Internet at
9 * http://www.illumos.org/license/CDDL.
13 * Copyright (C) 2013 Hewlett-Packard Development Company, L.P.
17 * Abstract:
18 * In this file, we define the static array of board definitions.
19 * the individual entries are in cpqary3_bd_defs.h, which is
20 * auto-generated from the controllers file by sacdf using
21 * the cpqary3_bd_defs.h.sacdf template.
24 #include "cpqary3.h"
25 #include "cpqary3_bd.h"
27 static cpqary3_bd_t cpqary3_bds[] = {
29 "Smart Array 5300 Controller",
31 0x0e11,
32 0x4070,
33 OUTBOUND_LIST_5300_EXISTS,
36 INTR_SIMPLE_MASK,
37 INTR_SIMPLE_LOCKUP_MASK,
41 "Smart Array 5i Controller",
43 0x0e11,
44 0x4080,
45 OUTBOUND_LIST_5I_EXISTS,
48 INTR_SIMPLE_5I_MASK,
49 INTR_SIMPLE_5I_LOCKUP_MASK,
53 "Smart Array 532 Controller",
55 0x0e11,
56 0x4082,
57 OUTBOUND_LIST_5I_EXISTS,
60 INTR_SIMPLE_5I_MASK,
61 INTR_SIMPLE_5I_LOCKUP_MASK,
65 "Smart Array 5312 Controller",
67 0x0e11,
68 0x4083,
69 OUTBOUND_LIST_5I_EXISTS,
72 INTR_SIMPLE_5I_MASK,
73 INTR_SIMPLE_5I_LOCKUP_MASK,
77 "Smart Array 6i Controller",
79 0x0e11,
80 0x4091,
81 OUTBOUND_LIST_5300_EXISTS,
84 INTR_SIMPLE_MASK,
85 INTR_SIMPLE_LOCKUP_MASK,
89 "Smart Array 641 Controller",
91 0x0e11,
92 0x409a,
93 OUTBOUND_LIST_5300_EXISTS,
96 INTR_SIMPLE_MASK,
97 INTR_SIMPLE_LOCKUP_MASK,
101 "Smart Array 642 Controller",
103 0x0e11,
104 0x409b,
105 OUTBOUND_LIST_5300_EXISTS,
108 INTR_SIMPLE_MASK,
109 INTR_SIMPLE_LOCKUP_MASK,
113 "Smart Array 6400 Controller",
115 0x0e11,
116 0x409c,
117 OUTBOUND_LIST_5300_EXISTS,
120 INTR_SIMPLE_MASK,
121 INTR_SIMPLE_LOCKUP_MASK,
125 "Smart Array 6400 EM Controller",
127 0x0e11,
128 0x409d,
129 OUTBOUND_LIST_5300_EXISTS,
132 INTR_SIMPLE_MASK,
133 INTR_SIMPLE_LOCKUP_MASK,
137 "Smart Array 6422 Controller",
139 0x0e11,
140 0x409e,
141 OUTBOUND_LIST_5300_EXISTS,
144 INTR_SIMPLE_MASK,
145 INTR_SIMPLE_LOCKUP_MASK,
149 "Smart Array E200i Controller",
151 0x103c,
152 0x3211,
153 OUTBOUND_LIST_5300_EXISTS,
154 SA_BD_SAS,
156 INTR_E200_PERF_MASK,
161 "Smart Array E200 Controller",
163 0x103c,
164 0x3212,
165 OUTBOUND_LIST_5300_EXISTS,
166 SA_BD_SAS,
168 INTR_E200_PERF_MASK,
173 "Smart Array P800 Controller",
175 0x103c,
176 0x3223,
177 OUTBOUND_LIST_5300_EXISTS,
178 SA_BD_SAS,
180 INTR_PERF_MASK,
181 INTR_PERF_LOCKUP_MASK,
185 "Smart Array P600 Controller",
187 0x103c,
188 0x3225,
189 OUTBOUND_LIST_5300_EXISTS,
190 SA_BD_SAS,
192 INTR_PERF_MASK,
193 INTR_PERF_LOCKUP_MASK,
197 "Smart Array P400 Controller",
199 0x103c,
200 0x3234,
201 OUTBOUND_LIST_5300_EXISTS,
202 SA_BD_SAS,
204 INTR_PERF_MASK,
205 INTR_PERF_LOCKUP_MASK,
209 "Smart Array P400i Controller",
211 0x103c,
212 0x3235,
213 OUTBOUND_LIST_5300_EXISTS,
214 SA_BD_SAS,
216 INTR_PERF_MASK,
217 INTR_PERF_LOCKUP_MASK,
221 "Smart Array E500 Controller",
223 0x103c,
224 0x3237,
225 OUTBOUND_LIST_5300_EXISTS,
226 SA_BD_SAS,
228 INTR_PERF_MASK,
229 INTR_PERF_LOCKUP_MASK,
233 "Smart Array P700m Controller",
235 0x103c,
236 0x323d,
237 OUTBOUND_LIST_5300_EXISTS,
238 SA_BD_SAS,
240 INTR_PERF_MASK,
241 INTR_PERF_LOCKUP_MASK,
245 "Smart Array P212 Controller",
247 0x103c,
248 0x3241,
249 OUTBOUND_LIST_5300_EXISTS,
250 SA_BD_SAS,
252 INTR_PERF_MASK,
257 "Smart Array P410 Controller",
259 0x103c,
260 0x3243,
261 OUTBOUND_LIST_5300_EXISTS,
262 SA_BD_SAS,
264 INTR_PERF_MASK,
269 "Smart Array P410i Controller",
271 0x103c,
272 0x3245,
273 OUTBOUND_LIST_5300_EXISTS,
274 SA_BD_SAS,
276 INTR_PERF_MASK,
281 "Smart Array P411 Controller",
283 0x103c,
284 0x3247,
285 OUTBOUND_LIST_5300_EXISTS,
286 SA_BD_SAS,
288 INTR_PERF_MASK,
293 "Smart Array P812 Controller",
295 0x103c,
296 0x3249,
297 OUTBOUND_LIST_5300_EXISTS,
298 SA_BD_SAS,
300 INTR_PERF_MASK,
305 "Smart Array P712m Controller",
307 0x103c,
308 0x324a,
309 OUTBOUND_LIST_5300_EXISTS,
310 SA_BD_SAS,
312 INTR_PERF_MASK,
317 "Smart Array P711m Controller",
319 0x103c,
320 0x324b,
321 OUTBOUND_LIST_5300_EXISTS,
322 SA_BD_SAS,
324 INTR_PERF_MASK,
329 "Smart Array P222 Controller",
331 0x103c,
332 0x3350,
333 OUTBOUND_LIST_5300_EXISTS,
334 SA_BD_SAS,
336 INTR_PERF_MASK,
341 "Smart Array P420 Controller",
343 0x103c,
344 0x3351,
345 OUTBOUND_LIST_5300_EXISTS,
346 SA_BD_SAS,
348 INTR_PERF_MASK,
353 "Smart Array P421 Controller",
355 0x103c,
356 0x3352,
357 OUTBOUND_LIST_5300_EXISTS,
358 SA_BD_SAS,
360 INTR_PERF_MASK,
365 "Smart Array P822 Controller",
367 0x103c,
368 0x3353,
369 OUTBOUND_LIST_5300_EXISTS,
370 SA_BD_SAS,
372 INTR_PERF_MASK,
377 "Smart Array P420i Controller",
379 0x103c,
380 0x3354,
381 OUTBOUND_LIST_5300_EXISTS,
382 SA_BD_SAS,
384 INTR_PERF_MASK,
389 "Smart Array P220i Controller",
391 0x103c,
392 0x3355,
393 OUTBOUND_LIST_5300_EXISTS,
394 SA_BD_SAS,
396 INTR_PERF_MASK,
401 "Smart Array P721m Controller",
403 0x103c,
404 0x3356,
405 OUTBOUND_LIST_5300_EXISTS,
406 SA_BD_SAS,
408 INTR_PERF_MASK,
414 #define NBOARD_DEFS (sizeof (cpqary3_bds) / sizeof (cpqary3_bd_t))
416 cpqary3_bd_t *
417 cpqary3_bd_getbybid(uint32_t bid)
419 uint16_t vid = ((bid >> 16) & 0xffff);
420 uint16_t sid = (bid & 0xffff);
421 int i;
423 /* search the array for a matching board */
424 for (i = 0; i < NBOARD_DEFS; i++) {
425 if ((vid == cpqary3_bds[i].bd_pci_subvenid) &&
426 (sid == cpqary3_bds[i].bd_pci_subsysid))
427 return (&(cpqary3_bds[i]));
430 /* board id not found */
431 return (NULL);