On Tue, Feb 04, 2025 at 03:58:02PM +0100, Maxime Ripard wrote:
> The tc358768 driver follows the drm_encoder->crtc pointer that is
> deprecated and shouldn't be used by atomic drivers.
> 
> This was due to the fact that we did't have any other alternative to
> retrieve the CRTC pointer. Fortunately, the crtc pointer is now provided
> in the bridge state, so we can move to atomic callbacks and drop that
> deprecated pointer usage.
> 
> Signed-off-by: Maxime Ripard <mrip...@kernel.org>
> ---
>  drivers/gpu/drm/bridge/tc358768.c | 30 +++++++++++++++++++++++-------
>  1 file changed, 23 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/gpu/drm/bridge/tc358768.c 
> b/drivers/gpu/drm/bridge/tc358768.c
> index 
> 6db18d1e8824dd7d387211d6d1e668645cf88bbe..6ff6b29e8075d7c6fa0b74b4fec83c5230512d96
>  100644
> --- a/drivers/gpu/drm/bridge/tc358768.c
> +++ b/drivers/gpu/drm/bridge/tc358768.c
> @@ -601,17 +601,29 @@ static void tc358768_bridge_disable(struct drm_bridge 
> *bridge)
>       ret = tc358768_clear_error(priv);
>       if (ret)
>               dev_warn(priv->dev, "Software disable failed: %d\n", ret);
>  }
>  
> +static void tc358768_bridge_atomic_disable(struct drm_bridge *bridge,
> +                                        struct drm_atomic_state *state)
> +{
> +     tc358768_bridge_disable(bridge);
> +}
> +

Please change corresponding functions into atomic_disable() and
atomic_post_disable(). Calling sites have access to the atomic state, so
there is no need to have yet another wrapper.

>  static void tc358768_bridge_post_disable(struct drm_bridge *bridge)
>  {
>       struct tc358768_priv *priv = bridge_to_tc358768(bridge);
>  
>       tc358768_hw_disable(priv);
>  }
>  
> +static void tc358768_bridge_atomic_post_disable(struct drm_bridge *bridge,
> +                                             struct drm_atomic_state *state)
> +{
> +     tc358768_bridge_post_disable(bridge);
> +}
> +

-- 
With best wishes
Dmitry

Reply via email to