summaryrefslogtreecommitdiff
path: root/drivers/iommu/arm-smmu.h
diff options
context:
space:
mode:
authorRobin Murphy <robin.murphy@arm.com>2019-09-18 19:17:50 +0300
committerWill Deacon <will@kernel.org>2019-10-01 14:17:39 +0300
commitae2b60f34ab21780bc30d01ae976cc7340446bde (patch)
tree555c9cc946362eadc70a0b5c749cd95314675f71 /drivers/iommu/arm-smmu.h
parent3370cb6bf64f6896a30eb7ad97721b9598c8fb10 (diff)
downloadlinux-ae2b60f34ab21780bc30d01ae976cc7340446bde.tar.xz
iommu/arm-smmu: Move .tlb_sync method to implementation
With the .tlb_sync interface no longer exposed directly to io-pgtable, strip away the remains of that abstraction layer. Retain the callback in spirit, though, by transforming it into an implementation override for the low-level sync routine itself, for which we will have at least one user. Signed-off-by: Robin Murphy <robin.murphy@arm.com> Signed-off-by: Will Deacon <will@kernel.org>
Diffstat (limited to 'drivers/iommu/arm-smmu.h')
-rw-r--r--drivers/iommu/arm-smmu.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/iommu/arm-smmu.h b/drivers/iommu/arm-smmu.h
index 6edd35ca983c..5032102f05b7 100644
--- a/drivers/iommu/arm-smmu.h
+++ b/drivers/iommu/arm-smmu.h
@@ -306,7 +306,6 @@ enum arm_smmu_domain_stage {
struct arm_smmu_flush_ops {
struct iommu_flush_ops tlb;
- void (*tlb_sync)(void *cookie);
};
struct arm_smmu_domain {
@@ -333,6 +332,8 @@ struct arm_smmu_impl {
int (*cfg_probe)(struct arm_smmu_device *smmu);
int (*reset)(struct arm_smmu_device *smmu);
int (*init_context)(struct arm_smmu_domain *smmu_domain);
+ void (*tlb_sync)(struct arm_smmu_device *smmu, int page, int sync,
+ int status);
};
static inline void __iomem *arm_smmu_page(struct arm_smmu_device *smmu, int n)