https://www.intel.com/content/dam/www/public/us/en/documents/specification-updates/i218-i219-ethernet-connection-spec-update.pdf?asset=9561
---
 sys/dev/pci/if_em.c    | 4 +++-
 sys/dev/pci/if_em_hw.h | 1 +
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git sys/dev/pci/if_em.c sys/dev/pci/if_em.c
index 30df846117c..233849f536b 100644
--- sys/dev/pci/if_em.c
+++ sys/dev/pci/if_em.c
@@ -2268,7 +2268,9 @@ em_initialize_transmit_unit(struct em_softc *sc)
                EM_WRITE_REG(&sc->hw, E1000_IOSFPC, reg_val);
 
                reg_val = E1000_READ_REG(&sc->hw, TARC0);
-               reg_val |= E1000_TARC0_CB_MULTIQ_3_REQ;
+               /* i218-i219 Specification Update 1.5.4.5 */
+                reg_val &= ~E1000_TARC0_CB_MULTIQ_3_REQ;
+                reg_val |= E1000_TARC0_CB_MULTIQ_2_REQ;
                E1000_WRITE_REG(&sc->hw, TARC0, reg_val);
        }
 }
diff --git sys/dev/pci/if_em_hw.h sys/dev/pci/if_em_hw.h
index 91993a6eb66..9c2cfe97569 100644
--- sys/dev/pci/if_em_hw.h
+++ sys/dev/pci/if_em_hw.h
@@ -2296,6 +2296,7 @@ struct em_hw {
 #define E1000_WUS_FLX_FILTERS 0x000F0000 /* Mask for the 4 flexible filters */
 
 /* TRAC0 bits */
+#define E1000_TARC0_CB_MULTIQ_2_REQ     (1 << 29)
 #define E1000_TARC0_CB_MULTIQ_3_REQ     (1 << 28 | 1 << 29)
 
 /* Management Control */
-- 
2.13.0

Reply via email to