drm/rockchip: inno_hdmi: Switch encoder hooks to atomic
authorMaxime Ripard <mripard@kernel.org>
Fri, 22 Dec 2023 17:41:57 +0000 (18:41 +0100)
committerHeiko Stuebner <heiko@sntech.de>
Fri, 29 Dec 2023 23:33:15 +0000 (00:33 +0100)
The inno_hdmi encoder still uses the !atomic variants of enable, disable
and modeset. Convert to their atomic equivalents.

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-7-knaerzche@gmail.com
drivers/gpu/drm/rockchip/inno_hdmi.c

index 0b16e449c17bfaec5653f709a4be45d10c96d810..4616ff8c22e77dc38b7d3da8c880272e4d2cb3dc 100644 (file)
@@ -490,22 +490,25 @@ static int inno_hdmi_setup(struct inno_hdmi *hdmi,
 }
 
 static void inno_hdmi_encoder_mode_set(struct drm_encoder *encoder,
-                                      struct drm_display_mode *mode,
-                                      struct drm_display_mode *adj_mode)
+                                      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)
+static void inno_hdmi_encoder_enable(struct drm_encoder *encoder,
+                                    struct drm_atomic_state *state)
 {
        struct inno_hdmi *hdmi = encoder_to_inno_hdmi(encoder);
 
        inno_hdmi_set_pwr_mode(hdmi, NORMAL);
 }
 
-static void inno_hdmi_encoder_disable(struct drm_encoder *encoder)
+static void inno_hdmi_encoder_disable(struct drm_encoder *encoder,
+                                     struct drm_atomic_state *state)
 {
        struct inno_hdmi *hdmi = encoder_to_inno_hdmi(encoder);
 
@@ -526,10 +529,10 @@ inno_hdmi_encoder_atomic_check(struct drm_encoder *encoder,
 }
 
 static struct drm_encoder_helper_funcs inno_hdmi_encoder_helper_funcs = {
-       .enable     = inno_hdmi_encoder_enable,
-       .disable    = inno_hdmi_encoder_disable,
-       .mode_set   = inno_hdmi_encoder_mode_set,
-       .atomic_check = inno_hdmi_encoder_atomic_check,
+       .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