This series adds support for the new igc driver. The igc driver is the new client driver supporting the Intel I225 Ethernet Controller, which supports 2.5GbE speeds. The reason for creating a new client driver, instead of adding support for the new device in e1000e, is that the silicon behaves more like devices supported in igb driver. It also did not make sense to add a client part, to the igb driver which supports only 1GbE server parts.
This initial set of patches is designed for basic support (i.e. link and pass traffic). Follow-on patch series will add more advanced support like VLAN, Wake-on-LAN, etc.. The following are changes since commit aadd4355918fe6e9044a9042fa5968e0a0901681: tcp, ulp: remove socket lock assertion on ULP cleanup and are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue 1GbE Sasha Neftin (11): igc: Add skeletal frame for Intel(R) 2.5G Ethernet Controller support igc: Add support for PF igc: Add netdev igc: Add interrupt support igc: Add support for Tx/Rx rings igc: Add transmit and receive fastpath and interrupt handlers igc: Add HW initialization code igc: Add NVM support igc: Add code for PHY support igc: Add setup link functionality igc: Add watchdog drivers/net/ethernet/intel/Kconfig | 16 + drivers/net/ethernet/intel/Makefile | 1 + drivers/net/ethernet/intel/igc/Makefile | 10 + drivers/net/ethernet/intel/igc/igc.h | 443 ++ drivers/net/ethernet/intel/igc/igc_base.c | 541 +++ drivers/net/ethernet/intel/igc/igc_base.h | 107 + drivers/net/ethernet/intel/igc/igc_defines.h | 389 ++ drivers/net/ethernet/intel/igc/igc_hw.h | 321 ++ drivers/net/ethernet/intel/igc/igc_i225.c | 490 +++ drivers/net/ethernet/intel/igc/igc_i225.h | 13 + drivers/net/ethernet/intel/igc/igc_mac.c | 806 ++++ drivers/net/ethernet/intel/igc/igc_mac.h | 41 + drivers/net/ethernet/intel/igc/igc_main.c | 3901 ++++++++++++++++++ drivers/net/ethernet/intel/igc/igc_nvm.c | 215 + drivers/net/ethernet/intel/igc/igc_nvm.h | 14 + drivers/net/ethernet/intel/igc/igc_phy.c | 791 ++++ drivers/net/ethernet/intel/igc/igc_phy.h | 21 + drivers/net/ethernet/intel/igc/igc_regs.h | 221 + 18 files changed, 8341 insertions(+) create mode 100644 drivers/net/ethernet/intel/igc/Makefile create mode 100644 drivers/net/ethernet/intel/igc/igc.h create mode 100644 drivers/net/ethernet/intel/igc/igc_base.c create mode 100644 drivers/net/ethernet/intel/igc/igc_base.h create mode 100644 drivers/net/ethernet/intel/igc/igc_defines.h create mode 100644 drivers/net/ethernet/intel/igc/igc_hw.h create mode 100644 drivers/net/ethernet/intel/igc/igc_i225.c create mode 100644 drivers/net/ethernet/intel/igc/igc_i225.h create mode 100644 drivers/net/ethernet/intel/igc/igc_mac.c create mode 100644 drivers/net/ethernet/intel/igc/igc_mac.h create mode 100644 drivers/net/ethernet/intel/igc/igc_main.c create mode 100644 drivers/net/ethernet/intel/igc/igc_nvm.c create mode 100644 drivers/net/ethernet/intel/igc/igc_nvm.h create mode 100644 drivers/net/ethernet/intel/igc/igc_phy.c create mode 100644 drivers/net/ethernet/intel/igc/igc_phy.h create mode 100644 drivers/net/ethernet/intel/igc/igc_regs.h -- 2.17.2