|
@@ -1331,20 +1331,10 @@ static void arm_smmu_tlb_inv_range_nosync(unsigned long iova, size_t size,
|
|
|
arm_smmu_cmdq_issue_cmd(smmu, &cmd);
|
|
|
}
|
|
|
|
|
|
-static void arm_smmu_flush_pgtable(void *addr, size_t size, void *cookie)
|
|
|
-{
|
|
|
- struct arm_smmu_domain *smmu_domain = cookie;
|
|
|
-
|
|
|
- /* The page table code handles flushing in the non-coherent case */
|
|
|
- if (smmu_domain->smmu->features & ARM_SMMU_FEAT_COHERENCY)
|
|
|
- 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,
|
|
|
};
|
|
|
|
|
|
/* IOMMU API */
|