summaryrefslogtreecommitdiffstats
path: root/sys/dev/ed
diff options
context:
space:
mode:
authordg <dg@FreeBSD.org>1993-08-02 10:36:05 +0000
committerdg <dg@FreeBSD.org>1993-08-02 10:36:05 +0000
commitc4e3d1f069114043ee6b0b68fd4aa0eac183edc5 (patch)
tree9ad9abacb6389c222bb9012930353e577aab4b7b /sys/dev/ed
parent401548e742970dc21a62b01b64c89deb6408fc88 (diff)
downloadFreeBSD-src-c4e3d1f069114043ee6b0b68fd4aa0eac183edc5.zip
FreeBSD-src-c4e3d1f069114043ee6b0b68fd4aa0eac183edc5.tar.gz
* Fixed problem where some rev 8013EBT boards want the DCR_LS flag
* set in order to work in 16bit mode. Seems also to improve performance by 15%! (?!) I think there might be more to this flag than the manual says.
Diffstat (limited to 'sys/dev/ed')
-rw-r--r--sys/dev/ed/if_ed.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/sys/dev/ed/if_ed.c b/sys/dev/ed/if_ed.c
index 4a693ef..d42e923 100644
--- a/sys/dev/ed/if_ed.c
+++ b/sys/dev/ed/if_ed.c
@@ -17,6 +17,10 @@
* Modification history
*
* $Log: if_ed.c,v $
+ * Revision 1.19 93/08/02 02:57:53 davidg
+ * Fixed problem where some rev 8013EBT boards want the DCR_LS flag
+ * set in order to work in 16bit mode.
+ *
* Revision 1.18 93/07/27 03:41:36 davidg
* removed unnecessary variable assignment in ed_reset()
*
@@ -881,14 +885,14 @@ ed_init(unit)
if (sc->memwidth == 16) {
/*
* Set FIFO threshold to 8, No auto-init Remote DMA,
- * byte order=80x86, word-wide DMA xfers
+ * byte order=80x86, word-wide DMA xfers,
*/
- outb(sc->nic_addr + ED_P0_DCR, ED_DCR_FT1|ED_DCR_WTS);
+ outb(sc->nic_addr + ED_P0_DCR, ED_DCR_FT1|ED_DCR_WTS|ED_DCR_LS);
} else {
/*
* Same as above, but byte-wide DMA xfers
*/
- outb(sc->nic_addr + ED_P0_DCR, ED_DCR_FT1);
+ outb(sc->nic_addr + ED_P0_DCR, ED_DCR_FT1|ED_DCR_LS);
}
/*
OpenPOWER on IntegriCloud