Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bb08be72 authored by Boris Brezillon's avatar Boris Brezillon Committed by Greg Kroah-Hartman
Browse files

drm/bridge: Rename bridge helpers targeting a bridge chain



[ Upstream commit ea099adfdf4bf35903dc1c0f59a0d60175759c70 ]

Change the prefix of bridge helpers targeting a bridge chain from
drm_bridge_ to drm_bridge_chain_ to better reflect the fact that
the operation will happen on all elements of chain, starting at the
bridge passed in argument.

Signed-off-by: default avatarBoris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: default avatarNeil Armstrong <narmstrong@baylibre.com>
Acked-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191203141515.3597631-2-boris.brezillon@collabora.com


Stable-dep-of: 13fcfcb2a9a4 ("drm/msm/mdp5: Add check for kzalloc")
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 2c33a614
Loading
Loading
Loading
Loading
+11 −8
Original line number Original line Diff line number Diff line
@@ -445,7 +445,8 @@ mode_fixup(struct drm_atomic_state *state)
		encoder = new_conn_state->best_encoder;
		encoder = new_conn_state->best_encoder;
		funcs = encoder->helper_private;
		funcs = encoder->helper_private;


		ret = drm_bridge_mode_fixup(encoder->bridge, &new_crtc_state->mode,
		ret = drm_bridge_chain_mode_fixup(encoder->bridge,
					&new_crtc_state->mode,
					&new_crtc_state->adjusted_mode);
					&new_crtc_state->adjusted_mode);
		if (!ret) {
		if (!ret) {
			DRM_DEBUG_ATOMIC("Bridge fixup failed\n");
			DRM_DEBUG_ATOMIC("Bridge fixup failed\n");
@@ -511,7 +512,7 @@ static enum drm_mode_status mode_valid_path(struct drm_connector *connector,
		return ret;
		return ret;
	}
	}


	ret = drm_bridge_mode_valid(encoder->bridge, mode);
	ret = drm_bridge_chain_mode_valid(encoder->bridge, mode);
	if (ret != MODE_OK) {
	if (ret != MODE_OK) {
		DRM_DEBUG_ATOMIC("[BRIDGE] mode_valid() failed\n");
		DRM_DEBUG_ATOMIC("[BRIDGE] mode_valid() failed\n");
		return ret;
		return ret;
@@ -1030,7 +1031,7 @@ disable_outputs(struct drm_device *dev, struct drm_atomic_state *old_state)
		 * Each encoder has at most one connector (since we always steal
		 * Each encoder has at most one connector (since we always steal
		 * it away), so we won't call disable hooks twice.
		 * it away), so we won't call disable hooks twice.
		 */
		 */
		drm_atomic_bridge_disable(encoder->bridge, old_state);
		drm_atomic_bridge_chain_disable(encoder->bridge, old_state);


		/* Right function depends upon target state. */
		/* Right function depends upon target state. */
		if (funcs) {
		if (funcs) {
@@ -1044,7 +1045,8 @@ disable_outputs(struct drm_device *dev, struct drm_atomic_state *old_state)
				funcs->dpms(encoder, DRM_MODE_DPMS_OFF);
				funcs->dpms(encoder, DRM_MODE_DPMS_OFF);
		}
		}


		drm_atomic_bridge_post_disable(encoder->bridge, old_state);
		drm_atomic_bridge_chain_post_disable(encoder->bridge,
						     old_state);
	}
	}


	for_each_oldnew_crtc_in_state(old_state, crtc, old_crtc_state, new_crtc_state, i) {
	for_each_oldnew_crtc_in_state(old_state, crtc, old_crtc_state, new_crtc_state, i) {
@@ -1225,7 +1227,8 @@ crtc_set_mode(struct drm_device *dev, struct drm_atomic_state *old_state)
			funcs->mode_set(encoder, mode, adjusted_mode);
			funcs->mode_set(encoder, mode, adjusted_mode);
		}
		}


		drm_bridge_mode_set(encoder->bridge, mode, adjusted_mode);
		drm_bridge_chain_mode_set(encoder->bridge, mode,
					  adjusted_mode);
	}
	}
}
}


