Hey all,

Here's a diff for adding the product ID for the Intel 82567V-4 NIC to
pcidevs and adding the card to em(4) (along with a corresponding man
update). The product ID came from the FreeBSD em. The information about
jumbo frames came from Intel's jumbo frame notes. This is my first
contribution, so please let me know where I can improve.

Index: share/man/man4/em.4
===================================================================
RCS file: /cvs/src/share/man/man4/em.4,v
retrieving revision 1.54
diff -u -p -u -p -r1.54 em.4
--- share/man/man4/em.4    19 Feb 2016 08:46:29 -0000    1.54
+++ share/man/man4/em.4    9 Mar 2018 18:09:33 -0000
@@ -42,7 +42,7 @@ The
 driver provides support for PCI, PCI-X and PCI Express Gigabit Ethernet
adapters
 based on the Intel 82540EM, 82540EP, 82541EI, 82541ER, 82541GI, 82541PI,
82542,
 82543GC, 82544EI, 82544GC, 82545EM, 82545GM, 82546EB, 82546GB, 82547EI,
82547GI,
-82562V, 82563EB, 82564EB, 82566DC, 82566DM, 82571EB, 82571GB, 82572EI,
82572GI,
+82562V, 82563EB, 82564EB, 82566DC, 82566DM, 82567V-3, 82567V-4, 82571EB,
82571GB, 82572EI, 82572GI,
 82573E, 82573L, 82573V, 82574L, 82575EB, 82575GB, 82576EB, 82577LC,
82577LM,
 82578DC, 82578DM, 82579LM, 82579V, 82580DB, 82580EB, 82583V, I210, I211,
I217,
 I218, I219, I350, I354
@@ -166,7 +166,7 @@ The
 .Nm
 driver supports IPv4 receive IP/TCP/UDP checksum offload and transmit
TCP/UDP
 checksum offload on all but 82542-based adapters, VLAN tag insertion and
-stripping, and jumbo frames on all but 82562V, 82566DC/82566DM and
+stripping, and jumbo frames on all but 82562V, 82566DC/82566DM,
82567V-3/82567V-4, and
 82573E/82573L/82573V-based adapters.
 The 82562V Ethernet controller chip only supports 10/100 media types.
 .Pp
Index: sys/dev/pci/if_em.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/if_em.c,v
retrieving revision 1.336
diff -u -p -u -p -r1.336 if_em.c
--- sys/dev/pci/if_em.c    25 Jul 2017 20:45:18 -0000    1.336
+++ sys/dev/pci/if_em.c    9 Mar 2018 18:09:33 -0000
@@ -191,6 +191,7 @@ const struct pci_matchid em_devices[] =
     { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ICH9_IGP_M_V },
     { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ICH10_D_BM_LF },
     { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ICH10_D_BM_LM },
+    { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ICH10_D_BM_V },
     { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ICH10_R_BM_LF },
     { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ICH10_R_BM_LM },
     { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ICH10_R_BM_V },
Index: sys/dev/pci/if_em_hw.c
===================================================================
RCS file: /cvs/src/sys/dev/pci/if_em_hw.c,v
retrieving revision 1.94
diff -u -p -u -p -r1.94 if_em_hw.c
--- sys/dev/pci/if_em_hw.c    12 Aug 2017 16:40:54 -0000    1.94
+++ sys/dev/pci/if_em_hw.c    9 Mar 2018 18:09:34 -0000
@@ -590,6 +590,7 @@ em_set_mac_type(struct em_hw *hw)
         break;
     case E1000_DEV_ID_ICH10_D_BM_LF:
     case E1000_DEV_ID_ICH10_D_BM_LM:
+    case E1000_DEV_ID_ICH10_D_BM_V:
         hw->mac_type = em_ich10lan;
         break;
     case E1000_DEV_ID_PCH_M_HV_LC:
