[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>
Showing
- drivers/net/Kconfig 54 additions, 18 deletionsdrivers/net/Kconfig
- drivers/net/ibm_emac/Makefile 6 additions, 7 deletionsdrivers/net/ibm_emac/Makefile
- drivers/net/ibm_emac/ibm_emac.h 225 additions, 183 deletionsdrivers/net/ibm_emac/ibm_emac.h
- drivers/net/ibm_emac/ibm_emac_core.c 1804 additions, 1598 deletionsdrivers/net/ibm_emac/ibm_emac_core.c
- drivers/net/ibm_emac/ibm_emac_core.h 194 additions, 119 deletionsdrivers/net/ibm_emac/ibm_emac_core.h
- drivers/net/ibm_emac/ibm_emac_debug.c 176 additions, 187 deletionsdrivers/net/ibm_emac/ibm_emac_debug.c
- drivers/net/ibm_emac/ibm_emac_debug.h 63 additions, 0 deletionsdrivers/net/ibm_emac/ibm_emac_debug.h
- drivers/net/ibm_emac/ibm_emac_mal.c 397 additions, 277 deletionsdrivers/net/ibm_emac/ibm_emac_mal.c
- drivers/net/ibm_emac/ibm_emac_mal.h 234 additions, 98 deletionsdrivers/net/ibm_emac/ibm_emac_mal.h
- drivers/net/ibm_emac/ibm_emac_phy.c 196 additions, 139 deletionsdrivers/net/ibm_emac/ibm_emac_phy.c
- drivers/net/ibm_emac/ibm_emac_phy.h 24 additions, 81 deletionsdrivers/net/ibm_emac/ibm_emac_phy.h
- drivers/net/ibm_emac/ibm_emac_rgmii.c 201 additions, 0 deletionsdrivers/net/ibm_emac/ibm_emac_rgmii.c
- drivers/net/ibm_emac/ibm_emac_rgmii.h 30 additions, 30 deletionsdrivers/net/ibm_emac/ibm_emac_rgmii.h
- drivers/net/ibm_emac/ibm_emac_tah.c 111 additions, 0 deletionsdrivers/net/ibm_emac/ibm_emac_tah.c
- drivers/net/ibm_emac/ibm_emac_tah.h 68 additions, 28 deletionsdrivers/net/ibm_emac/ibm_emac_tah.h
- drivers/net/ibm_emac/ibm_emac_zmii.c 255 additions, 0 deletionsdrivers/net/ibm_emac/ibm_emac_zmii.c
- drivers/net/ibm_emac/ibm_emac_zmii.h 47 additions, 57 deletionsdrivers/net/ibm_emac/ibm_emac_zmii.h
Please register or sign in to comment