Move the existing .mode_set logic to the .atomic_enable callback. The
former is deprecated and drivers are supposed to use the latter instead.

Suggested-by: Maxime Ripard <[email protected]>
Signed-off-by: Javier Martinez Canillas <[email protected]>
---

Changes in v4:
- New patch for v4

 drivers/gpu/drm/bridge/ite-it66121.c | 79 +++++++++++++++-------------
 1 file changed, 42 insertions(+), 37 deletions(-)

diff --git a/drivers/gpu/drm/bridge/ite-it66121.c 
b/drivers/gpu/drm/bridge/ite-it66121.c
index 947b7a0f0a45..c8795247cfa8 100644
--- a/drivers/gpu/drm/bridge/ite-it66121.c
+++ b/drivers/gpu/drm/bridge/ite-it66121.c
@@ -654,6 +654,47 @@ static int it66121_bridge_attach(struct drm_bridge *bridge,
        return 0;
 }
 
+static void it66121_set_mode(struct it66121_ctx *ctx,
+                            struct drm_atomic_commit *state)
+{
+       struct drm_connector *connector = ctx->connector;
+       const struct drm_crtc_state *crtc_state;
+       const struct drm_display_mode *mode;
+       struct drm_crtc *crtc;
+
+       crtc = drm_atomic_get_new_connector_state(state, connector)->crtc;
+       crtc_state = drm_atomic_get_new_crtc_state(state, crtc);
+       mode = &crtc_state->adjusted_mode;
+
+       mutex_lock(&ctx->lock);
+
+       /* Set TX mode to HDMI */
+       if (regmap_write(ctx->regmap, IT66121_HDMI_MODE_REG, 
IT66121_HDMI_MODE_HDMI))
+               goto unlock;
+
+       if ((ctx->id == ID_IT66121 || ctx->id == ID_IT66122) &&
+           regmap_write_bits(ctx->regmap, IT66121_CLK_BANK_REG,
+                             IT66121_CLK_BANK_PWROFF_TXCLK,
+                             IT66121_CLK_BANK_PWROFF_TXCLK)) {
+               goto unlock;
+       }
+
+       if (it66121_configure_input(ctx))
+               goto unlock;
+
+       if (it66121_configure_afe(ctx, mode))
+               goto unlock;
+
+       if ((ctx->id == ID_IT66121 || ctx->id == ID_IT66122) &&
+           regmap_write_bits(ctx->regmap, IT66121_CLK_BANK_REG,
+                             IT66121_CLK_BANK_PWROFF_TXCLK, 0)) {
+               goto unlock;
+       }
+
+unlock:
+       mutex_unlock(&ctx->lock);
+}
+
 static int it66121_set_mute(struct it66121_ctx *ctx, bool mute)
 {
        int ret;
@@ -733,6 +774,7 @@ static void it66121_bridge_enable(struct drm_bridge *bridge,
 
        drm_atomic_helper_connector_hdmi_update_infoframes(ctx->connector, 
state);
 
+       it66121_set_mode(ctx, state);
        it66121_set_mute(ctx, false);
 }
 
@@ -764,42 +806,6 @@ static int it66121_bridge_check(struct drm_bridge *bridge,
        return 0;
 }
 
-static
-void it66121_bridge_mode_set(struct drm_bridge *bridge,
-                            const struct drm_display_mode *mode,
-                            const struct drm_display_mode *adjusted_mode)
-{
-       struct it66121_ctx *ctx = container_of(bridge, struct it66121_ctx, 
bridge);
-
-       mutex_lock(&ctx->lock);
-
-       /* Set TX mode to HDMI */
-       if (regmap_write(ctx->regmap, IT66121_HDMI_MODE_REG, 
IT66121_HDMI_MODE_HDMI))
-               goto unlock;
-
-       if ((ctx->id == ID_IT66121 || ctx->id == ID_IT66122) &&
-           regmap_write_bits(ctx->regmap, IT66121_CLK_BANK_REG,
-                             IT66121_CLK_BANK_PWROFF_TXCLK,
-                             IT66121_CLK_BANK_PWROFF_TXCLK)) {
-               goto unlock;
-       }
-
-       if (it66121_configure_input(ctx))
-               goto unlock;
-
-       if (it66121_configure_afe(ctx, adjusted_mode))
-               goto unlock;
-
-       if ((ctx->id == ID_IT66121 || ctx->id == ID_IT66122) &&
-           regmap_write_bits(ctx->regmap, IT66121_CLK_BANK_REG,
-                             IT66121_CLK_BANK_PWROFF_TXCLK, 0)) {
-               goto unlock;
-       }
-
-unlock:
-       mutex_unlock(&ctx->lock);
-}
-
 static enum drm_connector_status
 it66121_bridge_detect(struct drm_bridge *bridge, struct drm_connector 
*connector)
 {
@@ -935,7 +941,6 @@ static const struct drm_bridge_funcs it66121_bridge_funcs = 
{
        .atomic_enable = it66121_bridge_enable,
        .atomic_disable = it66121_bridge_disable,
        .atomic_check = it66121_bridge_check,
-       .mode_set = it66121_bridge_mode_set,
        .detect = it66121_bridge_detect,
        .edid_read = it66121_bridge_edid_read,
        .hpd_enable = it66121_bridge_hpd_enable,
-- 
2.54.0

Reply via email to