Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/netbsd-1-5]: src/sys/dev/ic Pull up revisions 1.31-1.35 (requested by mj...
details: https://anonhg.NetBSD.org/src/rev/9d5163a2029f
branches: netbsd-1-5
changeset: 490519:9d5163a2029f
user: jhawk <jhawk%NetBSD.org@localhost>
date: Thu Jan 25 18:25:52 2001 +0000
description:
Pull up revisions 1.31-1.35 (requested by mjacob):
Add in correct SBus bursting; upgrade to 2.01.26 firmware; pull to latest
initiator mode level; make changes to WWN default handling; quiet
chatty boot messages; fix endian code so MacPPC works; fix bug in
lock recursion counter; fix bug which excluded all but NL-ports from
being logged into on a fabric.
diffstat:
sys/dev/ic/isp_netbsd.c | 46 ++++++++++++++++++++++++++--------------------
1 files changed, 26 insertions(+), 20 deletions(-)
diffs (124 lines):
diff -r 7e04afe2392a -r 9d5163a2029f sys/dev/ic/isp_netbsd.c
--- a/sys/dev/ic/isp_netbsd.c Thu Jan 25 18:25:47 2001 +0000
+++ b/sys/dev/ic/isp_netbsd.c Thu Jan 25 18:25:52 2001 +0000
@@ -1,18 +1,17 @@
-/* $NetBSD: isp_netbsd.c,v 1.25.4.1 2000/08/28 17:45:08 mjacob Exp $ */
+/* $NetBSD: isp_netbsd.c,v 1.25.4.2 2001/01/25 18:25:52 jhawk Exp $ */
/*
* This driver, which is contained in NetBSD in the files:
*
* sys/dev/ic/isp.c
- * sys/dev/ic/ic/isp.c
- * sys/dev/ic/ic/isp_inline.h
- * sys/dev/ic/ic/isp_netbsd.c
- * sys/dev/ic/ic/isp_netbsd.h
- * sys/dev/ic/ic/isp_target.c
- * sys/dev/ic/ic/isp_target.h
- * sys/dev/ic/ic/isp_tpublic.h
- * sys/dev/ic/ic/ispmbox.h
- * sys/dev/ic/ic/ispreg.h
- * sys/dev/ic/ic/ispvar.h
+ * sys/dev/ic/isp_inline.h
+ * sys/dev/ic/isp_netbsd.c
+ * sys/dev/ic/isp_netbsd.h
+ * sys/dev/ic/isp_target.c
+ * sys/dev/ic/isp_target.h
+ * sys/dev/ic/isp_tpublic.h
+ * sys/dev/ic/ispmbox.h
+ * sys/dev/ic/ispreg.h
+ * sys/dev/ic/ispvar.h
* sys/microcode/isp/asm_sbus.h
* sys/microcode/isp/asm_1040.h
* sys/microcode/isp/asm_1080.h
@@ -99,7 +98,6 @@
isp_attach(isp)
struct ispsoftc *isp;
{
- int maxluns;
isp->isp_osinfo._adapter.scsipi_minphys = ispminphys;
isp->isp_osinfo._adapter.scsipi_ioctl = ispioctl;
isp->isp_osinfo._adapter.scsipi_cmd = ispcmd;
@@ -111,7 +109,6 @@
isp->isp_osinfo._link.device = &isp_dev;
isp->isp_osinfo._link.adapter = &isp->isp_osinfo._adapter;
isp->isp_osinfo._link.openings = isp->isp_maxcmds;
- isp->isp_osinfo._link.scsipi_scsi.max_lun = maxluns;
/*
* Until the midlayer is fixed to use REPORT LUNS, limit to 8 luns.
*/
@@ -315,6 +312,15 @@
}
result = isp_start(xs);
+#if 0
+{
+ static int na[16] = { 0 };
+ if (na[isp->isp_unit] < isp->isp_nactive) {
+ isp_prt(isp, ISP_LOGALL, "active hiwater %d", isp->isp_nactive);
+ na[isp->isp_unit] = isp->isp_nactive;
+ }
+}
+#endif
switch (result) {
case CMD_QUEUED:
result = SUCCESSFULLY_QUEUED;
@@ -490,7 +496,7 @@
XS_CMD_C_WDOG(xs);
callout_reset(&xs->xs_callout, hz, isp_dog, xs);
if (isp_getrqentry(isp, &iptr, &optr, (void **) &mp)) {
- ISP_IUNLOCK(isp);
+ ISP_UNLOCK(isp);
return;
}
XS_CMD_S_GRACE(xs);
@@ -536,7 +542,7 @@
{
struct scsipi_xfer *xs = arg;
struct ispsoftc *isp = XS_ISP(xs);
- ISP_ILOCK(isp);
+ ISP_LOCK(isp);
switch (ispcmd(xs)) {
case SUCCESSFULLY_QUEUED:
isp_prt(isp, ISP_LOGINFO,
@@ -560,7 +566,7 @@
scsipi_done(xs);
break;
}
- ISP_IUNLOCK(isp);
+ ISP_UNLOCK(isp);
}
/*
@@ -574,7 +580,7 @@
struct ispsoftc *isp = arg;
int result, nrestarted = 0;
- ISP_ILOCK(isp);
+ ISP_LOCK(isp);
if (isp->isp_osinfo.blocked == 0) {
struct scsipi_xfer *xs;
while ((xs = TAILQ_FIRST(&isp->isp_osinfo.waitq)) != NULL) {
@@ -597,7 +603,7 @@
isp_prt(isp, ISP_LOGINFO,
"isp_restart requeued %d commands", nrestarted);
}
- ISP_IUNLOCK(isp);
+ ISP_UNLOCK(isp);
}
int
@@ -751,12 +757,12 @@
(((u_int64_t)resp->snscb_portname[5]) << 16) |
(((u_int64_t)resp->snscb_portname[6]) << 8) |
(((u_int64_t)resp->snscb_portname[7]));
+
isp_prt(isp, ISP_LOGINFO,
"Fabric Device (Type 0x%x)@PortID 0x%x WWN 0x%08x%08x",
resp->snscb_port_type, portid, ((u_int32_t)(wwn >> 32)),
((u_int32_t)(wwn & 0xffffffff)));
- if (resp->snscb_port_type != 2)
- break;
+
for (target = FC_SNS_ID+1; target < MAX_FC_TARG; target++) {
lp = &fcp->portdb[target];
if (lp->port_wwn == wwn)
Home |
Main Index |
Thread Index |
Old Index