summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@nexenta.com>2011-02-24 21:06:19 -0800
committerGarrett D'Amore <garrett@nexenta.com>2011-02-24 21:06:19 -0800
commitdb5b5f1e7e8c59712dae4a0b5c55ecee0e4c1bfc (patch)
tree4c796e5c2f38901d2ba48d498c72c0ea87ca02cd /usr/src
parent2871f9cf6725277c39b2ceffac261281ef256dac (diff)
downloadillumos-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.mf15
-rw-r--r--usr/src/uts/common/io/fibre-channel/fca/qlc/ql_api.c27
-rw-r--r--usr/src/uts/common/io/fibre-channel/fca/qlc/ql_xioctl.c7
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);