aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/iommu/intel-iommu.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
index 66b4444398ae..0ad67d65bbce 100644
--- a/drivers/iommu/intel-iommu.c
+++ b/drivers/iommu/intel-iommu.c
@@ -3617,7 +3617,7 @@ static dma_addr_t __intel_map_page(struct device *dev, struct page *page,
3617 3617
3618 domain = get_valid_domain_for_dev(dev); 3618 domain = get_valid_domain_for_dev(dev);
3619 if (!domain) 3619 if (!domain)
3620 return 0; 3620 return DMA_MAPPING_ERROR;
3621 3621
3622 iommu = domain_get_iommu(domain); 3622 iommu = domain_get_iommu(domain);
3623 size = aligned_nrpages(paddr, size); 3623 size = aligned_nrpages(paddr, size);
@@ -3655,7 +3655,7 @@ error:
3655 free_iova_fast(&domain->iovad, iova_pfn, dma_to_mm_pfn(size)); 3655 free_iova_fast(&domain->iovad, iova_pfn, dma_to_mm_pfn(size));
3656 pr_err("Device %s request: %zx@%llx dir %d --- failed\n", 3656 pr_err("Device %s request: %zx@%llx dir %d --- failed\n",
3657 dev_name(dev), size, (unsigned long long)paddr, dir); 3657 dev_name(dev), size, (unsigned long long)paddr, dir);
3658 return 0; 3658 return DMA_MAPPING_ERROR;
3659} 3659}
3660 3660
3661static dma_addr_t intel_map_page(struct device *dev, struct page *page, 3661static dma_addr_t intel_map_page(struct device *dev, struct page *page,
@@ -3756,7 +3756,7 @@ static void *intel_alloc_coherent(struct device *dev, size_t size,
3756 3756
3757 *dma_handle = __intel_map_page(dev, page, 0, size, DMA_BIDIRECTIONAL, 3757 *dma_handle = __intel_map_page(dev, page, 0, size, DMA_BIDIRECTIONAL,
3758 dev->coherent_dma_mask); 3758 dev->coherent_dma_mask);
3759 if (*dma_handle) 3759 if (*dma_handle != DMA_MAPPING_ERROR)
3760 return page_address(page); 3760 return page_address(page);
3761 if (!dma_release_from_contiguous(dev, page, size >> PAGE_SHIFT)) 3761 if (!dma_release_from_contiguous(dev, page, size >> PAGE_SHIFT))
3762 __free_pages(page, order); 3762 __free_pages(page, order);
@@ -3865,11 +3865,6 @@ static int intel_map_sg(struct device *dev, struct scatterlist *sglist, int nele
3865 return nelems; 3865 return nelems;
3866} 3866}
3867 3867
3868static int intel_mapping_error(struct device *dev, dma_addr_t dma_addr)
3869{
3870 return !dma_addr;
3871}
3872
3873static const struct dma_map_ops intel_dma_ops = { 3868static const struct dma_map_ops intel_dma_ops = {
3874 .alloc = intel_alloc_coherent, 3869 .alloc = intel_alloc_coherent,
3875 .free = intel_free_coherent, 3870 .free = intel_free_coherent,
@@ -3877,7 +3872,6 @@ static const struct dma_map_ops intel_dma_ops = {
3877 .unmap_sg = intel_unmap_sg, 3872 .unmap_sg = intel_unmap_sg,
3878 .map_page = intel_map_page, 3873 .map_page = intel_map_page,
3879 .unmap_page = intel_unmap_page, 3874 .unmap_page = intel_unmap_page,
3880 .mapping_error = intel_mapping_error,
3881 .dma_supported = dma_direct_supported, 3875 .dma_supported = dma_direct_supported,
3882}; 3876};
3883 3877