From c99cd3cdb432a2007a54da48c595accdd7f062b9 Mon Sep 17 00:00:00 2001 From: cognet Date: Fri, 27 Jul 2007 14:48:05 +0000 Subject: Use coherent mapping for DMA on arm. This is propably suitable for the other archs, but I can't test it so I made it conditionnal on __arm__ for now. Approved by: re (blanket) --- sys/dev/em/if_em.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'sys/dev') diff --git a/sys/dev/em/if_em.c b/sys/dev/em/if_em.c index 73d16d2..4950ad9 100644 --- a/sys/dev/em/if_em.c +++ b/sys/dev/em/if_em.c @@ -2941,8 +2941,13 @@ em_dma_malloc(struct adapter *adapter, bus_size_t size, goto fail_0; } +#ifdef __arm__ + error = bus_dmamem_alloc(dma->dma_tag, (void**) &dma->dma_vaddr, + BUS_DMA_NOWAIT | BUS_DMA_COHERENT, &dma->dma_map); +#else error = bus_dmamem_alloc(dma->dma_tag, (void**) &dma->dma_vaddr, BUS_DMA_NOWAIT, &dma->dma_map); +#endif if (error) { device_printf(adapter->dev, "%s: bus_dmamem_alloc(%ju) failed: %d\n", -- cgit v1.1