summaryrefslogtreecommitdiff
path: root/recipes-kernel/linux/linux-toradex-mainline-4.9/0002-igb-integrate-tools-only-device-support.patch
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-kernel/linux/linux-toradex-mainline-4.9/0002-igb-integrate-tools-only-device-support.patch')
-rw-r--r--recipes-kernel/linux/linux-toradex-mainline-4.9/0002-igb-integrate-tools-only-device-support.patch74
1 files changed, 74 insertions, 0 deletions
diff --git a/recipes-kernel/linux/linux-toradex-mainline-4.9/0002-igb-integrate-tools-only-device-support.patch b/recipes-kernel/linux/linux-toradex-mainline-4.9/0002-igb-integrate-tools-only-device-support.patch
new file mode 100644
index 0000000..f4e85db
--- /dev/null
+++ b/recipes-kernel/linux/linux-toradex-mainline-4.9/0002-igb-integrate-tools-only-device-support.patch
@@ -0,0 +1,74 @@
+From 11901a29054e437c9f9241382512faf276f08df4 Mon Sep 17 00:00:00 2001
+From: Marcel Ziswiler <marcel.ziswiler@toradex.com>
+Date: Thu, 15 Dec 2016 10:55:11 +0100
+Subject: [PATCH 2/4] igb: integrate tools only device support
+
+Springville/i211 with a blank Flash/iNVM use different PCI IDs. Extend
+the driver to load despite i210/i211 data sheets claiming tools only,
+not for driver.
+
+Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
+Acked-by: Dominik Sliwa <dominik.sliwa@toradex.com>
+
+(cherry picked from toradex_tk1_l4t_r21.5 commit
+783780c43fd4e1473fb64790c8b9e0adb2be04a3)
+(cherry picked from tegra commit
+2c7123458270c9b3ec9b5ed668f9d55a7f8dbad9)
+
+---
+
+ drivers/net/ethernet/intel/igb/e1000_82575.c | 2 ++
+ drivers/net/ethernet/intel/igb/e1000_hw.h | 2 ++
+ drivers/net/ethernet/intel/igb/igb_main.c | 2 ++
+ 3 files changed, 6 insertions(+)
+
+diff --git a/drivers/net/ethernet/intel/igb/e1000_82575.c b/drivers/net/ethernet/intel/igb/e1000_82575.c
+index a61447f..53d9ae7 100644
+--- a/drivers/net/ethernet/intel/igb/e1000_82575.c
++++ b/drivers/net/ethernet/intel/igb/e1000_82575.c
+@@ -610,6 +610,7 @@ static s32 igb_get_invariants_82575(struct e1000_hw *hw)
+ case E1000_DEV_ID_I350_SGMII:
+ mac->type = e1000_i350;
+ break;
++ case E1000_DEV_ID_I210_TOOLS_ONLY:
+ case E1000_DEV_ID_I210_COPPER:
+ case E1000_DEV_ID_I210_FIBER:
+ case E1000_DEV_ID_I210_SERDES:
+@@ -618,6 +619,7 @@ static s32 igb_get_invariants_82575(struct e1000_hw *hw)
+ case E1000_DEV_ID_I210_SERDES_FLASHLESS:
+ 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 2fb2213..69ebb81 100644
+--- a/drivers/net/ethernet/intel/igb/e1000_hw.h
++++ b/drivers/net/ethernet/intel/igb/e1000_hw.h
+@@ -58,6 +58,8 @@ struct e1000_hw;
+ #define E1000_DEV_ID_I350_FIBER 0x1522
+ #define E1000_DEV_ID_I350_SERDES 0x1523
+ #define E1000_DEV_ID_I350_SGMII 0x1524
++#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_FIBER 0x1536
+ #define E1000_DEV_ID_I210_SERDES 0x1537
+diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
+index a761001..680abcd 100644
+--- a/drivers/net/ethernet/intel/igb/igb_main.c
++++ b/drivers/net/ethernet/intel/igb/igb_main.c
+@@ -77,7 +77,9 @@ 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_I211_TOOLS_ONLY), board_82575 },
+ { PCI_VDEVICE(INTEL, E1000_DEV_ID_I211_COPPER), board_82575 },
++ { PCI_VDEVICE(INTEL, E1000_DEV_ID_I210_TOOLS_ONLY), board_82575 },
+ { PCI_VDEVICE(INTEL, E1000_DEV_ID_I210_COPPER), board_82575 },
+ { PCI_VDEVICE(INTEL, E1000_DEV_ID_I210_FIBER), board_82575 },
+ { PCI_VDEVICE(INTEL, E1000_DEV_ID_I210_SERDES), board_82575 },
+--
+2.9.3
+