Re: [PATCH v4 25/39] drm/msm/dp: pass panel to display enable/disable helpers
From: Dmitry Baryshkov
Date: Sat Apr 11 2026 - 20:06:38 EST
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 <yongxing.mou@xxxxxxxxxxxxxxxx>
> ---
> 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?
> {
> 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
>
--
With best wishes
Dmitry