cvs commit: src/sys/dev/le am7990.c am79900.c am79900reg.h
am79900var.h am7990reg.h am7990var.h if_le_ledma.c
if_le_pci.c lance.c lancereg.h lancevar.h
marius at alchemy.franken.de
Tue Jan 31 14:16:49 PST 2006
On Tue, Jan 31, 2006 at 11:17:13AM -0500, John Baldwin wrote:
> On Tuesday 31 January 2006 09:48, Marius Strobl wrote:
> > marius 2006-01-31 14:48:58 UTC
> > FreeBSD src repository
> > Added files:
> > sys/dev/le am7990.c am79900.c am79900reg.h
> > am79900var.h am7990reg.h am7990var.h
> > if_le_ledma.c if_le_pci.c lance.c
> > lancereg.h lancevar.h
> > Log:
> > Add le(4), a driver for AMD Am7900 LANCE and Am79C9xx PCnet NICs ported
> > from NetBSD. This driver actually can replace lnc(4). Advantages over
> > lnc(4) are:
> > - Cleaner and more flexible regarding MD needs.
> > - Endian-clean and MPSAFE.
> > - Supports ALTQ, VLAN_MTU, ifmedia.
> > - Uses 32bit DMA for the PCI variants.
> > This commit includes front-ends for the dma(4) pseudo-bus found on SBus-
> > based sparc64 machines (thus supports the on-board LANCE in Sun Ultra 1)
> > and PCI. In order to actually replace lnc(4), the front-ends for ISA and
> > the PC98 CBUS would have to be added but for which I don't have hardware
> > to test.
> > Reviewed and some improvements by: yongari
> > Tested on: i386, sparc64
> Does this replace pcn(4) which supported the DMA-capable lnc(4) chips as well:
> o AMD Am53C974/Am79C970/Am79C974 PCnet-PCI
> o AMD Am79C970A PCnet-PCI II
> o AMD Am79C971 PCnet-FAST
> o AMD Am79C972 PCnet-FAST+
> o AMD Am79C973/Am79C975 PCnet-FAST III
> o AMD Am79C976 PCnet-PRO
> o AMD PCnet/Home HomePNA
> o Allied-Telesis LA-PCI
> o Contec C-NET(98)S (PC-98)
> o NEC SV-98/2-B05, B06
Not really. On the PCI side le(4) supports Am79C970 up to Am79C978
but doesn't support the additional features like MII, burst mode,
etc. the Am79C971 and greater chips have. Contrary to its man page
pcn(4) only supports Am79C971,2,3,5,6,8 (i.e. PCnet-FAST and greater)
but supports the additional features and does direct DMA to mbufs.
Part of these differences between these drivers is that they drive
the chips in different modes ("software styles") and the one pcn(4)
uses isn't supported on earlier chips.
In short, if you have a Am79C970, Am79C970A, Am53C974 or Am79C974
(i.e. PCnet-PCI or PCnet-PCI II) you'll have to use le(4) or lnc(4)
and for the other members of the PCnet family you should pcn(4)
in order to get better performance.
This mail was scanned by AntiVir Milter.
This product is licensed for non-commercial use.
See www.antivir.de for details.
More information about the cvs-src