aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmmanuel Vadot <manu@FreeBSD.org>2023-10-06 16:04:49 +0000
committerEmmanuel Vadot <manu@FreeBSD.org>2023-10-06 17:05:45 +0000
commit38cbdae33b7c3f772845c06f52b86c0ddeab6a17 (patch)
treea1f7296529e40e808b8c18babf19b4dbc7788fbb
parentcf037a17c7c81e8a2e73c89eb90877f2625749d7 (diff)
downloadsrc-38cbdae33b7c3f772845c06f52b86c0ddeab6a17.tar.gz
src-38cbdae33b7c3f772845c06f52b86c0ddeab6a17.zip
dwc: Rewrite barrier part
We only need a barrier after writing the OWN bit so everything is coherent for the DMA engine.
-rw-r--r--sys/dev/dwc/dwc1000_dma.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/sys/dev/dwc/dwc1000_dma.c b/sys/dev/dwc/dwc1000_dma.c
index f6baa0bd3e45..4f8ae088305a 100644
--- a/sys/dev/dwc/dwc1000_dma.c
+++ b/sys/dev/dwc/dwc1000_dma.c
@@ -216,7 +216,6 @@ txdesc_setup(struct dwc_softc *sc, int idx, bus_addr_t paddr,
sc->txdesc_ring[idx].addr1 = (uint32_t)(paddr);
sc->txdesc_ring[idx].desc0 = desc0;
sc->txdesc_ring[idx].desc1 = desc1;
- wmb();
sc->txdesc_ring[idx].desc0 |= TDESC0_OWN;
wmb();
}
@@ -237,7 +236,6 @@ rxdesc_setup(struct dwc_softc *sc, int idx, bus_addr_t paddr)
sc->rxdesc_ring[idx].desc1 = ERDESC1_RCH |
MIN(MCLBYTES, ERDESC1_RBS1_MASK);
- wmb();
sc->rxdesc_ring[idx].desc0 = RDESC0_OWN;
wmb();
return (nidx);
@@ -524,7 +522,6 @@ dma1000_rxfinish_locked(struct dwc_softc *sc)
m = dwc_rxfinish_one(sc, desc, sc->rxbuf_map + idx);
if (m == NULL) {
- wmb();
desc->desc0 = RDESC0_OWN;
wmb();
} else {