Module Name: src Committed By: riz Date: Sat Nov 20 00:33:49 UTC 2010
Modified Files: src/distrib/notes/atari [netbsd-5]: hardware src/sys/arch/atari/atari [netbsd-5]: autoconf.c src/sys/arch/atari/conf [netbsd-5]: GENERIC.in files.atari src/sys/arch/x68k/dev [netbsd-5]: if_ne_intio.c if_ne_neptune.c src/sys/conf [netbsd-5]: files src/sys/dev/ic [netbsd-5]: dp8390.c ne2000.c ne2000var.h src/sys/dev/isa [netbsd-5]: if_ne_isa.c src/sys/dev/isapnp [netbsd-5]: if_ne_isapnp.c Added Files: src/sys/arch/atari/dev [netbsd-5]: if_ne_mb.c Log Message: Pull up following revision(s) (requested by tsutsui in ticket #1367): sys/dev/ic/ne2000var.h: revision 1.25 sys/arch/atari/conf/MILAN.in: revision 1.24 sys/arch/atari/conf/MILAN.in: revision 1.25 sys/dev/ic/ne2000.c: revision 1.71 sys/dev/ic/ne2000.c: revision 1.72 sys/arch/atari/dev/if_ne_mb.c: revision 1.1 sys/arch/atari/dev/if_ne_mb.c: revision 1.2 sys/arch/atari/conf/MILAN-PCIIDE: revision 1.69 sys/arch/atari/conf/HADES.in: revision 1.10 sys/arch/atari/conf/HADES.in: revision 1.11 sys/arch/x68k/dev/if_ne_neptune.c: revision 1.20 sys/dev/isa/if_ne_isa.c: revision 1.27 sys/arch/atari/atari/autoconf.c: revision 1.57 sys/dev/ic/ne2000.c: revision 1.62 sys/dev/isapnp/if_ne_isapnp.c: revision 1.27 sys/arch/atari/conf/files.atari: revision 1.117 sys/arch/atari/conf/HADES: revision 1.88 sys/arch/atari/conf/GENERIC.in: revision 1.85 sys/dev/ic/ne2000.c: revision 1.65 sys/dev/ic/ne2000.c: revision 1.66 sys/dev/ic/ne2000.c: revision 1.68 sys/arch/atari/conf/MILAN-ISAIDE: revision 1.65 distrib/notes/atari/hardware: revision 1.24 sys/conf/files: revision 1.980 sys/dev/ic/ne2000var.h: revision 1.21 sys/arch/x68k/dev/if_ne_intio.c: revision 1.16 sys/dev/ic/dp8390.c: revision 1.74 sys/dev/ic/dp8390.c: revision 1.75 Added NE2000 with 8bit bus width support. reviewd by tsutsui@ at tech-kern ML. Fix a wrong calculation bug around RX ring buffer memory address slipped in about sixteen years ago. Fortunately, it had been working for ages because some devices used address zero and other devices ignored wrong higher bits. Tested on we(4) (SMC Elite Ultra) and ne(4) (NE2000 compatible named UL0001) on ISA. Note FreeBSD also uses the same correct value in their ed(4) driver. Now dp8390_config() calculates mem_ring correctly so no longer need to override it in ne2000_attach(). Use roundup2() in <sys/param.h> rather than a conditional. Also fix a wrong mem_ring calculation in dp8390_ipkdb_attach(). Put several fixes to ne(4) driver for better 8 bit mode support, especially on RTL8019AS which is also used for non-ISA local bus of embedded controllers and some m68k machines like atari and x68k. * move RTL8019 probe and attach code from each bus attachment to MI ne2000_detect() and ne2000_attach() * change a method for backend and attachment to specify 8 bit mode to use a new sc->sc_quirk member, instead of sc->sc_dmawidth * handle more NE2000 8 bit mode specific settings, including bus_space(9) access width and available size of buffer memory * add a function to detect NE2000 8 bit mode (disabled by default, but enalbed by options NE2000_DETECT_8BIT to avoid possible regression on various ISA clones) * fix ipkdb attachment accordingly (untested) Tested on two NE2000 ISA variants (RTL8019AS and another clone named UL0001) in both 8 bit and 16 bit mode on i386. "Looks good" from non...@. See my post on tech-kern for details: http://mail-index.NetBSD.org/tech-kern/2010/02/26/msg007423.html No need to override mem_ring value in ne2000_ipkdb_attach() since a wrong calculation in dp8390_ipkdb_attach() was fixed. Don't warn about DMA timeout during probe. Add support for the EtherNEC. The EtherNEC is yet another user designed device for Atari machines, an NE2000 based ISA board connected to Atari's ROM cartridge slot with simple but ingenious interface and cartridge port adapter, and it's the most available network solution for the old Atari machines. See following pages for more details about EtherNEC: http://hardware.atari.org/ether/ http://home.arcor.de/thomas.redelberger/prj/atari/etherne/ http://www.freemint.org/ethernec/ethernec.html Also note EtherNEC. Use callout_schedule(9) rather than callout_reset(9) on polling as callout(9) man says. Remove EtherNEC from HADES and MILAN. They have ISA so no one will bother to connect ISA NE2000 via EtherNEC. Regen from HADES.in rev 1.11 and MILAN.in rev 1.25: Remove EtherNEC from HADES and MILAN. They have ISA so no one will bother to connect ISA NE2000 via EtherNEC. To generate a diff of this commit: cvs rdiff -u -r1.21.40.2 -r1.21.40.3 src/distrib/notes/atari/hardware cvs rdiff -u -r1.54 -r1.54.28.1 src/sys/arch/atari/atari/autoconf.c cvs rdiff -u -r1.73.4.6 -r1.73.4.7 src/sys/arch/atari/conf/GENERIC.in cvs rdiff -u -r1.112.20.2 -r1.112.20.3 src/sys/arch/atari/conf/files.atari cvs rdiff -u -r0 -r1.2.8.2 src/sys/arch/atari/dev/if_ne_mb.c cvs rdiff -u -r1.11 -r1.11.14.1 src/sys/arch/x68k/dev/if_ne_intio.c cvs rdiff -u -r1.16 -r1.16.8.1 src/sys/arch/x68k/dev/if_ne_neptune.c cvs rdiff -u -r1.924.4.6 -r1.924.4.7 src/sys/conf/files cvs rdiff -u -r1.68 -r1.68.14.1 src/sys/dev/ic/dp8390.c cvs rdiff -u -r1.59 -r1.59.10.1 src/sys/dev/ic/ne2000.c cvs rdiff -u -r1.19 -r1.19.10.1 src/sys/dev/ic/ne2000var.h cvs rdiff -u -r1.26 -r1.26.10.1 src/sys/dev/isa/if_ne_isa.c cvs rdiff -u -r1.26 -r1.26.10.1 src/sys/dev/isapnp/if_ne_isapnp.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.