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