On Thu, Aug 14, 2025 at 04:22:44PM +0800, Yongxing Mou wrote: > > > On 2025/6/9 23:58, Dmitry Baryshkov wrote: > > On Mon, Jun 09, 2025 at 08:21:45PM +0800, Yongxing Mou wrote: > > > From: Abhinav Kumar <quic_abhin...@quicinc.com> > > > > > > For MST cases, EDID is handled through AUX sideband messaging. > > > Skip the EDID read during hotplug handle for MST cases. > > > > Why? It makes sense to read it during the HPD processing, ping HDMI > > codec, update CEC info, etc. > > > For MST case to read EDID. we will use drm_dp_mst_edid_read when MST > connetors .get_modes() called.
I see that other MST drivers indeed read EDID from get_modes(). The only issue that I can foresee is the audio handling. We've discussed that some time ago (for the HDMI implementation) and it's generally expected that we notify ASoC (and provide ELD) from the HPD (detect) path rather than the get_modes() or e.g. atomic_enable(). Note: AMD / Radeon, Nouveau and Intel drivers don't have this problem since they don't use ASoC and hdmi_codec ops. > > > > > > Signed-off-by: Abhinav Kumar <quic_abhin...@quicinc.com> > > > Signed-off-by: Yongxing Mou <quic_yong...@quicinc.com> > > > --- > > > drivers/gpu/drm/msm/dp/dp_display.c | 8 +++++--- > > > 1 file changed, 5 insertions(+), 3 deletions(-) > > > > > > diff --git a/drivers/gpu/drm/msm/dp/dp_display.c > > > b/drivers/gpu/drm/msm/dp/dp_display.c > > > index > > > 88cae0ca66015377e59bee757462edeae5ae91bf..b1b025d1d356046f8f9e3d243fc774185df24318 > > > 100644 > > > --- a/drivers/gpu/drm/msm/dp/dp_display.c > > > +++ b/drivers/gpu/drm/msm/dp/dp_display.c > > > @@ -438,9 +438,11 @@ static int msm_dp_display_process_hpd_high(struct > > > msm_dp_display_private *dp) > > > if (rc) > > > goto end; > > > - rc = msm_dp_panel_read_edid(dp->panel, connector); > > > - if (rc) > > > - goto end; > > > + if (!dp->mst_supported || !drm_dp_read_mst_cap(dp->aux, > > > dp->panel->dpcd)) { > > > + rc = msm_dp_panel_read_edid(dp->panel, connector); > > > + if (rc) > > > + goto end; > > > + } > > > msm_dp_link_process_request(dp->link); > > > > > > -- > > > 2.34.1 > > > > > > -- With best wishes Dmitry