Skip to contentSkip to conversation

New PowerPC 4xx on-chip ethernet controller driver

PATCH In review Eugene Surovegin 2 participants 6 messages Aug 31, 2005 – Sep 14, 2005

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

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.

#1 lore raw

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

http://kernel.ebshome.net/emac/05-remove_old_ibm_emac.diff

#2 lore raw

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.

#4 lore raw
Quoted 9 lines · Jeff Garzik
Quoted 3 lines · Eugene Surovegin

Remove old PPC4xx EMAC driver

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
#5 lore raw

PATCH 1/1 New PowerPC 4xx on-chip ethernet controller driver

In reply to Jeff Garzik
Quoted 9 lines · Jeff Garzik
Quoted 3 lines · Eugene Surovegin

Remove old PPC4xx EMAC driver

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