diff options
author | Robin Murphy <robin.murphy@arm.com> | 2015-12-07 21:18:53 +0300 |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2015-12-17 15:05:34 +0300 |
commit | 06c610e8f32ba2fe41d57e1718611c2ec5024878 (patch) | |
tree | 1255fe5238bac58717ff0bbf56beb48625153021 /drivers/iommu/arm-smmu-v3.c | |
parent | 2eb97c78613082f308c0b39366c034cb589b8ee9 (diff) | |
download | linux-06c610e8f32ba2fe41d57e1718611c2ec5024878.tar.xz |
iommu/io-pgtable: Indicate granule for TLB maintenance
IOMMU hardware with range-based TLB maintenance commands can work
happily with the iova and size arguments passed via the tlb_add_flush
callback, but for IOMMUs which require separate commands per entry in
the range, it is not straightforward to infer the necessary granularity
when it comes to issuing the actual commands.
Add an additional argument indicating the granularity for the benefit
of drivers needing to know, and update the ARM LPAE code appropriately
(for non-leaf invalidations we currently just assume the worst-case
page granularity rather than walking the table to check).
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-v3.c')
-rw-r--r-- | drivers/iommu/arm-smmu-v3.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/iommu/arm-smmu-v3.c b/drivers/iommu/arm-smmu-v3.c index 4c5ef4e5da98..735ad2c58dd8 100644 --- a/drivers/iommu/arm-smmu-v3.c +++ b/drivers/iommu/arm-smmu-v3.c @@ -1341,7 +1341,7 @@ static void arm_smmu_tlb_inv_context(void *cookie) } static void arm_smmu_tlb_inv_range_nosync(unsigned long iova, size_t size, - bool leaf, void *cookie) + size_t granule, bool leaf, void *cookie) { struct arm_smmu_domain *smmu_domain = cookie; struct arm_smmu_device *smmu = smmu_domain->smmu; |