[rtems-libbsd commit] if_cgem: Add volatile to rx/tx desc rings

Sebastian Huber sebh at rtems.org
Wed Jan 21 14:02:59 UTC 2015


Module:    rtems-libbsd
Branch:    master
Commit:    cd179c472bf1c0c6d59a05f51b41c70b39e165a8
Changeset: http://git.rtems.org/rtems-libbsd/commit/?id=cd179c472bf1c0c6d59a05f51b41c70b39e165a8

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Tue Nov 25 12:53:42 2014 +0100

if_cgem: Add volatile to rx/tx desc rings

---

 freebsd/sys/dev/cadence/if_cgem.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/freebsd/sys/dev/cadence/if_cgem.c b/freebsd/sys/dev/cadence/if_cgem.c
index b25cdc0..08afb34 100644
--- a/freebsd/sys/dev/cadence/if_cgem.c
+++ b/freebsd/sys/dev/cadence/if_cgem.c
@@ -123,7 +123,7 @@ struct cgem_softc {
 	bus_dma_tag_t		mbuf_dma_tag;
 
 	/* receive descriptor ring */
-	struct cgem_rx_desc	*rxring;
+	struct cgem_rx_desc volatile	*rxring;
 	bus_addr_t		rxring_physaddr;
 	struct mbuf		*rxring_m[CGEM_NUM_RX_DESCS];
 	bus_dmamap_t		rxring_m_dmamap[CGEM_NUM_RX_DESCS];
@@ -139,7 +139,7 @@ struct cgem_softc {
 	uint32_t		rx_frames_prev;
 
 	/* transmit descriptor ring */
-	struct cgem_tx_desc	*txring;
+	struct cgem_tx_desc volatile	*txring;
 	bus_addr_t		txring_physaddr;
 	struct mbuf		*txring_m[CGEM_NUM_TX_DESCS];
 	bus_dmamap_t		txring_m_dmamap[CGEM_NUM_TX_DESCS];
@@ -1804,7 +1804,7 @@ cgem_detach(device_t dev)
 			bus_dmamap_unload(sc->desc_dma_tag, sc->rxring_dma_map);
 			sc->rxring_physaddr = 0;
 		}
-		bus_dmamem_free(sc->desc_dma_tag, sc->rxring,
+		bus_dmamem_free(sc->desc_dma_tag, __DEVOLATILE(void *, sc->rxring),
 				sc->rxring_dma_map);
 		sc->rxring = NULL;
 		for (i = 0; i < CGEM_NUM_RX_DESCS; i++)
@@ -1819,7 +1819,7 @@ cgem_detach(device_t dev)
 			bus_dmamap_unload(sc->desc_dma_tag, sc->txring_dma_map);
 			sc->txring_physaddr = 0;
 		}
-		bus_dmamem_free(sc->desc_dma_tag, sc->txring,
+		bus_dmamem_free(sc->desc_dma_tag, __DEVOLATILE(void *, sc->txring),
 				sc->txring_dma_map);
 		sc->txring = NULL;
 		for (i = 0; i < CGEM_NUM_TX_DESCS; i++)




More information about the vc mailing list