diff options
author | Garrett D'Amore <garrett@nexenta.com> | 2011-02-24 21:06:19 -0800 |
---|---|---|
committer | Garrett D'Amore <garrett@nexenta.com> | 2011-02-24 21:06:19 -0800 |
commit | db5b5f1e7e8c59712dae4a0b5c55ecee0e4c1bfc (patch) | |
tree | 4c796e5c2f38901d2ba48d498c72c0ea87ca02cd /usr/src | |
parent | 2871f9cf6725277c39b2ceffac261281ef256dac (diff) | |
download | illumos-joyent-db5b5f1e7e8c59712dae4a0b5c55ecee0e4c1bfc.tar.gz |
735 Add support for Qlogic 2322 (QLE2360)
Reviewed by: Dan McDonald <danmcd@nexenta.com>
Reviewed by: Ken Mays <maybird1776@yahoo.com>
Reviewed by: David Gwynne <loki@animata.net>
Approved by: Gordon Ross <gwr@nexenta.com>
Diffstat (limited to 'usr/src')
-rw-r--r-- | usr/src/pkg/manifests/driver-network-qlc.mf | 15 | ||||
-rw-r--r-- | usr/src/uts/common/io/fibre-channel/fca/qlc/ql_api.c | 27 | ||||
-rw-r--r-- | usr/src/uts/common/io/fibre-channel/fca/qlc/ql_xioctl.c | 7 |
3 files changed, 15 insertions, 34 deletions
diff --git a/usr/src/pkg/manifests/driver-network-qlc.mf b/usr/src/pkg/manifests/driver-network-qlc.mf index 3cb663e1cc..2ac4c64825 100644 --- a/usr/src/pkg/manifests/driver-network-qlc.mf +++ b/usr/src/pkg/manifests/driver-network-qlc.mf @@ -21,6 +21,7 @@ # # Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved. +# Copyright 2011 Nexenta Systems, Inc. All rights reserved. # # @@ -43,21 +44,11 @@ dir path=kernel/drv/$(ARCH64) group=sys dir path=kernel/misc group=sys dir path=kernel/misc/qlc group=sys dir path=kernel/misc/qlc/$(ARCH64) group=sys -$(i386_ONLY)driver name=qlc class=fibre-channel perms="* 0666 root sys" \ - alias=pci1077,132 \ - alias=pci1077,2200 \ - alias=pci1077,2300 \ - alias=pci1077,2312 \ - alias=pci1077,2422 \ - alias=pciex1077,2432 \ - alias=pciex1077,2532 \ - alias=pciex1077,5432 \ - alias=pciex1077,8001 \ - alias=pciex1077,8021 -$(sparc_ONLY)driver name=qlc class=fibre-channel perms="* 0666 root sys" \ +driver name=qlc class=fibre-channel perms="* 0666 root sys" \ alias=pci1077,2200 \ alias=pci1077,2300 \ alias=pci1077,2312 \ + alias=pci1077,2322 \ alias=pci1077,2422 \ alias=pciex1077,2432 \ alias=pciex1077,2532 \ diff --git a/usr/src/uts/common/io/fibre-channel/fca/qlc/ql_api.c b/usr/src/uts/common/io/fibre-channel/fca/qlc/ql_api.c index 1ddfc70c54..075f1f3caf 100644 --- a/usr/src/uts/common/io/fibre-channel/fca/qlc/ql_api.c +++ b/usr/src/uts/common/io/fibre-channel/fca/qlc/ql_api.c @@ -24,6 +24,9 @@ /* * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. */ +/* + * Copyright 2011 Nexenta Systems, Inc. All rights reserved. + */ #pragma ident "Copyright 2010 QLogic Corporation; ql_api.c" @@ -1047,18 +1050,14 @@ ql_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) switch (ha->device_id) { case 0x2300: case 0x2312: -#if !defined(__sparc) || defined(QL_DEBUG_ROUTINES) - /* - * per marketing, fibre-lite HBA's are not supported - * on sparc platforms - */ + case 0x2322: case 0x6312: case 0x6322: -#endif /* !defined(__sparc) || defined(QL_DEBUG_ROUTINES) */ if (ql_pci_config_get8(ha, PCI_CONF_IPIN) == 2) { ha->flags |= FUNCTION_1; } - if (ha->device_id == 0x6322) { + if ((ha->device_id == 0x6322) || + (ha->device_id == 0x2322)) { ha->cfg_flags |= CFG_CTRL_6322; ha->fw_class = 0x6322; ha->risc_dump_size = QL_6322_FW_DUMP_SIZE; @@ -1108,20 +1107,6 @@ ql_attach(dev_info_t *dip, ddi_attach_cmd_t cmd) case 0x5422: case 0x5432: case 0x8432: -#ifdef __sparc - /* - * Per marketing, the QLA/QLE-2440's (which - * also use the 2422 & 2432) are only for the - * x86 platform (SMB market). - */ - if (ha->subsys_id == 0x145 || ha->subsys_id == 0x147 || - ha->subsys_id == 0x13e) { - cmn_err(CE_WARN, - "%s(%d): Unsupported HBA ssid: %x", - QL_NAME, instance, ha->subsys_id); - goto attach_failed; - } -#endif /* __sparc */ if (ql_pci_config_get8(ha, PCI_CONF_IPIN) == 2) { ha->flags |= FUNCTION_1; } diff --git a/usr/src/uts/common/io/fibre-channel/fca/qlc/ql_xioctl.c b/usr/src/uts/common/io/fibre-channel/fca/qlc/ql_xioctl.c index c9ecbc1089..1c9f015d8f 100644 --- a/usr/src/uts/common/io/fibre-channel/fca/qlc/ql_xioctl.c +++ b/usr/src/uts/common/io/fibre-channel/fca/qlc/ql_xioctl.c @@ -25,6 +25,10 @@ * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved. */ +/* + * Copyright 2011 Nexenta Systems, Inc. All rights reserved. + */ + #pragma ident "Copyright 2010 QLogic Corporation; ql_xioctl.c" /* @@ -4995,7 +4999,8 @@ ql_setup_flash(ql_adapter_state_t *ha) * For driver purposes, we'll treat it as a 128k flash chip. */ if ((ha->device_id == 0x2312 || ha->device_id == 0x6312 || - ha->device_id == 0x6322) && (xp->fdesc.flash_size > 0x20000) && + ha->device_id == 0x2322 || ha->device_id == 0x6322) && + (xp->fdesc.flash_size > 0x20000) && (CFG_IST(ha, CFG_SBUS_CARD) == 0)) { EL(ha, "chip exceeds max size: %xh, using 128k\n", xp->fdesc.flash_size); |