summaryrefslogtreecommitdiff
path: root/drivers/iommu/arm-smmu.c
diff options
context:
space:
mode:
authorRobin Murphy <Robin.Murphy@arm.com>2015-07-29 21:46:10 +0300
committerWill Deacon <will.deacon@arm.com>2015-08-06 16:35:40 +0300
commit4103d662cbd0c045d7a44a18c82172220478b20c (patch)
tree5069de3c752421918389b6a3b48208abbdd4ede0 /drivers/iommu/arm-smmu.c
parent87a91b15d691d6f4aa0a5baffb5767bbc6e4a8c4 (diff)
downloadlinux-4103d662cbd0c045d7a44a18c82172220478b20c.tar.xz
iommu/arm-smmu: Remove arm_smmu_flush_pgtable()
With the io-pgtable code now enforcing its own appropriate sync points, the vestigial flush_pgtable callback becomes entirely redundant, so remove it altogether. Signed-off-by: Robin Murphy <robin.murphy@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'drivers/iommu/arm-smmu.c')
-rw-r--r--drivers/iommu/arm-smmu.c13
1 files changed, 0 insertions, 13 deletions
diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c
index 5770ab98fa38..48a39dfa9777 100644
--- a/drivers/iommu/arm-smmu.c
+++ b/drivers/iommu/arm-smmu.c
@@ -608,23 +608,10 @@ static void arm_smmu_tlb_inv_range_nosync(unsigned long iova, size_t size,
}
}
-static void arm_smmu_flush_pgtable(void *addr, size_t size, void *cookie)
-{
- struct arm_smmu_domain *smmu_domain = cookie;
-
- /*
- * Ensure new page tables are visible to a coherent hardware walker.
- * The page table code deals with flushing for the non-coherent case.
- */
- if (smmu_domain->smmu->features & ARM_SMMU_FEAT_COHERENT_WALK)
- dsb(ishst);
-}
-
static struct iommu_gather_ops arm_smmu_gather_ops = {
.tlb_flush_all = arm_smmu_tlb_inv_context,
.tlb_add_flush = arm_smmu_tlb_inv_range_nosync,
.tlb_sync = arm_smmu_tlb_sync,
- .flush_pgtable = arm_smmu_flush_pgtable,
};
static irqreturn_t arm_smmu_context_fault(int irq, void *dev)