Ticket #11963: 0001-11963-Add-missing-PCI-IDs-to-ipro1000.patch
File 0001-11963-Add-missing-PCI-IDs-to-ipro1000.patch, 14.0 KB (added by , 8 years ago) |
---|
-
src/add-ons/kernel/drivers/network/ipro1000/dev/e1000/e1000_api.c
From f04650f3d73850d3992de675fca9efceefdb2bf3 Mon Sep 17 00:00:00 2001 From: Mictlantecuhtli <mict014@hotmail.com> Date: Sat, 31 Dec 2016 17:38:25 +0200 Subject: [PATCH] #11963: Add missing PCI IDs to ipro1000 --- .../drivers/network/ipro1000/dev/e1000/e1000_api.c | 4 + .../drivers/network/ipro1000/dev/e1000/e1000_hw.h | 4 + .../network/ipro1000/dev/e1000/e1000_ich8lan.c | 4 + .../drivers/network/ipro1000/dev/e1000/if_em.c | 92 +++++++++++++++++++ .../kernel/drivers/network/ipro1000/driver.c | 100 +++++++++++++++++++++ 5 files changed, 204 insertions(+) diff --git a/src/add-ons/kernel/drivers/network/ipro1000/dev/e1000/e1000_api.c b/src/add-ons/kernel/drivers/network/ipro1000/dev/e1000/e1000_api.c index 1581913..d77237e 100644
a b s32 e1000_set_mac_type(struct e1000_hw *hw) 293 293 case E1000_DEV_ID_PCH_LPT_I217_V: 294 294 case E1000_DEV_ID_PCH_LPTLP_I218_LM: 295 295 case E1000_DEV_ID_PCH_LPTLP_I218_V: 296 case E1000_DEV_ID_PCH_I218_LM2: 297 case E1000_DEV_ID_PCH_I218_V2: 298 case E1000_DEV_ID_PCH_I218_LM3: 299 case E1000_DEV_ID_PCH_I218_V3: 296 300 mac->type = e1000_pch_lpt; 297 301 break; 298 302 case E1000_DEV_ID_82575EB_COPPER: -
src/add-ons/kernel/drivers/network/ipro1000/dev/e1000/e1000_hw.h
diff --git a/src/add-ons/kernel/drivers/network/ipro1000/dev/e1000/e1000_hw.h b/src/add-ons/kernel/drivers/network/ipro1000/dev/e1000/e1000_hw.h index e8a8c17..99a9c75 100644
a b struct e1000_hw; 170 170 #define E1000_DEV_ID_DH89XXCC_SERDES 0x043A 171 171 #define E1000_DEV_ID_DH89XXCC_BACKPLANE 0x043C 172 172 #define E1000_DEV_ID_DH89XXCC_SFP 0x0440 173 #define E1000_DEV_ID_PCH_I218_LM2 0x15A0 174 #define E1000_DEV_ID_PCH_I218_V2 0x15A1 175 #define E1000_DEV_ID_PCH_I218_LM3 0x15A2 176 #define E1000_DEV_ID_PCH_I218_V3 0x15A3 173 177 174 178 #define E1000_REVISION_0 0 175 179 #define E1000_REVISION_1 1 -
src/add-ons/kernel/drivers/network/ipro1000/dev/e1000/e1000_ich8lan.c
diff --git a/src/add-ons/kernel/drivers/network/ipro1000/dev/e1000/e1000_ich8lan.c b/src/add-ons/kernel/drivers/network/ipro1000/dev/e1000/e1000_ich8lan.c index bd94355..65efa07 100644
a b static s32 e1000_check_for_copper_link_ich8lan(struct e1000_hw *hw) 1146 1146 1147 1147 /* Work-around I218 hang issue */ 1148 1148 if ((hw->device_id == E1000_DEV_ID_PCH_LPTLP_I218_LM) || 1149 (hw->device_id == E1000_DEV_ID_PCH_I218_LM3) || 1150 (hw->device_id == E1000_DEV_ID_PCH_I218_V3) || 1149 1151 (hw->device_id == E1000_DEV_ID_PCH_LPTLP_I218_V)) { 1150 1152 ret_val = e1000_k1_workaround_lpt_lp(hw, link); 1151 1153 if (ret_val) … … void e1000_suspend_workarounds_ich8lan(struct e1000_hw *hw) 4479 4481 u16 phy_reg, device_id = hw->device_id; 4480 4482 4481 4483 if ((device_id == E1000_DEV_ID_PCH_LPTLP_I218_LM) || 4484 (device_id == E1000_DEV_ID_PCH_I218_LM3) || 4485 (device_id == E1000_DEV_ID_PCH_I218_V3) || 4482 4486 (device_id == E1000_DEV_ID_PCH_LPTLP_I218_V)) { 4483 4487 u32 fextnvm6 = E1000_READ_REG(hw, E1000_FEXTNVM6); 4484 4488 -
src/add-ons/kernel/drivers/network/ipro1000/dev/e1000/if_em.c
diff --git a/src/add-ons/kernel/drivers/network/ipro1000/dev/e1000/if_em.c b/src/add-ons/kernel/drivers/network/ipro1000/dev/e1000/if_em.c index 1a53b4a..9cd9763 100644
a b char em_driver_version[] = "7.3.8"; 116 116 static em_vendor_info_t em_vendor_info_array[] = 117 117 { 118 118 /* Intel(R) PRO/1000 Network Connection */ 119 { 0x8086, E1000_DEV_ID_82542, PCI_ANY_ID, PCI_ANY_ID, 0}, 120 { 0x8086, E1000_DEV_ID_82543GC_FIBER, PCI_ANY_ID, PCI_ANY_ID, 0}, 121 { 0x8086, E1000_DEV_ID_82543GC_COPPER, PCI_ANY_ID, PCI_ANY_ID, 0}, 122 { 0x8086, E1000_DEV_ID_82544EI_COPPER, PCI_ANY_ID, PCI_ANY_ID, 0}, 123 { 0x8086, E1000_DEV_ID_82544EI_FIBER, PCI_ANY_ID, PCI_ANY_ID, 0}, 124 { 0x8086, E1000_DEV_ID_82544GC_COPPER, PCI_ANY_ID, PCI_ANY_ID, 0}, 125 { 0x8086, E1000_DEV_ID_82544GC_LOM, PCI_ANY_ID, PCI_ANY_ID, 0}, 126 { 0x8086, E1000_DEV_ID_82540EM, PCI_ANY_ID, PCI_ANY_ID, 0}, 127 { 0x8086, E1000_DEV_ID_82540EM_LOM, PCI_ANY_ID, PCI_ANY_ID, 0}, 128 { 0x8086, E1000_DEV_ID_82540EP_LOM, PCI_ANY_ID, PCI_ANY_ID, 0}, 129 { 0x8086, E1000_DEV_ID_82540EP, PCI_ANY_ID, PCI_ANY_ID, 0}, 130 { 0x8086, E1000_DEV_ID_82540EP_LP, PCI_ANY_ID, PCI_ANY_ID, 0}, 131 { 0x8086, E1000_DEV_ID_82545EM_COPPER, PCI_ANY_ID, PCI_ANY_ID, 0}, 132 { 0x8086, E1000_DEV_ID_82545EM_FIBER, PCI_ANY_ID, PCI_ANY_ID, 0}, 133 { 0x8086, E1000_DEV_ID_82545GM_COPPER, PCI_ANY_ID, PCI_ANY_ID, 0}, 134 { 0x8086, E1000_DEV_ID_82545GM_FIBER, PCI_ANY_ID, PCI_ANY_ID, 0}, 135 { 0x8086, E1000_DEV_ID_82545GM_SERDES, PCI_ANY_ID, PCI_ANY_ID, 0}, 136 { 0x8086, E1000_DEV_ID_82546EB_COPPER, PCI_ANY_ID, PCI_ANY_ID, 0}, 137 { 0x8086, E1000_DEV_ID_82546EB_FIBER, PCI_ANY_ID, PCI_ANY_ID, 0}, 138 { 0x8086, E1000_DEV_ID_82546EB_QUAD_COPPER, 139 PCI_ANY_ID, PCI_ANY_ID, 0}, 140 { 0x8086, E1000_DEV_ID_82546GB_COPPER, PCI_ANY_ID, PCI_ANY_ID, 0}, 141 { 0x8086, E1000_DEV_ID_82546GB_FIBER, PCI_ANY_ID, PCI_ANY_ID, 0}, 142 { 0x8086, E1000_DEV_ID_82546GB_SERDES, PCI_ANY_ID, PCI_ANY_ID, 0}, 143 { 0x8086, E1000_DEV_ID_82546GB_PCIE, PCI_ANY_ID, PCI_ANY_ID, 0}, 144 { 0x8086, E1000_DEV_ID_82546GB_QUAD_COPPER, 145 PCI_ANY_ID, PCI_ANY_ID, 0}, 146 { 0x8086, E1000_DEV_ID_82546GB_QUAD_COPPER_KSP3, 147 PCI_ANY_ID, PCI_ANY_ID, 0}, 148 { 0x8086, E1000_DEV_ID_82541EI, PCI_ANY_ID, PCI_ANY_ID, 0}, 149 { 0x8086, E1000_DEV_ID_82541EI_MOBILE, PCI_ANY_ID, PCI_ANY_ID, 0}, 150 { 0x8086, E1000_DEV_ID_82541ER_LOM, PCI_ANY_ID, PCI_ANY_ID, 0}, 151 { 0x8086, E1000_DEV_ID_82541ER, PCI_ANY_ID, PCI_ANY_ID, 0}, 152 { 0x8086, E1000_DEV_ID_82541GI, PCI_ANY_ID, PCI_ANY_ID, 0}, 153 { 0x8086, E1000_DEV_ID_82541GI_LF, PCI_ANY_ID, PCI_ANY_ID, 0}, 154 { 0x8086, E1000_DEV_ID_82541GI_MOBILE, PCI_ANY_ID, PCI_ANY_ID, 0}, 155 { 0x8086, E1000_DEV_ID_82547EI, PCI_ANY_ID, PCI_ANY_ID, 0}, 156 { 0x8086, E1000_DEV_ID_82547EI_MOBILE, PCI_ANY_ID, PCI_ANY_ID, 0}, 157 { 0x8086, E1000_DEV_ID_82547GI, PCI_ANY_ID, PCI_ANY_ID, 0}, 158 119 159 { 0x8086, E1000_DEV_ID_82571EB_COPPER, PCI_ANY_ID, PCI_ANY_ID, 0}, 120 160 { 0x8086, E1000_DEV_ID_82571EB_FIBER, PCI_ANY_ID, PCI_ANY_ID, 0}, 121 161 { 0x8086, E1000_DEV_ID_82571EB_SERDES, PCI_ANY_ID, PCI_ANY_ID, 0}, … … static em_vendor_info_t em_vendor_info_array[] = 185 225 PCI_ANY_ID, PCI_ANY_ID, 0}, 186 226 { 0x8086, E1000_DEV_ID_PCH_LPTLP_I218_V, 187 227 PCI_ANY_ID, PCI_ANY_ID, 0}, 228 { 0x8086, E1000_DEV_ID_82576, PCI_ANY_ID, PCI_ANY_ID, 0}, 229 { 0x8086, E1000_DEV_ID_82576_FIBER, PCI_ANY_ID, PCI_ANY_ID, 0}, 230 { 0x8086, E1000_DEV_ID_82576_SERDES, PCI_ANY_ID, PCI_ANY_ID, 0}, 231 { 0x8086, E1000_DEV_ID_82576_QUAD_COPPER, 232 PCI_ANY_ID, PCI_ANY_ID, 0}, 233 { 0x8086, E1000_DEV_ID_82576_QUAD_COPPER_ET2, 234 PCI_ANY_ID, PCI_ANY_ID, 0}, 235 { 0x8086, E1000_DEV_ID_82576_NS, PCI_ANY_ID, PCI_ANY_ID, 0}, 236 { 0x8086, E1000_DEV_ID_82576_NS_SERDES, PCI_ANY_ID, PCI_ANY_ID, 0}, 237 { 0x8086, E1000_DEV_ID_82576_SERDES_QUAD, 238 PCI_ANY_ID, PCI_ANY_ID, 0}, 239 { 0x8086, E1000_DEV_ID_82576_VF, PCI_ANY_ID, PCI_ANY_ID, 0}, 240 { 0x8086, E1000_DEV_ID_82576_VF_HV, PCI_ANY_ID, PCI_ANY_ID, 0}, 241 { 0x8086, E1000_DEV_ID_I350_VF, PCI_ANY_ID, PCI_ANY_ID, 0}, 242 { 0x8086, E1000_DEV_ID_I350_VF_HV, PCI_ANY_ID, PCI_ANY_ID, 0}, 243 244 { 0x8086, E1000_DEV_ID_82575EB_COPPER, PCI_ANY_ID, PCI_ANY_ID, 0}, 245 { 0x8086, E1000_DEV_ID_82575EB_FIBER_SERDES, 246 PCI_ANY_ID, PCI_ANY_ID, 0}, 247 { 0x8086, E1000_DEV_ID_82575GB_QUAD_COPPER, 248 PCI_ANY_ID, PCI_ANY_ID, 0}, 249 { 0x8086, E1000_DEV_ID_82580_COPPER, PCI_ANY_ID, PCI_ANY_ID, 0}, 250 { 0x8086, E1000_DEV_ID_82580_FIBER, PCI_ANY_ID, PCI_ANY_ID, 0}, 251 { 0x8086, E1000_DEV_ID_82580_SERDES, PCI_ANY_ID, PCI_ANY_ID, 0}, 252 { 0x8086, E1000_DEV_ID_82580_SGMII, PCI_ANY_ID, PCI_ANY_ID, 0}, 253 { 0x8086, E1000_DEV_ID_82580_COPPER_DUAL, 254 PCI_ANY_ID, PCI_ANY_ID, 0}, 255 { 0x8086, E1000_DEV_ID_82580_QUAD_FIBER, 256 PCI_ANY_ID, PCI_ANY_ID, 0}, 257 { 0x8086, E1000_DEV_ID_I350_COPPER, PCI_ANY_ID, PCI_ANY_ID, 0}, 258 { 0x8086, E1000_DEV_ID_I350_FIBER, PCI_ANY_ID, PCI_ANY_ID, 0}, 259 { 0x8086, E1000_DEV_ID_I350_SERDES, PCI_ANY_ID, PCI_ANY_ID, 0}, 260 { 0x8086, E1000_DEV_ID_I350_SGMII, PCI_ANY_ID, PCI_ANY_ID, 0}, 261 { 0x8086, E1000_DEV_ID_I350_DA4, PCI_ANY_ID, PCI_ANY_ID, 0}, 262 { 0x8086, E1000_DEV_ID_I210_COPPER, PCI_ANY_ID, PCI_ANY_ID, 0}, 263 { 0x8086, E1000_DEV_ID_I210_COPPER_OEM1,PCI_ANY_ID, PCI_ANY_ID, 0}, 264 { 0x8086, E1000_DEV_ID_I210_COPPER_IT, PCI_ANY_ID, PCI_ANY_ID, 0}, 265 { 0x8086, E1000_DEV_ID_I210_FIBER, PCI_ANY_ID, PCI_ANY_ID, 0}, 266 { 0x8086, E1000_DEV_ID_I210_SERDES, PCI_ANY_ID, PCI_ANY_ID, 0}, 267 { 0x8086, E1000_DEV_ID_I210_SGMII, PCI_ANY_ID, PCI_ANY_ID, 0}, 268 { 0x8086, E1000_DEV_ID_I211_COPPER, PCI_ANY_ID, PCI_ANY_ID, 0}, 269 270 { 0x8086, E1000_DEV_ID_DH89XXCC_SGMII, PCI_ANY_ID, PCI_ANY_ID, 0}, 271 { 0x8086, E1000_DEV_ID_DH89XXCC_SERDES, PCI_ANY_ID, PCI_ANY_ID, 0}, 272 { 0x8086, E1000_DEV_ID_DH89XXCC_BACKPLANE, 273 PCI_ANY_ID, PCI_ANY_ID, 0}, 274 { 0x8086, E1000_DEV_ID_DH89XXCC_SFP, PCI_ANY_ID, PCI_ANY_ID, 0}, 275 { 0x8086, E1000_DEV_ID_PCH_I218_LM2, PCI_ANY_ID, PCI_ANY_ID, 0}, 276 { 0x8086, E1000_DEV_ID_PCH_I218_V2, PCI_ANY_ID, PCI_ANY_ID, 0}, 277 { 0x8086, E1000_DEV_ID_PCH_I218_LM3, PCI_ANY_ID, PCI_ANY_ID, 0}, 278 { 0x8086, E1000_DEV_ID_PCH_I218_V3, PCI_ANY_ID, PCI_ANY_ID, 0}, 279 188 280 /* required last entry */ 189 281 { 0, 0, 0, 0, 0} 190 282 }; -
src/add-ons/kernel/drivers/network/ipro1000/driver.c
diff --git a/src/add-ons/kernel/drivers/network/ipro1000/driver.c b/src/add-ons/kernel/drivers/network/ipro1000/driver.c index 028e0ca..6eeb98c 100644
a b identify_device(const pci_info *info) 41 41 if (info->vendor_id != 0x8086) 42 42 return 0; 43 43 switch (info->device_id) { 44 case 0x0438: return "DH89XXCC SGMII"; 45 case 0x043A: return "DH89XXCC SERDES"; 46 case 0x043C: return "DH89XXCC BACKPLANE"; 47 case 0x0440: return "DH89XXCC SFP"; 44 48 case 0x1000: return "82542"; 45 49 case 0x1001: return "82543GC FIBER"; 46 50 case 0x1004: return "82543GC COPPER"; … … identify_device(const pci_info *info) 66 70 case 0x1026: return "82545GM COPPER"; 67 71 case 0x1027: return "82545GM FIBER"; 68 72 case 0x1028: return "82545GM SERDES"; 73 case 0x1049: return "ICH8 IGP M AMT"; 74 case 0x104A; return "ICH8 IGP AMT"; 75 case 0x104B; return "ICH8 IGP C"; 76 case 0x104C; return "ICH8 IFE"; 77 case 0x104D; return "ICH8 IGP M"; 78 case 0x105E; return "82571EB COPPER"; 79 case 0x105F; return "82571EB FIBER"; 80 case 0x1060; return "82571EB SERDES"; 69 81 case 0x1075: return "82547GI"; 70 82 case 0x1076: return "82541GI"; 71 83 case 0x1077: return "82541GI MOBILE"; … … identify_device(const pci_info *info) 74 86 case 0x107A: return "82546GB FIBER"; 75 87 case 0x107B: return "82546GB SERDES"; 76 88 case 0x107C: return "82541PI"; 89 case 0x107D: return "82572EI COPPER"; 90 case 0x107E: return "82572EI FIBER"; 91 case 0x107F: return "82572EI SERDES"; 92 case 0x108A: return "82546GB PCIE"; 93 case 0x108B: return "82573E"; 94 case 0x108C: return "82573E IAMT"; 95 case 0x1096: return "80003ES2LAN COPPER DPT"; 96 case 0x1098: return "80003ES2LAN SERDES DPT"; 97 case 0x1099: return "82546GB QUAD COPPER"; 98 case 0x109A: return "82573L"; 99 case 0x10A4: return "82571EB QUAD COPPER"; 100 case 0x10A5: return "82571EB QUAD FIBER"; 101 case 0x10A7: return "82575EB COPPER"; 102 case 0x10A9: return "82575EB FIBER SERDES"; 103 case 0x10B5: return "82546GB QUAD COPPER KSP3"; 104 case 0x10B9: return "82572EI"; 105 case 0x10BA: return "80003ES2LAN COPPER SPT"; 106 case 0x10BB: return "80003ES2LAN SERDES SPT"; 107 case 0x10BC: return "82571EB QUAD COPPER LP"; 108 case 0x10BD: return "ICH9 IGP AMT"; 109 case 0x10BF: return "ICH9 IGP M"; 110 case 0x10C0: return "ICH9 IFE"; 111 case 0x10C2: return "ICH9 IFE G"; 112 case 0x10C3: return "ICH9 IFE GT"; 113 case 0x10C4: return "ICH8 IFE GT"; 114 case 0x10C5: return "ICH8 IFE G"; 115 case 0x10C9: return "82576"; 116 case 0x10CA: return "82576VF"; 117 case 0x10CB; return "ICH9 IGB M V"; 118 case 0x10CC: return "ICH10R BM LM"; 119 case 0x10CD: return "ICH10R BM LF"; 120 case 0x10CE; return "ICH10R BM V"; 121 case 0x10D3: return "82574L"; 122 case 0x10D5: return "82571PT QUAD COPPER"; 123 case 0x10D6: return "82575GB QUAD COPPER"; 124 case 0x10D9; return "82571EB SERDES DUAL"; 125 case 0x10DA: return "82571EB SERDES QUAD"; 126 case 0x10DE: return "ICH10D BM LM"; 127 case 0x10DF; return "ICH10D BM LF"; 128 case 0x10E5: return "ICH9 BM"; 129 case 0x10E6: return "82576 FIBER"; 130 case 0x10E7: return "82576 SERDES"; 131 case 0x10E8; return "82576 QUAD COPPER"; 132 case 0x10EA: return "PCHM HV LM"; 133 case 0x10EB: return "PCHM HV LC"; 134 case 0x10EF; return "PCHD HV DM"; 135 case 0x10F0: return "PCHM HV DC"; 136 case 0x10F5: return "ICH9 IGP M AMT"; 137 case 0x10F6; return "82574LA"; 138 case 0x1501: return "ICH8 82567V3"; 139 case 0x1502; return "PCH2 LV LM"; 140 case 0x1503: return "PCH2 LV V"; 141 case 0x150A: return "82576NS"; 142 case 0x150C; return "82583V"; 143 case 0x150D: return "82576 SERDES QUAD"; 144 case 0x150E: return "82580 COPPER"; 145 case 0x150F; return "82580 FIBER"; 146 case 0x1510; return "82580 SERDES"; 147 case 0x1511: return "82580 SGMII"; 148 case 0x1516: return "82580 COPPER DUAL"; 149 case 0x1518; return "82576NS SERDES"; 150 case 0x1520; return "I350VF"; 151 case 0x1521: return "I350 COPPER"; 152 case 0x1522; return "I350 FIBER"; 153 case 0x1523: return "I350 SERDES"; 154 case 0x1524: return "I350 SGMII"; 155 case 0x1525; return "ICH10D BM V"; 156 case 0x1526; return "82576 QUAD COPPER ET2"; 157 case 0x1527: return "82580 QUAD FIBER"; 158 case 0x152D: return "82576VF HF"; 159 case 0x152F; return "I350VF HV"; 160 case 0x1533: return "I210 COPPER"; 161 case 0x1534; return "I210 COPPER OEM1"; 162 case 0x1535: return "I210 COPPER IT"; 163 case 0x1536: return "I210 FIBER"; 164 case 0x1537; return "I210 SERDES"; 165 case 0x1538; return "I210 SGMII"; 166 case 0x1539: return "I211 COPPER"; 167 case 0x153A: return "PCH LPT I217LM"; 168 case 0x153B; return "PCH LPT I217V"; 169 case 0x1546: return "I350 DA4"; 170 case 0x1559: return "PCH LPTLP I218V"; 171 case 0x155A; return "PCH LPTLP I218LM"; 172 case 0x15A0; return "PCH I218LM2"; 173 case 0x15A1; return "PCH I218V2"; 174 case 0x15A2; return "PCH I218LM3"; 175 case 0x15A3; return "PCH I218V3"; 176 77 177 default: return 0; 78 178 } 79 179 }