diff options
author | Linux Build Service Account <lnxbuild@localhost> | 2014-02-12 17:39:35 -0800 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2014-02-12 17:39:35 -0800 |
commit | 6b5f829419212afdf3dea13894dae85098dd2be5 (patch) | |
tree | 4b01509dbd19a2ea467a4f801a8a765149f0be25 /drivers/iommu | |
parent | 1615af02e8b60f1466c279894e83cef65323d136 (diff) | |
parent | b86285d2573e5e0312884567352ead561451466d (diff) |
Merge "iommu: msm: Use standard caching APIs"
Diffstat (limited to 'drivers/iommu')
-rw-r--r-- | drivers/iommu/msm_iommu_sec.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/iommu/msm_iommu_sec.c b/drivers/iommu/msm_iommu_sec.c index 0c4acaf04d44..d3be32deb9c4 100644 --- a/drivers/iommu/msm_iommu_sec.c +++ b/drivers/iommu/msm_iommu_sec.c @@ -28,6 +28,7 @@ #include <linux/kmemleak.h> #include <soc/qcom/scm.h> +#include <asm/cacheflush.h> #include <asm/sizes.h> #include <mach/iommu_perfmon.h> @@ -137,8 +138,7 @@ static int msm_iommu_dump_fault_regs(int smmu_id, int cb_num, ret = scm_call(SCM_SVC_UTIL, IOMMU_DUMP_SMMU_FAULT_REGS, &req_info, sizeof(req_info), &resp, 1); - invalidate_caches((unsigned long) regs, sizeof(*regs), - (unsigned long)virt_to_phys(regs)); + dmac_inv_range(regs, regs + sizeof(*regs)); return ret; } @@ -419,7 +419,7 @@ static int msm_iommu_sec_ptbl_map(struct msm_iommu_drvdata *iommu_drvdata, /* * Ensure that the buffer is in RAM by the time it gets to TZ */ - clean_caches((unsigned long) flush_va, len, flush_pa); + dmac_clean_range(flush_va, flush_va + len); if (scm_call(SCM_SVC_MP, IOMMU_SECURE_MAP2, &map, sizeof(map), &ret, sizeof(ret))) @@ -428,7 +428,7 @@ static int msm_iommu_sec_ptbl_map(struct msm_iommu_drvdata *iommu_drvdata, return -EINVAL; /* Invalidate cache since TZ touched this address range */ - invalidate_caches((unsigned long) flush_va, len, flush_pa); + dmac_inv_range(flush_va, flush_va + len); return 0; } @@ -506,9 +506,8 @@ static int msm_iommu_sec_ptbl_map_range(struct msm_iommu_drvdata *iommu_drvdata, /* * Ensure that the buffer is in RAM by the time it gets to TZ */ - clean_caches((unsigned long) flush_va, - sizeof(unsigned long) * map.plist.list_size, - virt_to_phys(flush_va)); + dmac_clean_range(flush_va, + flush_va + sizeof(unsigned long) * map.plist.list_size); ret = scm_call(SCM_SVC_MP, IOMMU_SECURE_MAP2, &map, sizeof(map), &scm_ret, sizeof(scm_ret)); |