Signed-off-by: Yogesh Chobe <yogesh.chobe@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
sgcnt_dma = sgcnt;
if (user_flags & CF_FLAG_CACHE_FLUSH_INVALIDATE) {
kaddr = phys_to_virt((phys_addr_t)userbuf);
- dmac_map_area(kaddr, size, DMA_TO_DEVICE);
if (dmadir == DMA_TO_DEVICE) {
outer_clean_range((phys_addr_t)userbuf,
(u32)userbuf + size);
outer_inv_range((phys_addr_t)paddr,
(u32)paddr + size);
}
- dmac_unmap_area(kaddr, size, DMA_FROM_DEVICE);
}
}
return 0;
if (temp_args.cachecontrol.action == 0) {
/* flush cache */
- dmac_map_area(kaddr, size, DMA_TO_DEVICE);
outer_clean_range((unsigned int)paddr,
(unsigned int)(paddr + size));
} else {
/* invalidate cache */
outer_inv_range((unsigned int)paddr,
(unsigned int)(paddr + size));
- dmac_unmap_area(kaddr, size, DMA_FROM_DEVICE);
}
return 0;