From 2c7123458270c9b3ec9b5ed668f9d55a7f8dbad9 Mon Sep 17 00:00:00 2001 From: Marcel Ziswiler Date: Thu, 2 Apr 2015 12:44:26 +0200 Subject: igb: integrate tools only device support Springville/i211 with a blank Flash/iNVM use a different PCI ID (tools only, not for driver) than properly programmed ones. While at it also fix ethtool time stamping as well as RX flow hash indirection functionality. --- drivers/net/igb/e1000_api.c | 2 ++ drivers/net/igb/e1000_hw.h | 2 ++ drivers/net/igb/igb_main.c | 2 ++ drivers/net/igb/kcompat.h | 4 ++++ 4 files changed, 10 insertions(+) (limited to 'drivers') diff --git a/drivers/net/igb/e1000_api.c b/drivers/net/igb/e1000_api.c index 984a36b61a1a..8d397f9363f9 100644 --- a/drivers/net/igb/e1000_api.c +++ b/drivers/net/igb/e1000_api.c @@ -181,6 +181,7 @@ s32 e1000_set_mac_type(struct e1000_hw *hw) break; case E1000_DEV_ID_I210_COPPER_FLASHLESS: case E1000_DEV_ID_I210_SERDES_FLASHLESS: + case E1000_DEV_ID_I210_TOOLS_ONLY: case E1000_DEV_ID_I210_COPPER: case E1000_DEV_ID_I210_COPPER_OEM1: case E1000_DEV_ID_I210_COPPER_IT: @@ -189,6 +190,7 @@ s32 e1000_set_mac_type(struct e1000_hw *hw) case E1000_DEV_ID_I210_SGMII: mac->type = e1000_i210; break; + case E1000_DEV_ID_I211_TOOLS_ONLY: case E1000_DEV_ID_I211_COPPER: mac->type = e1000_i211; break; diff --git a/drivers/net/igb/e1000_hw.h b/drivers/net/igb/e1000_hw.h index 534bb8ef38ea..7e42c1e6aa0b 100644 --- a/drivers/net/igb/e1000_hw.h +++ b/drivers/net/igb/e1000_hw.h @@ -53,6 +53,8 @@ struct e1000_hw; #define E1000_DEV_ID_I350_SERDES 0x1523 #define E1000_DEV_ID_I350_SGMII 0x1524 #define E1000_DEV_ID_I350_DA4 0x1546 +#define E1000_DEV_ID_I210_TOOLS_ONLY 0x1531 +#define E1000_DEV_ID_I211_TOOLS_ONLY 0x1532 #define E1000_DEV_ID_I210_COPPER 0x1533 #define E1000_DEV_ID_I210_COPPER_OEM1 0x1534 #define E1000_DEV_ID_I210_COPPER_IT 0x1535 diff --git a/drivers/net/igb/igb_main.c b/drivers/net/igb/igb_main.c index b313ee1cefdb..84dfd6c061d2 100644 --- a/drivers/net/igb/igb_main.c +++ b/drivers/net/igb/igb_main.c @@ -77,12 +77,14 @@ static const struct pci_device_id igb_pci_tbl[] = { { PCI_VDEVICE(INTEL, E1000_DEV_ID_I354_BACKPLANE_1GBPS) }, { PCI_VDEVICE(INTEL, E1000_DEV_ID_I354_SGMII) }, { PCI_VDEVICE(INTEL, E1000_DEV_ID_I354_BACKPLANE_2_5GBPS) }, + { PCI_VDEVICE(INTEL, E1000_DEV_ID_I210_TOOLS_ONLY) }, { PCI_VDEVICE(INTEL, E1000_DEV_ID_I210_COPPER) }, { PCI_VDEVICE(INTEL, E1000_DEV_ID_I210_FIBER) }, { PCI_VDEVICE(INTEL, E1000_DEV_ID_I210_SERDES) }, { PCI_VDEVICE(INTEL, E1000_DEV_ID_I210_SGMII) }, { PCI_VDEVICE(INTEL, E1000_DEV_ID_I210_COPPER_FLASHLESS) }, { PCI_VDEVICE(INTEL, E1000_DEV_ID_I210_SERDES_FLASHLESS) }, + { PCI_VDEVICE(INTEL, E1000_DEV_ID_I211_TOOLS_ONLY) }, { PCI_VDEVICE(INTEL, E1000_DEV_ID_I211_COPPER) }, { PCI_VDEVICE(INTEL, E1000_DEV_ID_I350_COPPER) }, { PCI_VDEVICE(INTEL, E1000_DEV_ID_I350_FIBER) }, diff --git a/drivers/net/igb/kcompat.h b/drivers/net/igb/kcompat.h index f3f8261a751e..da6eff894683 100644 --- a/drivers/net/igb/kcompat.h +++ b/drivers/net/igb/kcompat.h @@ -3576,6 +3576,10 @@ static inline int _kc_kstrtol_from_user(const char __user *s, size_t count, #ifndef HAVE_DCBNL_IEEE_DELAPP #define HAVE_DCBNL_IEEE_DELAPP #endif +#ifdef CONFIG_MACH_APALIS_T30 +#define HAVE_ETHTOOL_GET_TS_INFO +#define HAVE_ETHTOOL_GRXFHINDIR_SIZE +#endif #endif /* < 3.1.0 */ /*****************************************************************************/ -- cgit v1.2.3