@@ -1342,7 +1345,7 @@ void drm_atomic_helper_commit_modeset_enables(struct drm_device *dev,
		 * Each encoder has at most one connector (since we always steal
		 * Each encoder has at most one connector (since we always steal
		 * it away), so we won't call enable hooks twice.
		 * it away), so we won't call enable hooks twice.
		 */
		 */
		drm_atomic_bridge_pre_enable(encoder->bridge, old_state);
		drm_atomic_bridge_chain_pre_enable(encoder->bridge, old_state);


		if (funcs) {
		if (funcs) {
			if (funcs->atomic_enable)
			if (funcs->atomic_enable)
@@ -1353,7 +1356,7 @@ void drm_atomic_helper_commit_modeset_enables(struct drm_device *dev,
				funcs->commit(encoder);
				funcs->commit(encoder);
		}
		}


		drm_atomic_bridge_enable(encoder->bridge, old_state);
		drm_atomic_bridge_chain_enable(encoder->bridge, old_state);
	}
	}


	drm_atomic_helper_commit_writebacks(dev, old_state);
	drm_atomic_helper_commit_writebacks(dev, old_state);
+64 −61
Original line number Original line Diff line number Diff line
@@ -172,7 +172,7 @@ void drm_bridge_detach(struct drm_bridge *bridge)
 */
 */


/**
/**
 * drm_bridge_mode_fixup - fixup proposed mode for all bridges in the
 * drm_bridge_chain_mode_fixup - fixup proposed mode for all bridges in the
 *				 encoder chain
 *				 encoder chain
 * @bridge: bridge control structure
 * @bridge: bridge control structure
 * @mode: desired mode to be set for the bridge
 * @mode: desired mode to be set for the bridge
@@ -186,7 +186,7 @@ void drm_bridge_detach(struct drm_bridge *bridge)
 * RETURNS:
 * RETURNS:
 * true on success, false on failure
 * true on success, false on failure
 */
 */