Index: sys/dev/pci/if_em_hw.h
===================================================================
RCS file: /cvs/src/sys/dev/pci/if_em_hw.h,v
retrieving revision 1.70
diff -u -p -u -p -r1.70 if_em_hw.h
--- sys/dev/pci/if_em_hw.h    12 Aug 2017 16:40:54 -0000    1.70
+++ sys/dev/pci/if_em_hw.h    9 Mar 2018 18:09:34 -0000
@@ -541,6 +541,7 @@ int32_t em_check_phy_reset_block(struct
 #define E1000_DEV_ID_ICH10_R_BM_V        0x10CE
 #define E1000_DEV_ID_ICH10_D_BM_LM       0x10DE
 #define E1000_DEV_ID_ICH10_D_BM_LF       0x10DF
+#define E1000_DEV_ID_ICH10_D_BM_V        0x1525
 #define E1000_DEV_ID_PCH_M_HV_LM         0x10EA
 #define E1000_DEV_ID_PCH_M_HV_LC         0x10EB
 #define E1000_DEV_ID_PCH_D_HV_DM         0x10EF
Index: sys/dev/pci/pcidevs
===================================================================
RCS file: /cvs/src/sys/dev/pci/pcidevs,v
retrieving revision 1.1837
diff -u -p -u -p -r1.1837 pcidevs
--- sys/dev/pci/pcidevs    26 Feb 2018 06:46:10 -0000    1.1837
+++ sys/dev/pci/pcidevs    9 Mar 2018 18:09:35 -0000
@@ -3382,6 +3382,7 @@ product INTEL I350_COPPER    0x1521    I350
 product INTEL I350_FIBER    0x1522    I350 Fiber
 product INTEL I350_SERDES    0x1523    I350 SerDes
 product INTEL I350_SGMII    0x1524    I350 SGMII
+product INTEL ICH10_D_BM_V    0x1525    ICH10 D BM V
 product INTEL 82576_QUAD_CU_ET2    0x1526    82576
 product INTEL 82580_QUAD_FIBER    0x1527    82580 QF
 product INTEL X540T        0x1528    X540T
Index: sys/dev/pci/pcidevs.h
===================================================================
RCS file: /cvs/src/sys/dev/pci/pcidevs.h,v
retrieving revision 1.1830
diff -u -p -u -p -r1.1830 pcidevs.h
--- sys/dev/pci/pcidevs.h    26 Feb 2018 06:47:06 -0000    1.1830
+++ sys/dev/pci/pcidevs.h    9 Mar 2018 18:09:36 -0000
@@ -3387,6 +3387,7 @@
 #define    PCI_PRODUCT_INTEL_I350_FIBER    0x1522        /* I350 Fiber */
 #define    PCI_PRODUCT_INTEL_I350_SERDES    0x1523        /* I350 SerDes */
 #define    PCI_PRODUCT_INTEL_I350_SGMII    0x1524        /* I350 SGMII */
+#define    PCI_PRODUCT_INTEL_ICH10_D_BM_V    0x1525        /* ICH10 D BM V
*/
 #define    PCI_PRODUCT_INTEL_82576_QUAD_CU_ET2    0x1526        /* 82576 */
 #define    PCI_PRODUCT_INTEL_82580_QUAD_FIBER    0x1527        /* 82580 QF
*/
 #define    PCI_PRODUCT_INTEL_X540T    0x1528        /* X540T */
Index: sys/dev/pci/pcidevs_data.h
===================================================================
RCS file: /cvs/src/sys/dev/pci/pcidevs_data.h,v
retrieving revision 1.1825
diff -u -p -u -p -r1.1825 pcidevs_data.h
--- sys/dev/pci/pcidevs_data.h    26 Feb 2018 06:47:06 -0000    1.1825
+++ sys/dev/pci/pcidevs_data.h    9 Mar 2018 18:09:37 -0000
@@ -11040,6 +11040,10 @@ static const struct pci_known_product pc
         "I350 SGMII",
     },
     {
+        PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ICH10_D_BM_V,
+        "ICH10 D BM V",
+    },
+    {
         PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82576_QUAD_CU_ET2,
         "82576",
     },

Reply via email to