I've just noticed that we can also defer the invalidation from the v6_dma_map_area to v6_dma_unmap_area. The following patch cleans the cache for DMA_TO_DEVICE and DMA_BIDIRECTIONAL on mapping but does no invalidation.