summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Ziswiler <marcel.ziswiler@toradex.com>2015-04-02 12:44:26 +0200
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2016-06-29 16:47:48 +0200
commit783780c43fd4e1473fb64790c8b9e0adb2be04a3 (patch)
tree623c3dda2f21061ebecdcccb1cfb2bfa929e9c8d
parent62727e49a204b1b32358bac164836d54f692bed0 (diff)
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. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com> (cherry picked from commit 2c7123458270c9b3ec9b5ed668f9d55a7f8dbad9)
-rw-r--r--drivers/net/ethernet/intel/igb/e1000_api.c2
-rw-r--r--drivers/net/ethernet/intel/igb/e1000_hw.h2
-rw-r--r--drivers/net/ethernet/intel/igb/igb_main.c2
-rw-r--r--drivers/net/ethernet/intel/igb/kcompat.h4
4 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/igb/e1000_api.c b/drivers/net/ethernet/intel/igb/e1000_api.c
index 54faa6867b88..a74ab59aafb8 100644
--- a/drivers/net/ethernet/intel/igb/e1000_api.c
+++ b/drivers/net/ethernet/intel/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/ethernet/intel/igb/e1000_hw.h b/drivers/net/ethernet/intel/igb/e1000_hw.h
index 3bcecf19b8a2..9e4dfc3a822e 100644
--- a/drivers/net/ethernet/intel/igb/e1000_hw.h
+++ b/drivers/net/ethernet/intel/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/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
index 6673b556c788..3264e73007e9 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/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/ethernet/intel/igb/kcompat.h b/drivers/net/ethernet/intel/igb/kcompat.h
index ceabd8169a7f..4ed9e19a1b3a 100644
--- a/drivers/net/ethernet/intel/igb/kcompat.h
+++ b/drivers/net/ethernet/intel/igb/kcompat.h
@@ -3657,6 +3657,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 */
/*****************************************************************************/