[PATCH v8 25/29] drm/msm/dp: mark the SST bridge disconnected when an MST-capable sink is present
From: Yongxing Mou
Date: Mon Nov 09 2026 - 23:58:51 EST
From: Abhinav Kumar <quic_abhinavk@xxxxxxxxxxx>
When a DP cable is already attached at boot, msm_dp_bridge_detect()
runs from the connector notify path before MST has been activated on
the sink. The DPCD capability read at that point already indicates
that the sink supports MST.
Return connector_status_disconnected from the SST bridge whenever the
controller supports multi-stream (stream_cnt > 1) and the sink reports
MST capability, so that connector detection is handled by MST
connectors instead of the SST bridge.
Signed-off-by: Abhinav Kumar <quic_abhinavk@xxxxxxxxxxx>
Signed-off-by: Yongxing Mou <yongxing.mou@xxxxxxxxxxxxxxxx>
---
drivers/gpu/drm/msm/dp/dp_display.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c
index eeb0e0494900..8ea3d258a98f 100644
--- a/drivers/gpu/drm/msm/dp/dp_display.c
+++ b/drivers/gpu/drm/msm/dp/dp_display.c
@@ -1063,6 +1063,11 @@ enum drm_connector_status msm_dp_bridge_detect(struct drm_bridge *bridge,
status = connector_status_disconnected;
}
+ /* Mark SST connector as disconnected in DP boot-up case */
+ if (msm_dp_ctrl_get_stream_cnt(priv->ctrl) > 1 &&
+ drm_dp_read_mst_cap(priv->aux, dpcd) == DRM_DP_MST)
+ status = connector_status_disconnected;
+
end:
/*
* If we detected the DPRX, leave the controller on so that it doesn't
--
2.43.0