From: Abhinav Kumar <[email protected]>

The bridge detect function is only applicable for SST. In MST mode,
connector detection is handled by MST bridges. Skips detection for the
SST bridge when MST is active.

Signed-off-by: Abhinav Kumar <[email protected]>
Signed-off-by: Yongxing Mou <[email protected]>
Reviewed-by: Dmitry Baryshkov <[email protected]>
---
 drivers/gpu/drm/msm/dp/dp_display.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/gpu/drm/msm/dp/dp_display.c 
b/drivers/gpu/drm/msm/dp/dp_display.c
index d0081ea9f5cd..5786e598a406 100644
--- a/drivers/gpu/drm/msm/dp/dp_display.c
+++ b/drivers/gpu/drm/msm/dp/dp_display.c
@@ -910,6 +910,9 @@ enum drm_connector_status msm_dp_bridge_detect(struct 
drm_bridge *bridge,
 
        priv = container_of(dp, struct msm_dp_display_private, msm_dp_display);
 
+       if (dp->mst_active)
+               return status;
+
        guard(mutex)(&priv->plugged_lock);
        ret = pm_runtime_resume_and_get(&dp->pdev->dev);
        if (ret) {
@@ -955,6 +958,10 @@ enum drm_connector_status msm_dp_bridge_detect(struct 
drm_bridge *bridge,
                        status = connector_status_disconnected;
        }
 
+       /* skip for MST */
+       if (priv->max_stream > 1 && drm_dp_read_mst_cap(priv->aux, dpcd))
+               status = connector_status_disconnected;
+
 end:
        /*
         * If we detected the DPRX, leave the controller on so that it doesn't

-- 
2.43.0

Reply via email to