NetBSD/sys/arch/sparc/dev
thorpej ef3500b579 Attempt to work around a hardware bug that screws up DMA on the 4/100.
Apparently, some early 4/100 DMA controllers do illegal memory access on
large ( >= NBPG ) transfers at the end of the transfer.  This appears
as SI_CSR_DMA_BUS_ERR in the csr.  To work around this, we simply
transfer the (up to 3) missing bytes from the bpr.  We were doing this
anyway, so the work-around is to ignore the bus error.

BUT!  I goofed when I implemented the "left-over byte" code for the sw!
It *should* be correct now.  Keep metrics (acceeible via DDB) on the number
of 1, 2, and 3 byte clean-ups, as well as the number of "clean" transfers,
just so we can get a clearer picture.

Thanks to Andrew Gillham <gillham@whirlpool.com> for noticing this!
1996-02-23 07:24:45 +00:00
..
am7930_sparc.c Fix typo; pointed out by jtk. 1996-02-19 10:30:09 +00:00
amd7930.c Fix typo; pointed out by jtk. 1996-02-19 10:30:09 +00:00
amd7930var.h LOCORE -> _LOCORE 1996-02-01 22:28:24 +00:00
bt_subr.c copyright/Id cleanup 1994-11-20 20:51:32 +00:00
btreg.h copyright/Id cleanup 1994-11-20 20:51:32 +00:00
btvar.h copyright/Id cleanup 1994-11-20 20:51:32 +00:00
bwtwo.c Fix bug in bwtwounblank() ... didn't have code to enable video on sun4/200 1996-02-19 00:15:46 +00:00
bwtworeg.h copyright/Id cleanup 1994-11-20 20:51:32 +00:00
cgsix.c Adapt to changed mapiodev() interface. 1995-12-11 12:43:14 +00:00
cgsixreg.h copyright/Id cleanup 1994-11-20 20:51:32 +00:00
cgthree.c Adapt to changed mapiodev() interface. 1995-12-11 12:43:14 +00:00
cgthreereg.h copyright/Id cleanup 1994-11-20 20:51:32 +00:00
cgtwo.c Adapt to changed mapiodev() interface. 1995-12-11 12:43:14 +00:00
cons.c Fix ANSI prototype goof (from Openbsd). 1996-02-13 22:49:48 +00:00
dma.c Separate DMA and SCSI routines more. 1996-02-12 15:59:51 +00:00
dmareg.h Adapt to changed mapiodev() interface. 1995-12-11 12:43:14 +00:00
dmavar.h Separate DMA and SCSI routines more. 1996-02-12 15:59:51 +00:00
esp.c Implement SDEV_AUTOSAVE. 1996-02-22 23:35:04 +00:00
espreg.h Towards machine independency, per cgd: macros to access hardware registers. 1995-12-18 23:58:31 +00:00
espvar.h Separate DMA and SCSI routines more. 1996-02-12 15:59:51 +00:00
event.c copyright/Id cleanup 1994-11-20 20:51:32 +00:00
event_var.h copyright/Id cleanup 1994-11-20 20:51:32 +00:00
fb.c Use `def_width' and `def_height' as default values when getting rom properties. 1995-12-10 22:55:32 +00:00
fd.c In fdcretry(), if we're not using implied seeks, set the state to DOSEEK 1996-02-10 18:37:36 +00:00
fdreg.h LOCORE -> _LOCORE 1996-02-01 22:28:24 +00:00
fdvar.h LOCORE -> _LOCORE 1996-02-01 22:28:24 +00:00
i82586.h Update based on i386 version; from Chuck Cranor. 1995-01-27 09:49:55 +00:00
if_ie.c we handle all our mappings, so don't have obio.c do any for us 1996-01-12 23:08:57 +00:00
if_ie.h obio ie support by chuck and me 1994-12-16 22:01:09 +00:00
if_le.c we handle all our mappings, so don't have obio.c do any for us 1996-01-12 23:08:57 +00:00
if_lereg.h Use the MI LANCE code. 1995-12-10 10:15:06 +00:00
if_levar.h Adapt to changed mapiodev() interface. 1995-12-11 12:43:14 +00:00
kbd.c Avoid compiler warning. 1996-02-12 21:05:18 +00:00
ms.c Sun4s must set baud rate on the mouse port (from Jason Thorpe). 1995-08-29 22:15:35 +00:00
obio.c improved handling of mapping of devices who's registers do not reside on 1996-01-12 21:44:16 +00:00
rcons_font.h Must change `u_long' to `u_int32_t' as Jason pointed out. 1995-11-29 22:03:53 +00:00
sbus.c Integrate changes from Chuck Cranor for the Sun 4/100. 1995-02-01 12:37:21 +00:00
sbusreg.h copyright/Id cleanup 1994-11-20 20:51:32 +00:00
sbusvar.h copyright/Id cleanup 1994-11-20 20:51:32 +00:00
si.c Attempt to work around a hardware bug that screws up DMA on the 4/100. 1996-02-23 07:24:45 +00:00
sireg.h New driver for the Sun SCSI-3 VME and 4/100-series SCSI "Weird" controllers, 1996-01-01 22:40:56 +00:00
xd.c Fixup some RCS ids. 1996-02-22 06:50:49 +00:00
xdreg.h Fixup some RCS ids. 1996-02-22 06:50:49 +00:00
xdvar.h Fixup some RCS ids. 1996-02-22 06:50:49 +00:00
xio.h SMD disk driver, from Chuck Cranor. 1995-06-26 23:06:57 +00:00
xy.c Fixup some RCS ids. 1996-02-22 06:50:49 +00:00
xyreg.h Fixup some RCS ids. 1996-02-22 06:50:49 +00:00
xyvar.h Fixup some RCS ids. 1996-02-22 06:50:49 +00:00
zs.c Extend the size of the "soft" FIFOs which reportedly reduces the number 1995-11-29 23:41:31 +00:00
zsvar.h Move struct definitions to MD code. 1996-01-24 19:52:57 +00:00