Source-Changes-HG archive

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

[src/netbsd-1-4]: src/sys/arch/next68k/dev Pull up revision 1.21 (via patch, ...



details:   https://anonhg.NetBSD.org/src/rev/67676506adea
branches:  netbsd-1-4
changeset: 470140:67676506adea
user:      he <he%NetBSD.org@localhost>
date:      Fri Jan 21 00:31:32 2000 +0000

description:
Pull up revision 1.21 (via patch, requested by dbj):
  Fix problem that causes xe0 to get frequent weird DMA Rx interrupts
  and panics.  Fixes PR#8847.

diffstat:

 sys/arch/next68k/dev/nextdma.c |  27 ++++++---------------------
 1 files changed, 6 insertions(+), 21 deletions(-)

diffs (42 lines):

diff -r 51a861d59d38 -r 67676506adea sys/arch/next68k/dev/nextdma.c
--- a/sys/arch/next68k/dev/nextdma.c    Fri Jan 21 00:27:47 2000 +0000
+++ b/sys/arch/next68k/dev/nextdma.c    Fri Jan 21 00:31:32 2000 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: nextdma.c,v 1.15 1999/03/14 10:31:05 dbj Exp $ */
+/*     $NetBSD: nextdma.c,v 1.15.2.1 2000/01/21 00:31:32 he Exp $      */
 /*
  * Copyright (c) 1998 Darrin B. Jewell
  * All rights reserved.
@@ -702,27 +702,12 @@
                next_dma_rotate(nd);
                next_dma_setup_cont_regs(nd);
 
-               if (!(state & DMACSR_ENABLE)) {
-
-                       DPRINTF(("Unexpected DMA shutdown, restarting\n"));
-
-                       if (nd->_nd_map_cont) {
-                               bus_space_write_4(nd->nd_bst, nd->nd_bsh, DD_CSR,
-                                               DMACSR_SETSUPDATE | DMACSR_SETENABLE | nd->_nd_dmadir);
-                       } else {
-                               bus_space_write_4(nd->nd_bst, nd->nd_bsh, DD_CSR, 
-                                               DMACSR_SETENABLE | nd->_nd_dmadir);
-                       }
-
+               if (nd->_nd_map_cont) {
+                       bus_space_write_4(nd->nd_bst, nd->nd_bsh, DD_CSR,
+                               DMACSR_SETSUPDATE | DMACSR_CLRCOMPLETE | DMACSR_SETENABLE | nd->_nd_dmadir);
                } else {
-
-                       if (nd->_nd_map_cont) {
-                               bus_space_write_4(nd->nd_bst, nd->nd_bsh, DD_CSR,
-                                               DMACSR_SETSUPDATE | DMACSR_CLRCOMPLETE | nd->_nd_dmadir);
-                       } else {
-                               bus_space_write_4(nd->nd_bst, nd->nd_bsh, DD_CSR,
-                                               DMACSR_CLRCOMPLETE | nd->_nd_dmadir);
-                       }
+                       bus_space_write_4(nd->nd_bst, nd->nd_bsh, DD_CSR,
+                               DMACSR_CLRCOMPLETE | DMACSR_SETENABLE | nd->_nd_dmadir);
                }
 
        }



Home | Main Index | Thread Index | Old Index