On 24.01.2026 18:20, Kaustabh Chakraborty wrote:
> Since commit c9b1150a68d9 ("drm/atomic-helper: Re-order bridge chain
> pre-enable and post-disable"), pre-enable sequence is called before the
> CRTC is enabled.
>
> This causes unintended side-effects (abberation among potentially other
> things) in the display when samsung_dsim_init() is called in the
> pre-enable part of the sequence. Call it in samsung_dsim_atomic_enable()
> instead.
>
> Cc: [email protected] # v6.17 and later
> Signed-off-by: Kaustabh Chakraborty <[email protected]>

I'm not sure if this will be needed:

https://lore.kernel.org/all/[email protected]/


> ---
>   drivers/gpu/drm/bridge/samsung-dsim.c | 13 +++++++------
>   1 file changed, 7 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/bridge/samsung-dsim.c 
> b/drivers/gpu/drm/bridge/samsung-dsim.c
> index 1d85e706c74b9..975f8b50ae660 100644
> --- a/drivers/gpu/drm/bridge/samsung-dsim.c
> +++ b/drivers/gpu/drm/bridge/samsung-dsim.c
> @@ -1655,6 +1655,13 @@ static void samsung_dsim_atomic_pre_enable(struct 
> drm_bridge *bridge,
>       }
>   
>       dsi->state |= DSIM_STATE_ENABLED;
> +}
> +
> +static void samsung_dsim_atomic_enable(struct drm_bridge *bridge,
> +                                    struct drm_atomic_state *state)
> +{
> +     struct samsung_dsim *dsi = bridge_to_dsi(bridge);
> +     int ret;
>   
>       /*
>        * For Exynos-DSIM the downstream bridge, or panel are expecting
> @@ -1665,12 +1672,6 @@ static void samsung_dsim_atomic_pre_enable(struct 
> drm_bridge *bridge,
>               if (ret)
>                       return;
>       }
> -}
> -
> -static void samsung_dsim_atomic_enable(struct drm_bridge *bridge,
> -                                    struct drm_atomic_state *state)
> -{
> -     struct samsung_dsim *dsi = bridge_to_dsi(bridge);
>   
>       samsung_dsim_set_display_mode(dsi);
>       samsung_dsim_set_display_enable(dsi, true);
>
Best regards
-- 
Marek Szyprowski, PhD
Samsung R&D Institute Poland

Reply via email to