Author: manu
Date: Fri Nov 20 11:30:44 2020
New Revision: 367886
URL: https://svnweb.freebsd.org/changeset/base/367886

Log:
  if_awg: Add a awg_dma_start_tx function that trigger dma engine
  
  No functional changes intended

Modified:
  head/sys/arm/allwinner/if_awg.c

Modified: head/sys/arm/allwinner/if_awg.c
==============================================================================
--- head/sys/arm/allwinner/if_awg.c     Fri Nov 20 11:30:23 2020        
(r367885)
+++ head/sys/arm/allwinner/if_awg.c     Fri Nov 20 11:30:44 2020        
(r367886)
@@ -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);
        }
 }
 
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to