[PATCH 1/5] iova
Chris Wilson
chris at chris-wilson.co.uk
Sat Jan 16 10:24:01 UTC 2021
---
drivers/iommu/dma-iommu.c | 8 ++++++--
drivers/iommu/iommu.c | 5 ++++-
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/drivers/iommu/dma-iommu.c b/drivers/iommu/dma-iommu.c
index 4078358ed66e..31cd260bc581 100644
--- a/drivers/iommu/dma-iommu.c
+++ b/drivers/iommu/dma-iommu.c
@@ -1025,15 +1025,19 @@ static int iommu_dma_map_sg(struct device *dev, struct scatterlist *sg,
}
iova = iommu_dma_alloc_iova(domain, iova_len, dma_get_mask(dev), dev);
- if (!iova)
+ if (!iova) {
+ pr_err("alloc_iova failed\n");
goto out_restore_sg;
+ }
/*
* We'll leave any physical concatenation to the IOMMU driver's
* implementation - it knows better than we do.
*/
- if (iommu_map_sg_atomic(domain, iova, sg, nents, prot) < iova_len)
+ if (iommu_map_sg_atomic(domain, iova, sg, nents, prot) < iova_len) {
+ pr_err("map_sg_atomic failed\n");
goto out_free_iova;
+ }
return __finalise_sg(dev, sg, nents, iova);
diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c
index ffeebda8d6de..8fb030cf35c9 100644
--- a/drivers/iommu/iommu.c
+++ b/drivers/iommu/iommu.c
@@ -2418,8 +2418,11 @@ static int __iommu_map(struct iommu_domain *domain, unsigned long iova,
iova, &paddr, pgsize);
ret = ops->map(domain, iova, paddr, pgsize, prot, gfp);
- if (ret)
+ if (ret) {
+ pr_err("mapping: iova 0x%lx pa %pa pgsize 0x%zx, ret %d\n",
+ iova, &paddr, pgsize, ret);
break;
+ }
iova += pgsize;
paddr += pgsize;
--
2.20.1
More information about the Intel-gfx-trybot
mailing list