Skip to content

Commit 618c11e

Browse files
lumagRob Clark
authored andcommitted
drm/msm: don't return NULL from msm_iommu_new()
As we've dropped no-IOMMU support, there is no reason to specially handle the no-IOMMU case inside msm_iommu_new(). Make it return -ENODEV if there is no IOMMU (instead of returning NULL) and simplify all calling sites accordingly. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> Patchwork: https://patchwork.freedesktop.org/patch/672561/ Signed-off-by: Rob Clark <robin.clark@oss.qualcomm.com>
1 parent c94fc6d commit 618c11e

5 files changed

Lines changed: 16 additions & 18 deletions

File tree

drivers/gpu/drm/msm/adreno/a6xx_gmu.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1318,8 +1318,6 @@ static int a6xx_gmu_memory_probe(struct drm_device *drm, struct a6xx_gmu *gmu)
13181318
struct msm_mmu *mmu;
13191319

13201320
mmu = msm_iommu_new(gmu->dev, 0);
1321-
if (!mmu)
1322-
return -ENODEV;
13231321
if (IS_ERR(mmu))
13241322
return PTR_ERR(mmu);
13251323

drivers/gpu/drm/msm/adreno/adreno_gpu.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -202,9 +202,7 @@ adreno_iommu_create_vm(struct msm_gpu *gpu,
202202
u64 start, size;
203203

204204
mmu = msm_iommu_gpu_new(&pdev->dev, gpu, quirks);
205-
if (!mmu)
206-
return ERR_PTR(-ENODEV);
207-
else if (IS_ERR_OR_NULL(mmu))
205+
if (IS_ERR(mmu))
208206
return ERR_CAST(mmu);
209207

210208
geometry = msm_iommu_get_geometry(mmu);

drivers/gpu/drm/msm/disp/mdp4/mdp4_kms.c

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -458,14 +458,16 @@ static int mdp4_kms_init(struct drm_device *dev)
458458
mdp4_disable(mdp4_kms);
459459
mdelay(16);
460460

461+
if (!device_iommu_mapped(&pdev->dev)) {
462+
DRM_DEV_INFO(dev->dev, "no IOMMU, bailing out\n");
463+
ret = -ENODEV;
464+
goto fail;
465+
}
466+
461467
mmu = msm_iommu_new(&pdev->dev, 0);
462468
if (IS_ERR(mmu)) {
463469
ret = PTR_ERR(mmu);
464470
goto fail;
465-
} else if (!mmu) {
466-
DRM_DEV_INFO(dev->dev, "no IOMMU, bailing out\n");
467-
ret = -ENODEV;
468-
goto fail;
469471
} else {
470472
vm = msm_gem_vm_create(dev, mmu, "mdp4",
471473
0x1000, 0x100000000 - 0x1000,

drivers/gpu/drm/msm/msm_iommu.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -721,7 +721,7 @@ struct msm_mmu *msm_iommu_new(struct device *dev, unsigned long quirks)
721721
int ret;
722722

723723
if (!device_iommu_mapped(dev))
724-
return NULL;
724+
return ERR_PTR(-ENODEV);
725725

726726
domain = iommu_paging_domain_alloc(dev);
727727
if (IS_ERR(domain))
@@ -756,7 +756,7 @@ struct msm_mmu *msm_iommu_disp_new(struct device *dev, unsigned long quirks)
756756
struct msm_mmu *mmu;
757757

758758
mmu = msm_iommu_new(dev, quirks);
759-
if (IS_ERR_OR_NULL(mmu))
759+
if (IS_ERR(mmu))
760760
return mmu;
761761

762762
iommu = to_msm_iommu(mmu);
@@ -772,7 +772,7 @@ struct msm_mmu *msm_iommu_gpu_new(struct device *dev, struct msm_gpu *gpu, unsig
772772
struct msm_mmu *mmu;
773773

774774
mmu = msm_iommu_new(dev, quirks);
775-
if (IS_ERR_OR_NULL(mmu))
775+
if (IS_ERR(mmu))
776776
return mmu;
777777

778778
iommu = to_msm_iommu(mmu);

drivers/gpu/drm/msm/msm_kms.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -193,17 +193,17 @@ struct drm_gpuvm *msm_kms_init_vm(struct drm_device *dev)
193193
*/
194194
if (device_iommu_mapped(mdp_dev))
195195
iommu_dev = mdp_dev;
196-
else
196+
else if (device_iommu_mapped(mdss_dev))
197197
iommu_dev = mdss_dev;
198-
mmu = msm_iommu_disp_new(iommu_dev, 0);
199-
if (IS_ERR(mmu))
200-
return ERR_CAST(mmu);
201-
202-
if (!mmu) {
198+
else {
203199
drm_info(dev, "no IOMMU, bailing out\n");
204200
return ERR_PTR(-ENODEV);
205201
}
206202

203+
mmu = msm_iommu_disp_new(iommu_dev, 0);
204+
if (IS_ERR(mmu))
205+
return ERR_CAST(mmu);
206+
207207
vm = msm_gem_vm_create(dev, mmu, "mdp_kms",
208208
0x1000, 0x100000000 - 0x1000, true);
209209
if (IS_ERR(vm)) {

0 commit comments

Comments
 (0)