Commit ea099adf authored by Boris Brezillon's avatar Boris Brezillon

drm/bridge: Rename bridge helpers targeting a bridge chain

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
parent 64e62bdf
...@@ -435,8 +435,9 @@ mode_fixup(struct drm_atomic_state *state) ...@@ -435,8 +435,9 @@ 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->adjusted_mode); &new_crtc_state->mode,
&new_crtc_state->adjusted_mode);
if (!ret) { if (!ret) {
DRM_DEBUG_ATOMIC("Bridge fixup failed\n"); DRM_DEBUG_ATOMIC("Bridge fixup failed\n");
return -EINVAL; return -EINVAL;
...@@ -501,7 +502,7 @@ static enum drm_mode_status mode_valid_path(struct drm_connector *connector, ...@@ -501,7 +502,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;
...@@ -1020,7 +1021,7 @@ disable_outputs(struct drm_device *dev, struct drm_atomic_state *old_state) ...@@ -1020,7 +1021,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) {
...@@ -1034,7 +1035,8 @@ disable_outputs(struct drm_device *dev, struct drm_atomic_state *old_state) ...@@ -1034,7 +1035,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) {
...@@ -1215,7 +1217,8 @@ crtc_set_mode(struct drm_device *dev, struct drm_atomic_state *old_state) ...@@ -1215,7 +1217,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);
} }
} }
...@@ -1332,7 +1335,7 @@ void drm_atomic_helper_commit_modeset_enables(struct drm_device *dev, ...@@ -1332,7 +1335,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)
...@@ -1343,7 +1346,7 @@ void drm_atomic_helper_commit_modeset_enables(struct drm_device *dev, ...@@ -1343,7 +1346,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);
......
...@@ -172,8 +172,8 @@ void drm_bridge_detach(struct drm_bridge *bridge) ...@@ -172,8 +172,8 @@ 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
* @adjusted_mode: updated mode that works for this bridge * @adjusted_mode: updated mode that works for this bridge
...@@ -186,9 +186,9 @@ void drm_bridge_detach(struct drm_bridge *bridge) ...@@ -186,9 +186,9 @@ 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)
{ {
bool ret = true; bool ret = true;
...@@ -198,15 +198,16 @@ bool drm_bridge_mode_fixup(struct drm_bridge *bridge, ...@@ -198,15 +198,16 @@ 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,8 +220,9 @@ EXPORT_SYMBOL(drm_bridge_mode_fixup); ...@@ -219,8 +220,9 @@ 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
const struct drm_display_mode *mode) drm_bridge_chain_mode_valid(struct drm_bridge *bridge,
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, ...@@ -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); ...@@ -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); ...@@ -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,25 +280,25 @@ void drm_bridge_post_disable(struct drm_bridge *bridge) ...@@ -277,25 +280,25 @@ 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)
{ {
if (!bridge) if (!bridge)
return; return;
...@@ -303,13 +306,13 @@ void drm_bridge_mode_set(struct drm_bridge *bridge, ...@@ -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); ...@@ -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); ...@@ -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) ...@@ -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); ...@@ -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,8 +395,8 @@ EXPORT_SYMBOL(drm_atomic_bridge_disable); ...@@ -392,8 +395,8 @@ 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)
return; return;
...@@ -403,13 +406,13 @@ void drm_atomic_bridge_post_disable(struct drm_bridge *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); ...@@ -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,8 +450,8 @@ EXPORT_SYMBOL(drm_atomic_bridge_pre_enable); ...@@ -447,8 +450,8 @@ 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)
return; return;
...@@ -458,9 +461,9 @@ void drm_atomic_bridge_enable(struct drm_bridge *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
/** /**
......
...@@ -112,7 +112,7 @@ drm_mode_validate_pipeline(struct drm_display_mode *mode, ...@@ -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. */
......
...@@ -1390,7 +1390,7 @@ static void exynos_dsi_enable(struct drm_encoder *encoder) ...@@ -1390,7 +1390,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);
...@@ -1401,7 +1401,7 @@ static void exynos_dsi_enable(struct drm_encoder *encoder) ...@@ -1401,7 +1401,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;
...@@ -1426,10 +1426,10 @@ static void exynos_dsi_disable(struct drm_encoder *encoder) ...@@ -1426,10 +1426,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);
} }
......
...@@ -1247,8 +1247,8 @@ static int mtk_hdmi_conn_mode_valid(struct drm_connector *conn, ...@@ -1247,8 +1247,8 @@ 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;
} }
......
...@@ -753,9 +753,9 @@ static void vc4_dsi_encoder_disable(struct drm_encoder *encoder) ...@@ -753,9 +753,9 @@ static void vc4_dsi_encoder_disable(struct drm_encoder *encoder)
struct vc4_dsi *dsi = vc4_encoder->dsi; struct vc4_dsi *dsi = vc4_encoder->dsi;
struct device *dev = &dsi->pdev->dev; struct device *dev = &dsi->pdev->dev;
drm_bridge_disable(dsi->bridge); drm_bridge_chain_disable(dsi->bridge);
vc4_dsi_ulps(dsi, true); vc4_dsi_ulps(dsi, true);
drm_bridge_post_disable(dsi->bridge); drm_bridge_chain_post_disable(dsi->bridge);
clk_disable_unprepare(dsi->pll_phy_clock); clk_disable_unprepare(dsi->pll_phy_clock);
clk_disable_unprepare(dsi->escape_clock); clk_disable_unprepare(dsi->escape_clock);
...@@ -1055,7 +1055,7 @@ static void vc4_dsi_encoder_enable(struct drm_encoder *encoder) ...@@ -1055,7 +1055,7 @@ static void vc4_dsi_encoder_enable(struct drm_encoder *encoder)
vc4_dsi_ulps(dsi, false); vc4_dsi_ulps(dsi, false);
drm_bridge_pre_enable(dsi->bridge); drm_bridge_chain_pre_enable(dsi->bridge);
if (dsi->mode_flags & MIPI_DSI_MODE_VIDEO) { if (dsi->mode_flags & MIPI_DSI_MODE_VIDEO) {
DSI_PORT_WRITE(DISP0_CTRL, DSI_PORT_WRITE(DISP0_CTRL,
...@@ -1072,7 +1072,7 @@ static void vc4_dsi_encoder_enable(struct drm_encoder *encoder) ...@@ -1072,7 +1072,7 @@ static void vc4_dsi_encoder_enable(struct drm_encoder *encoder)
DSI_DISP0_ENABLE); DSI_DISP0_ENABLE);
} }
drm_bridge_enable(dsi->bridge); drm_bridge_chain_enable(dsi->bridge);
if (debug_dump_regs) { if (debug_dump_regs) {
struct drm_printer p = drm_info_printer(&dsi->pdev->dev); struct drm_printer p = drm_info_printer(&dsi->pdev->dev);
......
...@@ -254,9 +254,10 @@ struct drm_bridge_funcs { ...@@ -254,9 +254,10 @@ struct drm_bridge_funcs {
* there is one) when this callback is called. * there is one) when this callback is called.
* *
* Note that this function will only be invoked in the context of an * Note that this function will only be invoked in the context of an
* atomic commit. It will not be invoked from &drm_bridge_pre_enable. It * atomic commit. It will not be invoked from
* would be prudent to also provide an implementation of @pre_enable if * &drm_bridge_chain_pre_enable. It would be prudent to also provide an
* you are expecting driver calls into &drm_bridge_pre_enable. * implementation of @pre_enable if you are expecting driver calls into
* &drm_bridge_chain_pre_enable.
* *
* The @atomic_pre_enable callback is optional. * The @atomic_pre_enable callback is optional.
*/ */
...@@ -279,9 +280,9 @@ struct drm_bridge_funcs { ...@@ -279,9 +280,9 @@ struct drm_bridge_funcs {
* chain if there is one. * chain if there is one.
* *
* Note that this function will only be invoked in the context of an * Note that this function will only be invoked in the context of an
* atomic commit. It will not be invoked from &drm_bridge_enable. It * atomic commit. It will not be invoked from &drm_bridge_chain_enable.
* would be prudent to also provide an implementation of @enable if * It would be prudent to also provide an implementation of @enable if
* you are expecting driver calls into &drm_bridge_enable. * you are expecting driver calls into &drm_bridge_chain_enable.
* *
* The @atomic_enable callback is optional. * The @atomic_enable callback is optional.
*/ */
...@@ -301,9 +302,10 @@ struct drm_bridge_funcs { ...@@ -301,9 +302,10 @@ struct drm_bridge_funcs {
* signals) feeding it is still running when this callback is called. * signals) feeding it is still running when this callback is called.
* *
* Note that this function will only be invoked in the context of an * Note that this function will only be invoked in the context of an
* atomic commit. It will not be invoked from &drm_bridge_disable. It * atomic commit. It will not be invoked from
* would be prudent to also provide an implementation of @disable if * &drm_bridge_chain_disable. It would be prudent to also provide an
* you are expecting driver calls into &drm_bridge_disable. * implementation of @disable if you are expecting driver calls into
* &drm_bridge_chain_disable.
* *
* The @atomic_disable callback is optional. * The @atomic_disable callback is optional.
*/ */
...@@ -325,10 +327,11 @@ struct drm_bridge_funcs { ...@@ -325,10 +327,11 @@ struct drm_bridge_funcs {
* called. * called.
* *
* Note that this function will only be invoked in the context of an * Note that this function will only be invoked in the context of an
* atomic commit. It will not be invoked from &drm_bridge_post_disable. * atomic commit. It will not be invoked from
* &drm_bridge_chain_post_disable.
* It would be prudent to also provide an implementation of * It would be prudent to also provide an implementation of
* @post_disable if you are expecting driver calls into * @post_disable if you are expecting driver calls into
* &drm_bridge_post_disable. * &drm_bridge_chain_post_disable.
* *
* The @atomic_post_disable callback is optional. * The @atomic_post_disable callback is optional.
*/ */
...@@ -406,27 +409,28 @@ struct drm_bridge *of_drm_find_bridge(struct device_node *np); ...@@ -406,27 +409,28 @@ struct drm_bridge *of_drm_find_bridge(struct device_node *np);
int drm_bridge_attach(struct drm_encoder *encoder, struct drm_bridge *bridge, int drm_bridge_attach(struct drm_encoder *encoder, struct drm_bridge *bridge,
struct drm_bridge *previous); struct drm_bridge *previous);
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);
enum drm_mode_status drm_bridge_mode_valid(struct drm_bridge *bridge, enum drm_mode_status
const struct drm_display_mode *mode); drm_bridge_chain_mode_valid(struct drm_bridge *bridge,
void drm_bridge_disable(struct drm_bridge *bridge); const struct drm_display_mode *mode);
void drm_bridge_post_disable(struct drm_bridge *bridge); void drm_bridge_chain_disable(struct drm_bridge *bridge);
void drm_bridge_mode_set(struct drm_bridge *bridge, void drm_bridge_chain_post_disable(struct drm_bridge *bridge);
const struct drm_display_mode *mode, void drm_bridge_chain_mode_set(struct drm_bridge *bridge,
const struct drm_display_mode *adjusted_mode); const struct drm_display_mode *mode,
void drm_bridge_pre_enable(struct drm_bridge *bridge); const struct drm_display_mode *adjusted_mode);
void drm_bridge_enable(struct drm_bridge *bridge); void drm_bridge_chain_pre_enable(struct drm_bridge *bridge);
void drm_bridge_chain_enable(struct drm_bridge *bridge);
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);
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);
void drm_atomic_bridge_chain_pre_enable(struct drm_bridge *bridge,
struct drm_atomic_state *state);
void drm_atomic_bridge_chain_enable(struct drm_bridge *bridge,
struct drm_atomic_state *state); struct drm_atomic_state *state);
void drm_atomic_bridge_pre_enable(struct drm_bridge *bridge,
struct drm_atomic_state *state);
void drm_atomic_bridge_enable(struct drm_bridge *bridge,
struct drm_atomic_state *state);
#ifdef CONFIG_DRM_PANEL_BRIDGE #ifdef CONFIG_DRM_PANEL_BRIDGE
struct drm_bridge *drm_panel_bridge_add(struct drm_panel *panel); struct drm_bridge *drm_panel_bridge_add(struct drm_panel *panel);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment