summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmmanuel Vadot <manu@FreeBSD.org>2020-11-20 11:30:44 +0000
committerEmmanuel Vadot <manu@FreeBSD.org>2020-11-20 11:30:44 +0000
commit354cb625eec82b6f857497c2053a8f7cdcc87bbd (patch)
treeddbb183d5e43b3cb5e087786c8052a52e3997988
parent3bbd11ee511a5256fe3bb525980207b75e41bab9 (diff)
Notes
-rw-r--r--sys/arm/allwinner/if_awg.c17
1 files changed, 13 insertions, 4 deletions
diff --git a/sys/arm/allwinner/if_awg.c b/sys/arm/allwinner/if_awg.c
index 1d713a8ed50a..f130cedaa1de 100644
--- a/sys/arm/allwinner/if_awg.c
+++ b/sys/arm/allwinner/if_awg.c
@@ -941,6 +941,18 @@ awg_setup_dma(device_t dev)
return (0);
}
+static void
+awg_dma_start_tx(struct awg_softc *sc)
+{
+ uint32_t val;
+
+ AWG_ASSERT_LOCKED(sc);
+
+ /* Start and run TX DMA */
+ val = RD4(sc, EMAC_TX_CTL_1);
+ WR4(sc, EMAC_TX_CTL_1, val | TX_DMA_START);
+}
+
/*
* if_ functions
*/
@@ -949,7 +961,6 @@ static void
awg_start_locked(struct awg_softc *sc)
{
struct mbuf *m;
- uint32_t val;
if_t ifp;
int cnt, err;
@@ -984,9 +995,7 @@ awg_start_locked(struct awg_softc *sc)
bus_dmamap_sync(sc->tx.desc_tag, sc->tx.desc_map,
BUS_DMASYNC_PREREAD|BUS_DMASYNC_PREWRITE);
- /* Start and run TX DMA */
- val = RD4(sc, EMAC_TX_CTL_1);
- WR4(sc, EMAC_TX_CTL_1, val | TX_DMA_START);
+ awg_dma_start_tx(sc);
}
}