The aux_bus support with the dp_display driver will enable the dp
resources during msm_dp_modeset_init. The host_init has to return early
if the core is already initialized to prevent putting an additional vote
for the dp controller resources.

Signed-off-by: Sankeerth Billakanti <quic_sbill...@quicinc.com>
---
 drivers/gpu/drm/msm/dp/dp_display.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/gpu/drm/msm/dp/dp_display.c 
b/drivers/gpu/drm/msm/dp/dp_display.c
index 888ff03..798b30b 100644
--- a/drivers/gpu/drm/msm/dp/dp_display.c
+++ b/drivers/gpu/drm/msm/dp/dp_display.c
@@ -420,6 +420,11 @@ static void dp_display_host_init(struct dp_display_private 
*dp)
                dp->dp_display.connector_type, dp->core_initialized,
                dp->phy_initialized);
 
+       if (dp->core_initialized) {
+               DRM_DEBUG_DP("DP core already initialized\n");
+               return;
+       }
+
        dp_power_init(dp->power, false);
        dp_ctrl_reset_irq_ctrl(dp->ctrl, true);
        dp_aux_init(dp->aux);
@@ -432,6 +437,11 @@ static void dp_display_host_deinit(struct 
dp_display_private *dp)
                dp->dp_display.connector_type, dp->core_initialized,
                dp->phy_initialized);
 
+       if (!dp->core_initialized) {
+               DRM_DEBUG_DP("DP core not initialized\n");
+               return;
+       }
+
        dp_ctrl_reset_irq_ctrl(dp->ctrl, false);
        dp_aux_deinit(dp->aux);
        dp_power_deinit(dp->power);
-- 
2.7.4

Reply via email to