Re: [PATCH v3 26/38] drm/msm/dp: add an API to initialize MST on sink side

From: Dmitry Baryshkov

Date: Thu Apr 09 2026 - 10:15:00 EST


On Tue, Apr 07, 2026 at 12:19:49PM +0800, Yongxing Mou wrote:
>
>
> On 8/26/2025 5:26 PM, Dmitry Baryshkov wrote:
> > On Mon, Aug 25, 2025 at 10:16:12PM +0800, Yongxing Mou wrote:
> > > From: Abhinav Kumar <quic_abhinavk@xxxxxxxxxxx>
> > >
> > > If the DP controller is capable of supporting multiple streams
> > > then initialize the DP sink in MST mode by programming the DP_MSTM_CTRL
> > > DPCD register to enable MST mode.
> > >
> > > Signed-off-by: Abhinav Kumar <quic_abhinavk@xxxxxxxxxxx>
> > > Signed-off-by: Yongxing Mou <yongxing.mou@xxxxxxxxxxxxxxxx>
> > > ---
> > > drivers/gpu/drm/msm/dp/dp_display.c | 55 ++++++++++++++++++++++++++++++-------
> > > 1 file changed, 45 insertions(+), 10 deletions(-)
> > >
> > > @@ -315,18 +345,20 @@ static int msm_dp_display_process_hpd_high(struct msm_dp_display_private *dp)
> > > if (rc)
> > > goto end;
> > > - drm_edid = drm_edid_read_ddc(connector, &dp->aux->ddc);
> > > - drm_edid_connector_update(connector, drm_edid);
> > > + if (!dp->mst_supported || !drm_dp_read_mst_cap(dp->aux, dp->panel->dpcd)) {
> >
> > In several previous patches, the functions initializing MST can
> > return an error, leaving the user with half-initialized MST. Are those
> > errors a safety coding or do they have some real-use usecase? In the
> > latter case, it would be nice to keep SST wokring if enabling MST fails.
> >
> After plug in, MST will active when mst_active == true (DP_MST_EN
> programming succeeded). Before that point, any return will continue to keep
> the system in SST mode.

Ack

> > > + drm_edid = drm_edid_read_ddc(connector, &dp->aux->ddc);
> > > + drm_edid_connector_update(connector, drm_edid);

--
With best wishes
Dmitry