diff options
author | dg <dg@FreeBSD.org> | 1993-08-02 10:36:05 +0000 |
---|---|---|
committer | dg <dg@FreeBSD.org> | 1993-08-02 10:36:05 +0000 |
commit | c4e3d1f069114043ee6b0b68fd4aa0eac183edc5 (patch) | |
tree | 9ad9abacb6389c222bb9012930353e577aab4b7b /sys/dev/ed | |
parent | 401548e742970dc21a62b01b64c89deb6408fc88 (diff) | |
download | FreeBSD-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.c | 10 |
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); } /* |