drm/display: bridge_connector: provide atomic_check for HDMI bridges
authorDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Tue, 10 Dec 2024 14:16:47 +0000 (16:16 +0200)
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Tue, 24 Dec 2024 02:00:48 +0000 (04:00 +0200)
The bridges using HDMI connector framework have a call to
drm_atomic_helper_connector_hdmi_check() in their atomic_check()
callback. In order to reduce boilerplate and make simplify bridge's
code, use drm_atomic_helper_connector_hdmi_check() to implement
drm_connector.atomic_check() for HDMI bridges.

Acked-by: Maxime Ripard <mripard@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20241210-bridge_hdmi_check-v1-1-a8fdd8c5afa5@linaro.org
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
drivers/gpu/drm/display/drm_bridge_connector.c

index 512ced87ea18c74e182a558a686ddd83de891814..f6e0b6f1ffdd392ee15ddfd9ec85452a88122d42 100644 (file)
@@ -313,11 +313,24 @@ drm_bridge_connector_mode_valid(struct drm_connector *connector,
        return MODE_OK;
 }
 
+static int drm_bridge_connector_atomic_check(struct drm_connector *connector,
+                                            struct drm_atomic_state *state)
+{
+       struct drm_bridge_connector *bridge_connector =
+               to_drm_bridge_connector(connector);
+
+       if (bridge_connector->bridge_hdmi)
+               return drm_atomic_helper_connector_hdmi_check(connector, state);
+
+       return 0;
+}
+
 static const struct drm_connector_helper_funcs drm_bridge_connector_helper_funcs = {
        .get_modes = drm_bridge_connector_get_modes,
        .mode_valid = drm_bridge_connector_mode_valid,
        .enable_hpd = drm_bridge_connector_enable_hpd,
        .disable_hpd = drm_bridge_connector_disable_hpd,
+       .atomic_check = drm_bridge_connector_atomic_check,
 };
 
 static enum drm_mode_status