Home | History | Annotate | Download | only in dev
History log of /src/sys/arch/x68k/dev/if_ne_neptune.c
RevisionDateAuthorComments
 1.21  20-May-2015  ozaki-r Remove leftover use of AF_NS and NS option

Unnecessary NETISR_NS is also removed.
 1.20  03-Mar-2010  tsutsui branches: 1.20.20; 1.20.38;
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 nonaka@.

See my post on tech-kern for details:
http://mail-index.NetBSD.org/tech-kern/2010/02/26/msg007423.html
 1.19  19-Jan-2010  pooka branches: 1.19.2;
Redefine bpf linkage through an always present op vector, i.e.
#if NBPFILTER is no longer required in the client. This change
doesn't yet add support for loading bpf as a module, since drivers
can register before bpf is attached. However, callers of bpf can
now be modularized.

Dynamically loadable bpf could probably be done fairly easily with
coordination from the stub driver and the real driver by registering
attachments in the stub before the real driver is loaded and doing
a handoff. ... and I'm not going to ponder the depths of unload
here.

Tested with i386/MONOLITHIC, modified MONOLITHIC without bpf and rump.
 1.18  28-Nov-2009  isaki Correct return value of ne_*_match().
It's attach priority, not ne2000 model.
 1.17  18-Jan-2009  isaki Delete 10 years old #if 0'd comments in intio.c, locore.s.
According to the old comment, the interrupt handler via intiotrap
should set his interrupt level again, but it's not right. And
don't set it again by interrupt hander.
 1.16  09-May-2008  tsutsui branches: 1.16.6; 1.16.8;
CFATTACH_DECL() -> CFATTACH_DECL_NEW(), botched in rev 1.14.
 1.15  28-Apr-2008  martin branches: 1.15.2;
Remove clause 3 and 4 from TNF licenses
 1.14  12-Mar-2008  tsutsui branches: 1.14.2; 1.14.4;
Sync with MI NE2000 changes:
> Split device_t and softc for the NE2000 Ethernet chip and all its variants
> and attachments. Use device_t accessors, correct types, and ANSIfy when
> appropriate.
 1.13  17-Oct-2007  garbled branches: 1.13.12; 1.13.16;
Merge the ppcoea-renovation branch to HEAD.

This branch was a major cleanup and rototill of many of the various OEA
cpu based PPC ports that focused on sharing as much code as possible
between the various ports to eliminate near-identical copies of files in
every tree. Additionally there is a new PIC system that unifies the
interface to interrupt code for all different OEA ppc arches. The work
for this branch was done by a variety of people, too long to list here.

TODO:
bebox still needs work to complete the transition to -renovation.
ofppc still needs a bunch of work, which I will be looking at.
ev64260 still needs to be renovated
amigappc was not attempted.

NOTES:
pmppc was removed as an arch, and moved to a evbppc target.
 1.12  12-May-2007  isaki branches: 1.12.10;
Clean up white spaces and tabs.
 1.11  11-Dec-2005  christos branches: 1.11.26; 1.11.30; 1.11.32; 1.11.38;
merge ktrace-lwp.
 1.10  18-Jan-2005  chs branches: 1.10.8;
de-__P, remove register, ansify.
 1.9  13-Feb-2004  wiz branches: 1.9.8;
RealTek -> Realtek.
 1.8  15-Jul-2003  lukem rcsid
 1.7  02-Oct-2002  thorpej branches: 1.7.6;
Add trailing ; to CFATTACH_DECL.
 1.6  01-Oct-2002  thorpej Use CFATTACH_DECL().
 1.5  27-Sep-2002  thorpej Declare all cfattach structures const.
 1.4  21-Feb-2001  minoura branches: 1.4.4; 1.4.8;
Make this compile again.
 1.3  12-Feb-2001  thorpej Adjust the way that media is initialized on DP8390-compatible
chips. The dp8390_softc now has media_init and media_fini
function pointers that do the work.
 1.2  16-Mar-1999  minoura branches: 1.2.8;
Merged minoura_x68k_bus_h branch.
 1.1  23-Dec-1998  minoura branches: 1.1.2;
file if_ne_neptune.c was initially added on branch minoura_x68k_bus_h.
 1.1.2.1  23-Dec-1998  minoura First import of bus_space implementation for x68k port.
 1.2.8.1  12-Mar-2001  bouyer Sync with HEAD.
 1.4.8.1  18-Oct-2002  nathanw Catch up to -current.
 1.4.4.1  10-Oct-2002  jdolecek sync kqueue with -current; this includes merge of gehenna-devsw branch,
merge of i386 MP branch, and part of autoconf rototil work
 1.7.6.4  24-Jan-2005  skrll Sync with HEAD.
 1.7.6.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.7.6.2  18-Sep-2004  skrll Sync with HEAD.
 1.7.6.1  03-Aug-2004  skrll Sync with HEAD
 1.9.8.1  29-Apr-2005  kent sync with -current
 1.10.8.2  17-Mar-2008  yamt sync with head.
 1.10.8.1  03-Sep-2007  yamt sync with head.
 1.11.38.1  22-May-2007  matt Update to HEAD.
 1.11.32.1  11-Jul-2007  mjf Sync with head.
 1.11.30.1  27-May-2007  ad Sync with head.
 1.11.26.1  17-May-2007  yamt sync with head.
 1.12.10.2  23-Mar-2008  matt sync with HEAD
 1.12.10.1  06-Nov-2007  matt sync with HEAD
 1.13.16.2  02-Jun-2008  mjf Sync with HEAD.
 1.13.16.1  03-Apr-2008  mjf Sync with HEAD.
 1.13.12.1  24-Mar-2008  keiichi sync with head.
 1.14.4.3  11-Mar-2010  yamt sync with head
 1.14.4.2  04-May-2009  yamt sync with head.
 1.14.4.1  16-May-2008  yamt sync with head.
 1.14.2.1  18-May-2008  yamt sync with head.
 1.15.2.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.16.8.1  20-Nov-2010  riz 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 nonaka@.
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.
 1.16.6.1  19-Jan-2009  skrll Sync with HEAD.
 1.19.2.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.20.38.1  06-Jun-2015  skrll Sync with HEAD
 1.20.20.1  03-Dec-2017  jdolecek update from HEAD

RSS XML Feed