From ff5d25f4a5847c664a123ca02ad981df699d50b6 Mon Sep 17 00:00:00 2001 From: Manoj Chourasia Date: Wed, 9 May 2012 16:45:06 +0530 Subject: mtd: tegra-nor: Fix dma/cpu coherency issues Call dma sync single api's to maintain coherency between CPU, dma and device in data transfers. bug 984029 bug 980884 Change-Id: I50b5a24a7ce482f473670347af3c75d6975c6060 Signed-off-by: Manoj Chourasia Reviewed-on: http://git-master/r/105917 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Varun Wadekar --- drivers/mtd/maps/tegra_nor.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'drivers/mtd') diff --git a/drivers/mtd/maps/tegra_nor.c b/drivers/mtd/maps/tegra_nor.c index cc80a0bb3e86..505a2591f884 100644 --- a/drivers/mtd/maps/tegra_nor.c +++ b/drivers/mtd/maps/tegra_nor.c @@ -217,6 +217,8 @@ static void tegra_flash_dma(struct map_info *map, bytes_remaining += (word32_count << 2); break; } + dma_sync_single_for_cpu(c->dev, c->dma_phys_buffer, + (current_transfer << 2), DMA_FROM_DEVICE); memcpy((char *)(copy_to), (char *)(c->dma_virt_buffer), (current_transfer << 2)); -- cgit v1.2.3