From: Abhinav Kumar <[email protected]> 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 <[email protected]> Signed-off-by: Yongxing Mou <[email protected]> --- drivers/gpu/drm/msm/dp/dp_display.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/msm/dp/dp_display.c b/drivers/gpu/drm/msm/dp/dp_display.c index dbc0e82d333a..d2b2c7141db0 100644 --- a/drivers/gpu/drm/msm/dp/dp_display.c +++ b/drivers/gpu/drm/msm/dp/dp_display.c @@ -1052,6 +1052,10 @@ 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)) + status = connector_status_disconnected; + end: /* * If we detected the DPRX, leave the controller on so that it doesn't -- 2.43.0
