Skip to content

Commit 5849eff

Browse files
committed
drm/bridge: imx93-mipi-dsi: use drm_bridge_chain_get_last_bridge()
Use drm_bridge_chain_get_last_bridge() instead of open coding a loop with two invocations of drm_bridge_get_next_bridge() per iteration. Besides being cleaner and more efficient, this change is necessary in preparation for drm_bridge_get_next_bridge() to get a reference to the returned bridge. Reviewed-by: Maxime Ripard <mripard@kernel.org> Reviewed-by: Liu Ying <victor.liu@nxp.com> Link: https://lore.kernel.org/r/20250801-drm-bridge-alloc-getput-drm_bridge_get_next_bridge-v2-3-888912b0be13@bootlin.com Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
1 parent d77ad51 commit 5849eff

1 file changed

Lines changed: 5 additions & 7 deletions

File tree

drivers/gpu/drm/bridge/imx/imx93-mipi-dsi.c

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -492,14 +492,12 @@ static int imx93_dsi_get_phy_configure_opts(struct imx93_dsi *dsi,
492492
static enum drm_mode_status
493493
imx93_dsi_validate_mode(struct imx93_dsi *dsi, const struct drm_display_mode *mode)
494494
{
495-
struct drm_bridge *bridge = dw_mipi_dsi_get_bridge(dsi->dmd);
495+
struct drm_bridge *dmd_bridge = dw_mipi_dsi_get_bridge(dsi->dmd);
496+
struct drm_bridge *last_bridge __free(drm_bridge_put) =
497+
drm_bridge_chain_get_last_bridge(dmd_bridge->encoder);
496498

497-
/* Get the last bridge */
498-
while (drm_bridge_get_next_bridge(bridge))
499-
bridge = drm_bridge_get_next_bridge(bridge);
500-
501-
if ((bridge->ops & DRM_BRIDGE_OP_DETECT) &&
502-
(bridge->ops & DRM_BRIDGE_OP_EDID)) {
499+
if ((last_bridge->ops & DRM_BRIDGE_OP_DETECT) &&
500+
(last_bridge->ops & DRM_BRIDGE_OP_EDID)) {
503501
unsigned long pixel_clock_rate = mode->clock * 1000;
504502
unsigned long rounded_rate;
505503

0 commit comments

Comments
 (0)