Messages in this thread Patch in this message | ![/](/images/icornerl.gif) | | From | Tom Murphy <> | Subject | [PATCH] Remove old no iommu direct mapping code | Date | Tue, 23 Apr 2019 21:03:34 +0100 |
| |
These checks were intended to handle devices not mapped by the IOMMU. Since the AMD IOMMU driver uses per-device dma_ops these functions can no longer be called by direct mapped devices. So these checks aren't needed anymore.
Signed-off-by: Tom Murphy <tmurphy@arista.com> --- drivers/iommu/amd_iommu.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-)
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c index b319e51c379b..67cdc9e5304b 100644 --- a/drivers/iommu/amd_iommu.c +++ b/drivers/iommu/amd_iommu.c @@ -2503,9 +2503,7 @@ static dma_addr_t map_page(struct device *dev, struct page *page, u64 dma_mask; domain = get_domain(dev); - if (PTR_ERR(domain) == -EINVAL) - return (dma_addr_t)paddr; - else if (IS_ERR(domain)) + if (IS_ERR(domain)) return DMA_MAPPING_ERROR; dma_mask = *dev->dma_mask; @@ -2676,11 +2674,7 @@ static void *alloc_coherent(struct device *dev, size_t size, struct page *page; domain = get_domain(dev); - if (PTR_ERR(domain) == -EINVAL) { - page = alloc_pages(flag, get_order(size)); - *dma_addr = page_to_phys(page); - return page_address(page); - } else if (IS_ERR(domain)) + if (IS_ERR(domain)) return NULL; dma_dom = to_dma_ops_domain(domain); -- 2.17.1
| ![\](/images/icornerr.gif) |