Re: [PATCH RESEND v5 14/25] drm/msm/dp: Mark the SST bridge disconnected when mst is active

From: Yongxing Mou

Date: Wed Aug 26 2026 - 03:51:04 EST




On 7/13/2026 5:00 AM, Dmitry Baryshkov wrote:
On Mon, Jun 29, 2026 at 10:14:35PM +0800, Yongxing Mou wrote:
From: Abhinav Kumar <quic_abhinavk@xxxxxxxxxxx>

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.

Please mention that it matches the state of other platforms.

Got it.

Signed-off-by: Abhinav Kumar <quic_abhinavk@xxxxxxxxxxx>
Signed-off-by: Yongxing Mou <yongxing.mou@xxxxxxxxxxxxxxxx>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
---
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;

Hmm, should it only be marked as disconnected after we switch to the MST
mode? When is the switch happening?

This condition is intended to handle the DP boot-up case, where detect() runs before notify(), meaning mst_active is still false when we reach this point. In the normal plug/unplug flow, notify() runs first.

I think this should be split into two patches. Adding this check only makes sense once MST is actually functional; otherwise, it risks breaking SST.
+
end:
/*
* If we detected the DPRX, leave the controller on so that it doesn't

--
2.43.0