From e93407817b471329923227dcfaf0041664fa8598 Mon Sep 17 00:00:00 2001 From: Sepherosa Ziehau Date: Thu, 22 Jan 2009 20:13:07 +0800 Subject: [PATCH] re(4): Don't sync coherent memory --- sys/dev/netif/re/if_re.c | 31 +------------------------------ 1 file changed, 1 insertion(+), 30 deletions(-) diff --git a/sys/dev/netif/re/if_re.c b/sys/dev/netif/re/if_re.c index 18cd6b6144..a4a186667b 100644 --- a/sys/dev/netif/re/if_re.c +++ b/sys/dev/netif/re/if_re.c @@ -849,8 +849,6 @@ re_diag(struct re_softc *sc) * entry in the RX DMA ring. Grab it from there. */ - bus_dmamap_sync(sc->re_ldata.re_rx_list_tag, - sc->re_ldata.re_rx_list_map, BUS_DMASYNC_POSTREAD); bus_dmamap_sync(sc->re_ldata.re_rx_mtag, sc->re_ldata.re_rx_dmamap[0], BUS_DMASYNC_POSTREAD); bus_dmamap_unload(sc->re_ldata.re_rx_mtag, @@ -1239,8 +1237,7 @@ re_freemem(device_t dev) /* Unload and free the stats buffer and map */ if (sc->re_ldata.re_stag) { - bus_dmamap_unload(sc->re_ldata.re_stag, - sc->re_ldata.re_rx_list_map); + bus_dmamap_unload(sc->re_ldata.re_stag, sc->re_ldata.re_smap); bus_dmamem_free(sc->re_ldata.re_stag, sc->re_ldata.re_stats, sc->re_ldata.re_smap); @@ -1777,10 +1774,6 @@ re_tx_list_init(struct re_softc *sc) { bzero(sc->re_ldata.re_tx_list, RE_TX_LIST_SZ(sc)); - /* Flush the TX descriptors */ - bus_dmamap_sync(sc->re_ldata.re_tx_list_tag, - sc->re_ldata.re_tx_list_map, BUS_DMASYNC_PREWRITE); - sc->re_ldata.re_tx_prodidx = 0; sc->re_ldata.re_tx_considx = 0; sc->re_ldata.re_tx_free = sc->re_tx_desc_cnt; @@ -1801,10 +1794,6 @@ re_rx_list_init(struct re_softc *sc) return(error); } - /* Flush the RX descriptors */ - bus_dmamap_sync(sc->re_ldata.re_rx_list_tag, - sc->re_ldata.re_rx_list_map, BUS_DMASYNC_PREWRITE); - sc->re_ldata.re_rx_prodidx = 0; sc->re_head = sc->re_tail = NULL; @@ -1849,11 +1838,6 @@ re_rxeof(struct re_softc *sc) int i, total_len, rx = 0; struct mbuf_chain chain[MAXCPU]; - /* Invalidate the descriptor memory */ - - bus_dmamap_sync(sc->re_ldata.re_rx_list_tag, - sc->re_ldata.re_rx_list_map, BUS_DMASYNC_POSTREAD); - ether_input_chain_init(chain); for (i = sc->re_ldata.re_rx_prodidx; @@ -2007,11 +1991,6 @@ re_rxeof(struct re_softc *sc) ether_input_dispatch(chain); - /* Flush the RX DMA ring */ - - bus_dmamap_sync(sc->re_ldata.re_rx_list_tag, - sc->re_ldata.re_rx_list_map, BUS_DMASYNC_PREWRITE); - sc->re_ldata.re_rx_prodidx = i; return rx; @@ -2028,10 +2007,6 @@ re_tx_collect(struct re_softc *sc) uint32_t txstat; int idx, tx = 0; - /* Invalidate the TX descriptor list */ - bus_dmamap_sync(sc->re_ldata.re_tx_list_tag, - sc->re_ldata.re_tx_list_map, BUS_DMASYNC_POSTREAD); - for (idx = sc->re_ldata.re_tx_considx; sc->re_ldata.re_tx_free < sc->re_tx_desc_cnt; RE_TXDESC_INC(sc, idx)) { @@ -2467,10 +2442,6 @@ re_start(struct ifnet *ifp) if (!need_trans) return; - /* Flush the TX descriptors */ - bus_dmamap_sync(sc->re_ldata.re_tx_list_tag, - sc->re_ldata.re_tx_list_map, BUS_DMASYNC_PREWRITE); - sc->re_ldata.re_tx_prodidx = idx; /* -- 2.41.0