summaryrefslogtreecommitdiff
path: root/drivers/mtd
diff options
context:
space:
mode:
authorManoj Chourasia <mchourasia@nvidia.com>2012-05-09 16:45:06 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2013-09-14 01:32:09 -0700
commitd73858dd587490e87755a2685688013c4e4f36d0 (patch)
tree0de09d176545d5e1c30cc8a4da1c4b3080a3e7b5 /drivers/mtd
parente29fc8859e64ffcb79f65ed723de97386e61bfd1 (diff)
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 Signed-off-by: Manoj Chourasia <mchourasia@nvidia.com> Reviewed-on: http://git-master/r/105917 (cherry picked from commit ff5d25f4a5847c664a123ca02ad981df699d50b6) Change-Id: Id77d8239186b70e731f0c93f6e52ce81fb7e43f4 Reviewed-on: http://git-master/r/108507 (cherry picked from commit d739cbdfebec5331ac88e44d99d04ebfc20cef06) Signed-off-by: Pritesh Raithatha <praithatha@nvidia.com> Change-Id: Ibe9ec568fdbf34a1039eb61a9e8fba5d85d9829e Reviewed-on: http://git-master/r/109544 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Varun Wadekar <vwadekar@nvidia.com> Rebase-Id: R695460d8bec75829abab5cc4faf45013ec931886
Diffstat (limited to 'drivers/mtd')
-rw-r--r--drivers/mtd/maps/tegra_nor.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/mtd/maps/tegra_nor.c b/drivers/mtd/maps/tegra_nor.c
index 1cf79cab352c..1556733e3d4c 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));