mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-08-28 09:22:08 +00:00
iommu: Remove useless flush from iommu_create_device_direct_mappings()
These days iommu_map() does not require external flushing, it always internally handles any required flushes. Since iommu_create_device_direct_mappings() only calls iommu_map(), remove the extra call. Since this is the last call site for iommu_flush_iotlb_all() remove it too. Signed-off-by: Jason Gunthorpe <jgg@nvidia.com> Reviewed-by: Lu Baolu <baolu.lu@linux.intel.com> Link: https://lore.kernel.org/r/0-v1-bb6c694e1b07+a29e1-iommu_no_flush_all_jgg@nvidia.com Signed-off-by: Joerg Roedel <jroedel@suse.de>
This commit is contained in:
parent
a2f528e914
commit
69e5a17511
@ -1141,10 +1141,6 @@ static int iommu_create_device_direct_mappings(struct iommu_domain *domain,
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!list_empty(&mappings) && iommu_is_dma_domain(domain))
|
|
||||||
iommu_flush_iotlb_all(domain);
|
|
||||||
|
|
||||||
out:
|
out:
|
||||||
iommu_put_resv_regions(dev, &mappings);
|
iommu_put_resv_regions(dev, &mappings);
|
||||||
|
|
||||||
|
@ -852,12 +852,6 @@ void iommu_set_dma_strict(void);
|
|||||||
extern int report_iommu_fault(struct iommu_domain *domain, struct device *dev,
|
extern int report_iommu_fault(struct iommu_domain *domain, struct device *dev,
|
||||||
unsigned long iova, int flags);
|
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,
|
static inline void iommu_iotlb_sync(struct iommu_domain *domain,
|
||||||
struct iommu_iotlb_gather *iotlb_gather)
|
struct iommu_iotlb_gather *iotlb_gather)
|
||||||
{
|
{
|
||||||
@ -1141,10 +1135,6 @@ static inline ssize_t iommu_map_sg(struct iommu_domain *domain,
|
|||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void iommu_flush_iotlb_all(struct iommu_domain *domain)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline void iommu_iotlb_sync(struct iommu_domain *domain,
|
static inline void iommu_iotlb_sync(struct iommu_domain *domain,
|
||||||
struct iommu_iotlb_gather *iotlb_gather)
|
struct iommu_iotlb_gather *iotlb_gather)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user