diff options
author | Joerg Roedel <jroedel@suse.de> | 2024-10-29 14:11:49 +0300 |
---|---|---|
committer | Joerg Roedel <jroedel@suse.de> | 2024-10-29 16:36:25 +0300 |
commit | a33bf8d8ce7e06bf0f033865b0cea5887cd2ac8c (patch) | |
tree | 9590fc4425bfe74114191f29bff7c0b32682a350 | |
parent | d14772c0d88c387f881a577aa136e1e9b1291d07 (diff) | |
download | linux-a33bf8d8ce7e06bf0f033865b0cea5887cd2ac8c.tar.xz |
iommu: Restore iommu_flush_iotlb_all()
This patch restores the iommu_flush_iotlb_all() function.
Commit
69e5a17511f6 ("iommu: Remove useless flush from iommu_create_device_direct_mappings()")
claims it removed the last call-site, except it did not. There is still
at least one caller in
drivers/gpu/drm/msm/msm_iommu.c
so keep the function around until all call-sites are updated.
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Fixes: 69e5a17511f6 ("iommu: Remove useless flush from iommu_create_device_direct_mappings()")
Acked-by: Will Deacon <will@kernel.org>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
-rw-r--r-- | include/linux/iommu.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/include/linux/iommu.h b/include/linux/iommu.h index 522efdc7d815..8cce372a33f1 100644 --- a/include/linux/iommu.h +++ b/include/linux/iommu.h @@ -853,6 +853,12 @@ void iommu_set_dma_strict(void); extern int report_iommu_fault(struct iommu_domain *domain, struct device *dev, unsigned long iova, int flags); +static inline void iommu_flush_iotlb_all(struct iommu_domain *domain) +{ + if (domain->ops->flush_iotlb_all) + domain->ops->flush_iotlb_all(domain); +} + static inline void iommu_iotlb_sync(struct iommu_domain *domain, struct iommu_iotlb_gather *iotlb_gather) { @@ -1137,6 +1143,10 @@ static inline ssize_t iommu_map_sg(struct iommu_domain *domain, return -ENODEV; } +static inline void iommu_flush_iotlb_all(struct iommu_domain *domain) +{ +} + static inline void iommu_iotlb_sync(struct iommu_domain *domain, struct iommu_iotlb_gather *iotlb_gather) { |