On Wed, May 29, 2024 at 01:32:36PM +0800, Lu Baolu wrote:
The domain allocated in msm_iommu_new() is for the @dev. ReplacePlease don't mix unrelated changes, because ...
iommu_domain_alloc() with iommu_paging_domain_alloc() to make it explicit.
Update msm_iommu_new() to always return ERR_PTR in failure cases instead
of NULL.
Signed-off-by: Lu Baolu<baolu.lu@xxxxxxxxxxxxxxx>NAK, not having an IOMMU is a poor but legit usecase for some of devices
---
drivers/gpu/drm/msm/msm_iommu.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/msm/msm_iommu.c b/drivers/gpu/drm/msm/msm_iommu.c
index d5512037c38b..f7e28d4b5f62 100644
--- a/drivers/gpu/drm/msm/msm_iommu.c
+++ b/drivers/gpu/drm/msm/msm_iommu.c
@@ -407,9 +407,9 @@ struct msm_mmu *msm_iommu_new(struct device *dev, unsigned long quirks)
struct msm_iommu *iommu;
int ret;
- domain = iommu_domain_alloc(dev->bus);
- if (!domain)
- return NULL;
+ domain = iommu_paging_domain_alloc(dev);
+ if (IS_ERR(domain))
+ return ERR_CAST(domain);
iommu_set_pgtable_quirks(domain, quirks);
@@ -441,7 +441,7 @@ struct msm_mmu *msm_iommu_gpu_new(struct device *dev, struct msm_gpu *gpu, unsig
struct msm_mmu *mmu;
mmu = msm_iommu_new(dev, quirks);
- if (IS_ERR_OR_NULL(mmu))
+ if (IS_ERR(mmu))
return mmu;
which don't have IOMMU support yet (for example because of the buggy
implementation for which we were not able to get all the hooks in).
Please don't break compatibility for existing platforms.