drm_bridge_funcs.mode_set is deprecated. Drop it and get the
drm_display_mode from the atomic state.

Signed-off-by: Tomi Valkeinen <[email protected]>
---
 drivers/gpu/drm/bridge/tc358762.c | 26 ++++++++++++--------------
 1 file changed, 12 insertions(+), 14 deletions(-)

diff --git a/drivers/gpu/drm/bridge/tc358762.c 
b/drivers/gpu/drm/bridge/tc358762.c
index 89c02b2e6832..47ae706de4cb 100644
--- a/drivers/gpu/drm/bridge/tc358762.c
+++ b/drivers/gpu/drm/bridge/tc358762.c
@@ -99,7 +99,6 @@ struct tc358762 {
        struct regulator *regulator;
        struct drm_bridge *panel_bridge;
        struct gpio_desc *reset_gpio;
-       struct drm_display_mode mode;
        bool pre_enabled;
        int error;
        bool use_vtg;
@@ -187,9 +186,18 @@ static void tc358762_enable(struct drm_bridge *bridge,
                            struct drm_atomic_state *state)
 {
        struct tc358762 *ctx = bridge_to_tc358762(bridge);
+       struct drm_connector_state *conn_state;
+       struct drm_crtc_state *crtc_state;
+       struct drm_connector *connector;
+       struct drm_display_mode *mode;
        u32 lcdctrl;
        int ret;
 
+       connector = drm_atomic_get_new_connector_for_encoder(state, 
bridge->encoder);
+       conn_state = drm_atomic_get_new_connector_state(state, connector);
+       crtc_state = drm_atomic_get_new_crtc_state(state, conn_state->crtc);
+       mode = &crtc_state->mode;
+
        /*
         * DPIENABLE has reset default of 1. Make sure we don't output on
         * DPI until we have finished the coniguration.
@@ -214,7 +222,7 @@ static void tc358762_enable(struct drm_bridge *bridge,
        if (ctx->use_vtg) {
                struct videomode vm = { 0 };
 
-               drm_display_mode_to_videomode(&ctx->mode, &vm);
+               drm_display_mode_to_videomode(mode, &vm);
 
                tc358762_write(ctx, LCDC_HSR_HBPR,
                               vm.hsync_len | (vm.hback_porch << 16));
@@ -238,10 +246,10 @@ static void tc358762_enable(struct drm_bridge *bridge,
 
        lcdctrl |= LCDCTRL_DCLK_POL;
 
-       if (ctx->mode.flags & DRM_MODE_FLAG_PHSYNC)
+       if (mode->flags & DRM_MODE_FLAG_PHSYNC)
                lcdctrl |= LCDCTRL_HSYNC_POL;
 
-       if (ctx->mode.flags & DRM_MODE_FLAG_PVSYNC)
+       if (mode->flags & DRM_MODE_FLAG_PVSYNC)
                lcdctrl |= LCDCTRL_VSYNC_POL;
 
        tc358762_write(ctx, LCDCTRL, lcdctrl);
@@ -266,15 +274,6 @@ static int tc358762_attach(struct drm_bridge *bridge,
                                 bridge, flags);
 }
 
-static void tc358762_bridge_mode_set(struct drm_bridge *bridge,
-                                    const struct drm_display_mode *mode,
-                                    const struct drm_display_mode *adj)
-{
-       struct tc358762 *ctx = bridge_to_tc358762(bridge);
-
-       drm_mode_copy(&ctx->mode, mode);
-}
-
 static const struct drm_bridge_funcs tc358762_bridge_funcs = {
        .atomic_post_disable = tc358762_post_disable,
        .atomic_pre_enable = tc358762_pre_enable,
@@ -283,7 +282,6 @@ static const struct drm_bridge_funcs tc358762_bridge_funcs 
= {
        .atomic_destroy_state = drm_atomic_helper_bridge_destroy_state,
        .atomic_reset = drm_atomic_helper_bridge_reset,
        .attach = tc358762_attach,
-       .mode_set = tc358762_bridge_mode_set,
 };
 
 static int tc358762_parse_dt(struct tc358762 *ctx)

-- 
2.43.0

Reply via email to