summaryrefslogtreecommitdiff
path: root/sys/dev/ic/isp.c
diff options
context:
space:
mode:
authormjacob <mjacob@NetBSD.org>2001-05-16 03:58:34 +0000
committermjacob <mjacob@NetBSD.org>2001-05-16 03:58:34 +0000
commitb81e69fa8e591beaf7bc44417e2cd414cde69f45 (patch)
tree9479ad23a8771a2c9be2cdabbc991f04c5975dca /sys/dev/ic/isp.c
parentbf16779f433ced25a491fcb2e21630fb028c9cf8 (diff)
beginning basic 2300 infrstructure support
Diffstat (limited to 'sys/dev/ic/isp.c')
-rw-r--r--sys/dev/ic/isp.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/sys/dev/ic/isp.c b/sys/dev/ic/isp.c
index 36be78ce632..598068e4748 100644
--- a/sys/dev/ic/isp.c
+++ b/sys/dev/ic/isp.c
@@ -1,4 +1,4 @@
-/* $NetBSD: isp.c,v 1.75 2001/04/10 21:51:21 mjacob Exp $ */
+/* $NetBSD: isp.c,v 1.76 2001/05/16 03:58:47 mjacob Exp $ */
/*
* This driver, which is contained in NetBSD in the files:
*
@@ -240,6 +240,9 @@ isp_reset(struct ispsoftc *isp)
case ISP_HA_FC_2200:
revname = "2200";
break;
+ case ISP_HA_FC_2300:
+ revname = "2300";
+ break;
default:
break;
}
@@ -533,7 +536,7 @@ again:
#endif
} else {
ISP_WRITE(isp, RISC_MTR2100, 0x1212);
- if (IS_2200(isp)) {
+ if (IS_2200(isp) || IS_2300(isp)) {
ISP_WRITE(isp, HCCR, HCCR_2X00_DISABLE_PARITY_PAUSE);
}
}
@@ -1163,7 +1166,7 @@ isp_fibre_init(struct ispsoftc *isp)
* Right now we just set extended options to prefer point-to-point
* over loop based upon some soft config options.
*/
- if (IS_2200(isp)) {
+ if (IS_2200(isp) || IS_2300(isp)) {
icbp->icb_fwoptions |= ICBOPT_EXTENDED;
/*
* Prefer or force Point-To-Point instead Loop?
@@ -1440,7 +1443,7 @@ isp_fclink_test(struct ispsoftc *isp, int usdelay)
return (-1);
}
fcp->isp_loopid = mbs.param[1];
- if (IS_2200(isp)) {
+ if (IS_2200(isp) || IS_2300(isp)) {
int topo = (int) mbs.param[6];
if (topo < TOPO_NL_PORT || topo > TOPO_PTP_STUB)
topo = TOPO_PTP_STUB;
@@ -1756,7 +1759,7 @@ isp_pdb_sync(struct ispsoftc *isp)
mbs.param[1] = loopid << 8;
mbs.param[2] = portid >> 16;
mbs.param[3] = portid & 0xffff;
- if (IS_2200(isp)) {
+ if (IS_2200(isp) || IS_2300(isp)) {
/* only issue a PLOGI if not logged in */
mbs.param[1] |= 0x1;
}
@@ -2288,7 +2291,6 @@ isp_start(XS_T *xs)
XS_INITERR(xs);
isp = XS_ISP(xs);
-
/*
* Check to make sure we're supporting initiator role.
*/