[DPU PATCH] drm/msm: populate aspace in msm_kms

Jeykumar Sankaran jsanka at codeaurora.org
Thu Apr 19 23:46:02 UTC 2018


display drivers may need to access aspace to
allocate internal buffers (e.g. DSI to allocate cmd buffer)
This change populates the needed info.

Signed-off-by: Jeykumar Sankaran <jsanka at codeaurora.org>
---
 drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
index 2c187e9..f6fea21 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c
@@ -1835,8 +1835,6 @@ static int _dpu_kms_mmu_init(struct dpu_kms *dpu_kms)
 		goto fail;
 	}
 
-	dpu_kms->aspace[0] = aspace;
-
 	ret = aspace->mmu->funcs->attach(aspace->mmu,
 				(const char **)iommu_ports,
 				ARRAY_SIZE(iommu_ports));
@@ -1845,7 +1843,9 @@ static int _dpu_kms_mmu_init(struct dpu_kms *dpu_kms)
 		msm_gem_address_space_put(aspace);
 		goto fail;
 	}
+
 	aspace->domain_attached = true;
+	dpu_kms->aspace[0] = aspace;
 #endif
 	return 0;
 fail:
@@ -2004,6 +2004,9 @@ static int dpu_kms_hw_init(struct msm_kms *kms)
 		goto power_error;
 	}
 
+	if (dpu_kms->aspace[0])
+		kms->aspace = dpu_kms->aspace[0];
+
 #ifdef CONFIG_CHROME_REGDMA
 	/* Initialize reg dma block which is a singleton */
 	rc = dpu_reg_dma_init(dpu_kms->reg_dma, dpu_kms->catalog,
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project



More information about the dri-devel mailing list