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 <jsa...@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

_______________________________________________
Freedreno mailing list
Freedreno@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/freedreno

Reply via email to