]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/rockchip: inno_hdmi: Get rid of mode_set
authorMaxime Ripard <mripard@kernel.org>
Fri, 22 Dec 2023 17:41:58 +0000 (18:41 +0100)
committerHeiko Stuebner <heiko@sntech.de>
Fri, 29 Dec 2023 23:33:16 +0000 (00:33 +0100)
We're not doing anything special in atomic_mode_set so we can simply
merge it into atomic_enable.

Signed-off-by: Maxime Ripard <mripard@kernel.org>
Tested-by: Alex Bee <knaerzche@gmail.com>
Signed-off-by: Alex Bee <knaerzche@gmail.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patchwork.freedesktop.org/patch/msgid/20231222174220.55249-8-knaerzche@gmail.com
drivers/gpu/drm/rockchip/inno_hdmi.c

index 4616ff8c22e77dc38b7d3da8c880272e4d2cb3dc..38990a13ee1944f697340c08f9210f6dd95d17fb 100644 (file)
@@ -489,21 +489,22 @@ static int inno_hdmi_setup(struct inno_hdmi *hdmi,
        return 0;
 }
 
-static void inno_hdmi_encoder_mode_set(struct drm_encoder *encoder,
-                                      struct drm_crtc_state *crtc_state,
-                                      struct drm_connector_state *conn_state)
-{
-       struct drm_display_mode *adj_mode = &crtc_state->adjusted_mode;
-       struct inno_hdmi *hdmi = encoder_to_inno_hdmi(encoder);
-
-       inno_hdmi_setup(hdmi, adj_mode);
-}
-
 static void inno_hdmi_encoder_enable(struct drm_encoder *encoder,
                                     struct drm_atomic_state *state)
 {
        struct inno_hdmi *hdmi = encoder_to_inno_hdmi(encoder);
+       struct drm_connector_state *conn_state;
+       struct drm_crtc_state *crtc_state;
+
+       conn_state = drm_atomic_get_new_connector_state(state, &hdmi->connector);
+       if (WARN_ON(!conn_state))
+               return;
+
+       crtc_state = drm_atomic_get_new_crtc_state(state, conn_state->crtc);
+       if (WARN_ON(!crtc_state))
+               return;
 
+       inno_hdmi_setup(hdmi, &crtc_state->adjusted_mode);
        inno_hdmi_set_pwr_mode(hdmi, NORMAL);
 }
 
@@ -532,7 +533,6 @@ static struct drm_encoder_helper_funcs inno_hdmi_encoder_helper_funcs = {
        .atomic_check   = inno_hdmi_encoder_atomic_check,
        .atomic_enable  = inno_hdmi_encoder_enable,
        .atomic_disable = inno_hdmi_encoder_disable,
-       .atomic_mode_set        = inno_hdmi_encoder_mode_set,
 };
 
 static enum drm_connector_status