On Mon, May 17, 2010 at 2:51 AM, Felipe Contreras <felipe.contreras@xxxxxxxxx> wrote: > So currently (v2.6.33), before sending a read-olny buffer (TO_DEVICE), > we do dmac_flush_range (should be clean, but whatever) and before > sending a write-only (FROM_DEVICE), we do dmac_inv_range. > > On v2.6.33 the same could be achieved with only dma_map_* functions, > but on v2.6.34 that's not the case. Sorry, I didn't completely follow you here, let's take a look at the mapping code: ENTRY(v7_dma_map_area) add r1, r1, r0 teq r2, #DMA_FROM_DEVICE beq v7_dma_inv_range b v7_dma_clean_range ENDPROC(v7_dma_map_area) DMA_FROM_DEVICE will get the cache invalidated and then cleaned, and DMA_BIDIRECTIONAL/DMA_TO_DEVICE will get the cache only cleaned. Unfortunately I don't have a setup right now to test this, but the code seems to be ok for our needs, don't you think ? Thanks, Ohad. -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html