Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/dev/ic Remove ISP2100_FABRIC (we're always fabric now). ...



details:   https://anonhg.NetBSD.org/src/rev/1e33cac1376b
branches:  trunk
changeset: 503757:1e33cac1376b
user:      mjacob <mjacob%NetBSD.org@localhost>
date:      Mon Feb 12 23:32:11 2001 +0000

description:
Remove ISP2100_FABRIC (we're always fabric now). Fix usage of isp_lastmbxcmd
to report the mailbox command that times out. Fix isp_unswizzle_sns_rsp
which for reasons *I* find obscurer just doesn't work correctly on sparc64
with words past 128. I have no idea why this *does* work on SparcLinux.

diffstat:

 sys/dev/ic/isp_netbsd.h |  14 ++++++++++----
 1 files changed, 10 insertions(+), 4 deletions(-)

diffs (49 lines):

diff -r c839c71323a7 -r 1e33cac1376b sys/dev/ic/isp_netbsd.h
--- a/sys/dev/ic/isp_netbsd.h   Mon Feb 12 23:30:12 2001 +0000
+++ b/sys/dev/ic/isp_netbsd.h   Mon Feb 12 23:32:11 2001 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: isp_netbsd.h,v 1.35 2001/01/05 07:03:54 mjacob Exp $ */
+/* $NetBSD: isp_netbsd.h,v 1.36 2001/02/12 23:32:11 mjacob Exp $ */
 /*
  * This driver, which is contained in NetBSD in the files:
  *
@@ -116,7 +116,6 @@
 
 #define        INLINE                  inline
 
-#define        ISP2100_FABRIC          1
 #define        ISP2100_SCRLEN          0x400
 
 #define        MEMZERO                 bzero
@@ -394,7 +393,7 @@
                if (isp->isp_mboxbsy != 0) {
                        isp_prt(isp, ISP_LOGWARN,
                            "Polled Mailbox Command (0x%x) Timeout",
-                           isp->isp_mboxtmp[0]);
+                           isp->isp_lastmbxcmd);
                }
        } else {
                int rv = 0;
@@ -416,7 +415,7 @@
                        isp->isp_osinfo.mboxwaiting = 0;
                        isp_prt(isp, ISP_LOGWARN,
                            "Interrupting Mailbox Command (0x%x) Timeout",
-                           isp->isp_mboxtmp[0]);
+                           isp->isp_lastmbxcmd);
                }
        }
 }
@@ -584,6 +583,13 @@
 isp_unswizzle_sns_rsp(struct ispsoftc *isp, sns_scrsp_t *resp, int nwords)
 {
        int index;
+       /*
+        * Don't even think about asking. This. Is. So. Lame.
+        */
+       if (IS_2200(isp) &&
+           ISP_FW_REVX(isp->isp_fwrev) == ISP_FW_REV(2, 1, 26)) {
+               nwords = 128;
+       }
        for (index = 0; index < nwords; index++) {
                resp->snscb_data[index] = bswap16(resp->snscb_data[index]);
        }



Home | Main Index | Thread Index | Old Index