fimc-is: Add memory barriers in place of vb2_ion_sync_for_device() calls
authorSylwester Nawrocki <s.nawrocki@samsung.com>
Mon, 27 Jul 2015 01:17:35 +0000 (10:17 +0900)
committerMarek Szyprowski <m.szyprowski@samsung.com>
Fri, 27 Apr 2018 08:25:07 +0000 (10:25 +0200)
Change-Id: If208bd4f9f7ef2b2c488b004d552891e57577e25
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
drivers/media/platform/exynos/fimc-is/fimc-is-device-ischain.c

index 30c0caafc78b25001f3d890e5cd2af34416bdd02..be0de25d28ea91e263eb794f05ee8dc3e33a816d 100644 (file)
@@ -19,6 +19,7 @@
 #include <linux/platform_device.h>
 #include <linux/slab.h>
 #include <asm/cacheflush.h>
+#include <asm/barrier.h>
 #include <asm/pgtable.h>
 #include <linux/firmware.h>
 #include <linux/dma-mapping.h>
@@ -688,6 +689,7 @@ static void fimc_is_ischain_cache_flush(struct fimc_is_device_ischain *this,
                size,
                DMA_TO_DEVICE);
 #endif
+       smp_mb();
 }
 
 static void fimc_is_ischain_region_invalid(struct fimc_is_device_ischain *device)
@@ -699,6 +701,7 @@ static void fimc_is_ischain_region_invalid(struct fimc_is_device_ischain *device
                sizeof(struct is_region),
                DMA_FROM_DEVICE);
 #endif
+       smp_mb();
 }
 
 static void fimc_is_ischain_region_flush(struct fimc_is_device_ischain *device)
@@ -710,6 +713,7 @@ static void fimc_is_ischain_region_flush(struct fimc_is_device_ischain *device)
                sizeof(struct is_region),
                DMA_TO_DEVICE);
 #endif
+       smp_mb();
 }
 
 void fimc_is_ischain_meta_flush(struct fimc_is_frame *frame)
@@ -723,6 +727,7 @@ void fimc_is_ischain_meta_flush(struct fimc_is_frame *frame)
                DMA_TO_DEVICE);
 #endif
 #endif
+       smp_mb();
 }
 
 void fimc_is_ischain_meta_invalid(struct fimc_is_frame *frame)
@@ -736,6 +741,7 @@ void fimc_is_ischain_meta_invalid(struct fimc_is_frame *frame)
                DMA_FROM_DEVICE);
 #endif
 #endif
+       smp_mb();
 }
 
 static void fimc_is_ischain_version(struct fimc_is_device_ischain *this, char *name, const char *load_bin, u32 size)