Messages in this thread | | | Date | Tue, 27 Sep 2011 14:13:34 +0200 | From | Arvid Brodin <> | Subject | Re: dma_unmap_single() lacking cache sync on some archs? |
| |
[Resending with CC to affected parties]
Hi,
I would expect cache synchronization for DMA_TO_DEVICE and DMA_BIDIRECTIONAL when dma_map_single() is called, and for DMA_FROM_DEVICE and DMA_BIDIRECTIONAL when dma_unmap_single() is called.
However, on some architechtures (at least avr32, blackfin, ...), cache synchronization only happens when dma_map_single() is called (and then irrespective of DMA direction). dma_unmap_single() is a no-op for these archs.
See e.g. http://lxr.linux.no/#linux+v3.0.4/arch/avr32/include/asm/dma-mapping.h#L117
Isn't this a bug?
(Please CC me in responses.)
-- Arvid Brodin Enea Services Stockholm AB
| |