MGS-2907 [#imx-560] fix wrong cache invalidate with dma_map_area
authorXianzhong <xianzhong.li@nxp.com>
Tue, 16 May 2017 09:50:56 +0000 (17:50 +0800)
committerNitin Garg <nitin.garg@nxp.com>
Mon, 19 Mar 2018 20:22:19 +0000 (15:22 -0500)
dma_map_area function is used for both cache clean and invalidate mistakenly,
need correct the cache invalidate with dma_unmap_area function.

Date: May 16, 2017
Signed-off-by: Xianzhong <xianzhong.li@nxp.com>
drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c

index 3ef1650..9bf6045 100644 (file)
@@ -4669,12 +4669,12 @@ gckOS_CacheInvalidate(
 #if defined (CONFIG_ARM)
     /* Inner cache. */
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,35)
-    dmac_map_area(Logical, Bytes, DMA_FROM_DEVICE);
+    dmac_unmap_area(Logical, Bytes, DMA_FROM_DEVICE);
 #      else
     dmac_inv_range(Logical, Logical + Bytes);
 #      endif
 #elif defined(CONFIG_ARM64)
-    __dma_map_area(Logical, Bytes, DMA_FROM_DEVICE);
+    __dma_unmap_area(Logical, Bytes, DMA_FROM_DEVICE);
 #endif
 
 #if defined(CONFIG_OUTER_CACHE)