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 <[email protected]>
---
 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

_______________________________________________
iommu mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to