On Fri, Mar 09, 2018 at 12:22:32PM -0600, John wrote: > 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.
This patch didn't apply as tabs are missing in the diff. I've made the same changes locally and committed it minus the manual page change as I don't think we should list each numbered variant 3, 4 etc. The manual page currently mixes up MACs and PHYs in the list which is annoying though seems to be how the combination of ICH/PCH MAC and PHY is often referred to. > > 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", > },