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.

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



Reply via email to