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 Mictlantecuhtli, 3 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)  
    293293    case E1000_DEV_ID_PCH_LPT_I217_V:
    294294    case E1000_DEV_ID_PCH_LPTLP_I218_LM:
    295295    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:
    296300        mac->type = e1000_pch_lpt;
    297301        break;
    298302    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;  
    170170#define E1000_DEV_ID_DH89XXCC_SERDES        0x043A
    171171#define E1000_DEV_ID_DH89XXCC_BACKPLANE     0x043C
    172172#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
    173177
    174178#define E1000_REVISION_0    0
    175179#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)  
    11461146
    11471147    /* Work-around I218 hang issue */
    11481148    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) ||
    11491151        (hw->device_id == E1000_DEV_ID_PCH_LPTLP_I218_V)) {
    11501152        ret_val = e1000_k1_workaround_lpt_lp(hw, link);
    11511153        if (ret_val)
    void e1000_suspend_workarounds_ich8lan(struct e1000_hw *hw)  
    44794481        u16 phy_reg, device_id = hw->device_id;
    44804482
    44814483        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) ||
    44824486            (device_id == E1000_DEV_ID_PCH_LPTLP_I218_V)) {
    44834487            u32 fextnvm6 = E1000_READ_REG(hw, E1000_FEXTNVM6);
    44844488
  • 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";  
    116116static em_vendor_info_t em_vendor_info_array[] =
    117117{
    118118    /* 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
    119159    { 0x8086, E1000_DEV_ID_82571EB_COPPER,  PCI_ANY_ID, PCI_ANY_ID, 0},
    120160    { 0x8086, E1000_DEV_ID_82571EB_FIBER,   PCI_ANY_ID, PCI_ANY_ID, 0},
    121161    { 0x8086, E1000_DEV_ID_82571EB_SERDES,  PCI_ANY_ID, PCI_ANY_ID, 0},
    static em_vendor_info_t em_vendor_info_array[] =  
    185225                        PCI_ANY_ID, PCI_ANY_ID, 0},
    186226    { 0x8086, E1000_DEV_ID_PCH_LPTLP_I218_V,
    187227                        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
    188280    /* required last entry */
    189281    { 0, 0, 0, 0, 0}
    190282};
  • 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)  
    4141    if (info->vendor_id != 0x8086)
    4242        return 0;
    4343    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";
    4448        case 0x1000: return "82542";
    4549        case 0x1001: return "82543GC FIBER";
    4650        case 0x1004: return "82543GC COPPER";
    identify_device(const pci_info *info)  
    6670        case 0x1026: return "82545GM COPPER";
    6771        case 0x1027: return "82545GM FIBER";
    6872        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";
    6981        case 0x1075: return "82547GI";
    7082        case 0x1076: return "82541GI";
    7183        case 0x1077: return "82541GI MOBILE";
    identify_device(const pci_info *info)  
    7486        case 0x107A: return "82546GB FIBER";
    7587        case 0x107B: return "82546GB SERDES";
    7688        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
    77177        default: return 0;
    78178    }
    79179}