summaryrefslogtreecommitdiff
path: root/sys/dev/pci/if_em.c
diff options
context:
space:
mode:
authorStefan Fritsch <sf@cvs.openbsd.org>2018-04-07 11:56:41 +0000
committerStefan Fritsch <sf@cvs.openbsd.org>2018-04-07 11:56:41 +0000
commit263cd7610f4d1b97094ddbea45ae515e59b519ea (patch)
treedfacec0d2409da6f6dee431e6fbacb992ff46083 /sys/dev/pci/if_em.c
parenta9686e40dc84da08cb5ab3eed52683603414041c (diff)
em: Port an i219 errata workaround from FreeBSD
https://www.intel.com/content/dam/www/public/us/en/documents/specification-updates/i218-i219-ethernet-connection-spec-update.pdf?asset=9561 ok mikeb@ jsg@
Diffstat (limited to 'sys/dev/pci/if_em.c')
-rw-r--r--sys/dev/pci/if_em.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/dev/pci/if_em.c b/sys/dev/pci/if_em.c
index e10010cc09e..eed5efe3fde 100644
--- a/sys/dev/pci/if_em.c
+++ b/sys/dev/pci/if_em.c
@@ -31,7 +31,7 @@ POSSIBILITY OF SUCH DAMAGE.
***************************************************************************/
-/* $OpenBSD: if_em.c,v 1.340 2018/04/07 11:52:24 sf Exp $ */
+/* $OpenBSD: if_em.c,v 1.341 2018/04/07 11:56:40 sf Exp $ */
/* $FreeBSD: if_em.c,v 1.46 2004/09/29 18:28:28 mlaier Exp $ */
#include <dev/pci/if_em.h>
@@ -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);
}
}