Allocate the DMA memory shared between the host and the controller as

coherent.

MFC after:	2 weeks
This commit is contained in:
Marius Strobl 2011-03-11 22:25:34 +00:00
parent a1dd7a55b0
commit 006aaeeadf

View File

@ -1317,8 +1317,8 @@ xl_attach(device_t dev)
} }
error = bus_dmamem_alloc(sc->xl_ldata.xl_rx_tag, error = bus_dmamem_alloc(sc->xl_ldata.xl_rx_tag,
(void **)&sc->xl_ldata.xl_rx_list, BUS_DMA_NOWAIT | BUS_DMA_ZERO, (void **)&sc->xl_ldata.xl_rx_list, BUS_DMA_NOWAIT |
&sc->xl_ldata.xl_rx_dmamap); BUS_DMA_COHERENT | BUS_DMA_ZERO, &sc->xl_ldata.xl_rx_dmamap);
if (error) { if (error) {
device_printf(dev, "no memory for rx list buffers!\n"); device_printf(dev, "no memory for rx list buffers!\n");
bus_dma_tag_destroy(sc->xl_ldata.xl_rx_tag); bus_dma_tag_destroy(sc->xl_ldata.xl_rx_tag);
@ -1349,8 +1349,8 @@ xl_attach(device_t dev)
} }
error = bus_dmamem_alloc(sc->xl_ldata.xl_tx_tag, error = bus_dmamem_alloc(sc->xl_ldata.xl_tx_tag,
(void **)&sc->xl_ldata.xl_tx_list, BUS_DMA_NOWAIT | BUS_DMA_ZERO, (void **)&sc->xl_ldata.xl_tx_list, BUS_DMA_NOWAIT |
&sc->xl_ldata.xl_tx_dmamap); BUS_DMA_COHERENT | BUS_DMA_ZERO, &sc->xl_ldata.xl_tx_dmamap);
if (error) { if (error) {
device_printf(dev, "no memory for list buffers!\n"); device_printf(dev, "no memory for list buffers!\n");
bus_dma_tag_destroy(sc->xl_ldata.xl_tx_tag); bus_dma_tag_destroy(sc->xl_ldata.xl_tx_tag);