bool drm_bridge_mode_fixup(struct drm_bridge *bridge,
bool drm_bridge_chain_mode_fixup(struct drm_bridge *bridge,
				 const struct drm_display_mode *mode,
				 const struct drm_display_mode *mode,
				 struct drm_display_mode *adjusted_mode)
				 struct drm_display_mode *adjusted_mode)
{
{
@@ -198,14 +198,15 @@ bool drm_bridge_mode_fixup(struct drm_bridge *bridge,
	if (bridge->funcs->mode_fixup)
	if (bridge->funcs->mode_fixup)
		ret = bridge->funcs->mode_fixup(bridge, mode, adjusted_mode);
		ret = bridge->funcs->mode_fixup(bridge, mode, adjusted_mode);


	ret = ret && drm_bridge_mode_fixup(bridge->next, mode, adjusted_mode);
	ret = ret && drm_bridge_chain_mode_fixup(bridge->next, mode,
						 adjusted_mode);


	return ret;
	return ret;
}
}
EXPORT_SYMBOL(drm_bridge_mode_fixup);
EXPORT_SYMBOL(drm_bridge_chain_mode_fixup);


/**
/**
 * drm_bridge_mode_valid - validate the mode against all bridges in the
 * drm_bridge_chain_mode_valid - validate the mode against all bridges in the
 *				 encoder chain.
 *				 encoder chain.
 * @bridge: bridge control structure
 * @bridge: bridge control structure
 * @mode: desired mode to be validated
 * @mode: desired mode to be validated
@@ -219,7 +220,8 @@ EXPORT_SYMBOL(drm_bridge_mode_fixup);
 * RETURNS:
 * RETURNS:
 * MODE_OK on success, drm_mode_status Enum error code on failure
 * MODE_OK on success, drm_mode_status Enum error code on failure
 */
 */
enum drm_mode_status drm_bridge_mode_valid(struct drm_bridge *bridge,
enum drm_mode_status
drm_bridge_chain_mode_valid(struct drm_bridge *bridge,
			    const struct drm_display_mode *mode)
			    const struct drm_display_mode *mode)
{
{
	enum drm_mode_status ret = MODE_OK;
	enum drm_mode_status ret = MODE_OK;
@@ -233,12 +235,12 @@ enum drm_mode_status drm_bridge_mode_valid(struct drm_bridge *bridge,
	if (ret != MODE_OK)
	if (ret != MODE_OK)
		return ret;
		return ret;


	return drm_bridge_mode_valid(bridge->next, mode);
	return drm_bridge_chain_mode_valid(bridge->next, mode);
}
}
EXPORT_SYMBOL(drm_bridge_mode_valid);
EXPORT_SYMBOL(drm_bridge_chain_mode_valid);


/**
/**
 * drm_bridge_disable - disables all bridges in the encoder chain
 * drm_bridge_chain_disable - disables all bridges in the encoder chain
 * @bridge: bridge control structure
 * @bridge: bridge control structure
 *
 *
 * Calls &drm_bridge_funcs.disable op for all the bridges in the encoder
 * Calls &drm_bridge_funcs.disable op for all the bridges in the encoder
@@ -247,20 +249,21 @@ EXPORT_SYMBOL(drm_bridge_mode_valid);
 *
 *
 * Note: the bridge passed should be the one closest to the encoder
 * Note: the bridge passed should be the one closest to the encoder
 */
 */
void drm_bridge_disable(struct drm_bridge *bridge)
void drm_bridge_chain_disable(struct drm_bridge *bridge)
{
{
	if (!bridge)
	if (!bridge)
		return;
		return;


	drm_bridge_disable(bridge->next);
	drm_bridge_chain_disable(bridge->next);


	if (bridge->funcs->disable)
	if (bridge->funcs->disable)
		bridge->funcs->disable(bridge);
		bridge->funcs->disable(bridge);
}
}
EXPORT_SYMBOL(drm_bridge_disable);
EXPORT_SYMBOL(drm_bridge_chain_disable);


/**
/**
 * drm_bridge_post_disable - cleans up after disabling all bridges in the encoder chain
 * drm_bridge_chain_post_disable - cleans up after disabling all bridges in the
 *				   encoder chain
 * @bridge: bridge control structure
 * @bridge: bridge control structure
 *
 *
 * Calls &drm_bridge_funcs.post_disable op for all the bridges in the
 * Calls &drm_bridge_funcs.post_disable op for all the bridges in the
@@ -269,7 +272,7 @@ EXPORT_SYMBOL(drm_bridge_disable);
 *
 *
 * Note: the bridge passed should be the one closest to the encoder
 * Note: the bridge passed should be the one closest to the encoder
 */
 */
void drm_bridge_post_disable(struct drm_bridge *bridge)
void drm_bridge_chain_post_disable(struct drm_bridge *bridge)
{
{
	if (!bridge)
	if (!bridge)
		return;
		return;
@@ -277,23 +280,23 @@ void drm_bridge_post_disable(struct drm_bridge *bridge)
	if (bridge->funcs->post_disable)
	if (bridge->funcs->post_disable)
		bridge->funcs->post_disable(bridge);
		bridge->funcs->post_disable(bridge);


	drm_bridge_post_disable(bridge->next);
	drm_bridge_chain_post_disable(bridge->next);
}
}
EXPORT_SYMBOL(drm_bridge_post_disable);
EXPORT_SYMBOL(drm_bridge_chain_post_disable);


/**
/**
 * drm_bridge_mode_set - set proposed mode for all bridges in the
 * drm_bridge_chain_mode_set - set proposed mode for all bridges in the
 *			       encoder chain
 *			       encoder chain
 * @bridge: bridge control structure
 * @bridge: bridge control structure
 * @mode: desired mode to be set for the bridge
 * @mode: desired mode to be set for the encoder chain
 * @adjusted_mode: updated mode that works for this bridge
 * @adjusted_mode: updated mode that works for this encoder chain
 *
 *
 * Calls &drm_bridge_funcs.mode_set op for all the bridges in the
 * Calls &drm_bridge_funcs.mode_set op for all the bridges in the
 * encoder chain, starting from the first bridge to the last.
 * encoder chain, starting from the first bridge to the last.
 *
 *
 * Note: the bridge passed should be the one closest to the encoder
 * Note: the bridge passed should be the one closest to the encoder
 */
 */
void drm_bridge_mode_set(struct drm_bridge *bridge,
void drm_bridge_chain_mode_set(struct drm_bridge *bridge,
			       const struct drm_display_mode *mode,
			       const struct drm_display_mode *mode,
			       const struct drm_display_mode *adjusted_mode)
			       const struct drm_display_mode *adjusted_mode)
{
{
@@ -303,13 +306,13 @@ void drm_bridge_mode_set(struct drm_bridge *bridge,
	if (bridge->funcs->mode_set)
	if (bridge->funcs->mode_set)
		bridge->funcs->mode_set(bridge, mode, adjusted_mode);
		bridge->funcs->mode_set(bridge, mode, adjusted_mode);


	drm_bridge_mode_set(bridge->next, mode, adjusted_mode);
	drm_bridge_chain_mode_set(bridge->next, mode, adjusted_mode);
}
}
EXPORT_SYMBOL(drm_bridge_mode_set);
EXPORT_SYMBOL(drm_bridge_chain_mode_set);


/**
/**
 * drm_bridge_pre_enable - prepares for enabling all
 * drm_bridge_chain_pre_enable - prepares for enabling all bridges in the
 *			   bridges in the encoder chain
 *				 encoder chain
 * @bridge: bridge control structure
 * @bridge: bridge control structure
 *
 *
 * Calls &drm_bridge_funcs.pre_enable op for all the bridges in the encoder
 * Calls &drm_bridge_funcs.pre_enable op for all the bridges in the encoder
@@ -318,20 +321,20 @@ EXPORT_SYMBOL(drm_bridge_mode_set);
 *
 *
 * Note: the bridge passed should be the one closest to the encoder
 * Note: the bridge passed should be the one closest to the encoder
 */
 */
void drm_bridge_pre_enable(struct drm_bridge *bridge)
void drm_bridge_chain_pre_enable(struct drm_bridge *bridge)
{
{
	if (!bridge)
	if (!bridge)
		return;
		return;


	drm_bridge_pre_enable(bridge->next);
	drm_bridge_chain_pre_enable(bridge->next);


	if (bridge->funcs->pre_enable)
	if (bridge->funcs->pre_enable)
		bridge->funcs->pre_enable(bridge);
		bridge->funcs->pre_enable(bridge);
}
}
EXPORT_SYMBOL(drm_bridge_pre_enable);
EXPORT_SYMBOL(drm_bridge_chain_pre_enable);


/**
/**
 * drm_bridge_enable - enables all bridges in the encoder chain
 * drm_bridge_chain_enable - enables all bridges in the encoder chain
 * @bridge: bridge control structure
 * @bridge: bridge control structure
 *
 *
 * Calls &drm_bridge_funcs.enable op for all the bridges in the encoder
 * Calls &drm_bridge_funcs.enable op for all the bridges in the encoder
@@ -340,7 +343,7 @@ EXPORT_SYMBOL(drm_bridge_pre_enable);
 *
 *
 * Note that the bridge passed should be the one closest to the encoder
 * Note that the bridge passed should be the one closest to the encoder
 */
 */
void drm_bridge_enable(struct drm_bridge *bridge)
void drm_bridge_chain_enable(struct drm_bridge *bridge)
{
{
	if (!bridge)
	if (!bridge)
		return;
		return;
@@ -348,12 +351,12 @@ void drm_bridge_enable(struct drm_bridge *bridge)
	if (bridge->funcs->enable)
	if (bridge->funcs->enable)
		bridge->funcs->enable(bridge);
		bridge->funcs->enable(bridge);


	drm_bridge_enable(bridge->next);
	drm_bridge_chain_enable(bridge->next);
}
}
EXPORT_SYMBOL(drm_bridge_enable);
EXPORT_SYMBOL(drm_bridge_chain_enable);


/**
/**
 * drm_atomic_bridge_disable - disables all bridges in the encoder chain
 * drm_atomic_bridge_chain_disable - disables all bridges in the encoder chain
 * @bridge: bridge control structure
 * @bridge: bridge control structure
 * @state: atomic state being committed
 * @state: atomic state being committed
 *
 *
@@ -364,24 +367,24 @@ EXPORT_SYMBOL(drm_bridge_enable);
 *
 *
 * Note: the bridge passed should be the one closest to the encoder
 * Note: the bridge passed should be the one closest to the encoder
 */
 */
void drm_atomic_bridge_disable(struct drm_bridge *bridge,
void drm_atomic_bridge_chain_disable(struct drm_bridge *bridge,
				     struct drm_atomic_state *state)
				     struct drm_atomic_state *state)
{
{
	if (!bridge)
	if (!bridge)
		return;
		return;


	drm_atomic_bridge_disable(bridge->next, state);
	drm_atomic_bridge_chain_disable(bridge->next, state);


	if (bridge->funcs->atomic_disable)
	if (bridge->funcs->atomic_disable)
		bridge->funcs->atomic_disable(bridge, state);
		bridge->funcs->atomic_disable(bridge, state);
	else if (bridge->funcs->disable)
	else if (bridge->funcs->disable)
		bridge->funcs->disable(bridge);
		bridge->funcs->disable(bridge);
}
}
EXPORT_SYMBOL(drm_atomic_bridge_disable);
EXPORT_SYMBOL(drm_atomic_bridge_chain_disable);


/**
/**
 * drm_atomic_bridge_post_disable - cleans up after disabling all bridges in the
 * drm_atomic_bridge_chain_post_disable - cleans up after disabling all bridges
 *				    encoder chain
 *					  in the encoder chain
 * @bridge: bridge control structure
 * @bridge: bridge control structure
 * @state: atomic state being committed
 * @state: atomic state being committed
 *
 *
@@ -392,7 +395,7 @@ EXPORT_SYMBOL(drm_atomic_bridge_disable);
 *
 *
 * Note: the bridge passed should be the one closest to the encoder
 * Note: the bridge passed should be the one closest to the encoder
 */
 */
void drm_atomic_bridge_post_disable(struct drm_bridge *bridge,
void drm_atomic_bridge_chain_post_disable(struct drm_bridge *bridge,
					  struct drm_atomic_state *state)
					  struct drm_atomic_state *state)
{
{
	if (!bridge)
	if (!bridge)
@@ -403,13 +406,13 @@ void drm_atomic_bridge_post_disable(struct drm_bridge *bridge,
	else if (bridge->funcs->post_disable)
	else if (bridge->funcs->post_disable)
		bridge->funcs->post_disable(bridge);
		bridge->funcs->post_disable(bridge);


	drm_atomic_bridge_post_disable(bridge->next, state);
	drm_atomic_bridge_chain_post_disable(bridge->next, state);
}
}
EXPORT_SYMBOL(drm_atomic_bridge_post_disable);
EXPORT_SYMBOL(drm_atomic_bridge_chain_post_disable);


/**
/**
 * drm_atomic_bridge_pre_enable - prepares for enabling all bridges in the
 * drm_atomic_bridge_chain_pre_enable - prepares for enabling all bridges in
 *				  encoder chain
 *					the encoder chain
 * @bridge: bridge control structure
 * @bridge: bridge control structure
 * @state: atomic state being committed
 * @state: atomic state being committed
 *
 *
@@ -420,23 +423,23 @@ EXPORT_SYMBOL(drm_atomic_bridge_post_disable);
 *
 *
 * Note: the bridge passed should be the one closest to the encoder
 * Note: the bridge passed should be the one closest to the encoder
 */
 */
void drm_atomic_bridge_pre_enable(struct drm_bridge *bridge,
void drm_atomic_bridge_chain_pre_enable(struct drm_bridge *bridge,
					struct drm_atomic_state *state)
					struct drm_atomic_state *state)
{
{
	if (!bridge)
	if (!bridge)
		return;
		return;


	drm_atomic_bridge_pre_enable(bridge->next, state);
	drm_atomic_bridge_chain_pre_enable(bridge->next, state);


	if (bridge->funcs->atomic_pre_enable)
	if (bridge->funcs->atomic_pre_enable)
		bridge->funcs->atomic_pre_enable(bridge, state);
		bridge->funcs->atomic_pre_enable(bridge, state);
	else if (bridge->funcs->pre_enable)
	else if (bridge->funcs->pre_enable)
		bridge->funcs->pre_enable(bridge);
		bridge->funcs->pre_enable(bridge);
}
}
EXPORT_SYMBOL(drm_atomic_bridge_pre_enable);
EXPORT_SYMBOL(drm_atomic_bridge_chain_pre_enable);


/**
/**
 * drm_atomic_bridge_enable - enables all bridges in the encoder chain
 * drm_atomic_bridge_chain_enable - enables all bridges in the encoder chain
 * @bridge: bridge control structure
 * @bridge: bridge control structure
 * @state: atomic state being committed
 * @state: atomic state being committed
 *
 *
@@ -447,7 +450,7 @@ EXPORT_SYMBOL(drm_atomic_bridge_pre_enable);
 *
 *
 * Note: the bridge passed should be the one closest to the encoder
 * Note: the bridge passed should be the one closest to the encoder
 */
 */
void drm_atomic_bridge_enable(struct drm_bridge *bridge,
void drm_atomic_bridge_chain_enable(struct drm_bridge *bridge,
				    struct drm_atomic_state *state)
				    struct drm_atomic_state *state)
{
{
	if (!bridge)
	if (!bridge)
@@ -458,9 +461,9 @@ void drm_atomic_bridge_enable(struct drm_bridge *bridge,
	else if (bridge->funcs->enable)
	else if (bridge->funcs->enable)
		bridge->funcs->enable(bridge);
		bridge->funcs->enable(bridge);


	drm_atomic_bridge_enable(bridge->next, state);
	drm_atomic_bridge_chain_enable(bridge->next, state);
}
}
EXPORT_SYMBOL(drm_atomic_bridge_enable);
EXPORT_SYMBOL(drm_atomic_bridge_chain_enable);


#ifdef CONFIG_OF
#ifdef CONFIG_OF
/**
/**
+1 −1
Original line number Original line Diff line number Diff line
@@ -112,7 +112,7 @@ drm_mode_validate_pipeline(struct drm_display_mode *mode,
			continue;
			continue;
		}
		}


		ret = drm_bridge_mode_valid(encoder->bridge, mode);
		ret = drm_bridge_chain_mode_valid(encoder->bridge, mode);
		if (ret != MODE_OK) {
		if (ret != MODE_OK) {
			/* There is also no point in continuing for crtc check
			/* There is also no point in continuing for crtc check
			 * here. */
			 * here. */
+4 −4
Original line number Original line Diff line number Diff line
@@ -1389,7 +1389,7 @@ static void exynos_dsi_enable(struct drm_encoder *encoder)
		if (ret < 0)
		if (ret < 0)
			goto err_put_sync;
			goto err_put_sync;
	} else {
	} else {
		drm_bridge_pre_enable(dsi->out_bridge);
		drm_bridge_chain_pre_enable(dsi->out_bridge);
	}
	}


	exynos_dsi_set_display_mode(dsi);
	exynos_dsi_set_display_mode(dsi);
@@ -1400,7 +1400,7 @@ static void exynos_dsi_enable(struct drm_encoder *encoder)
		if (ret < 0)
		if (ret < 0)
			goto err_display_disable;
			goto err_display_disable;
	} else {
	} else {
		drm_bridge_enable(dsi->out_bridge);
		drm_bridge_chain_enable(dsi->out_bridge);
	}
	}


