Print this page
MFV: illumos-omnios@aea0472ecb9ee91fa70556d6f6a941c10c989f1d
Add support for Emulex Corporation Lancer Gen6: LPe32000 FC Host Adapter
Author: Andy Fiddaman <omnios@citrus-it.co.uk>
NEX-8705 Drivers for ATTO Celerity FC-162E Gen 5 and Celerity FC-162P Gen 6 16GB FC cards support
Reviewed by: Dan Fields <dan.fields@nexenta.com>
Reviewed by: Rick McNeal <rick.mcneal@nexenta.com>
NEX-1878 update emlxs from source provided by Emulex
| Split |
Close |
| Expand all |
| Collapse all |
--- old/usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_adapters.h
+++ new/usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_adapters.h
1 1 /*
2 2 * CDDL HEADER START
3 3 *
4 4 * The contents of this file are subject to the terms of the
5 5 * Common Development and Distribution License (the "License").
6 6 * You may not use this file except in compliance with the License.
7 7 *
8 8 * You can obtain a copy of the license at
9 9 * http://www.opensource.org/licenses/cddl1.txt.
10 10 * See the License for the specific language governing permissions
11 11 * and limitations under the License.
12 12 *
13 13 * When distributing Covered Code, include this CDDL HEADER in each
14 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
|
↓ open down ↓ |
14 lines elided |
↑ open up ↑ |
15 15 * If applicable, add the following below this CDDL HEADER, with the
16 16 * fields enclosed by brackets "[]" replaced with your own identifying
17 17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 18 *
19 19 * CDDL HEADER END
20 20 */
21 21
22 22 /*
23 23 * Copyright (c) 2004-2012 Emulex. All rights reserved.
24 24 * Use is subject to license terms.
25 + * Copyright 2018 OmniOS Community Edition (OmniOSce) Association.
25 26 */
26 27
27 28 #ifndef _EMLXS_ADAPTERS_H
28 29 #define _EMLXS_ADAPTERS_H
29 30
30 31 #ifdef __cplusplus
31 32 extern "C" {
32 33 #endif
33 34
34 35 /* Unique id for each adapter model */
35 36 typedef enum emlxs_adapter
36 37 {
37 38 UNKNOWN_ADAPTER = 0,
38 39
39 40 /* DragonFly (1) */
40 41 LP8000S, /* SBUS */
41 42 LP8000, /* Generic Single Channel */
42 43 LP8000DC, /* Generic Dual Channel */
43 44
44 45 /* Centaur (4) */
45 46 LP9002S, /* SBUS */
46 47 LP9002L,
47 48 LP9002C,
48 49 LP9002DC,
49 50 LP9402DC,
50 51
51 52 /* Pegasus (9) */
52 53 LP9802, /* Generic Single Channel */
53 54 LP9802DC, /* Generic Dual Channel */
54 55
55 56 /* Thor (11) */
56 57 LP10000, /* Generic Single Channel */
57 58 LP10000DC, /* Generic Dual Channel */
58 59 LP10000_O, /* Oracle branded */
59 60 LP10000DC_O, /* Oracle branded */
60 61 LP10000ExDC,
61 62 BLADE_2G,
62 63
63 64 /* Helios (17) */
64 65 LP11000, /* Generic Single Channel */
65 66 LP11002, /* Generic Dual Channel */
66 67 LP11000_O, /* Oracle branded */
67 68 LP11002_O, /* Oracle branded */
68 69 LP11000_SP, /* Spare */
69 70 LP11002_SP, /* Spare */
70 71
71 72 /* Zephyr (23) */
72 73 LPe11000, /* Generic Single Channel */
73 74 LPe1100X, /* Generic Multi Channel */
74 75 LPe11000_O, /* Oracle branded */
75 76 LPe11002_O, /* Oracle branded */
76 77 LPem11002_O, /* Oracle branded */
77 78 LPe11020_O, /* Oracle branded */
78 79 LPeA11002_O, /* Oracle branded */
79 80 LPem11002E_O, /* Oracle branded */
80 81
81 82 /* Hornet (31) */
82 83 LP21000, /* Generic Single Channel */
83 84 LP21002, /* Generic Dual Channel */
84 85
85 86 /* Saturn (33) */
86 87 LPe12000, /* Generic Single Channel */
87 88 LPe12002, /* Generic Dual Channel */
88 89 LPe12000_O, /* Oracle branded */
89 90 LPe12002_O, /* Oracle branded */
90 91 LPem12002_O, /* Oracle branded */
91 92 LPem12002E_O, /* Oracle branded */
92 93 LPe12000_SP, /* Spare */
|
↓ open down ↓ |
58 lines elided |
↑ open up ↑ |
93 94 LPe12002_SP, /* Spare */
94 95
95 96 /* BE2 (41) */
96 97 OCe10101, /* Generic Single Channel */
97 98 OCe10102, /* Generic Dual Channel */
98 99
99 100 /* BE3 (43) */
100 101 OCe11101, /* Generic Single Channel */
101 102 OCe11102, /* Generic Dual Channel */
102 103
103 - /* Lancer FC (45) */
104 + /* Lancer FC Gen5 HBAs (45) */
104 105 LPe16000, /* Generic Single Channel FC */
105 106 LPe1600X, /* Generic Multi Channel FC */
106 107 LPem16002_FC_O, /* Oracle branded */
107 108 LPe16002_FC_O, /* Oracle branded */
108 109 LPe16002_FC_SP1, /* Oracle excluded - Spare */
109 110 LPe16002_FC_SP2, /* Oracle excluded - Spare */
110 111
111 - /* Lancer FCoE (51) */
112 + /* Lancer FC Gen6 HBAs */
113 + LPe31000_M6_L, /* Single port 16Gb, Lenovo-branded */
114 + LPe32000, /* Generic Single Channel FC */
115 + LPe3200X, /* Generic Multi Channel FC */
116 +
117 + /* Celerity 16 FC Gen5 */
118 + CelerityFC161E,
119 + CelerityFC162E,
120 + CelerityFC164E,
121 +
122 + /* Celerity 16 FC Gen6 */
123 + CelerityFC162P,
124 + CelerityFC164P,
125 + CelerityFC321E,
126 + CelerityFC322E,
127 +
128 + /* Lancer FCoE */
112 129 OCe15100, /* Generic Single Channel FCOE */
113 130 OCe1510X, /* Generic Multi Channel FCOE */
114 131 LPem16002_FE_O, /* Oracle branded */
115 132 LPe16002_FE_O, /* Oracle branded */
116 133 LPe16002_FE_SP1, /* Oracle excluded - Spare */
117 134 LPe16002_FE_SP2, /* Oracle excluded - Spare */
118 135
119 136 /* BE4 (57) */
120 137 OCe12104 /* 4-Port 2xNIC +2xFCoE */
121 138
122 139 } emlxs_adapter_t;
123 140
124 141
125 142 #define PCI_VENDOR_ID_EMULEX 0x10df
143 +#define PCI_VENDOR_ID_ATTO 0x117c
126 144
127 145 /* Subsystem Vendor IDs */
128 146 #define PCI_SSVID_EMULEX 0x10df
129 147 #define PCI_SSVID_HP 0x103c
130 148 #define PCI_SSVID_IBM 0x1014
131 149 #define PCI_SSVID_FUJITSU 0x1734
132 150 #define PCI_SSVID_CISCO 0x1137
133 151 #define PCI_SSVID_HITACHI 0x1054
152 +#define PCI_SSVID_ATTO 0x117c
134 153
135 154
136 155 /* PCI_DEVICE_IDs & PCI_SSDIDs */
137 156 /* F800: Dragonfly */
138 157 #define PCI_DEVICE_ID_DRAGONFLY 0xf800
139 158 #define PCI_SSDID_LP8000 0xf800
140 159 #define PCI_SSDID_LP8000DC 0xf800 /* Identified by VPD PN */
141 160
142 161 /* F085: Dragonfly SBUS */
143 162 #define PCI_DEVICE_ID_DRAGONFLY_SBUS 0xf085 /* Identified by "lpfs" */
144 163 #define PCI_SSDID_LP8000S 0xf085
145 164
146 165
147 166 /* F900: Centaur */
148 167 #define PCI_DEVICE_ID_CENTAUR 0xf900
149 168 #define PCI_SSDID_LP9002L 0xf900
150 169 #define PCI_SSDID_LP9002DC 0xf900 /* Identified by VPD PN */
151 170 #define PCI_SSDID_LP9002C 0xf900 /* Identified by VPD PN */
152 171 #define PCI_SSDID_LP9402DC 0xf900 /* Identified by VPD PN */
153 172
154 173 /* F095: Centaur SBUS */
155 174 #define PCI_DEVICE_ID_CENTAUR_SBUS 0xf095 /* Identified by "lpfs" */
156 175 #define PCI_SSDID_LP9002S 0xf095
157 176
158 177
159 178 /* F980: Pegasus */
160 179 #define PCI_DEVICE_ID_PEGASUS 0xf980
161 180 #define PCI_SSDID_LP9802 0xf980
162 181 #define PCI_SSDID_LP9802DC 0xf980 /* Identified by RAM size */
163 182
164 183
165 184 /* FA00: Thor */
166 185 #define PCI_DEVICE_ID_THOR 0xfa00
167 186 #define PCI_SSDID_LP10000 0xfa00
168 187 #define PCI_SSDID_LP10000DC 0xfa00 /* Identified by VPD PN and */
169 188 /* by cache_line */
170 189 #define PCI_SSDID_LP10000ExDC 0xfa00 /* Identified by VPD PN and */
171 190 /* by cache_line */
172 191 /* F0A5: Thor Blade */
173 192 #define PCI_DEVICE_ID_THOR_BLADE 0xf0a5
174 193 #define PCI_SSDID_BLADE_2G 0xf0a5
175 194
176 195 /* FC00: Thor Oracle */
177 196 #define PCI_DEVICE_ID_THOR_O 0xfc00
178 197 #define PCI_SSDID_LP10000_O 0xfc00
179 198 #define PCI_SSDID_LP10000DC_O 0xfc00 /* Identified by cache_line */
180 199
181 200
182 201 /* FD00: Helios */
183 202 #define PCI_DEVICE_ID_HELIOS 0xfd00
184 203 #define PCI_SSDID_LP11000 0xfd00
185 204 #define PCI_SSDID_LP11002 0xfd00 /* Identified by cache_line */
186 205
187 206 /* FD11: Helios Spare */
188 207 #define PCI_DEVICE_ID_LP11000_SP 0xfd11
189 208 #define PCI_SSDID_LP11000_SP 0xfd11
190 209
191 210 /* FD12: Helios Spare */
192 211 #define PCI_DEVICE_ID_LP11002_SP 0xfd12
193 212 #define PCI_SSDID_LP11002_SP 0xfd12
194 213
195 214 /* FC10: Helios Oracle */
196 215 #define PCI_DEVICE_ID_HELIOS_O 0xfc10
197 216 #define PCI_SSDID_LP11000_O 0xfc11
198 217 #define PCI_SSDID_LP11002_O 0xfc12
199 218
200 219
201 220 /* FE00: Zephyr */
202 221 #define PCI_DEVICE_ID_ZEPHYR 0xfe00
203 222 #define PCI_SSDID_LPe11000 0xfe00
204 223 #define PCI_SSDID_LPe1100X 0xfe00 /* Identified by cache_line */
205 224
206 225
207 226 /* FC20: Zephyr Oracle */
208 227 #define PCI_DEVICE_ID_ZEPHYR_O 0xfc20
209 228 #define PCI_SSDID_LPe11000_O 0xfc21
210 229 #define PCI_SSDID_LPe11002_O 0xfc22
211 230 #define PCI_SSDID_LPem11002E_O 0xfc23
212 231 #define PCI_SSDID_LPe11020_O 0xfc2a
213 232 #define PCI_SSDID_LPeA11002_O 0xfc2d
214 233 #define PCI_SSDID_LPem11002_O 0xfc2e
215 234
216 235
217 236 /* FE05: Hornet */
218 237 #define PCI_DEVICE_ID_HORNET 0xfe05
219 238 #define PCI_SSDID_LP21000 0xfe05
220 239 #define PCI_SSDID_LP21002 0xfe05 /* Identified by cache_line */
221 240
222 241
223 242 /* F100: Saturn */
224 243 #define PCI_DEVICE_ID_SATURN 0xf100
225 244 #define PCI_SSDID_LPe12000 0xf100
226 245 #define PCI_SSDID_LPe12002 0xf100 /* Identified by cache_line */
227 246
228 247 /* F111: Saturn Spare */
229 248 #define PCI_DEVICE_ID_LPe12000_SP 0xf111
230 249 #define PCI_SSDID_LPe12000_SP 0xf111
231 250
232 251 /* F112: Saturn Spare */
233 252 #define PCI_DEVICE_ID_LPe12002_SP 0xf112
234 253 #define PCI_SSDID_LPe12002_SP 0xf112
235 254
236 255 /* FC40: Saturn Oracle */
237 256 #define PCI_DEVICE_ID_SATURN_O 0xfc40
238 257 #define PCI_SSDID_LPe12000_O 0xfc41
239 258 #define PCI_SSDID_LPe12002_O 0xfc42
240 259 #define PCI_SSDID_LPem12002_O 0xfc4e
241 260 #define PCI_SSDID_LPem12002E_O 0xfc43
242 261
243 262
244 263 /* 0704: BE2 (TigerShark) */
245 264 #define PCI_DEVICE_ID_BE2 0x0704
246 265 #define PCI_SSDID_OCe10101 0x0704
247 266 #define PCI_SSDID_OCe10102 0x0704 /* Identified by cache_line */
248 267
|
↓ open down ↓ |
105 lines elided |
↑ open up ↑ |
249 268
250 269 /* 0714: BE3 (TomCat) */
251 270 #define PCI_DEVICE_ID_BE3 0x0714
252 271 #define PCI_SSDID_OCe11101 0x0714
253 272 #define PCI_SSDID_OCe11102 0x0714 /* Identified by cache_line */
254 273
255 274 /* 0724: BE4 (Skyhawk) */
256 275 #define PCI_DEVICE_ID_BE4 0x0724
257 276 #define PCI_SSDID_OCe12104 0xEF81
258 277
259 -/* E200: Lancer FC */
278 +/* E200: Lancer FC Gen5 */
260 279 #define PCI_DEVICE_ID_LANCER_FC 0xE200
261 280 #define PCI_SSDID_LPe16000 0xE200
262 281 #define PCI_SSDID_LPe1600X 0xE200 /* Identified by cache_line */
263 282 #define PCI_SSDID_LPem16002_FC_O 0xE20C
264 283 #define PCI_SSDID_LPe16002_FC_O 0xE20E
265 284 #define PCI_SSDID_LPe16002_FC_SP1 0xE217
266 285 #define PCI_SSDID_LPe16002_FC_SP2 0xE219
267 286
287 +/* E300: Lancer FC Gen6 */
288 +#define PCI_DEVICE_ID_LANCER_G6_FC 0xE300
289 +#define PCI_SSDID_LPe31000_M6_L 0xE333
290 +#define PCI_SSDID_LPe32000 0xE300
291 +#define PCI_SSDID_LPe3200X 0xE300
292 +
268 293 /* E260: Lancer FCoE */
269 294 #define PCI_DEVICE_ID_LANCER_FE 0xE260
270 295 #define PCI_SSDID_OCe15100 0xE260
271 296 #define PCI_SSDID_OCe1510X 0xE260 /* Identified by cache_line */
272 297 #define PCI_SSDID_LPem16002_FE_O 0xE20C
273 298 #define PCI_SSDID_LPe16002_FE_O 0xE20E
274 299 #define PCI_SSDID_LPe16002_FE_SP1 0xE217
275 300 #define PCI_SSDID_LPe16002_FE_SP2 0xE219
276 301
302 +/* 0063: ATTO Celerity 16 FC Gen5 */
303 +#define PCI_DEVICE_ID_CLRTY_FC_161E 0x0063
304 +#define PCI_DEVICE_ID_CLRTY_FC_162E 0x0064
305 +#define PCI_DEVICE_ID_CLRTY_FC_164E 0x0065
306 +#define PCI_SSDID_CLRTY_FC_161E 0x0063
307 +#define PCI_SSDID_CLRTY_FC_162E 0x0064
308 +#define PCI_SSDID_CLRTY_FC_164E 0x0065
277 309
310 +/* 0094 ATTO Celerity 16 FC Gen6 */
311 +#define PCI_DEVICE_ID_CLRTY_FC_G6 0x0094
312 +#define PCI_SSDID_CLRTY_FC_162P 0x0094
313 +#define PCI_SSDID_CLRTY_FC_164P 0x00A1
314 +#define PCI_SSDID_CLRTY_FC_321E 0x00A2
315 +#define PCI_SSDID_CLRTY_FC_322E 0x00A3
278 316
317 +
279 318 /* JEDEC codes */
280 319 #define FIREFLY_JEDEC_ID 0x1ACC
281 320 #define SUPERFLY_JEDEC_ID 0x0020
282 321 #define DRAGONFLY_JEDEC_ID 0x0021
283 322 #define DRAGONFLY_V2_JEDEC_ID 0x0025
284 323 #define CENTAUR_2G_JEDEC_ID 0x0026
285 324 #define CENTAUR_1G_JEDEC_ID 0x0028
286 325 #define HELIOS_4G_JEDEC_ID 0x0364
287 326 #define ZEPHYR_4G_JEDEC_ID 0x0577
288 327 #define NEPTUNE_4G_JEDEC_ID 0x0510
289 328 #define SATURN_8G_JEDEC_ID 0x1004
290 329 #define PROTEUS_8G_JEDEC_ID 0x2634
291 330 #define JEDEC_ID_MASK 0x0FFFF000
292 331 #define JEDEC_ID_SHIFT 12
293 332 #define FC_JEDEC_ID(id) ((id & JEDEC_ID_MASK) >> JEDEC_ID_SHIFT)
294 333
295 334
296 335 typedef struct emlxs_model
297 336 {
298 337 emlxs_adapter_t id;
299 338 uint16_t device_id;
300 339 uint16_t ssdid;
301 340
|
↓ open down ↓ |
13 lines elided |
↑ open up ↑ |
302 341 char model[32];
303 342 char model_desc[80];
304 343 char manufacturer[80];
305 344 uint32_t flags;
306 345
307 346 /* flags */
308 347 #define EMLXS_INTX_SUPPORTED 0x00000001
309 348 #define EMLXS_MSI_SUPPORTED 0x00000002
310 349 #define EMLXS_MSIX_SUPPORTED 0x00000004
311 350 #define EMLXS_E2E_SUPPORTED 0x00000010 /* End-to-end authentication */
351 +#define EMLXS_FC_GEN6 0x00000020
352 +#define EMLXS_GPIO_LEDS 0x00000040
312 353 #define EMLXS_ORACLE_BRANDED 0x10000000
313 354 #define EMLXS_ORACLE_EXCLUDED 0x20000000
314 355 #define EMLXS_NOT_SUPPORTED 0x80000000
315 356
316 357 uint32_t chip;
317 358
318 359 /* chip */
319 360 #define EMLXS_UNKNOWN_CHIP 0x00000000
320 361 #define EMLXS_DRAGONFLY_CHIP 0x00000001
321 362 #define EMLXS_CENTAUR_CHIP 0x00000002
322 363 #define EMLXS_PEGASUS_CHIP 0x00000004
323 364 #define EMLXS_THOR_CHIP 0x00000008
324 365 #define EMLXS_HELIOS_CHIP 0x00000010
325 366 #define EMLXS_ZEPHYR_CHIP 0x00000020
326 367 #define EMLXS_NEPTUNE_CHIP 0x00000040
327 368 #define EMLXS_SATURN_CHIP 0x00000080
328 369 #define EMLXS_PROTEUS_CHIP 0x00000100
329 370 #define EMLXS_BE2_CHIP 0x00000200
330 371 #define EMLXS_BE3_CHIP 0x00000400
331 372 #define EMLXS_BE4_CHIP 0x00000800
332 373 #define EMLXS_BE_CHIPS (EMLXS_BE2_CHIP|EMLXS_BE3_CHIP|EMLXS_BE4_CHIP)
333 374 #define EMLXS_LANCER_CHIP 0x00001000
334 375
335 376 emlxs_fwid_t fwid;
336 377 uint32_t intr_limit;
337 378
338 379 #define EMLXS_INTR_NO_LIMIT 0x00000000
339 380 #define EMLXS_INTR_LIMIT1 0x00000001
340 381 #define EMLXS_INTR_LIMIT2 0x00000002
341 382 #define EMLXS_INTR_LIMIT4 0x00000004
342 383 #define EMLXS_INTR_LIMIT8 0x00000008
343 384 #define EMLXS_INTR_LIMIT16 0x00000010
344 385
345 386 uint32_t sli_mask;
346 387
347 388 #define EMLXS_SLI0_MASK 0x00000000
348 389 #define EMLXS_SLI2_MASK 0x00000002
349 390 #define EMLXS_SLI3_MASK 0x00000004
350 391 #define EMLXS_SLI4_MASK 0x00000008
351 392
352 393 #define EMLXS_SLI_MASK(_mode) ((_mode < 2) ? 0 : (1 << _mode))
353 394
354 395 uint32_t channels;
355 396 #define EMLXS_SINGLE_CHANNEL 1
356 397 #define EMLXS_MULTI_CHANNEL 2
357 398
358 399 uint8_t pt_2[8]; /* stub */
359 400 uint8_t pt_3[8]; /* boot */
360 401 uint8_t pt_6[8]; /* SLI1 */
361 402 uint8_t pt_7[8]; /* SLI2 */
362 403 uint8_t pt_A[8]; /* SBUS FCODE */
363 404 uint8_t pt_B[8]; /* SLI3 */
364 405 uint8_t pt_E[8]; /* SLI4 (old) */
365 406 uint8_t pt_FF[8]; /* kern */
366 407 uint8_t pt_20[8];
367 408 #define NULL_PROG_TYPES {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}, {0}
368 409
369 410 } emlxs_model_t;
370 411
371 412 #ifdef EMLXS_MODEL_DEF
372 413
373 414 /* Define the SBUS adapter database */
374 415 emlxs_model_t emlxs_sbus_model[] =
375 416 {
376 417 /* Unknown */
377 418 {
378 419 UNKNOWN_ADAPTER,
379 420 0,
380 421 0,
381 422 "unknown",
382 423 "Unknown Emulex LightPulse FC HBA",
383 424 "Emulex",
384 425 EMLXS_NOT_SUPPORTED,
385 426 EMLXS_UNKNOWN_CHIP,
386 427 FW_NOT_PROVIDED,
387 428 EMLXS_INTR_LIMIT1,
388 429 EMLXS_SLI2_MASK,
389 430 0,
390 431 NULL_PROG_TYPES,
391 432 },
392 433
393 434 /* Dragonfly midrange (QFLY) */
394 435 {
395 436 LP8000S,
396 437 PCI_DEVICE_ID_DRAGONFLY_SBUS,
397 438 PCI_SSDID_LP8000S,
398 439 "LP8000S",
399 440 "Emulex LP8000S 1Gb 1-port SBUS FC HBA",
400 441 "Emulex",
401 442 EMLXS_INTX_SUPPORTED,
402 443 EMLXS_DRAGONFLY_CHIP,
403 444 FW_NOT_PROVIDED,
404 445 EMLXS_INTR_LIMIT1,
405 446 EMLXS_SLI2_MASK,
406 447 EMLXS_SINGLE_CHANNEL,
407 448 {0x21, 0xB0, 0},
408 449 {0},
409 450 {0x31, 0},
410 451 {0x31, 0x39, 0},
411 452 {0x01, 0},
412 453 {0},
413 454 {0},
414 455 {0x30, 0},
415 456 {0}, /* T20 */
416 457 },
417 458
418 459 /* Centaur mid-range (RFLY, Rtaur) */
419 460 {
420 461 LP9002S,
421 462 PCI_DEVICE_ID_CENTAUR_SBUS,
422 463 PCI_SSDID_LP9002S,
423 464 "LP9002S",
424 465 "Emulex LP9002S 2Gb 1-port SBUS FC HBA",
425 466 "Emulex",
426 467 EMLXS_INTX_SUPPORTED,
427 468 EMLXS_CENTAUR_CHIP,
428 469 FW_NOT_PROVIDED,
429 470 EMLXS_INTR_LIMIT1,
430 471 EMLXS_SLI2_MASK,
431 472 EMLXS_SINGLE_CHANNEL,
432 473 {0x41, 0xD0, 0},
433 474 {0},
434 475 {0x51, 0},
435 476 {0x51, 0},
436 477 {0x02, 0},
437 478 {0},
438 479 {0},
439 480 {0x50, 0},
440 481 {0}, /* T20 */
441 482 },
442 483
443 484 }; /* emlxs_sbus_model[] */
444 485
445 486 #define EMLXS_SBUS_MODEL_COUNT \
446 487 (sizeof (emlxs_sbus_model) / sizeof (emlxs_model_t))
447 488
448 489
449 490 /* Define the PCI adapter database */
450 491 emlxs_model_t emlxs_pci_model[] =
451 492 {
452 493 /* Unknown */
453 494 {
454 495 UNKNOWN_ADAPTER,
455 496 0,
456 497 0,
457 498 "unknown",
458 499 "Unknown Emulex LightPulse FC HBA",
459 500 "Emulex",
460 501 EMLXS_NOT_SUPPORTED,
461 502 EMLXS_UNKNOWN_CHIP,
462 503 FW_NOT_PROVIDED,
463 504 EMLXS_INTR_LIMIT1,
464 505 EMLXS_SLI2_MASK,
465 506 0,
466 507 NULL_PROG_TYPES,
467 508 },
468 509
469 510 /* Dragonfly */
470 511 {
471 512 LP8000,
472 513 PCI_DEVICE_ID_DRAGONFLY,
473 514 PCI_SSDID_LP8000,
474 515 "LP8000",
475 516 "Emulex LP8000 1Gb 1-port PCI FC HBA",
476 517 "Emulex",
477 518 EMLXS_INTX_SUPPORTED,
478 519 EMLXS_DRAGONFLY_CHIP,
479 520 FW_NOT_PROVIDED,
480 521 EMLXS_INTR_LIMIT1,
481 522 EMLXS_SLI2_MASK,
482 523 EMLXS_SINGLE_CHANNEL,
483 524 {0x21, 0x22, 0x23, 0xA0, 0},
484 525 {0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0},
485 526 {0x21, 0x22, 0x23, 0},
486 527 {0x21, 0x22, 0x23, 0},
487 528 {0},
488 529 {0},
489 530 {0},
490 531 {0x20, 0},
491 532 {0}, /* T20 */
492 533 },
493 534
494 535 /* Dragonfly DC */
495 536 /* !! Must always follow the single channel entry in list */
496 537 {
497 538 LP8000DC,
498 539 PCI_DEVICE_ID_DRAGONFLY,
499 540 PCI_SSDID_LP8000DC,
500 541 "LP8000DC",
501 542 "Emulex LP8000DC 1Gb 2-port PCI FC HBA",
502 543 "Emulex",
503 544 EMLXS_INTX_SUPPORTED,
504 545 EMLXS_DRAGONFLY_CHIP,
505 546 FW_NOT_PROVIDED,
506 547 EMLXS_INTR_LIMIT1,
507 548 EMLXS_SLI2_MASK,
508 549 EMLXS_MULTI_CHANNEL,
509 550 {0x21, 0x22, 0x23, 0xA0, 0},
510 551 {0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0},
511 552 {0x21, 0x22, 0x23, 0},
512 553 {0x21, 0x22, 0x23, 0},
513 554 {0},
514 555 {0},
515 556 {0},
516 557 {0x20, 0},
517 558 {0}, /* T20 */
518 559 },
519 560
520 561 /* Centaur PCI */
521 562 {
522 563 LP9002L,
523 564 PCI_DEVICE_ID_CENTAUR,
524 565 PCI_SSDID_LP9002L,
525 566 "LP9002L",
526 567 "Emulex LP9002L 2Gb 1-port PCI FC HBA",
527 568 "Emulex",
528 569 EMLXS_INTX_SUPPORTED,
529 570 EMLXS_CENTAUR_CHIP,
530 571 FW_NOT_PROVIDED,
531 572 EMLXS_INTR_LIMIT1,
532 573 EMLXS_SLI2_MASK,
533 574 EMLXS_SINGLE_CHANNEL,
534 575 {0x41, 0x43, 0xC0, 0},
535 576 {0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0},
536 577 {0x41, 0x43, 0},
537 578 {0x41, 0x43, 0},
538 579 {0},
539 580 {0},
540 581 {0},
541 582 {0x40, 0},
542 583 {0}, /* T20 */
543 584 },
544 585
545 586 /* Centaur cPCI */
546 587 {
547 588 LP9002C,
548 589 PCI_DEVICE_ID_CENTAUR,
549 590 PCI_SSDID_LP9002C,
550 591 "LP9002C",
551 592 "Emulex LP9002C 2Gb 1-port cPCI FC HBA",
552 593 "Emulex",
553 594 EMLXS_INTX_SUPPORTED,
554 595 EMLXS_CENTAUR_CHIP,
555 596 FW_NOT_PROVIDED,
556 597 EMLXS_INTR_LIMIT1,
557 598 EMLXS_SLI2_MASK,
558 599 EMLXS_SINGLE_CHANNEL,
559 600 {0x41, 0x43, 0xC0, 0},
560 601 {0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0},
561 602 {0x41, 0x43, 0},
562 603 {0x41, 0x43, 0},
563 604 {0},
564 605 {0},
565 606 {0},
566 607 {0x40, 0},
567 608 {0}, /* T20 */
568 609 },
569 610
570 611 /* Centaur DC PCI */
571 612 /* !! Must always follow the single channel entry in list */
572 613 {
573 614 LP9002DC,
574 615 PCI_DEVICE_ID_CENTAUR,
575 616 PCI_SSDID_LP9002DC,
576 617 "LP9002DC",
577 618 "Emulex LP9002DC 2Gb 2-port PCI FC HBA",
578 619 "Emulex",
579 620 EMLXS_INTX_SUPPORTED,
580 621 EMLXS_CENTAUR_CHIP,
581 622 FW_NOT_PROVIDED,
582 623 EMLXS_INTR_LIMIT1,
583 624 EMLXS_SLI2_MASK,
584 625 EMLXS_MULTI_CHANNEL,
585 626 {0x41, 0x43, 0xC0, 0},
586 627 {0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0},
587 628 {0x41, 0x43, 0},
588 629 {0x41, 0x43, 0},
589 630 {0},
590 631 {0},
591 632 {0},
592 633 {0x40, 0},
593 634 {0}, /* T20 */
594 635 },
595 636
596 637 /* Centaur DC PCI-X */
597 638 /* !! Must always follow the single channel entry in list */
598 639 {
599 640 LP9402DC,
600 641 PCI_DEVICE_ID_CENTAUR,
601 642 PCI_SSDID_LP9402DC,
602 643 "LP9402DC",
603 644 "Emulex LP9402DC 2Gb 2-port PCI-X FC HBA",
604 645 "Emulex",
605 646 EMLXS_INTX_SUPPORTED,
606 647 EMLXS_CENTAUR_CHIP,
607 648 FW_NOT_PROVIDED,
608 649 EMLXS_INTR_LIMIT1,
609 650 EMLXS_SLI2_MASK,
610 651 EMLXS_MULTI_CHANNEL,
611 652 {0x41, 0x43, 0xC0, 0},
612 653 {0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0},
613 654 {0x41, 0x43, 0},
614 655 {0x41, 0x43, 0},
615 656 {0},
616 657 {0},
617 658 {0},
618 659 {0x40, 0},
619 660 {0}, /* T20 */
620 661 },
621 662
622 663 /* Pegasus */
623 664 {
624 665 LP9802,
625 666 PCI_DEVICE_ID_PEGASUS,
626 667 PCI_SSDID_LP9802,
627 668 "LP9802",
628 669 "Emulex LP9802 2Gb 1-port PCI-X FC HBA",
629 670 "Emulex",
630 671 EMLXS_INTX_SUPPORTED,
631 672 EMLXS_PEGASUS_CHIP,
632 673 FW_NOT_PROVIDED,
633 674 EMLXS_INTR_LIMIT1,
634 675 EMLXS_SLI2_MASK,
635 676 EMLXS_SINGLE_CHANNEL,
636 677 {0x63, 0xE0, 0},
637 678 {0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0},
638 679 {0x63, 0},
639 680 {0x63, 0},
640 681 {0},
641 682 {0x63, 0},
642 683 {0},
643 684 {0x60, 0},
644 685 {0}, /* T20 */
645 686 },
646 687
647 688 /* Pegasus DC */
648 689 /* !! Must always follow the single channel entry in list */
649 690 {
650 691 LP9802DC,
651 692 PCI_DEVICE_ID_PEGASUS,
652 693 PCI_SSDID_LP9802DC,
653 694 "LP9802DC",
654 695 "Emulex LP9802DC 2Gb 2-port PCI-X FC HBA",
655 696 "Emulex",
656 697 EMLXS_INTX_SUPPORTED,
657 698 EMLXS_PEGASUS_CHIP,
658 699 FW_NOT_PROVIDED,
659 700 EMLXS_INTR_LIMIT1,
660 701 EMLXS_SLI2_MASK,
661 702 EMLXS_MULTI_CHANNEL,
662 703 {0x61, 0xE0, 0},
663 704 {0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0},
664 705 {0x61, 0},
665 706 {0x61, 0},
666 707 {0},
667 708 {0x61, 0},
668 709 {0},
669 710 {0x60, 0},
670 711 {0}, /* T20 */
671 712 },
672 713
673 714 /* Thor */
674 715 {
675 716 LP10000,
676 717 PCI_DEVICE_ID_THOR,
677 718 PCI_SSDID_LP10000,
678 719 "LP10000",
679 720 "Emulex LP10000 2Gb 1-port PCI-X FC HBA",
680 721 "Emulex",
681 722 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
682 723 EMLXS_THOR_CHIP,
683 724 LP10000_FW,
684 725 EMLXS_INTR_LIMIT1,
685 726 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
686 727 EMLXS_SINGLE_CHANNEL,
687 728 {0x81, 0x83, 0x88, 0},
688 729 {0x81, 0x82, 0x83, 0x85, 0x86, 0x87, 0},
689 730 {0x81, 0x83, 0},
690 731 {0x81, 0x83, 0},
691 732 {0},
692 733 {0x81, 0x83, 0},
693 734 {0},
694 735 {0x80, 0},
695 736 {0}, /* T20 */
696 737 },
697 738
698 739 /* Thor DC */
699 740 /* !! Must always follow the single channel entry in list */
700 741 {
701 742 LP10000DC,
702 743 PCI_DEVICE_ID_THOR,
703 744 PCI_SSDID_LP10000DC,
704 745 "LP10000DC",
705 746 "Emulex LP10000DC 2Gb 2-port PCI-X FC HBA",
706 747 "Emulex",
707 748 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
708 749 EMLXS_THOR_CHIP,
709 750 LP10000_FW,
710 751 EMLXS_INTR_LIMIT1,
711 752 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
712 753 EMLXS_MULTI_CHANNEL,
713 754 {0x81, 0x83, 0x88, 0},
714 755 {0x81, 0x82, 0x83, 0x85, 0x86, 0x87, 0},
715 756 {0x81, 0x83, 0},
716 757 {0x81, 0x83, 0},
717 758 {0},
718 759 {0x81, 0x83, 0},
719 760 {0},
720 761 {0x80, 0},
721 762 {0}, /* T20 */
722 763 },
723 764
724 765 /* Thor DC express */
725 766 /* !! Must always follow the single channel entry in list */
726 767 {
727 768 LP10000ExDC,
728 769 PCI_DEVICE_ID_THOR,
729 770 PCI_SSDID_LP10000ExDC,
730 771 "LP10000ExDC",
731 772 "Emulex LP10000ExDC 2Gb 2-port PCIe FC HBA",
732 773 "Emulex",
733 774 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
734 775 EMLXS_THOR_CHIP,
735 776 LP10000_FW,
736 777 EMLXS_INTR_LIMIT1,
737 778 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
738 779 EMLXS_MULTI_CHANNEL,
739 780 {0x81, 0x83, 0x88, 0},
740 781 {0x81, 0x82, 0x83, 0x85, 0x86, 0x87, 0},
741 782 {0x81, 0x83, 0},
742 783 {0x81, 0x83, 0},
743 784 {0},
744 785 {0x81, 0x83, 0},
745 786 {0},
746 787 {0x80, 0},
747 788 {0}, /* T20 */
748 789 },
749 790
750 791 /* Thor (Oracle Rainbow-E1) */
751 792 {
752 793 LP10000_O,
753 794 PCI_DEVICE_ID_THOR_O,
754 795 PCI_SSDID_LP10000_O,
755 796 "LP10000-S",
756 797 "Emulex LP10000-S 2Gb 1-port PCI-X FC HBA",
757 798 "Emulex",
758 799 EMLXS_ORACLE_BRANDED | EMLXS_INTX_SUPPORTED |
759 800 EMLXS_MSI_SUPPORTED,
760 801 EMLXS_THOR_CHIP,
761 802 LP10000_FW,
762 803 EMLXS_INTR_LIMIT1,
763 804 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
764 805 EMLXS_SINGLE_CHANNEL,
765 806 {0x83, 0x88, 0},
766 807 {0x82, 0x84, 0},
767 808 {0x83, 0},
768 809 {0x83, 0},
769 810 {0},
770 811 {0x83, 0},
771 812 {0},
772 813 {0x80, 0},
773 814 {0}, /* T20 */
774 815 },
775 816
776 817 /* Thor DC (Oracle Rainbow-E2) */
777 818 /* !! Must always follow the single channel entry in list */
778 819 {
779 820 LP10000DC_O,
780 821 PCI_DEVICE_ID_THOR_O,
781 822 PCI_SSDID_LP10000DC_O,
782 823 "LP10000DC-S",
783 824 "Emulex LP10000DC-S 2Gb 2-port PCI-X FC HBA",
784 825 "Emulex",
785 826 EMLXS_ORACLE_BRANDED | EMLXS_INTX_SUPPORTED |
786 827 EMLXS_MSI_SUPPORTED,
787 828 EMLXS_THOR_CHIP,
788 829 LP10000_FW,
789 830 EMLXS_INTR_LIMIT1,
790 831 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
791 832 EMLXS_MULTI_CHANNEL,
792 833 {0x83, 0x88, 0},
793 834 {0x82, 0x84, 0},
794 835 {0x83, 0},
795 836 {0x83, 0},
796 837 {0},
797 838 {0x83, 0},
798 839 {0},
799 840 {0x80, 0},
800 841 {0}, /* T20 */
801 842 },
802 843
803 844 /* Thor mid-range (MiniThor) */
804 845 {
805 846 BLADE_2G,
806 847 PCI_DEVICE_ID_THOR_BLADE,
807 848 PCI_SSDID_BLADE_2G,
808 849 "2G Blade Adapter",
809 850 "Emulex 2G 2-port Blade PCI-X FC HBA",
810 851 "Emulex",
811 852 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
812 853 EMLXS_THOR_CHIP,
813 854 FW_NOT_PROVIDED,
814 855 EMLXS_INTR_LIMIT1,
815 856 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
816 857 EMLXS_MULTI_CHANNEL,
817 858 {0x98, 0},
818 859 {0x91, 0x92, 0x93, 0x95, 0x96, 0x97, 0},
819 860 {0x91, 0},
820 861 {0x91, 0},
821 862 {0},
822 863 {0x91, 0},
823 864 {0},
824 865 {0x90, 0},
825 866 {0}, /* T20 */
826 867 },
827 868
828 869 /* Helios */
829 870 {
830 871 LP11000,
831 872 PCI_DEVICE_ID_HELIOS,
832 873 PCI_SSDID_LP11000,
833 874 "LP11000",
834 875 "Emulex LP11000 4Gb 1-port PCI-X2 FC HBA",
835 876 "Emulex",
836 877 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
837 878 EMLXS_HELIOS_CHIP,
838 879 LP11000_FW,
839 880 EMLXS_INTR_LIMIT1,
840 881 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
841 882 EMLXS_SINGLE_CHANNEL,
842 883 {0xC3, 0xC8, 0},
843 884 {0xC1, 0xC2, 0xC3, 0xC5, 0xC6, 0xC7, 0},
844 885 {0xC3, 0},
845 886 {0xC3, 0},
846 887 {0},
847 888 {0xC3, 0},
848 889 {0},
849 890 {0xC0, 0},
850 891 {0}, /* T20 */
851 892 },
852 893
853 894 /* Helios DC */
854 895 /* !! Must always follow the single channel entry in list */
855 896 {
856 897 LP11002,
857 898 PCI_DEVICE_ID_HELIOS,
858 899 PCI_SSDID_LP11002,
859 900 "LP11002",
860 901 "Emulex LP11002 4Gb 2-port PCI-X2 FC HBA",
861 902 "Emulex",
862 903 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
863 904 EMLXS_HELIOS_CHIP,
864 905 LP11002_FW,
865 906 EMLXS_INTR_LIMIT1,
866 907 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
867 908 EMLXS_MULTI_CHANNEL,
868 909 {0xC1, 0xC8, 0},
869 910 {0xC1, 0xC2, 0xC3, 0xC5, 0xC6, 0xC7, 0},
870 911 {0xC1, 0},
871 912 {0xC1, 0},
872 913 {0},
873 914 {0xC1, 0},
874 915 {0},
875 916 {0xC0, 0},
876 917 {0}, /* T20 */
877 918 },
878 919
879 920 /* Helios (Oracle Pyramid-E1) */
880 921 {
881 922 LP11000_O,
882 923 PCI_DEVICE_ID_HELIOS_O,
883 924 PCI_SSDID_LP11000_O,
884 925 "LP11000-S",
885 926 "Emulex LP11000-S 4Gb 1-port PCI-X2 FC HBA",
886 927 "Emulex",
887 928 EMLXS_ORACLE_BRANDED | EMLXS_INTX_SUPPORTED |
888 929 EMLXS_MSI_SUPPORTED,
889 930 EMLXS_HELIOS_CHIP,
890 931 LP11000_FW,
891 932 EMLXS_INTR_LIMIT1,
892 933 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
893 934 EMLXS_SINGLE_CHANNEL,
894 935 {0xC3, 0xC8, 0},
895 936 {0xC4, 0},
896 937 {0xC3, 0},
897 938 {0xC3, 0},
898 939 {0},
899 940 {0xC3, 0},
900 941 {0},
901 942 {0xC0, 0},
902 943 {0}, /* T20 */
903 944 },
904 945
905 946 /* Helios DC (Oracle Pyramid-E2) */
906 947 {
907 948 LP11002_O,
908 949 PCI_DEVICE_ID_HELIOS_O,
909 950 PCI_SSDID_LP11002_O,
910 951 "LP11002-S",
911 952 "Emulex LP11002-S 4Gb 2-port PCI-X2 FC HBA",
912 953 "Emulex",
913 954 EMLXS_ORACLE_BRANDED | EMLXS_INTX_SUPPORTED |
914 955 EMLXS_MSI_SUPPORTED,
915 956 EMLXS_HELIOS_CHIP,
916 957 LP11002_FW,
917 958 EMLXS_INTR_LIMIT1,
918 959 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
919 960 EMLXS_MULTI_CHANNEL,
920 961 {0xC1, 0xC8, 0},
921 962 {0xC4, 0},
922 963 {0xC1, 0},
923 964 {0xC1, 0},
924 965 {0},
925 966 {0xC1, 0},
926 967 {0},
927 968 {0xC0, 0},
928 969 {0}, /* T20 */
929 970 },
930 971
931 972 /* Helios Enterprise (Spare) */
932 973 {
933 974 LP11000_SP,
934 975 PCI_DEVICE_ID_LP11000_SP,
935 976 PCI_SSDID_LP11000_SP,
936 977 "LP11000",
937 978 "Emulex LP11000 4Gb 1-port PCI-X2 FC HBA",
938 979 "Emulex",
939 980 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
940 981 EMLXS_HELIOS_CHIP,
941 982 LP11000_FW,
942 983 EMLXS_INTR_LIMIT1,
943 984 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
944 985 EMLXS_SINGLE_CHANNEL,
945 986 {0xC3, 0xC8, 0},
946 987 {0xC1, 0xC2, 0xC3, 0xC5, 0xC6, 0xC7, 0},
947 988 {0xC3, 0},
948 989 {0xC3, 0},
949 990 {0},
950 991 {0xC3, 0},
951 992 {0},
952 993 {0xC0, 0},
953 994 {0}, /* T20 */
954 995 },
955 996
956 997 /* Helios DC Enterprise (Spare) */
957 998 {
958 999 LP11002_SP,
959 1000 PCI_DEVICE_ID_LP11002_SP,
960 1001 PCI_SSDID_LP11002_SP,
961 1002 "LP11002",
962 1003 "Emulex LP11002 4Gb 2-port PCI-X2 FC HBA",
963 1004 "Emulex",
964 1005 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
965 1006 EMLXS_HELIOS_CHIP,
966 1007 LP11002_FW,
967 1008 EMLXS_INTR_LIMIT1,
968 1009 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
969 1010 EMLXS_MULTI_CHANNEL,
970 1011 {0xC1, 0xC8, 0},
971 1012 {0xC1, 0xC2, 0xC3, 0xC5, 0xC6, 0xC7, 0},
972 1013 {0xC1, 0},
973 1014 {0xC1, 0},
974 1015 {0},
975 1016 {0xC1, 0},
976 1017 {0},
977 1018 {0xC0, 0},
978 1019 {0}, /* T20 */
979 1020 },
980 1021
981 1022 /* Zephyr */
982 1023 {
983 1024 LPe11000,
984 1025 PCI_DEVICE_ID_ZEPHYR,
985 1026 PCI_SSDID_LPe11000,
986 1027 "LPe11000",
987 1028 "Emulex LPe11000 4Gb 1-port PCIe FC HBA",
988 1029 "Emulex",
989 1030 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
990 1031 EMLXS_ZEPHYR_CHIP,
991 1032 LPe11000_FW,
992 1033 EMLXS_INTR_NO_LIMIT,
993 1034 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
994 1035 EMLXS_SINGLE_CHANNEL,
995 1036 {0xE3, 0xE8, 0},
996 1037 {0xE1, 0xE2, 0xE3, 0xE5, 0xE6, 0xE7, 0},
997 1038 {0xE3, 0},
998 1039 {0xE3, 0},
999 1040 {0},
1000 1041 {0xE3, 0},
1001 1042 {0},
1002 1043 {0xE0, 0},
1003 1044 {0}, /* T20 */
1004 1045 },
1005 1046
1006 1047 /* Zephyr */
1007 1048 /* !! Must always follow the single channel entry in list */
1008 1049 {
1009 1050 LPe1100X,
1010 1051 PCI_DEVICE_ID_ZEPHYR,
1011 1052 PCI_SSDID_LPe1100X,
1012 1053 "LPe11000",
1013 1054 "Emulex LPe11000 4Gb Multi-port PCIe FC HBA",
1014 1055 "Emulex",
1015 1056 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
1016 1057 EMLXS_ZEPHYR_CHIP,
1017 1058 LPe11002_FW,
1018 1059 EMLXS_INTR_NO_LIMIT,
1019 1060 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
1020 1061 EMLXS_MULTI_CHANNEL,
1021 1062 {0xE1, 0xE8, 0},
1022 1063 {0xE1, 0xE2, 0xE3, 0xE5, 0xE6, 0xE7, 0},
1023 1064 {0xE1, 0},
1024 1065 {0xE1, 0},
1025 1066 {0},
1026 1067 {0xE1, 0},
1027 1068 {0},
1028 1069 {0xE0, 0},
1029 1070 {0}, /* T20 */
1030 1071 },
1031 1072
1032 1073 /* Zephyr Hornet */
1033 1074 {
1034 1075 LP21000,
1035 1076 PCI_DEVICE_ID_HORNET,
1036 1077 PCI_SSDID_LP21000,
1037 1078 "LP21000",
1038 1079 "Emulex LP21000 10GE 1-port PCIe FCoE HBA",
1039 1080 "Emulex",
1040 1081 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
1041 1082 EMLXS_ZEPHYR_CHIP,
1042 1083 FW_NOT_PROVIDED,
1043 1084 EMLXS_INTR_NO_LIMIT,
1044 1085 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
1045 1086 EMLXS_SINGLE_CHANNEL,
1046 1087 {0x50, 0},
1047 1088 {0x59, 0x5A, 0x5B, 0x5D, 0x5E, 0x5F, 0},
1048 1089 {0},
1049 1090 {0x53, 0x59, 0},
1050 1091 {0},
1051 1092 {0x53, 0x59, 0},
1052 1093 {0},
1053 1094 {0x58, 0},
1054 1095 {0}, /* T20 */
1055 1096 },
1056 1097
1057 1098 /* Zephyr Hornet DC */
1058 1099 /* !! Must always follow the single channel entry in list */
1059 1100 {
1060 1101 LP21002,
1061 1102 PCI_DEVICE_ID_HORNET,
1062 1103 PCI_SSDID_LP21002,
1063 1104 "LP21002",
1064 1105 "Emulex LP21002 10GE 2-port PCIe FCoE HBA",
1065 1106 "Emulex",
1066 1107 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED,
1067 1108 EMLXS_ZEPHYR_CHIP,
1068 1109 FW_NOT_PROVIDED,
1069 1110 EMLXS_INTR_NO_LIMIT,
1070 1111 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
1071 1112 EMLXS_MULTI_CHANNEL,
1072 1113 {0x50, 0},
1073 1114 {0x59, 0x5A, 0x5B, 0x5D, 0x5E, 0x5F, 0},
1074 1115 {0},
1075 1116 {0x53, 0x59, 0},
1076 1117 {0},
1077 1118 {0x53, 0x59, 0},
1078 1119 {0},
1079 1120 {0x58, 0},
1080 1121 {0}, /* T20 */
1081 1122 },
1082 1123
1083 1124 /* Zephyr (Oracle Summit-E1) */
1084 1125 {
1085 1126 LPe11000_O,
1086 1127 PCI_DEVICE_ID_ZEPHYR_O,
1087 1128 PCI_SSDID_LPe11000_O,
1088 1129 "LPe11000-S",
1089 1130 "Emulex LPe11000-S 4Gb 1-port PCIe FC HBA",
1090 1131 "Emulex",
1091 1132 EMLXS_ORACLE_BRANDED | EMLXS_INTX_SUPPORTED |
1092 1133 EMLXS_MSI_SUPPORTED,
1093 1134 EMLXS_ZEPHYR_CHIP,
1094 1135 LPe11000_FW,
1095 1136 EMLXS_INTR_NO_LIMIT,
1096 1137 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
1097 1138 EMLXS_SINGLE_CHANNEL,
1098 1139 {0xE3, 0xE8, 0},
1099 1140 {0xE4, 0},
1100 1141 {0xE3, 0},
1101 1142 {0xE3, 0},
1102 1143 {0},
1103 1144 {0xE3, 0},
1104 1145 {0},
1105 1146 {0xE0, 0},
1106 1147 {0}, /* T20 */
1107 1148 },
1108 1149
1109 1150 /* Zephyr DC (Oracle Summit-E2) */
1110 1151 /* !! Must always follow the single channel entry in list */
1111 1152 {
1112 1153 LPe11002_O,
1113 1154 PCI_DEVICE_ID_ZEPHYR_O,
1114 1155 PCI_SSDID_LPe11002_O,
1115 1156 "LPe11002-S",
1116 1157 "Emulex LPe11002-S 4Gb 2-port PCIe FC HBA",
1117 1158 "Emulex",
1118 1159 EMLXS_ORACLE_BRANDED | EMLXS_INTX_SUPPORTED |
1119 1160 EMLXS_MSI_SUPPORTED,
1120 1161 EMLXS_ZEPHYR_CHIP,
1121 1162 LPe11002_FW,
1122 1163 EMLXS_INTR_NO_LIMIT,
1123 1164 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
1124 1165 EMLXS_MULTI_CHANNEL,
1125 1166 {0xE1, 0xE8, 0},
1126 1167 {0xE4, 0},
1127 1168 {0xE1, 0},
1128 1169 {0xE1, 0},
1129 1170 {0},
1130 1171 {0xE1, 0},
1131 1172 {0},
1132 1173 {0xE0, 0},
1133 1174 {0}, /* T20 */
1134 1175 },
1135 1176
1136 1177 /* Zephyr NEM (Oracle Janus) */
1137 1178 /* !! Must always follow the single channel entry in list */
1138 1179 {
1139 1180 LPe11020_O,
1140 1181 PCI_DEVICE_ID_ZEPHYR_O,
1141 1182 PCI_SSDID_LPe11020_O,
1142 1183 "LPe11020-S",
1143 1184 "Emulex LPe11020-S 4Gb 20-port PCIe FC HBA",
1144 1185 "Emulex",
1145 1186 EMLXS_ORACLE_BRANDED | EMLXS_INTX_SUPPORTED |
1146 1187 EMLXS_MSI_SUPPORTED,
1147 1188 EMLXS_ZEPHYR_CHIP,
1148 1189 LPe11002_FW,
1149 1190 EMLXS_INTR_NO_LIMIT,
1150 1191 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
1151 1192 EMLXS_MULTI_CHANNEL,
1152 1193 {0xE1, 0xE8, 0},
1153 1194 {0xE4, 0},
1154 1195 {0xE1, 0},
1155 1196 {0xE1, 0},
1156 1197 {0},
1157 1198 {0xE1, 0},
1158 1199 {0},
1159 1200 {0xE0, 0},
1160 1201 {0}, /* T20 */
1161 1202 },
1162 1203
1163 1204 /* Zephyr Express Module (Oracle TitanE) */
1164 1205 /* !! Must always follow the single channel entry in list */
1165 1206 {
1166 1207 LPem11002_O,
1167 1208 PCI_DEVICE_ID_ZEPHYR_O,
1168 1209 PCI_SSDID_LPem11002_O,
1169 1210 "LPem11002-S",
1170 1211 "Emulex LPem11002-S 4Gb 2-port PCIe FC HBA",
1171 1212 "Emulex",
1172 1213 EMLXS_ORACLE_BRANDED | EMLXS_INTX_SUPPORTED |
1173 1214 EMLXS_MSI_SUPPORTED,
1174 1215 EMLXS_ZEPHYR_CHIP,
1175 1216 LPe11002_FW,
1176 1217 EMLXS_INTR_NO_LIMIT,
1177 1218 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
1178 1219 EMLXS_MULTI_CHANNEL,
1179 1220 {0xE1, 0xE8, 0},
1180 1221 {0xE4, 0},
1181 1222 {0xE1, 0},
1182 1223 {0xE1, 0},
1183 1224 {0},
1184 1225 {0xE1, 0},
1185 1226 {0},
1186 1227 {0xE0, 0},
1187 1228 {0}, /* T20 */
1188 1229 },
1189 1230
1190 1231 /* Zephyr Express Module (Oracle Elara) */
1191 1232 /* !! Must always follow the single channel entry in list */
1192 1233 {
1193 1234 LPem11002E_O,
1194 1235 PCI_DEVICE_ID_ZEPHYR_O,
1195 1236 PCI_SSDID_LPem11002E_O,
1196 1237 "LPem11002E-S",
1197 1238 "Emulex LPem11002E-S 4Gb 2-port FC & 2-port 1GE PCIe HBA",
1198 1239 "Emulex",
1199 1240 EMLXS_ORACLE_BRANDED | EMLXS_INTX_SUPPORTED |
1200 1241 EMLXS_MSI_SUPPORTED,
1201 1242 EMLXS_ZEPHYR_CHIP,
1202 1243 LPe11002_FW,
1203 1244 EMLXS_INTR_NO_LIMIT,
1204 1245 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
1205 1246 EMLXS_MULTI_CHANNEL,
1206 1247 {0xE1, 0xE8, 0},
1207 1248 {0xE4, 0},
1208 1249 {0xE1, 0},
1209 1250 {0xE1, 0},
1210 1251 {0},
1211 1252 {0xE1, 0},
1212 1253 {0},
1213 1254 {0xE0, 0},
1214 1255 {0}, /* T20 */
1215 1256 },
1216 1257
1217 1258 /* Zephyr AMC (Oracle Helene/Dione) */
1218 1259 /* !! Must always follow the single channel entry in list */
1219 1260 {
1220 1261 LPeA11002_O,
1221 1262 PCI_DEVICE_ID_ZEPHYR_O,
1222 1263 PCI_SSDID_LPeA11002_O,
1223 1264 "LPeA11002-S",
1224 1265 "Emulex LPeA11002-S 4Gb 2-port PCIe FC HBA",
1225 1266 "Emulex",
1226 1267 EMLXS_ORACLE_BRANDED | EMLXS_INTX_SUPPORTED |
1227 1268 EMLXS_MSI_SUPPORTED,
1228 1269 EMLXS_ZEPHYR_CHIP,
1229 1270 LPe11002_FW,
1230 1271 EMLXS_INTR_NO_LIMIT,
1231 1272 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
1232 1273 EMLXS_MULTI_CHANNEL,
1233 1274 {0xE1, 0xE8, 0},
1234 1275 {0xE4, 0},
1235 1276 {0xE1, 0},
1236 1277 {0xE1, 0},
1237 1278 {0},
1238 1279 {0xE1, 0},
1239 1280 {0},
1240 1281 {0xE0, 0},
1241 1282 {0}, /* T20 */
1242 1283 },
1243 1284
1244 1285 /* Saturn */
1245 1286 {
1246 1287 LPe12000,
1247 1288 PCI_DEVICE_ID_SATURN,
1248 1289 PCI_SSDID_LPe12000,
1249 1290 "LPe12000",
1250 1291 "Emulex LPe12000 8Gb 1-port PCIe FC HBA",
1251 1292 "Emulex",
1252 1293 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
1253 1294 EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
1254 1295 EMLXS_SATURN_CHIP,
1255 1296 LPe12000_FW,
1256 1297 EMLXS_INTR_NO_LIMIT,
1257 1298 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
1258 1299 EMLXS_SINGLE_CHANNEL,
1259 1300 {0x78, 0},
1260 1301 {0x79, 0x7A, 0x7B, 0x7D, 0x7E, 0x7F, 0},
1261 1302 {0},
1262 1303 {0x73, 0x79, 0},
1263 1304 {0},
1264 1305 {0x73, 0x79, 0},
1265 1306 {0},
1266 1307 {0x78, 0},
1267 1308 {0}, /* T20 */
1268 1309 },
1269 1310
1270 1311 /* Saturn DC */
1271 1312 /* !! Must always follow the single channel entry in list */
1272 1313 {
1273 1314 LPe12002,
1274 1315 PCI_DEVICE_ID_SATURN,
1275 1316 PCI_SSDID_LPe12002,
1276 1317 "LPe12002",
1277 1318 "Emulex LPe12002 8Gb 2-port PCIe FC HBA",
1278 1319 "Emulex",
1279 1320 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
1280 1321 EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
1281 1322 EMLXS_SATURN_CHIP,
1282 1323 LPe12000_FW,
1283 1324 EMLXS_INTR_NO_LIMIT,
1284 1325 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
1285 1326 EMLXS_MULTI_CHANNEL,
1286 1327 {0x78, 0},
1287 1328 {0x79, 0x7A, 0x7B, 0x7D, 0x7E, 0x7F, 0},
1288 1329 {0},
1289 1330 {0x73, 0x79, 0},
1290 1331 {0},
1291 1332 {0x73, 0x79, 0},
1292 1333 {0},
1293 1334 {0x78, 0},
1294 1335 {0}, /* T20 */
1295 1336 },
1296 1337
1297 1338 /* Saturn (Oracle) */
1298 1339 {
1299 1340 LPe12000_O,
1300 1341 PCI_DEVICE_ID_SATURN_O,
1301 1342 PCI_SSDID_LPe12000_O,
1302 1343 "LPe12000-S",
1303 1344 "Emulex LPe12000-S 8Gb 1-port PCIe FC HBA",
1304 1345 "Emulex",
1305 1346 EMLXS_ORACLE_BRANDED | EMLXS_INTX_SUPPORTED |
1306 1347 EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1307 1348 EMLXS_E2E_SUPPORTED,
1308 1349 EMLXS_SATURN_CHIP,
1309 1350 LPe12000_FW,
1310 1351 EMLXS_INTR_NO_LIMIT,
1311 1352 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
1312 1353 EMLXS_SINGLE_CHANNEL,
1313 1354 {0x78, 0},
1314 1355 {0x7C, 0},
1315 1356 {0},
1316 1357 {0x73, 0},
1317 1358 {0},
1318 1359 {0x73, 0},
1319 1360 {0},
1320 1361 {0x78, 0},
1321 1362 {0}, /* T20 */
1322 1363 },
1323 1364
1324 1365 /* Saturn DC (Oracle) */
1325 1366 {
1326 1367 LPe12002_O,
1327 1368 PCI_DEVICE_ID_SATURN_O,
1328 1369 PCI_SSDID_LPe12002_O,
1329 1370 "LPe12002-S",
1330 1371 "Emulex LPe12002-S 8Gb 2-port PCIe FC HBA",
1331 1372 "Emulex",
1332 1373 EMLXS_ORACLE_BRANDED | EMLXS_INTX_SUPPORTED |
1333 1374 EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1334 1375 EMLXS_E2E_SUPPORTED,
1335 1376 EMLXS_SATURN_CHIP,
1336 1377 LPe12000_FW,
1337 1378 EMLXS_INTR_NO_LIMIT,
1338 1379 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
1339 1380 EMLXS_MULTI_CHANNEL,
1340 1381 {0x78, 0},
1341 1382 {0x7C, 0},
1342 1383 {0},
1343 1384 {0x73, 0},
1344 1385 {0},
1345 1386 {0x73, 0},
1346 1387 {0},
1347 1388 {0x78, 0},
1348 1389 {0}, /* T20 */
1349 1390 },
1350 1391
1351 1392 /* Saturn Express Module (Oracle) */
1352 1393 {
1353 1394 LPem12002_O,
1354 1395 PCI_DEVICE_ID_SATURN_O,
1355 1396 PCI_SSDID_LPem12002_O,
1356 1397 "LPem12002-S",
1357 1398 "Emulex LPem12002-S 8Gb 2-port PCIe FC HBA",
1358 1399 "Emulex",
1359 1400 EMLXS_ORACLE_BRANDED | EMLXS_INTX_SUPPORTED |
1360 1401 EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1361 1402 EMLXS_E2E_SUPPORTED,
1362 1403 EMLXS_SATURN_CHIP,
1363 1404 LPe12000_FW,
1364 1405 EMLXS_INTR_NO_LIMIT,
1365 1406 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
1366 1407 EMLXS_MULTI_CHANNEL,
1367 1408 {0x78, 0},
1368 1409 {0x7C, 0},
1369 1410 {0},
1370 1411 {0x73, 0},
1371 1412 {0},
1372 1413 {0x73, 0},
1373 1414 {0},
1374 1415 {0x78, 0},
1375 1416 {0}, /* T20 */
1376 1417 },
1377 1418
1378 1419 /* Saturn Express Module (Oracle Metis) */
1379 1420 {
1380 1421 LPem12002E_O,
1381 1422 PCI_DEVICE_ID_SATURN_O,
1382 1423 PCI_SSDID_LPem12002E_O,
1383 1424 "LPem12002E-S",
1384 1425 "Emulex LPem12002E-S 8Gb 2-port PCIe FC HBA",
1385 1426 "Emulex",
1386 1427 EMLXS_ORACLE_BRANDED | EMLXS_INTX_SUPPORTED |
1387 1428 EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1388 1429 EMLXS_E2E_SUPPORTED,
1389 1430 EMLXS_SATURN_CHIP,
1390 1431 LPe12000_FW,
1391 1432 EMLXS_INTR_NO_LIMIT,
1392 1433 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
1393 1434 EMLXS_MULTI_CHANNEL,
1394 1435 {0x78, 0},
1395 1436 {0x7C, 0},
1396 1437 {0},
1397 1438 {0x73, 0},
1398 1439 {0},
1399 1440 {0x73, 0},
1400 1441 {0},
1401 1442 {0x78, 0},
1402 1443 {0}, /* T20 */
1403 1444 },
1404 1445
1405 1446 /* Saturn */
1406 1447 {
1407 1448 LPe12000_SP,
1408 1449 PCI_DEVICE_ID_LPe12000_SP,
1409 1450 PCI_SSDID_LPe12000_SP,
1410 1451 "LPe12000",
1411 1452 "Emulex LPe12000 8Gb 1-port PCIe FC HBA",
1412 1453 "Emulex",
1413 1454 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
1414 1455 EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
1415 1456 EMLXS_SATURN_CHIP,
1416 1457 LPe12000_FW,
1417 1458 EMLXS_INTR_NO_LIMIT,
1418 1459 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
1419 1460 EMLXS_SINGLE_CHANNEL,
1420 1461 {0x78, 0},
1421 1462 {0x79, 0x7A, 0x7B, 0x7D, 0x7E, 0x7F, 0},
1422 1463 {0},
1423 1464 {0x73, 0},
1424 1465 {0},
1425 1466 {0x73, 0},
1426 1467 {0},
1427 1468 {0x78, 0},
1428 1469 {0}, /* T20 */
1429 1470 },
1430 1471
1431 1472 /* Saturn DC */
1432 1473 {
1433 1474 LPe12002_SP,
1434 1475 PCI_DEVICE_ID_LPe12002_SP,
1435 1476 PCI_SSDID_LPe12002_SP,
1436 1477 "LPe12002",
1437 1478 "Emulex LPe12002 8Gb 2-port PCIe FC HBA",
1438 1479 "Emulex",
1439 1480 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
1440 1481 EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
1441 1482 EMLXS_SATURN_CHIP,
1442 1483 LPe12000_FW,
1443 1484 EMLXS_INTR_NO_LIMIT,
1444 1485 EMLXS_SLI2_MASK | EMLXS_SLI3_MASK,
1445 1486 EMLXS_MULTI_CHANNEL,
1446 1487 {0x78, 0},
1447 1488 {0x79, 0x7A, 0x7B, 0x7D, 0x7E, 0x7F, 0},
1448 1489 {0},
1449 1490 {0x73, 0},
1450 1491 {0},
1451 1492 {0x73, 0},
1452 1493 {0},
1453 1494 {0x78, 0},
1454 1495 {0}, /* T20 */
1455 1496 },
1456 1497
1457 1498 /* BE2 (Tigershark) */
1458 1499 {
1459 1500 OCe10101,
1460 1501 PCI_DEVICE_ID_BE2,
1461 1502 PCI_SSDID_OCe10101,
1462 1503 "OCe10101",
1463 1504 "Emulex OneConnect OCe10101 10Gb 1-port FCoE HBA",
1464 1505 "Emulex",
1465 1506 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
1466 1507 EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
1467 1508 EMLXS_BE2_CHIP,
1468 1509 FW_NOT_PROVIDED,
1469 1510 EMLXS_INTR_NO_LIMIT,
1470 1511 EMLXS_SLI4_MASK,
1471 1512 EMLXS_SINGLE_CHANNEL,
1472 1513 NULL_PROG_TYPES,
1473 1514 },
1474 1515
1475 1516 /* BE2 DC (Tigershark) */
1476 1517 /* !! Must always follow the single channel entry in list */
1477 1518 {
1478 1519 OCe10102,
1479 1520 PCI_DEVICE_ID_BE2,
1480 1521 PCI_SSDID_OCe10102,
1481 1522 "OCe10102",
1482 1523 "Emulex OneConnect OCe10102 10Gb 2-port FCoE HBA",
1483 1524 "Emulex",
1484 1525 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
1485 1526 EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
1486 1527 EMLXS_BE2_CHIP,
1487 1528 FW_NOT_PROVIDED,
1488 1529 EMLXS_INTR_NO_LIMIT,
1489 1530 EMLXS_SLI4_MASK,
1490 1531 EMLXS_MULTI_CHANNEL,
1491 1532 NULL_PROG_TYPES,
1492 1533 },
1493 1534
1494 1535 /* BE3 (TomCat) */
1495 1536 {
1496 1537 OCe11101,
1497 1538 PCI_DEVICE_ID_BE3,
1498 1539 PCI_SSDID_OCe11101,
1499 1540 "OCe11101",
1500 1541 "Emulex OneConnect OCe11101 10Gb 1-port FCoE HBA",
1501 1542 "Emulex",
1502 1543 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
1503 1544 EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
1504 1545 EMLXS_BE3_CHIP,
1505 1546 FW_NOT_PROVIDED,
1506 1547 EMLXS_INTR_NO_LIMIT,
1507 1548 EMLXS_SLI4_MASK,
1508 1549 EMLXS_SINGLE_CHANNEL,
1509 1550 NULL_PROG_TYPES,
1510 1551 },
1511 1552
1512 1553 /* BE3 DC (Tomcat) */
1513 1554 /* !! Must always follow the single channel entry in list */
1514 1555 {
1515 1556 OCe11102,
1516 1557 PCI_DEVICE_ID_BE3,
1517 1558 PCI_SSDID_OCe11102,
1518 1559 "OCe11102",
1519 1560 "Emulex OneConnect OCe11102 10Gb 2-port FCoE HBA",
1520 1561 "Emulex",
1521 1562 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
1522 1563 EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
1523 1564 EMLXS_BE3_CHIP,
1524 1565 FW_NOT_PROVIDED,
1525 1566 EMLXS_INTR_NO_LIMIT,
1526 1567 EMLXS_SLI4_MASK,
1527 1568 EMLXS_MULTI_CHANNEL,
1528 1569 NULL_PROG_TYPES,
1529 1570 },
1530 1571
1531 1572 /* Lancer FC (Generic) */
1532 1573 {
1533 1574 LPe16000,
1534 1575 PCI_DEVICE_ID_LANCER_FC,
1535 1576 PCI_SSDID_LPe16000,
1536 1577 "LPe16000",
1537 1578 "Emulex LightPulse LPe16000 16Gb 1-port FC HBA",
1538 1579 "Emulex",
1539 1580 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
1540 1581 EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
1541 1582 EMLXS_LANCER_CHIP,
1542 1583 FW_NOT_PROVIDED,
1543 1584 EMLXS_INTR_NO_LIMIT,
1544 1585 EMLXS_SLI4_MASK,
1545 1586 EMLXS_SINGLE_CHANNEL,
1546 1587 NULL_PROG_TYPES,
1547 1588 },
1548 1589
1549 1590 /* Lancer FC (Generic Multi-Channel) */
1550 1591 /* !! Must always follow the single channel entry in list */
1551 1592 {
1552 1593 LPe1600X,
1553 1594 PCI_DEVICE_ID_LANCER_FC,
1554 1595 PCI_SSDID_LPe1600X,
1555 1596 "LPe16000",
1556 1597 "Emulex LightPulse LPe16000 16Gb Multi-port FC HBA",
1557 1598 "Emulex",
1558 1599 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
1559 1600 EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
1560 1601 EMLXS_LANCER_CHIP,
1561 1602 FW_NOT_PROVIDED,
1562 1603 EMLXS_INTR_NO_LIMIT,
1563 1604 EMLXS_SLI4_MASK,
1564 1605 EMLXS_MULTI_CHANNEL,
1565 1606 NULL_PROG_TYPES,
1566 1607 },
1567 1608
1568 1609 /* Lancer FC DC Express Module (Oracle Ganymede) */
1569 1610 {
1570 1611 LPem16002_FC_O,
1571 1612 PCI_DEVICE_ID_LANCER_FC,
1572 1613 PCI_SSDID_LPem16002_FC_O,
1573 1614 "LPem16002-M6-O",
1574 1615 "Emulex LightPulse LPem16002-M6-O 16Gb 2-port FC HBA",
1575 1616 "Emulex",
1576 1617 EMLXS_ORACLE_BRANDED | EMLXS_INTX_SUPPORTED |
1577 1618 EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1578 1619 EMLXS_E2E_SUPPORTED,
1579 1620 EMLXS_LANCER_CHIP,
1580 1621 FW_NOT_PROVIDED,
1581 1622 EMLXS_INTR_NO_LIMIT,
1582 1623 EMLXS_SLI4_MASK,
1583 1624 EMLXS_MULTI_CHANNEL,
1584 1625 NULL_PROG_TYPES,
1585 1626 },
1586 1627
1587 1628 /* Lancer FC DC (Oracle Ganymede) */
1588 1629 {
1589 1630 LPe16002_FC_O,
1590 1631 PCI_DEVICE_ID_LANCER_FC,
1591 1632 PCI_SSDID_LPe16002_FC_O,
1592 1633 "LPe16002-M6-O",
1593 1634 "Emulex LightPulse LPe16002-M6-O 16Gb 2-port FC HBA",
1594 1635 "Emulex",
1595 1636 EMLXS_ORACLE_BRANDED | EMLXS_INTX_SUPPORTED |
1596 1637 EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1597 1638 EMLXS_E2E_SUPPORTED,
1598 1639 EMLXS_LANCER_CHIP,
1599 1640 FW_NOT_PROVIDED,
1600 1641 EMLXS_INTR_NO_LIMIT,
1601 1642 EMLXS_SLI4_MASK,
1602 1643 EMLXS_MULTI_CHANNEL,
1603 1644 NULL_PROG_TYPES,
1604 1645 },
1605 1646
1606 1647 /* Lancer FC DC (Oracle Excluded - Spare 1) */
1607 1648 {
1608 1649 LPe16002_FC_SP1,
1609 1650 PCI_DEVICE_ID_LANCER_FC,
1610 1651 PCI_SSDID_LPe16002_FC_SP1,
1611 1652 "LPe16002",
1612 1653 "Emulex LightPulse LPe16002 16Gb 2-port FC HBA",
1613 1654 "Emulex",
1614 1655 EMLXS_ORACLE_EXCLUDED | EMLXS_INTX_SUPPORTED |
1615 1656 EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1616 1657 EMLXS_E2E_SUPPORTED,
1617 1658 EMLXS_LANCER_CHIP,
1618 1659 FW_NOT_PROVIDED,
1619 1660 EMLXS_INTR_NO_LIMIT,
1620 1661 EMLXS_SLI4_MASK,
1621 1662 EMLXS_MULTI_CHANNEL,
1622 1663 NULL_PROG_TYPES,
1623 1664 },
1624 1665
1625 1666 /* Lancer FC DC (Oracle Excluded - Spare 2) */
1626 1667 {
1627 1668 LPe16002_FC_SP2,
1628 1669 PCI_DEVICE_ID_LANCER_FC,
1629 1670 PCI_SSDID_LPe16002_FC_SP2,
1630 1671 "LPe16002",
1631 1672 "Emulex LightPulse LPe16002 16Gb 2-port FC HBA",
1632 1673 "Emulex",
|
↓ open down ↓ |
1311 lines elided |
↑ open up ↑ |
1633 1674 EMLXS_ORACLE_EXCLUDED | EMLXS_INTX_SUPPORTED |
1634 1675 EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1635 1676 EMLXS_E2E_SUPPORTED,
1636 1677 EMLXS_LANCER_CHIP,
1637 1678 FW_NOT_PROVIDED,
1638 1679 EMLXS_INTR_NO_LIMIT,
1639 1680 EMLXS_SLI4_MASK,
1640 1681 EMLXS_MULTI_CHANNEL,
1641 1682 NULL_PROG_TYPES,
1642 1683 },
1684 +
1685 + /* Lancer Gen6 16Gb FC Single-port, Lenovo-branded */
1686 + {
1687 + LPe31000_M6_L,
1688 + PCI_DEVICE_ID_LANCER_G6_FC,
1689 + PCI_SSDID_LPe31000_M6_L,
1690 + "LPe31000",
1691 + "PCI_SSDID_LPe31000_M6_L",
1692 + "Emulex",
1693 + EMLXS_INTX_SUPPORTED |
1694 + EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1695 + EMLXS_E2E_SUPPORTED | EMLXS_FC_GEN6,
1696 + EMLXS_LANCER_CHIP,
1697 + FW_NOT_PROVIDED,
1698 + EMLXS_INTR_NO_LIMIT,
1699 + EMLXS_SLI4_MASK,
1700 + EMLXS_SINGLE_CHANNEL,
1701 + NULL_PROG_TYPES,
1702 + },
1703 +
1704 + /* Lancer Gen6 FC (Generic) */
1705 + {
1706 + LPe32000,
1707 + PCI_DEVICE_ID_LANCER_G6_FC,
1708 + PCI_SSDID_LPe32000,
1709 + "LPe32000",
1710 + "Emulex LightPulse LPe32000 32Gb 1-port FC HBA",
1711 + "Emulex",
1712 + EMLXS_INTX_SUPPORTED |
1713 + EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1714 + EMLXS_E2E_SUPPORTED | EMLXS_FC_GEN6,
1715 + EMLXS_LANCER_CHIP,
1716 + FW_NOT_PROVIDED,
1717 + EMLXS_INTR_NO_LIMIT,
1718 + EMLXS_SLI4_MASK,
1719 + EMLXS_SINGLE_CHANNEL,
1720 + NULL_PROG_TYPES,
1721 + },
1722 +
1723 + /* Lancer Gen6 FC (Generic Multi-Channel) */
1724 + /* !! Must always follow the single channel entry in list */
1725 + {
1726 + LPe3200X,
1727 + PCI_DEVICE_ID_LANCER_G6_FC,
1728 + PCI_SSDID_LPe3200X,
1729 + "LPe32000",
1730 + "Emulex LightPulse LPe32000 32Gb Multi-port FC HBA",
1731 + "Emulex",
1732 + EMLXS_INTX_SUPPORTED |
1733 + EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1734 + EMLXS_E2E_SUPPORTED | EMLXS_FC_GEN6,
1735 + EMLXS_LANCER_CHIP,
1736 + FW_NOT_PROVIDED,
1737 + EMLXS_INTR_NO_LIMIT,
1738 + EMLXS_SLI4_MASK,
1739 + EMLXS_MULTI_CHANNEL,
1740 + NULL_PROG_TYPES,
1741 + },
1742 +
1743 + /* ATTO Celerity 161E */
1744 + {
1745 + CelerityFC161E,
1746 + PCI_DEVICE_ID_CLRTY_FC_161E,
1747 + PCI_SSDID_CLRTY_FC_161E,
1748 + "Celerity FC 161E",
1749 + "ATTO Celerity 161E Single-Channel FC HBA",
1750 + "ATTO Technology",
1751 + EMLXS_INTX_SUPPORTED |
1752 + EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1753 + EMLXS_E2E_SUPPORTED | EMLXS_GPIO_LEDS,
1754 + EMLXS_LANCER_CHIP,
1755 + FW_NOT_PROVIDED,
1756 + EMLXS_INTR_NO_LIMIT,
1757 + EMLXS_SLI4_MASK,
1758 + EMLXS_SINGLE_CHANNEL,
1759 + NULL_PROG_TYPES,
1760 + },
1761 +
1762 + /* ATTO Celerity 162E */
1763 + {
1764 + CelerityFC162E,
1765 + PCI_DEVICE_ID_CLRTY_FC_162E,
1766 + PCI_SSDID_CLRTY_FC_162E,
1767 + "Celerity FC 162E",
1768 + "ATTO Celerity 162E Dual-Channel FC HBA",
1769 + "ATTO Technology",
1770 + EMLXS_INTX_SUPPORTED |
1771 + EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1772 + EMLXS_E2E_SUPPORTED | EMLXS_GPIO_LEDS,
1773 + EMLXS_LANCER_CHIP,
1774 + FW_NOT_PROVIDED,
1775 + EMLXS_INTR_NO_LIMIT,
1776 + EMLXS_SLI4_MASK,
1777 + EMLXS_SINGLE_CHANNEL,
1778 + NULL_PROG_TYPES,
1779 + },
1780 +
1781 + /* ATTO Celerity 164E */
1782 + {
1783 + CelerityFC164E,
1784 + PCI_DEVICE_ID_CLRTY_FC_164E,
1785 + PCI_SSDID_CLRTY_FC_164E,
1786 + "Celerity FC 164E",
1787 + "ATTO Celerity 164E Quad-Channel FC HBA",
1788 + "ATTO Technology",
1789 + EMLXS_INTX_SUPPORTED |
1790 + EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1791 + EMLXS_E2E_SUPPORTED | EMLXS_GPIO_LEDS,
1792 + EMLXS_LANCER_CHIP,
1793 + FW_NOT_PROVIDED,
1794 + EMLXS_INTR_NO_LIMIT,
1795 + EMLXS_SLI4_MASK,
1796 + EMLXS_SINGLE_CHANNEL,
1797 + NULL_PROG_TYPES,
1798 + },
1799 +
1800 + /* ATTO Celerity 162P */
1801 + {
1802 + CelerityFC162P,
1803 + PCI_DEVICE_ID_CLRTY_FC_G6,
1804 + PCI_SSDID_CLRTY_FC_162P,
1805 + "Celerity FC 162P",
1806 + "ATTO Celerity 162P Dual-Channel FC HBA",
1807 + "ATTO Technology",
1808 + EMLXS_INTX_SUPPORTED |
1809 + EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1810 + EMLXS_E2E_SUPPORTED | EMLXS_FC_GEN6,
1811 + EMLXS_LANCER_CHIP,
1812 + FW_NOT_PROVIDED,
1813 + EMLXS_INTR_NO_LIMIT,
1814 + EMLXS_SLI4_MASK,
1815 + EMLXS_SINGLE_CHANNEL,
1816 + NULL_PROG_TYPES,
1817 + },
1818 +
1819 + /* ATTO Celerity 164P */
1820 + {
1821 + CelerityFC164P,
1822 + PCI_DEVICE_ID_CLRTY_FC_G6,
1823 + PCI_SSDID_CLRTY_FC_164P,
1824 + "Celerity FC 164P",
1825 + "ATTO Celerity 164P Quad-Channel FC HBA",
1826 + "ATTO Technology",
1827 + EMLXS_INTX_SUPPORTED |
1828 + EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1829 + EMLXS_E2E_SUPPORTED | EMLXS_FC_GEN6,
1830 + EMLXS_LANCER_CHIP,
1831 + FW_NOT_PROVIDED,
1832 + EMLXS_INTR_NO_LIMIT,
1833 + EMLXS_SLI4_MASK,
1834 + EMLXS_SINGLE_CHANNEL,
1835 + NULL_PROG_TYPES,
1836 + },
1837 +
1838 + /* ATTO Celerity 321E */
1839 + {
1840 + CelerityFC321E,
1841 + PCI_DEVICE_ID_CLRTY_FC_G6,
1842 + PCI_SSDID_CLRTY_FC_321E,
1843 + "Celerity FC 321E",
1844 + "ATTO Celerity 321E Single-Channel FC HBA",
1845 + "ATTO Technology",
1846 + EMLXS_INTX_SUPPORTED |
1847 + EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1848 + EMLXS_E2E_SUPPORTED | EMLXS_FC_GEN6,
1849 + EMLXS_LANCER_CHIP,
1850 + FW_NOT_PROVIDED,
1851 + EMLXS_INTR_NO_LIMIT,
1852 + EMLXS_SLI4_MASK,
1853 + EMLXS_SINGLE_CHANNEL,
1854 + NULL_PROG_TYPES,
1855 + },
1856 +
1857 + /* ATTO Celerity 322E */
1858 + {
1859 + CelerityFC322E,
1860 + PCI_DEVICE_ID_CLRTY_FC_G6,
1861 + PCI_SSDID_CLRTY_FC_322E,
1862 + "Celerity FC 322E",
1863 + "ATTO Celerity 322E Dual-Channel FC HBA",
1864 + "ATTO Technology",
1865 + EMLXS_INTX_SUPPORTED |
1866 + EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1867 + EMLXS_E2E_SUPPORTED | EMLXS_FC_GEN6,
1868 + EMLXS_LANCER_CHIP,
1869 + FW_NOT_PROVIDED,
1870 + EMLXS_INTR_NO_LIMIT,
1871 + EMLXS_SLI4_MASK,
1872 + EMLXS_SINGLE_CHANNEL,
1873 + NULL_PROG_TYPES,
1874 + },
1643 1875
1644 1876 /* Lancer FCOE (Generic) */
1645 1877 {
1646 1878 OCe15100,
1647 1879 PCI_DEVICE_ID_LANCER_FE,
1648 1880 PCI_SSDID_OCe15100,
1649 1881 "OCe15100",
1650 1882 "Emulex OneConnect OCe15100 10Gb 1-port FCoE HBA",
1651 1883 "Emulex",
1652 1884 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
1653 1885 EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
1654 1886 EMLXS_LANCER_CHIP,
1655 1887 FW_NOT_PROVIDED,
1656 1888 EMLXS_INTR_NO_LIMIT,
1657 1889 EMLXS_SLI4_MASK,
1658 1890 EMLXS_SINGLE_CHANNEL,
1659 1891 NULL_PROG_TYPES,
1660 1892 },
1661 1893
1662 1894 /* Lancer FCOE (Generic Multi-Channel) */
1663 1895 /* !! Must always follow the single channel entry in list */
1664 1896 {
1665 1897 OCe1510X,
1666 1898 PCI_DEVICE_ID_LANCER_FE,
1667 1899 PCI_SSDID_OCe1510X,
1668 1900 "OCe15100",
1669 1901 "Emulex OneConnect OCe15100 10Gb Multi-port FCoE HBA",
1670 1902 "Emulex",
1671 1903 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
1672 1904 EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
1673 1905 EMLXS_LANCER_CHIP,
1674 1906 FW_NOT_PROVIDED,
1675 1907 EMLXS_INTR_NO_LIMIT,
1676 1908 EMLXS_SLI4_MASK,
1677 1909 EMLXS_MULTI_CHANNEL,
1678 1910 NULL_PROG_TYPES,
1679 1911 },
1680 1912
1681 1913 /* Lancer FCOE DC Express Module (Oracle Ganymede) */
1682 1914 {
1683 1915 LPem16002_FE_O,
1684 1916 PCI_DEVICE_ID_LANCER_FE,
1685 1917 PCI_SSDID_LPem16002_FE_O,
1686 1918 "LPem16002-M6-O",
1687 1919 "Emulex OneConnect LPem16002-M6-O 10Gb 2-port FCoE HBA",
1688 1920 "Emulex",
1689 1921 EMLXS_ORACLE_BRANDED | EMLXS_INTX_SUPPORTED |
1690 1922 EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1691 1923 EMLXS_E2E_SUPPORTED,
1692 1924 EMLXS_LANCER_CHIP,
1693 1925 FW_NOT_PROVIDED,
1694 1926 EMLXS_INTR_NO_LIMIT,
1695 1927 EMLXS_SLI4_MASK,
1696 1928 EMLXS_MULTI_CHANNEL,
1697 1929 NULL_PROG_TYPES,
1698 1930 },
1699 1931
1700 1932 /* Lancer FCOE DC (Oracle Ganymede) */
1701 1933 {
1702 1934 LPe16002_FE_O,
1703 1935 PCI_DEVICE_ID_LANCER_FE,
1704 1936 PCI_SSDID_LPe16002_FE_O,
1705 1937 "LPe16002-M6-O",
1706 1938 "Emulex OneConnect LPe16002-M6-O 10Gb 2-port FCoE HBA",
1707 1939 "Emulex",
1708 1940 EMLXS_ORACLE_BRANDED | EMLXS_INTX_SUPPORTED |
1709 1941 EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1710 1942 EMLXS_E2E_SUPPORTED,
1711 1943 EMLXS_LANCER_CHIP,
1712 1944 FW_NOT_PROVIDED,
1713 1945 EMLXS_INTR_NO_LIMIT,
1714 1946 EMLXS_SLI4_MASK,
1715 1947 EMLXS_MULTI_CHANNEL,
1716 1948 NULL_PROG_TYPES,
1717 1949 },
1718 1950
1719 1951 /* Lancer FCOE DC (Oracle Excluded - Spare 1) */
1720 1952 {
1721 1953 LPe16002_FE_SP1,
1722 1954 PCI_DEVICE_ID_LANCER_FE,
1723 1955 PCI_SSDID_LPe16002_FE_SP1,
1724 1956 "LPe16002",
1725 1957 "Emulex OneConnect LPe16002 10Gb 2-port FCoE HBA",
1726 1958 "Emulex",
1727 1959 EMLXS_ORACLE_EXCLUDED | EMLXS_INTX_SUPPORTED |
1728 1960 EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1729 1961 EMLXS_E2E_SUPPORTED,
1730 1962 EMLXS_LANCER_CHIP,
1731 1963 FW_NOT_PROVIDED,
1732 1964 EMLXS_INTR_NO_LIMIT,
1733 1965 EMLXS_SLI4_MASK,
1734 1966 EMLXS_MULTI_CHANNEL,
1735 1967 NULL_PROG_TYPES,
1736 1968 },
1737 1969
1738 1970 /* Lancer FCOE DC (Oracle Excluded - Spare 2) */
1739 1971 {
1740 1972 LPe16002_FE_SP2,
1741 1973 PCI_DEVICE_ID_LANCER_FE,
1742 1974 PCI_SSDID_LPe16002_FE_SP2,
1743 1975 "LPe16002",
1744 1976 "Emulex OneConnect LPe16002 10Gb 2-port FCoE HBA",
1745 1977 "Emulex",
1746 1978 EMLXS_ORACLE_EXCLUDED | EMLXS_INTX_SUPPORTED |
1747 1979 EMLXS_MSI_SUPPORTED | EMLXS_MSIX_SUPPORTED |
1748 1980 EMLXS_E2E_SUPPORTED,
1749 1981 EMLXS_LANCER_CHIP,
1750 1982 FW_NOT_PROVIDED,
1751 1983 EMLXS_INTR_NO_LIMIT,
1752 1984 EMLXS_SLI4_MASK,
1753 1985 EMLXS_MULTI_CHANNEL,
1754 1986 NULL_PROG_TYPES,
1755 1987 },
1756 1988
1757 1989 /* BE4 (Skyhawk) */
1758 1990 {
1759 1991 OCe12104,
1760 1992 PCI_DEVICE_ID_BE4,
1761 1993 PCI_SSDID_OCe12104,
1762 1994 "OCe12104",
1763 1995 "Emulex OneConnect OCe12104 10Gb 2-port FCoE HBA",
1764 1996 "Emulex",
1765 1997 EMLXS_INTX_SUPPORTED | EMLXS_MSI_SUPPORTED |
1766 1998 EMLXS_MSIX_SUPPORTED | EMLXS_E2E_SUPPORTED,
1767 1999 EMLXS_BE4_CHIP,
1768 2000 FW_NOT_PROVIDED,
1769 2001 EMLXS_INTR_NO_LIMIT,
1770 2002 EMLXS_SLI4_MASK,
1771 2003 EMLXS_MULTI_CHANNEL,
1772 2004 NULL_PROG_TYPES,
1773 2005 },
1774 2006
1775 2007 }; /* emlxs_pci_model[] */
1776 2008
1777 2009 int emlxs_pci_model_count =
1778 2010 (sizeof (emlxs_pci_model) / sizeof (emlxs_model_t));
1779 2011
1780 2012 #endif /* EMLXS_MODEL_DEF */
1781 2013
1782 2014 #ifdef __cplusplus
1783 2015 }
1784 2016 #endif
1785 2017
1786 2018 #endif /* _EMLXS_ADAPTERS_H */
|
↓ open down ↓ |
134 lines elided |
↑ open up ↑ |
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX