Source-Changes-HG archive

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

[src/netbsd-1-6]: src/sys/dev/ic Pull up revision 1.21-1.22 (requested by mar...



details:   https://anonhg.NetBSD.org/src/rev/4197ccb0dd27
branches:  netbsd-1-6
changeset: 529463:4197ccb0dd27
user:      tron <tron%NetBSD.org@localhost>
date:      Fri Nov 22 17:54:31 2002 +0000

description:
Pull up revision 1.21-1.22 (requested by martin in ticket #948):
Adjust residual counter for wide transfers.

diffstat:

 sys/dev/ic/lsi64854.c |  15 +++++++++------
 1 files changed, 9 insertions(+), 6 deletions(-)

diffs (52 lines):

diff -r de28d88a0974 -r 4197ccb0dd27 sys/dev/ic/lsi64854.c
--- a/sys/dev/ic/lsi64854.c     Fri Nov 22 17:50:36 2002 +0000
+++ b/sys/dev/ic/lsi64854.c     Fri Nov 22 17:54:31 2002 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: lsi64854.c,v 1.20 2001/11/15 09:48:06 lukem Exp $ */
+/*     $NetBSD: lsi64854.c,v 1.20.10.1 2002/11/22 17:54:31 tron Exp $ */
 
 /*-
  * Copyright (c) 1998 The NetBSD Foundation, Inc.
@@ -37,7 +37,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: lsi64854.c,v 1.20 2001/11/15 09:48:06 lukem Exp $");
+__KERNEL_RCSID(0, "$NetBSD: lsi64854.c,v 1.20.10.1 2002/11/22 17:54:31 tron Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -121,9 +121,12 @@
                return;
        }
 
-       printf(": dma rev ");
        csr = L64854_GCSR(sc);
        sc->sc_rev = csr & L64854_DEVID;
+       if (sc->sc_rev == DMAREV_HME) {
+               return;
+       }
+       printf(": dma rev ");
        switch (sc->sc_rev) {
        case DMAREV_0:
                printf("0");
@@ -140,9 +143,6 @@
        case DMAREV_2:
                printf("2");
                break;
-       case DMAREV_HME:
-               printf("fas");
-               break;
        default:
                printf("unknown (0x%x)", sc->sc_rev);
        }
@@ -438,6 +438,9 @@
        if (!(csr & D_WRITE) &&
            (resid = (NCR_READ_REG(nsc, NCR_FFLAG) & NCRFIFO_FF)) != 0) {
                DPRINTF(LDB_SCSI, ("dmaintr: empty esp FIFO of %d ", resid));
+               if (nsc->sc_rev == NCR_VARIANT_FAS366 &&
+                   (NCR_READ_REG(nsc, NCR_CFG3) & NCRFASCFG3_EWIDE))
+                       resid <<= 1;
        }
 
        if ((nsc->sc_espstat & NCRSTAT_TC) == 0) {



Home | Main Index | Thread Index | Old Index