Merge branch 'stable/for-linus-5.15' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-microblaze.git] / drivers / iommu / dma-iommu.c
index 9b4c025..174b2b3 100644 (file)
@@ -506,7 +506,7 @@ static void __iommu_dma_unmap_swiotlb(struct device *dev, dma_addr_t dma_addr,
 
        __iommu_dma_unmap(dev, dma_addr, size);
 
-       if (unlikely(is_swiotlb_buffer(phys)))
+       if (unlikely(is_swiotlb_buffer(dev, phys)))
                swiotlb_tbl_unmap_single(dev, phys, size, dir, attrs);
 }
 
@@ -577,7 +577,7 @@ static dma_addr_t __iommu_dma_map_swiotlb(struct device *dev, phys_addr_t phys,
        }
 
        iova = __iommu_dma_map(dev, phys, aligned_size, prot, dma_mask);
-       if (iova == DMA_MAPPING_ERROR && is_swiotlb_buffer(phys))
+       if (iova == DMA_MAPPING_ERROR && is_swiotlb_buffer(dev, phys))
                swiotlb_tbl_unmap_single(dev, phys, org_size, dir, attrs);
        return iova;
 }
@@ -784,7 +784,7 @@ static void iommu_dma_sync_single_for_cpu(struct device *dev,
        if (!dev_is_dma_coherent(dev))
                arch_sync_dma_for_cpu(phys, size, dir);
 
-       if (is_swiotlb_buffer(phys))
+       if (is_swiotlb_buffer(dev, phys))
                swiotlb_sync_single_for_cpu(dev, phys, size, dir);
 }
 
@@ -797,7 +797,7 @@ static void iommu_dma_sync_single_for_device(struct device *dev,
                return;
 
        phys = iommu_iova_to_phys(iommu_get_dma_domain(dev), dma_handle);
-       if (is_swiotlb_buffer(phys))
+       if (is_swiotlb_buffer(dev, phys))
                swiotlb_sync_single_for_device(dev, phys, size, dir);
 
        if (!dev_is_dma_coherent(dev))
@@ -818,7 +818,7 @@ static void iommu_dma_sync_sg_for_cpu(struct device *dev,
                if (!dev_is_dma_coherent(dev))
                        arch_sync_dma_for_cpu(sg_phys(sg), sg->length, dir);
 
-               if (is_swiotlb_buffer(sg_phys(sg)))
+               if (is_swiotlb_buffer(dev, sg_phys(sg)))
                        swiotlb_sync_single_for_cpu(dev, sg_phys(sg),
                                                    sg->length, dir);
        }
@@ -835,7 +835,7 @@ static void iommu_dma_sync_sg_for_device(struct device *dev,
                return;
 
        for_each_sg(sgl, sg, nelems, i) {
-               if (is_swiotlb_buffer(sg_phys(sg)))
+               if (is_swiotlb_buffer(dev, sg_phys(sg)))
                        swiotlb_sync_single_for_device(dev, sg_phys(sg),
                                                       sg->length, dir);