e1000: hardware init layer update, new internal API
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest18 of 19 patches 2 repliesIn review
18 of 19 patches are in this archive. The cover letter announces 19.
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/19 | e1000: introduce new driver internal hardware APIdrivers/ drivers/ | +1334 | 0 replies | |
| 2/19 | e1000: MAC specific parts of the new hardware layer codedrivers/ drivers/ | +2023 | 0 replies | |
| 3/19 | e1000: PHY specific new hardware layer codedrivers/ drivers/ | +2092 | 0 replies | |
| 4/19 | e1000: NVM specific hardware initialization codedrivers/ drivers/ | +919 | 0 replies | |
| 5/19 | e1000: Add manageability specific hardware initialization codedrivers/ drivers/ | +467 | 0 replies | |
| 6/19 | e1000: Add new register set codedrivers/ | +261 | 0 replies | |
| 7/19 | e1000: collect defines and macro'sdrivers/ | +1303 | 0 replies | |
| 9/19 | e1000: Add 82542 specific hardware code.drivers/ | +551 | 0 replies | |
| 10/19 | e1000: Add 82543 specific hardware code.drivers/ drivers/ | +1688 | 0 replies | |
| 11/19 | e1000: Add 82540 specific hardware code.drivers/ | +670 | 0 replies | |
| 12/19 | e1000: Add 82541 specific hardware code.drivers/ drivers/ | +1391 | 0 replies | |
| 13/19 | e1000: Add 82571 specific hardware code.drivers/ drivers/ | +1375 | 0 replies | |
| 14/19 | e1000: Add 80003es2lan (ESB2) specific hardware code.drivers/ drivers/ | +1466 | 0 replies | |
| 15/19 | e1000: Add ICH8 lan specific hardware code.drivers/ drivers/ | +2553 | 0 replies | |
| 16/19 | e1000: add new chipset-specific files and api files to the Makefiledrivers/ | +16 | 0 replies | |
| 17/19 | e1000: convert entire driver to new register namingdrivers/ drivers/ drivers/ +1 more | +380 | 0 replies | |
| 18/19 | e1000: adapter struct changes, new phy/mac substructsdrivers/ drivers/ drivers/ +1 more | +368 | 0 replies | |
| 19/19 | e1000: major part of the new API changesdrivers/ drivers/ | +160 | 2 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [PATCH 00/19] e1000: hardware init layer update, new internal API
Hi,
This single patch split out over several e-mails creates an e1000 hardware- independent API for accessing MAC, PHY, NVM and manageability.
The API adds function pointers for common entry points into the code and relieves the driver from doing lots of mac_type switch statements, allowing us to minimize the risk of introducing regressions when adding new hardware support to e1000. Code path separation also will allow us in the future to specifically enable only support for chipsets that the user needs in the case of embedded systems.
The e1000 family of adapters currently consists of 7 distinctly different adapters. The family-specific code has been split out into one file per family. PHY, NVM and manageability infrastructure code has also been split out in a separate file per component.
This change forces us to rewrite some of the register sets, particularly since the e1000 chipsets currently operate with two completely different register mappings. All the generic register defines are extracted into a separate container, while maintaining compatibility with the 82542 register set.
This patch is dependent on both the upstream and e1000-fixes branch of jgarzik/netdev-2.6.
The entire set of changes is available as a single git-commit to allow regression testing and bisecting to work as expected, but for convencience split up into several e-mails. Patch #7 will be missing from the netdev ML since it exceeds 100k, but it contains the removal of e1000_hw.c, and as such should not be missed too much.
For convenience, all the patches can be viewed together with other patches in my queue here:
http://foo-projects.org/~sofar/patches-20070327/
---
Jeff,
Please consider pulling from:
git://lost.foo-projects.org/~ahkok/git/netdev-2.6 e1000
Which is a tree based on both the e1000-fixes (prerequisite to this patch) and your upstream tree.
---
--- drivers/net/e1000/Makefile | 18 +- drivers/net/e1000/e1000.h | 7 + drivers/net/e1000/e1000_80003es2lan.c | 1377 +++++ drivers/net/e1000/e1000_80003es2lan.h | 89 + drivers/net/e1000/e1000_82540.c | 670 +++ drivers/net/e1000/e1000_82541.c | 1305 +++++ drivers/net/e1000/e1000_82541.h | 86 + drivers/net/e1000/e1000_82542.c | 551 ++ drivers/net/e1000/e1000_82543.c | 1643 ++++++ drivers/net/e1000/e1000_82543.h | 45 + drivers/net/e1000/e1000_82571.c | 1333 +++++ drivers/net/e1000/e1000_82571.h | 42 + drivers/net/e1000/e1000_api.c | 1174 +++++ drivers/net/e1000/e1000_api.h | 160 + drivers/net/e1000/e1000_defines.h | 1303 +++++ drivers/net/e1000/e1000_ethtool.c | 503 ++- drivers/net/e1000/e1000_hw.c | 9038 --------------------------------- drivers/net/e1000/e1000_hw.h | 3857 +++------------ drivers/net/e1000/e1000_ich8lan.c | 2443 +++++++++ drivers/net/e1000/e1000_ich8lan.h | 110 + drivers/net/e1000/e1000_mac.c | 1939 +++++++ drivers/net/e1000/e1000_mac.h | 84 + drivers/net/e1000/e1000_main.c | 1034 ++-- drivers/net/e1000/e1000_manage.c | 384 ++ drivers/net/e1000/e1000_manage.h | 83 + drivers/net/e1000/e1000_nvm.c | 859 ++++ drivers/net/e1000/e1000_nvm.h | 60 + drivers/net/e1000/e1000_osdep.h | 52 +- drivers/net/e1000/e1000_param.c | 98 +- drivers/net/e1000/e1000_phy.c | 1933 +++++++ drivers/net/e1000/e1000_phy.h | 159 + drivers/net/e1000/e1000_regs.h | 261 + 32 files changed, 19582 insertions(+), 13118 deletions(-) create mode 100644 drivers/net/e1000/e1000_80003es2lan.c create mode 100644 drivers/net/e1000/e1000_80003es2lan.h create mode 100644 drivers/net/e1000/e1000_82540.c create mode 100644 drivers/net/e1000/e1000_82541.c create mode 100644 drivers/net/e1000/e1000_82541.h create mode 100644 drivers/net/e1000/e1000_82542.c create mode 100644 drivers/net/e1000/e1000_82543.c create mode 100644 drivers/net/e1000/e1000_82543.h create mode 100644 drivers/net/e1000/e1000_82571.c create mode 100644 drivers/net/e1000/e1000_82571.h create mode 100644 drivers/net/e1000/e1000_api.c create mode 100644 drivers/net/e1000/e1000_api.h create mode 100644 drivers/net/e1000/e1000_defines.h delete mode 100644 drivers/net/e1000/e1000_hw.c create mode 100644 drivers/net/e1000/e1000_ich8lan.c create mode 100644 drivers/net/e1000/e1000_ich8lan.h create mode 100644 drivers/net/e1000/e1000_mac.c create mode 100644 drivers/net/e1000/e1000_mac.h create mode 100644 drivers/net/e1000/e1000_manage.c create mode 100644 drivers/net/e1000/e1000_manage.h create mode 100644 drivers/net/e1000/e1000_nvm.c create mode 100644 drivers/net/e1000/e1000_nvm.h create mode 100644 drivers/net/e1000/e1000_phy.c create mode 100644 drivers/net/e1000/e1000_phy.h create mode 100644 drivers/net/e1000/e1000_regs.h
---
Auke Kok <[email protected]>