kernel-hacking-2024-linux-s.../drivers/net
Eugene Surovegin 37448f7d39 [PATCH] New PowerPC 4xx on-chip ethernet controller driver
This patch replaces current PowerPC 4xx EMAC driver with
new, re-written from the scratch version. This patch is quite big
(~234K) because there is virtualy 0% of common code between old and
new version.

New driver uses NAPI, it solves stability problems under heavy packet
load and low memory, corrects chip register access and fixes numerous
small bugs I don't even remember now.

This patch has been tested on all supported in 2.6 PPC 4xx boards.
It's been used in production for almost a year now on custom
4xx hardware. PPC32 specific parts are already upstream.

Patch was acked by the current EMAC driver maintainer (Matt Porter). I
will be maintaining this new version.

Signed-off-by: Eugene Surovegin <ebs@ebshome.net>
--

 Kconfig                   |   72
 ibm_emac/Makefile         |   13
 ibm_emac/ibm_emac.h       |  418 +++--
 ibm_emac/ibm_emac_core.c  | 3414 ++++++++++++++++++++++++----------------------
 ibm_emac/ibm_emac_core.h  |  313 ++--
 ibm_emac/ibm_emac_debug.c |  377 ++---
 ibm_emac/ibm_emac_debug.h |   63
 ibm_emac/ibm_emac_mal.c   |  674 +++++----
 ibm_emac/ibm_emac_mal.h   |  336 +++-
 ibm_emac/ibm_emac_phy.c   |  335 ++--
 ibm_emac/ibm_emac_phy.h   |  105 -
 ibm_emac/ibm_emac_rgmii.c |  201 ++
 ibm_emac/ibm_emac_rgmii.h |   68
 ibm_emac/ibm_emac_tah.c   |  111 +
 ibm_emac/ibm_emac_tah.h   |   96 -
 ibm_emac/ibm_emac_zmii.c  |  255 +++
 ibm_emac/ibm_emac_zmii.h  |  114 -
 17 files changed, 4114 insertions(+), 2851 deletions(-)
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-10-28 16:42:01 -04:00
..
appletalk
arcnet [PATCH] Remove unnecessary check_region references in comments 2005-09-13 08:22:29 -07:00
arm [ARM] Fix init printk for EBSA110 network driver, and link timer 2005-10-02 18:12:03 +01:00
bonding [PATCH] bonding: cleanup comment for mode 1 IGMP xmit hack 2005-10-18 22:27:13 -04:00
chelsio [PATCH] (1/7) chelsio sparse annotations 2005-09-05 17:57:22 -04:00
cris [PATCH] timer initialization cleanup: DEFINE_TIMER 2005-09-09 14:03:48 -07:00
e1000 [PATCH] e1000: Driver version, white space, comments, device id & other 2005-10-20 10:05:36 -04:00
fec_8xx
fs_enet Add fs_enet ethernet network driver, for several embedded platforms. 2005-10-28 16:25:58 -04:00
hamradio [PATCH] Remove unused header. 2005-10-19 22:14:20 -04:00
ibm_emac [PATCH] New PowerPC 4xx on-chip ethernet controller driver 2005-10-28 16:42:01 -04:00
irda Merge branch 'upstream-fixes' 2005-10-03 22:06:19 -04:00
ixgb Merge /spare/repo/linux-2.6/ 2005-09-21 22:34:08 -04:00
pcmcia pcnet_cs: fix mii init code for older DL10019 based cards 2005-10-28 16:09:54 -04:00
phy [netdrvr] delete CONFIG_PHYCONTROL 2005-09-23 22:58:49 -04:00
sk98lin [PATCH] proc_mkdir() should be used to create procfs directories 2005-09-29 08:46:26 -07:00
skfp
tokenring Merge branch 'master' 2005-10-05 02:11:33 -04:00
tulip [PATCH] de2104x: Resurrect Cobalt support for 2.6. 2005-10-18 18:03:47 -04:00
wan Merge branch 'upstream-fixes' 2005-10-03 22:06:19 -04:00
wireless [wireless prism54] Fix frame length 2005-10-28 16:11:49 -04:00
3c59x.c [PATCH] 3c59x: read current link status from phy 2005-09-07 16:57:30 -07:00
3c501.c
3c501.h
3c503.c
3c503.h
3c505.c
3c505.h
3c507.c
3c509.c
3c515.c
3c523.c
3c523.h
3c527.c
3c527.h
7990.c
7990.h
8139cp.c Merge /spare/repo/linux-2.6/ 2005-09-21 22:34:08 -04:00
8139too.c [PATCH] 8139too: fix resume for Realtek 8100B/8139D 2005-10-18 22:26:01 -04:00
8390.c [PATCH] 8390 Tx fix for non i386 machines 2005-09-23 05:18:45 -04:00
8390.h
82596.c
a2065.c
a2065.h
ac3200.c [PATCH] iomem annotations (ac3200.c) 2005-09-06 22:17:12 -04:00
acenic.c
acenic.h
acenic_firmware.h
amd8111e.c
amd8111e.h
apne.c
ariadne.c
ariadne.h
at1700.c
atari_bionet.c [PATCH] timer initialization cleanup: DEFINE_TIMER 2005-09-09 14:03:48 -07:00
atari_pamsnet.c [PATCH] timer initialization cleanup: DEFINE_TIMER 2005-09-09 14:03:48 -07:00
atarilance.c [PATCH] lvalues abuse in lance 2005-09-06 22:47:00 -04:00
atp.c
atp.h
au1000_eth.c [PATCH] au1000_eth: Misc Au1000 net driver fixes. 2005-10-18 18:03:47 -04:00
au1000_eth.h
b44.c [netdrvr b44] include linux/dma-mapping.h to eliminate warning 2005-10-28 16:38:02 -04:00
b44.h [PATCH] b44: alternate allocation option for DMA descriptors 2005-10-18 22:27:13 -04:00
bmac.c [PATCH] volatile unsigned short f(...) doesn't make sense 2005-09-30 08:42:24 -07:00
bmac.h
bnx2.c [BNX2]: Add support for ETHTOOL_GPERMADDR. 2005-09-12 14:45:08 -07:00
bnx2.h [BNX2]: Fix bug in irq handler and add prefetch 2005-09-08 13:15:32 -07:00
bnx2_fw.h
bsd_comp.c [PATCH] vfree and kfree cleanup in drivers/ 2005-09-10 10:06:30 -07:00
cassini.c [PATCH] gfp_t: drivers/net 2005-10-28 08:16:51 -07:00
cassini.h [NET]: Add Sun Cassini driver. 2005-09-27 15:24:13 -07:00
cs89x0.c [PATCH] missing asm/irq.h (cs89x0) 2005-09-26 18:29:49 -07:00
cs89x0.h [PATCH] silence cs89x0 2005-08-01 19:14:01 -07:00
de600.c
de600.h
de620.c
de620.h
declance.c [PATCH] declance: Use physical addresses at the interface level. 2005-10-18 18:03:48 -04:00
defxx.c
defxx.h
depca.c
depca.h
dgrs.c
dgrs.h
dgrs_asstruct.h
dgrs_bcomm.h
dgrs_es4h.h
dgrs_ether.h
dgrs_firmware.c
dgrs_i82596.h
dgrs_plx9060.h
dl2k.c
dl2k.h
dm9000.c [PATCH] missed s/u32/pm_message_t/ (dm9000) 2005-09-06 22:17:12 -04:00
dm9000.h
dummy.c
e100.c Merge branch 'master' 2005-10-13 21:22:27 -04:00
e2100.c
eepro.c
eepro100.c [netdrvr eepro100] check for skb==NULL before calling rx_align(skb) 2005-08-19 03:52:49 -04:00
eexpress.c
eexpress.h
epic100.c [PATCH] epic100: fix counting of work_done in epic_poll 2005-10-18 22:26:01 -04:00
eql.c
es3210.c
eth16i.c
ewrk3.c
ewrk3.h
fealnx.c
fec.c [PATCH] m68knommu: ColdFire FEC eth driver improvements 2005-09-11 20:43:46 -07:00
fec.h [PATCH] m68knommu: FEC eth definitions support for the 523x Coldfire processor family 2005-09-11 20:43:47 -07:00
forcedeth.c [netdrvr forcedeth] scatter gather and segmentation offload support 2005-10-26 00:51:24 -04:00
gianfar.c [netdrvr gianfar] use new phy layer 2005-09-23 22:54:21 -04:00
gianfar.h [netdrvr gianfar] use new phy layer 2005-09-23 22:54:21 -04:00
gianfar_ethtool.c [netdrvr gianfar] use new phy layer 2005-09-23 22:54:21 -04:00
gianfar_mii.c [netdrvr gianfar] use new phy layer 2005-09-23 22:54:21 -04:00
gianfar_mii.h [netdrvr gianfar] use new phy layer 2005-09-23 22:54:21 -04:00
gt64240eth.h
gt96100eth.c
gt96100eth.h
hamachi.c [PATCH] -Wundef fixes (hamachi) 2005-09-07 17:17:33 -07:00
hp-plus.c
hp.c
hp100.c [PATCH] drivers/net: fix-up schedule_timeout() usage 2005-09-14 08:33:24 -04:00
hp100.h
hplance.c
hplance.h
hydra.c
hydra.h
ibmlana.c
ibmlana.h
ibmveth.c [PATCH] ibmveth fix failed addbuf 2005-10-28 16:07:31 -04:00
ibmveth.h [PATCH] ibmveth lockless TX 2005-10-28 16:07:30 -04:00
ioc3-eth.c [PATCH] IOC3 fixes 2005-08-18 16:59:14 -04:00
isa-skeleton.c
iseries_veth.c [PATCH] iseries_veth: Update copyright notice 2005-09-06 22:17:12 -04:00
jazzsonic.c [PATCH] macsonic/jazzsonic network drivers update 2005-08-23 01:32:12 -04:00
Kconfig [PATCH] New PowerPC 4xx on-chip ethernet controller driver 2005-10-28 16:42:01 -04:00
lance.c [PATCH] gfp_t: drivers/net 2005-10-28 08:16:51 -07:00
lasi_82596.c
LICENSE.SRC
lne390.c [PATCH] lne390 bogus casts 2005-09-14 08:37:31 -04:00
loopback.c Merge /spare/repo/linux-2.6/ 2005-08-18 22:14:39 -04:00
lp486e.c
mac89x0.c
mac8390.c
mace.c
mace.h
macmace.c
macsonic.c [PATCH] macsonic/jazzsonic network drivers update 2005-08-23 01:32:12 -04:00
Makefile Add fs_enet ethernet network driver, for several embedded platforms. 2005-10-28 16:25:58 -04:00
meth.c
meth.h
mii.c [PATCH] mii: Add test for GigE support 2005-09-14 08:46:21 -04:00
mipsnet.c [PATCH] mipsnet: Virtual ethernet driver for MIPSsim. 2005-10-18 18:03:48 -04:00
mipsnet.h [PATCH] mipsnet: Virtual ethernet driver for MIPSsim. 2005-10-18 18:03:48 -04:00
mv643xx_eth.c [PATCH] more SPIN_LOCK_UNLOCKED -> DEFINE_SPINLOCK conversions 2005-09-09 14:03:48 -07:00
mv643xx_eth.h [PATCH] mv643xx: Fix promiscuous mode handling 2005-09-05 18:08:30 -04:00
mvme147.c
myri_code.h
myri_sbus.c [PATCH] gfp_t: drivers/net 2005-10-28 08:16:51 -07:00
myri_sbus.h [PATCH] gfp_t: drivers/net 2005-10-28 08:16:51 -07:00
natsemi.c
ne-h8300.c
ne.c [PATCH] ne: Support for RBHMA4500 eval board. 2005-10-18 18:03:48 -04:00
ne2.c
ne2k-pci.c [PATCH] ne2k-pci: support ETHTOOL_GPERMADDR 2005-09-14 08:29:32 -04:00
ne3210.c [PATCH] drivers/net/ne3210.c: cleanups 2005-09-05 18:02:31 -04:00
netconsole.c
ni52.c
ni52.h
ni65.c
ni65.h
ni5010.c
ni5010.h
ns83820.c Merge branch 'master' 2005-10-13 21:22:27 -04:00
oaknet.c
pci-skeleton.c
pcnet32.c [PATCH] pcnet32: set min ring size to 4 2005-09-16 02:43:23 -04:00
plip.c
ppp_async.c
ppp_deflate.c
ppp_generic.c [PATCH] janitor: net/ppp-generic: list_for_each_entry 2005-09-10 10:06:32 -07:00
ppp_synctty.c
pppoe.c [PATCH] proc_mkdir() should be used to create procfs directories 2005-09-29 08:46:26 -07:00
pppox.c
r8169.c Merge branch 'upstream-fixes' 2005-10-03 22:06:19 -04:00
rionet.c [PATCH] Add rapidio net driver 2005-09-14 09:18:21 -04:00
rrunner.c [NET]: Remove HIPPI private from skbuff.h 2005-08-29 15:31:42 -07:00
rrunner.h
s2io-regs.h [PATCH] S2io: Offline diagnostics fixes 2005-10-18 16:58:27 -04:00
s2io.c [PATCH] s2io build fix 2005-10-18 18:33:42 -04:00
s2io.h [PATCH] S2io: MSI/MSI-X support (runtime configurable) 2005-10-04 06:41:24 -04:00
saa9730.c
saa9730.h
sb1000.c
sb1250-mac.c [PATCH] sb1250-mac: PHY probing fixes. 2005-10-20 16:06:11 -04:00
seeq8005.c
seeq8005.h
sgiseeq.c [PATCH] sgiseeq: Configure PIO and DMA timing requests. 2005-10-18 18:03:47 -04:00
sgiseeq.h
shaper.c [NET]: Kill skb->list 2005-08-29 15:31:14 -07:00
sis190.c [PATCH] sis190.c: fix multicast MAC filter 2005-10-28 16:14:11 -04:00
sis900.c
sis900.h
sk_mca.c
sk_mca.h
skge.c Merge branch 'upstream-fixes' 2005-10-03 22:06:19 -04:00
skge.h [PATCH] skge: check length from PHY 2005-09-21 22:32:50 -04:00
slhc.c
slip.c
slip.h
smc-mca.c
smc-ultra.c [PATCH] missing include in smc-ultra 2005-08-29 10:42:40 -07:00
smc-ultra32.c
smc91x.c [PATCH] smc91x: shut down power after probing 2005-10-28 16:16:19 -04:00
smc91x.h [PATCH] bogus #if (smc91x.h) 2005-09-07 17:17:34 -07:00
smc9194.c
smc9194.h
sonic.c [PATCH] macsonic/jazzsonic network drivers update 2005-08-23 01:32:12 -04:00
sonic.h [PATCH] macsonic/jazzsonic network drivers update 2005-08-23 01:32:12 -04:00
Space.c [PATCH] macsonic/jazzsonic network drivers update 2005-08-23 01:32:12 -04:00
spider_net.c [PATCH] net: fix spider_net media detection 2005-09-16 03:23:12 -04:00
spider_net.h [PATCH] net: add driver for the NIC on Cell Blades 2005-09-06 22:17:49 -04:00
spider_net_ethtool.c [PATCH] net: fix bonding with spider_net 2005-09-06 22:35:30 -04:00
starfire.c [PATCH] starfire: free_irq() on error path of netdev_open() 2005-10-28 16:16:59 -04:00
starfire_firmware.h
starfire_firmware.pl
stnic.c
sun3_82586.c
sun3_82586.h
sun3lance.c [PATCH] lvalues abuse in lance 2005-09-06 22:47:00 -04:00
sunbmac.c [PATCH] gfp_t: drivers/net 2005-10-28 08:16:51 -07:00
sunbmac.h [PATCH] gfp_t: drivers/net 2005-10-28 08:16:51 -07:00
sundance.c [PATCH] sundance: fix DFE-580TX Tx Underrun 2005-10-28 16:40:33 -04:00
sungem.c Sun GEM ethernet: enable and map PCI ROM properly 2005-09-11 09:26:20 -07:00
sungem.h [PATCH] gfp flags annotations - part 1 2005-10-08 15:00:57 -07:00
sungem_phy.c
sungem_phy.h
sunhme.c [PATCH] Sun HME: enable and map PCI ROM properly 2005-09-11 09:28:17 -07:00
sunhme.h
sunlance.c
sunqe.c
sunqe.h
tc35815.c
tg3.c [PATCH] tg3: update version and minor fixes 2005-10-28 16:07:30 -04:00
tg3.h [PATCH] tg3: fix ASF heartbeat 2005-10-28 16:07:30 -04:00
tlan.c
tlan.h
tun.c [TUNTAP]: Allow setting the linktype of the tap device from userspace 2005-09-01 17:40:05 -07:00
typhoon-firmware.h
typhoon.c [PATCH] drivers/net: fix-up schedule_timeout() usage 2005-09-14 08:33:24 -04:00
typhoon.h
via-rhine.c [PATCH] via-rhine: change mdelay to msleep and remove from ISR path 2005-10-18 22:26:01 -04:00
via-velocity.c
via-velocity.h
wd.c
yellowfin.c
znet.c
zorro8390.c