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

From: Dmitry Baryshkov

Date: Sun Jul 12 2026 - 17:03:36 EST


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.
>
> 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;

Also, if this patch gets applied at this moment, it breaks DP support,
since the SST connector will report disconnected, but MST connectors are
not there yet.

> +
> end:
> /*
> * If we detected the DPRX, leave the controller on so that it doesn't
>
> --
> 2.43.0
>

--
With best wishes
Dmitry