	dsi->state |= DSIM_STATE_VIDOUT_AVAILABLE;
	dsi->state |= DSIM_STATE_VIDOUT_AVAILABLE;
@@ -1425,10 +1425,10 @@ static void exynos_dsi_disable(struct drm_encoder *encoder)
	dsi->state &= ~DSIM_STATE_VIDOUT_AVAILABLE;
	dsi->state &= ~DSIM_STATE_VIDOUT_AVAILABLE;


	drm_panel_disable(dsi->panel);
	drm_panel_disable(dsi->panel);
	drm_bridge_disable(dsi->out_bridge);
	drm_bridge_chain_disable(dsi->out_bridge);
	exynos_dsi_set_display_enable(dsi, false);
	exynos_dsi_set_display_enable(dsi, false);
	drm_panel_unprepare(dsi->panel);
	drm_panel_unprepare(dsi->panel);
	drm_bridge_post_disable(dsi->out_bridge);
	drm_bridge_chain_post_disable(dsi->out_bridge);
	dsi->state &= ~DSIM_STATE_ENABLED;
	dsi->state &= ~DSIM_STATE_ENABLED;
	pm_runtime_put_sync(dsi->dev);
	pm_runtime_put_sync(dsi->dev);
}
}
+2 −2
Original line number Original line Diff line number Diff line
@@ -1246,7 +1246,7 @@ static int mtk_hdmi_conn_mode_valid(struct drm_connector *conn,
		struct drm_display_mode adjusted_mode;
		struct drm_display_mode adjusted_mode;


		drm_mode_copy(&adjusted_mode, mode);
		drm_mode_copy(&adjusted_mode, mode);
		if (!drm_bridge_mode_fixup(hdmi->bridge.next, mode,
		if (!drm_bridge_chain_mode_fixup(hdmi->bridge.next, mode,
						 &adjusted_mode))
						 &adjusted_mode))
			return MODE_BAD;
			return MODE_BAD;
	}
	}
Loading