]> www.infradead.org Git - users/hch/misc.git/commitdiff
drm/bridge: cdns-dsi: Fix the _atomic_check()
authorAradhya Bhatia <aradhya.bhatia@linux.dev>
Wed, 23 Jul 2025 10:05:07 +0000 (13:05 +0300)
committerTomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Wed, 13 Aug 2025 07:20:37 +0000 (10:20 +0300)
Use the "adjusted_mode" for the dsi configuration check, as that is the
more appropriate display_mode for validation, and later bridge enable.

Also, fix the mode_valid_check parameter from false to true, as the dsi
configuration check is taking place during the check-phase, and the
crtc_* mode values are not expected to be populated yet.

Fixes: a53d987756ea ("drm/bridge: cdns-dsi: Move DSI mode check to _atomic_check()")
Signed-off-by: Aradhya Bhatia <aradhya.bhatia@linux.dev>
Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Tested-by: Jayesh Choudhary <j-choudhary@ti.com>
Reviewed-by: Devarsh Thakkar <devarsht@ti.com>
Link: https://lore.kernel.org/r/20250723-cdns-dsi-impro-v5-1-e61cc06074c2@ideasonboard.com
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
drivers/gpu/drm/bridge/cadence/cdns-dsi-core.c

index a57ca8c3bdaea9d4d15dd23af221c111b7319ac4..695b6246b280f9486cafd8d9d86c1f04cc596003 100644 (file)
@@ -997,10 +997,10 @@ static int cdns_dsi_bridge_atomic_check(struct drm_bridge *bridge,
        struct cdns_dsi_input *input = bridge_to_cdns_dsi_input(bridge);
        struct cdns_dsi *dsi = input_to_dsi(input);
        struct cdns_dsi_bridge_state *dsi_state = to_cdns_dsi_bridge_state(bridge_state);
-       const struct drm_display_mode *mode = &crtc_state->mode;
+       const struct drm_display_mode *adjusted_mode = &crtc_state->adjusted_mode;
        struct cdns_dsi_cfg *dsi_cfg = &dsi_state->dsi_cfg;
 
-       return cdns_dsi_check_conf(dsi, mode, dsi_cfg, false);
+       return cdns_dsi_check_conf(dsi, adjusted_mode, dsi_cfg, true);
 }
 
 static struct drm_bridge_state *