New PowerPC 4xx on-chip ethernet controller driver
Subsystems (2)
cover New PowerPC 4xx on-chip ethernet controller driver
Jeff,
the following patches replace current PowerPC 4xx EMAC driver with new, re-written version.
New driver uses NAPI, it solves 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 were just posted to linuxppc-dev and linuxppc-embedded mail lists.
Patch was acked by the current EMAC driver maintainer (Matt Porter). I will be maintaining this new version.
PATCH 1/2 New PowerPC 4xx on-chip ethernet controller driver
Remove old PPC4xx EMAC driver
---
drivers/net/Kconfig | 34 - drivers/net/ibm_emac/Makefile | 12 drivers/net/ibm_emac/ibm_emac.h | 267 ---- drivers/net/ibm_emac/ibm_emac_core.c | 2011 --------------------------------- drivers/net/ibm_emac/ibm_emac_core.h | 146 -- drivers/net/ibm_emac/ibm_emac_debug.c | 224 ---- drivers/net/ibm_emac/ibm_emac_mal.c | 463 -------- drivers/net/ibm_emac/ibm_emac_mal.h | 131 -- drivers/net/ibm_emac/ibm_emac_phy.c | 298 ----- drivers/net/ibm_emac/ibm_emac_phy.h | 137 -- drivers/net/ibm_emac/ibm_emac_rgmii.h | 65 - drivers/net/ibm_emac/ibm_emac_tah.h | 48 - drivers/net/ibm_emac/ibm_emac_zmii.h | 93 -- 13 files changed, 0 insertions(+), 3929 deletions(-)
Patch is quite big (110K) and not interesting, it can be found at
PATCH 2/2 New PowerPC 4xx on-chip ethernet controller driver
Add new PPC 4xx NAPI EMAC driver
---
drivers/net/Kconfig | 70 + drivers/net/ibm_emac/Makefile | 11 drivers/net/ibm_emac/ibm_emac.h | 309 +++++ drivers/net/ibm_emac/ibm_emac_core.c | 2248 +++++++++++++++++++++++++++++++++ drivers/net/ibm_emac/ibm_emac_core.h | 221 +++ drivers/net/ibm_emac/ibm_emac_debug.c | 213 +++ drivers/net/ibm_emac/ibm_emac_debug.h | 63 + drivers/net/ibm_emac/ibm_emac_mal.c | 584 +++++++++ drivers/net/ibm_emac/ibm_emac_mal.h | 267 ++++ drivers/net/ibm_emac/ibm_emac_phy.c | 355 +++++ drivers/net/ibm_emac/ibm_emac_phy.h | 80 + drivers/net/ibm_emac/ibm_emac_rgmii.c | 202 +++ drivers/net/ibm_emac/ibm_emac_rgmii.h | 65 + drivers/net/ibm_emac/ibm_emac_tah.c | 111 ++ drivers/net/ibm_emac/ibm_emac_tah.h | 88 + drivers/net/ibm_emac/ibm_emac_zmii.c | 256 ++++ drivers/net/ibm_emac/ibm_emac_zmii.h | 83 + 17 files changed, 5226 insertions(+), 0 deletions(-)
Patch is quite big (146K) and can be found at
http://kernel.ebshome.net/emac/06-add_napi_ibm_emac.diff
I can post it to the mail list for discussion, just let me know.
Quoted 3 lines · Eugene Surovegin
Remove old PPC4xx EMAC driver
Signed-off-by Eugene Surovegin <[email protected]>
Please post a diff, along with a description of the changes.
One huge patch to "remove emac driver" and another huge patch to "add emac driver" is quite silly.
Jeff
Quoted 9 lines · Jeff Garzik
Quoted 3 lines · Eugene Surovegin
Remove old PPC4xx EMAC driver
Signed-off-by Eugene Surovegin <[email protected]>Please post a diff, along with a description of the changes.
One huge patch to "remove emac driver" and another huge patch to "add emac driver" is quite silly.
Jeff, it's not silly. I can post combined patch, but you won't be able to read it (and combined patch is still big).
As I said, it's a _complete_ re-write. It's a _new_ driver, not just some "changes". Description of what was done was in the first e-mail.
I've split it into two parts specifically, so _you_ will be able to read new patch and comment on it.
Signature · 1 line
Eugene
PATCH 1/1 New PowerPC 4xx on-chip ethernet controller driver
In reply to Jeff GarzikQuoted 9 lines · Jeff Garzik
Quoted 3 lines · Eugene Surovegin
Remove old PPC4xx EMAC driver
Signed-off-by Eugene Surovegin <[email protected]>Please post a diff, along with a description of the changes.
One huge patch to "remove emac driver" and another huge patch to "add emac driver" is quite silly.
This patch replaces current PowerPC 4xx EMAC driver with new, re-written 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.
--
Kconfig | 72 ibm_emac/Makefile | 13 ibm_emac/ibm_emac.h | 418 +++-- ibm_emac/ibm_emac_core.c | 3391 ++++++++++++++++++++++++---------------------- 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 | 671 +++++---- 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 | 202 ++ 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 | 256 +++ ibm_emac/ibm_emac_zmii.h | 114 - 17 files changed, 4119 insertions(+), 2822 deletions(-)
Patch is quite big (~234K) because there is virtualy 0% of common code between old and new version.
It can be found at http://kernel.ebshome.net/emac/4xx_napi_emac.diff