diff options
-rw-r--r-- | drivers/iommu/tegra-smmu.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/iommu/tegra-smmu.c b/drivers/iommu/tegra-smmu.c index d48296636460..a719ef20b2c6 100644 --- a/drivers/iommu/tegra-smmu.c +++ b/drivers/iommu/tegra-smmu.c @@ -484,6 +484,19 @@ static void flush_ptc_and_tlb(struct smmu_device *smmu, smmu_flush_tlb(smmu, as, iova, is_pde); } +static void flush_ptc_and_tlb_range(struct smmu_device *smmu, + struct smmu_as *as, dma_addr_t iova, + unsigned long *pte, struct page *page, + size_t count) +{ + int i; + + for (i = 0; i < count; i++) { + smmu_flush_ptc(smmu, pte + i, page); + smmu_flush_tlb(smmu, as, iova + i * PAGE_SIZE, 0); + } +} + static inline void flush_ptc_and_tlb_all(struct smmu_device *smmu, struct smmu_as *as) { |