On Fri, Sep 11, 2026 at 11:51:05AM +0300, YİĞİTCAN KAVAKLI via B4 Relay wrote:
> From: YİĞİTCAN KAVAKLI <[email protected]>
> 
> In dsi_op_mode_config(), entering video mode sets DSI_CTRL_VID_MODE_EN
> without clearing DSI_CTRL_CMD_MODE_EN, and entering command mode sets
> DSI_CTRL_CMD_MODE_EN without clearing DSI_CTRL_VID_MODE_EN.
> 
> Ensure explicit mutual exclusion by clearing the opposing enable bit
> when switching operational modes to prevent hardware bus collisions.
> 
> Signed-off-by: YİĞİTCAN KAVAKLI <[email protected]>
> ---
>  drivers/gpu/drm/msm/dsi/dsi_host.c | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c 
> b/drivers/gpu/drm/msm/dsi/dsi_host.c
> index 
> 7e4e3718b536c92dc555de213042857379499447..b9e2867d435a3ad8b6db6b57c440bbd827180b6e
>  100644
> --- a/drivers/gpu/drm/msm/dsi/dsi_host.c
> +++ b/drivers/gpu/drm/msm/dsi/dsi_host.c
> @@ -1094,7 +1094,9 @@ static void dsi_timing_setup(struct msm_dsi_host 
> *msm_host, bool is_bonded_dsi)
>               dsi_write(msm_host, REG_DSI_ACTIVE_HSYNC,
>                       DSI_ACTIVE_HSYNC_START(hs_start) |
>                       DSI_ACTIVE_HSYNC_END(hs_end));
> -             dsi_write(msm_host, REG_DSI_ACTIVE_VSYNC_HPOS, 0);
> +             dsi_write(msm_host, REG_DSI_ACTIVE_VSYNC_HPOS,
> +                     DSI_ACTIVE_VSYNC_HPOS_START(hs_start) |
> +                     DSI_ACTIVE_VSYNC_HPOS_END(vs_end));

This fixup is unrelated, please split it to a separate commit. Also, I
don't see corresponding code in the downstream driver. Do you have a
reference?

>               dsi_write(msm_host, REG_DSI_ACTIVE_VSYNC_VPOS,
>                       DSI_ACTIVE_VSYNC_VPOS_START(vs_start) |
>                       DSI_ACTIVE_VSYNC_VPOS_END(vs_end));
> @@ -1168,8 +1170,10 @@ static void dsi_op_mode_config(struct msm_dsi_host 
> *msm_host,
>                                       DSI_IRQ_MASK_VIDEO_DONE, 0);
>       } else {
>               if (video_mode) {
> +                     dsi_ctrl &= ~DSI_CTRL_CMD_MODE_EN;
>                       dsi_ctrl |= DSI_CTRL_VID_MODE_EN;
>               } else {                /* command mode */
> +                     dsi_ctrl &= ~DSI_CTRL_VID_MODE_EN;
>                       dsi_ctrl |= DSI_CTRL_CMD_MODE_EN;
>                       dsi_intr_ctrl(msm_host, DSI_IRQ_MASK_CMD_MDP_DONE, 1);

For this one:


Fixes: a689554ba6ed ("drm/msm: Initial add DSI connector support")


>               }
> 
> -- 
> 2.47.3
> 
> 

-- 
With best wishes
Dmitry

Reply via email to