On 4/12/2026 8:05 AM, Dmitry Baryshkov wrote:
On Fri, Apr 10, 2026 at 05:34:00PM +0800, Yongxing Mou wrote:
Pass struct msm_dp_panel to the display enable/disable helpers to make
them easier to reuse for MST stream handling.

Signed-off-by: Yongxing Mou <[email protected]>
---
  drivers/gpu/drm/msm/dp/dp_display.c | 18 ++++++++++--------
  1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/msm/dp/dp_display.c 
b/drivers/gpu/drm/msm/dp/dp_display.c
index 7b3b9160e005..88a078e53dc1 100644
--- a/drivers/gpu/drm/msm/dp/dp_display.c
+++ b/drivers/gpu/drm/msm/dp/dp_display.c
@@ -668,7 +668,8 @@ static int msm_dp_display_prepare(struct 
msm_dp_display_private *dp)
        return msm_dp_ctrl_prepare_stream_on(dp->ctrl, force_link_train);
  }
-static int msm_dp_display_enable(struct msm_dp_display_private *dp)
+static int msm_dp_display_enable(struct msm_dp_display_private *dp,
+                                struct msm_dp_panel *msm_dp_panel)

Where is it being used?

Got it..That was my mistake — I’ll pass it inside the function.
  {
        int rc = 0;
        struct msm_dp *msm_dp_display = &dp->msm_dp_display;
@@ -725,20 +726,21 @@ static void msm_dp_display_audio_notify_disable(struct 
msm_dp_display_private *d
        msm_dp_display->audio_enabled = false;
  }
-static int msm_dp_display_disable(struct msm_dp_display_private *dp)
+static int msm_dp_display_disable(struct msm_dp_display_private *dp,
+                                 struct msm_dp_panel *msm_dp_panel)
  {
        struct msm_dp *msm_dp_display = &dp->msm_dp_display;
if (!msm_dp_display->power_on)
                return 0;
- msm_dp_panel_disable_vsc_sdp(dp->panel);
+       msm_dp_panel_disable_vsc_sdp(msm_dp_panel);
- msm_dp_ctrl_off_pixel_clk(dp->ctrl, dp->panel->stream_id);
+       msm_dp_ctrl_off_pixel_clk(dp->ctrl, msm_dp_panel->stream_id);
/* dongle is still connected but sinks are disconnected */
        if (dp->link->sink_count == 0)
-               msm_dp_link_psm_config(dp->link, &dp->panel->link_info, true);
+               msm_dp_link_psm_config(dp->link, &msm_dp_panel->link_info, 
true);
msm_dp_ctrl_off_link(dp->ctrl); @@ -1529,14 +1531,14 @@ void msm_dp_display_atomic_enable(struct msm_dp *msm_dp_display) msm_dp_display_set_stream_info(msm_dp_display, dp->panel, 0, 0, 0, 0); - rc = msm_dp_display_enable(dp);
+       rc = msm_dp_display_enable(dp, dp->panel);
        if (rc)
                DRM_ERROR("DP display enable failed, rc=%d\n", rc);
rc = msm_dp_display_post_enable(msm_dp_display);
        if (rc) {
                DRM_ERROR("DP display post enable failed, rc=%d\n", rc);
-               msm_dp_display_disable(dp);
+               msm_dp_display_disable(dp, dp->panel);
        }
drm_dbg_dp(msm_dp_display->drm_dev, "type=%d Done\n", msm_dp_display->connector_type);
@@ -1573,7 +1575,7 @@ void msm_dp_display_atomic_post_disable(struct msm_dp *dp)
msm_dp_display_audio_notify_disable(msm_dp_display); - msm_dp_display_disable(msm_dp_display);
+       msm_dp_display_disable(msm_dp_display, msm_dp_display->panel);
msm_dp_display_unprepare(msm_dp_display);
  }

--
2.43.0



Reply via email to