Commit 0a48db56 authored by Luca Weiss's avatar Luca Weiss Committed by Rob Clark

drm/msm/adreno: fix probe without iommu

The function iommu_domain_alloc returns NULL on platforms without IOMMU
such as msm8974. This resulted in PTR_ERR(-ENODEV) being assigned to
gpu->aspace so the correct code path wasn't taken.

Fixes: ccac7ce3 ("drm/msm: Refactor address space initialization")
Signed-off-by: default avatarLuca Weiss <luca@z3ntu.xyz>
Reviewed-by: default avatarJordan Crouse <jcrouse@codeaurora.org>
Signed-off-by: default avatarRob Clark <robdclark@chromium.org>
parent ec1cb6e4
...@@ -189,10 +189,16 @@ struct msm_gem_address_space * ...@@ -189,10 +189,16 @@ struct msm_gem_address_space *
adreno_iommu_create_address_space(struct msm_gpu *gpu, adreno_iommu_create_address_space(struct msm_gpu *gpu,
struct platform_device *pdev) struct platform_device *pdev)
{ {
struct iommu_domain *iommu = iommu_domain_alloc(&platform_bus_type); struct iommu_domain *iommu;
struct msm_mmu *mmu = msm_iommu_new(&pdev->dev, iommu); struct msm_mmu *mmu;
struct msm_gem_address_space *aspace; struct msm_gem_address_space *aspace;
iommu = iommu_domain_alloc(&platform_bus_type);
if (!iommu)
return NULL;
mmu = msm_iommu_new(&pdev->dev, iommu);
aspace = msm_gem_address_space_create(mmu, "gpu", SZ_16M, aspace = msm_gem_address_space_create(mmu, "gpu", SZ_16M,
0xffffffff - SZ_16M); 0xffffffff - SZ_16M);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment