netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/19] e1000: hardware init layer update, new internal API
@ 2007-03-29 16:33 Kok, Auke
  2007-03-29 16:39 ` [PATCH 01/19] e1000: introduce new driver internal hardware API Auke Kok
                   ` (17 more replies)
  0 siblings, 18 replies; 21+ messages in thread
From: Kok, Auke @ 2007-03-29 16:33 UTC (permalink / raw)
  To: jeff
  Cc: auke-jan.h.kok, bruce.w.allan, jeffrey.t.kirsher,
	jesse.brandeburg, cramerj, john.ronciak, arjan.van.de.ven, akpm,
	netdev


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.

---
Signed-off-by: Bruce Allan <bruce.w.allan@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Jeb Cramer <cramerj@intel.com>
Signed-off-by: John Ronciak <john.ronciak@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>

---
 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 <auke-jan.h.kok@intel.com>

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2007-03-30 20:56 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-03-29 16:33 [PATCH 00/19] e1000: hardware init layer update, new internal API Kok, Auke
2007-03-29 16:39 ` [PATCH 01/19] e1000: introduce new driver internal hardware API Auke Kok
2007-03-29 16:39 ` [PATCH 02/19] e1000: MAC specific parts of the new hardware layer code Auke Kok
2007-03-29 16:40 ` [PATCH 03/19] e1000: PHY specific " Auke Kok
2007-03-29 16:40 ` [PATCH 04/19] e1000: NVM specific hardware initialization code Auke Kok
2007-03-29 16:40 ` [PATCH 05/19] e1000: Add manageability " Auke Kok
2007-03-29 16:40 ` [PATCH 06/19] e1000: Add new register set code Auke Kok
2007-03-29 16:40 ` [PATCH 07/19] e1000: collect defines and macro's Auke Kok
2007-03-29 16:40 ` [PATCH 09/19] e1000: Add 82542 specific hardware code Auke Kok
2007-03-29 16:40 ` [PATCH 10/19] e1000: Add 82543 " Auke Kok
2007-03-29 16:40 ` [PATCH 11/19] e1000: Add 82540 " Auke Kok
2007-03-29 16:40 ` [PATCH 12/19] e1000: Add 82541 " Auke Kok
2007-03-29 16:40 ` [PATCH 13/19] e1000: Add 82571 " Auke Kok
2007-03-29 16:40 ` [PATCH 14/19] e1000: Add 80003es2lan (ESB2) " Auke Kok
2007-03-29 16:40 ` [PATCH 15/19] e1000: Add ICH8 lan " Auke Kok
2007-03-29 16:40 ` [PATCH 16/19] e1000: add new chipset-specific files and api files to the Makefile Auke Kok
2007-03-29 16:40 ` [PATCH 17/19] e1000: convert entire driver to new register naming Auke Kok
2007-03-29 16:40 ` [PATCH 18/19] e1000: adapter struct changes, new phy/mac substructs Auke Kok
2007-03-29 16:40 ` [PATCH 19/19] e1000: major part of the new API changes Auke Kok
2007-03-30 20:19   ` Stephen Hemminger
2007-03-30 20:56     ` Kok, Auke

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).