Revert "drm/bridge: Rename bridge helpers targeting a bridge chain"
This reverts commit bb08be7232.
It breaks the Android kernel api and was added only because of a tiny
drm driver bugfix for an issue that can not ever really be hit, so it is
safe to revert.
Bug: 161946584
Change-Id: I048f2ee1cfd60416b408af65b403286e282efcdd
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
@@ -445,9 +445,8 @@ mode_fixup(struct drm_atomic_state *state)
|
||||
encoder = new_conn_state->best_encoder;
|
||||
funcs = encoder->helper_private;
|
||||
|
||||
ret = drm_bridge_chain_mode_fixup(encoder->bridge,
|
||||
&new_crtc_state->mode,
|
||||
&new_crtc_state->adjusted_mode);
|
||||
ret = drm_bridge_mode_fixup(encoder->bridge, &new_crtc_state->mode,
|
||||
&new_crtc_state->adjusted_mode);
|
||||
if (!ret) {
|
||||
DRM_DEBUG_ATOMIC("Bridge fixup failed\n");
|
||||
return -EINVAL;
|
||||
@@ -512,7 +511,7 @@ static enum drm_mode_status mode_valid_path(struct drm_connector *connector,
|
||||
return ret;
|
||||
}
|
||||
|
||||
ret = drm_bridge_chain_mode_valid(encoder->bridge, mode);
|
||||
ret = drm_bridge_mode_valid(encoder->bridge, mode);
|
||||
if (ret != MODE_OK) {
|
||||
DRM_DEBUG_ATOMIC("[BRIDGE] mode_valid() failed\n");
|
||||
return ret;
|
||||
@@ -1031,7 +1030,7 @@ disable_outputs(struct drm_device *dev, struct drm_atomic_state *old_state)
|
||||
* Each encoder has at most one connector (since we always steal
|
||||
* it away), so we won't call disable hooks twice.
|
||||
*/
|
||||
drm_atomic_bridge_chain_disable(encoder->bridge, old_state);
|
||||
drm_atomic_bridge_disable(encoder->bridge, old_state);
|
||||
|
||||
/* Right function depends upon target state. */
|
||||
if (funcs) {
|
||||
@@ -1045,8 +1044,7 @@ disable_outputs(struct drm_device *dev, struct drm_atomic_state *old_state)
|
||||
funcs->dpms(encoder, DRM_MODE_DPMS_OFF);
|
||||
}
|
||||
|
||||
drm_atomic_bridge_chain_post_disable(encoder->bridge,
|
||||
old_state);
|
||||
drm_atomic_bridge_post_disable(encoder->bridge, old_state);
|
||||
}
|
||||
|
||||
for_each_oldnew_crtc_in_state(old_state, crtc, old_crtc_state, new_crtc_state, i) {
|
||||
@@ -1227,8 +1225,7 @@ crtc_set_mode(struct drm_device *dev, struct drm_atomic_state *old_state)
|
||||
funcs->mode_set(encoder, mode, adjusted_mode);
|
||||
}
|
||||
|
||||
drm_bridge_chain_mode_set(encoder->bridge, mode,
|
||||
adjusted_mode);
|
||||
drm_bridge_mode_set(encoder->bridge, mode, adjusted_mode);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1345,7 +1342,7 @@ void drm_atomic_helper_commit_modeset_enables(struct drm_device *dev,
|
||||
* Each encoder has at most one connector (since we always steal
|
||||
* it away), so we won't call enable hooks twice.
|
||||
*/
|
||||
drm_atomic_bridge_chain_pre_enable(encoder->bridge, old_state);
|
||||
drm_atomic_bridge_pre_enable(encoder->bridge, old_state);
|
||||
|
||||
if (funcs) {
|
||||
if (funcs->atomic_enable)
|
||||
@@ -1356,7 +1353,7 @@ void drm_atomic_helper_commit_modeset_enables(struct drm_device *dev,
|
||||
funcs->commit(encoder);
|
||||
}
|
||||
|
||||
drm_atomic_bridge_chain_enable(encoder->bridge, old_state);
|
||||
drm_atomic_bridge_enable(encoder->bridge, old_state);
|
||||
}
|
||||
|
||||
drm_atomic_helper_commit_writebacks(dev, old_state);
|
||||
|
||||
@@ -172,8 +172,8 @@ void drm_bridge_detach(struct drm_bridge *bridge)
|
||||
*/
|
||||
|
||||
/**
|
||||
* drm_bridge_chain_mode_fixup - fixup proposed mode for all bridges in the
|
||||
* encoder chain
|
||||
* drm_bridge_mode_fixup - fixup proposed mode for all bridges in the
|
||||
* encoder chain
|
||||
* @bridge: bridge control structure
|
||||
* @mode: desired mode to be set for the bridge
|
||||
* @adjusted_mode: updated mode that works for this bridge
|
||||
@@ -186,9 +186,9 @@ void drm_bridge_detach(struct drm_bridge *bridge)
|
||||
* RETURNS:
|
||||
* true on success, false on failure
|
||||
*/
|
||||
bool drm_bridge_chain_mode_fixup(struct drm_bridge *bridge,
|
||||
const struct drm_display_mode *mode,
|
||||
struct drm_display_mode *adjusted_mode)
|
||||
bool drm_bridge_mode_fixup(struct drm_bridge *bridge,
|
||||
const struct drm_display_mode *mode,
|
||||
struct drm_display_mode *adjusted_mode)
|
||||
{
|
||||
bool ret = true;
|
||||
|
||||
@@ -198,16 +198,15 @@ bool drm_bridge_chain_mode_fixup(struct drm_bridge *bridge,
|
||||
if (bridge->funcs->mode_fixup)
|
||||
ret = bridge->funcs->mode_fixup(bridge, mode, adjusted_mode);
|
||||
|
||||
ret = ret && drm_bridge_chain_mode_fixup(bridge->next, mode,
|
||||
adjusted_mode);
|
||||
ret = ret && drm_bridge_mode_fixup(bridge->next, mode, adjusted_mode);
|
||||
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL(drm_bridge_chain_mode_fixup);
|
||||
EXPORT_SYMBOL(drm_bridge_mode_fixup);
|
||||
|
||||
/**
|
||||
* drm_bridge_chain_mode_valid - validate the mode against all bridges in the
|
||||
* encoder chain.
|
||||
* drm_bridge_mode_valid - validate the mode against all bridges in the
|
||||
* encoder chain.
|
||||
* @bridge: bridge control structure
|
||||
* @mode: desired mode to be validated
|
||||
*
|
||||
@@ -220,9 +219,8 @@ EXPORT_SYMBOL(drm_bridge_chain_mode_fixup);
|
||||
* RETURNS:
|
||||
* MODE_OK on success, drm_mode_status Enum error code on failure
|
||||
*/
|
||||
enum drm_mode_status
|
||||
drm_bridge_chain_mode_valid(struct drm_bridge *bridge,
|
||||
const struct drm_display_mode *mode)
|
||||
enum drm_mode_status drm_bridge_mode_valid(struct drm_bridge *bridge,
|
||||
const struct drm_display_mode *mode)
|
||||
{
|
||||
enum drm_mode_status ret = MODE_OK;
|
||||
|
||||
@@ -235,12 +233,12 @@ drm_bridge_chain_mode_valid(struct drm_bridge *bridge,
|
||||
if (ret != MODE_OK)
|
||||
return ret;
|
||||
|
||||
return drm_bridge_chain_mode_valid(bridge->next, mode);
|
||||
return drm_bridge_mode_valid(bridge->next, mode);
|
||||
}
|
||||
EXPORT_SYMBOL(drm_bridge_chain_mode_valid);
|
||||
EXPORT_SYMBOL(drm_bridge_mode_valid);
|
||||
|
||||
/**
|
||||
* drm_bridge_chain_disable - disables all bridges in the encoder chain
|
||||
* drm_bridge_disable - disables all bridges in the encoder chain
|
||||
* @bridge: bridge control structure
|
||||
*
|
||||
* Calls &drm_bridge_funcs.disable op for all the bridges in the encoder
|
||||
@@ -249,21 +247,20 @@ EXPORT_SYMBOL(drm_bridge_chain_mode_valid);
|
||||
*
|
||||
* Note: the bridge passed should be the one closest to the encoder
|
||||
*/
|
||||
void drm_bridge_chain_disable(struct drm_bridge *bridge)
|
||||
void drm_bridge_disable(struct drm_bridge *bridge)
|
||||
{
|
||||
if (!bridge)
|
||||
return;
|
||||
|
||||
drm_bridge_chain_disable(bridge->next);
|
||||
drm_bridge_disable(bridge->next);
|
||||
|
||||
if (bridge->funcs->disable)
|
||||
bridge->funcs->disable(bridge);
|
||||
}
|
||||
EXPORT_SYMBOL(drm_bridge_chain_disable);
|
||||
EXPORT_SYMBOL(drm_bridge_disable);
|
||||
|
||||
/**
|
||||
* drm_bridge_chain_post_disable - cleans up after disabling all bridges in the
|
||||
* encoder chain
|
||||
* drm_bridge_post_disable - cleans up after disabling all bridges in the encoder chain
|
||||
* @bridge: bridge control structure
|
||||
*
|
||||
* Calls &drm_bridge_funcs.post_disable op for all the bridges in the
|
||||
@@ -272,7 +269,7 @@ EXPORT_SYMBOL(drm_bridge_chain_disable);
|
||||
*
|
||||
* Note: the bridge passed should be the one closest to the encoder
|
||||
*/
|
||||
void drm_bridge_chain_post_disable(struct drm_bridge *bridge)
|
||||
void drm_bridge_post_disable(struct drm_bridge *bridge)
|
||||
{
|
||||
if (!bridge)
|
||||
return;
|
||||
@@ -280,25 +277,25 @@ void drm_bridge_chain_post_disable(struct drm_bridge *bridge)
|
||||
if (bridge->funcs->post_disable)
|
||||
bridge->funcs->post_disable(bridge);
|
||||
|
||||
drm_bridge_chain_post_disable(bridge->next);
|
||||
drm_bridge_post_disable(bridge->next);
|
||||
}
|
||||
EXPORT_SYMBOL(drm_bridge_chain_post_disable);
|
||||
EXPORT_SYMBOL(drm_bridge_post_disable);
|
||||
|
||||
/**
|
||||
* drm_bridge_chain_mode_set - set proposed mode for all bridges in the
|
||||
* encoder chain
|
||||
* drm_bridge_mode_set - set proposed mode for all bridges in the
|
||||
* encoder chain
|
||||
* @bridge: bridge control structure
|
||||
* @mode: desired mode to be set for the encoder chain
|
||||
* @adjusted_mode: updated mode that works for this encoder chain
|
||||
* @mode: desired mode to be set for the bridge
|
||||
* @adjusted_mode: updated mode that works for this bridge
|
||||
*
|
||||
* Calls &drm_bridge_funcs.mode_set op for all the bridges in the
|
||||
* encoder chain, starting from the first bridge to the last.
|
||||
*
|
||||
* Note: the bridge passed should be the one closest to the encoder
|
||||
*/
|
||||
void drm_bridge_chain_mode_set(struct drm_bridge *bridge,
|
||||
const struct drm_display_mode *mode,
|
||||
const struct drm_display_mode *adjusted_mode)
|
||||
void drm_bridge_mode_set(struct drm_bridge *bridge,
|
||||
const struct drm_display_mode *mode,
|
||||
const struct drm_display_mode *adjusted_mode)
|
||||
{
|
||||
if (!bridge)
|
||||
return;
|
||||
@@ -306,13 +303,13 @@ void drm_bridge_chain_mode_set(struct drm_bridge *bridge,
|
||||
if (bridge->funcs->mode_set)
|
||||
bridge->funcs->mode_set(bridge, mode, adjusted_mode);
|
||||
|
||||
drm_bridge_chain_mode_set(bridge->next, mode, adjusted_mode);
|
||||
drm_bridge_mode_set(bridge->next, mode, adjusted_mode);
|
||||
}
|
||||
EXPORT_SYMBOL(drm_bridge_chain_mode_set);
|
||||
EXPORT_SYMBOL(drm_bridge_mode_set);
|
||||
|
||||
/**
|
||||
* drm_bridge_chain_pre_enable - prepares for enabling all bridges in the
|
||||
* encoder chain
|
||||
* drm_bridge_pre_enable - prepares for enabling all
|
||||
* bridges in the encoder chain
|
||||
* @bridge: bridge control structure
|
||||
*
|
||||
* Calls &drm_bridge_funcs.pre_enable op for all the bridges in the encoder
|
||||
@@ -321,20 +318,20 @@ EXPORT_SYMBOL(drm_bridge_chain_mode_set);
|
||||
*
|
||||
* Note: the bridge passed should be the one closest to the encoder
|
||||
*/
|
||||
void drm_bridge_chain_pre_enable(struct drm_bridge *bridge)
|
||||
void drm_bridge_pre_enable(struct drm_bridge *bridge)
|
||||
{
|
||||
if (!bridge)
|
||||
return;
|
||||
|
||||
drm_bridge_chain_pre_enable(bridge->next);
|
||||
drm_bridge_pre_enable(bridge->next);
|
||||
|
||||
if (bridge->funcs->pre_enable)
|
||||
bridge->funcs->pre_enable(bridge);
|
||||
}
|
||||
EXPORT_SYMBOL(drm_bridge_chain_pre_enable);
|
||||
EXPORT_SYMBOL(drm_bridge_pre_enable);
|
||||
|
||||
/**
|
||||
* drm_bridge_chain_enable - enables all bridges in the encoder chain
|
||||
* drm_bridge_enable - enables all bridges in the encoder chain
|
||||
* @bridge: bridge control structure
|
||||
*
|
||||
* Calls &drm_bridge_funcs.enable op for all the bridges in the encoder
|
||||
@@ -343,7 +340,7 @@ EXPORT_SYMBOL(drm_bridge_chain_pre_enable);
|
||||
*
|
||||
* Note that the bridge passed should be the one closest to the encoder
|
||||
*/
|
||||
void drm_bridge_chain_enable(struct drm_bridge *bridge)
|
||||
void drm_bridge_enable(struct drm_bridge *bridge)
|
||||
{
|
||||
if (!bridge)
|
||||
return;
|
||||
@@ -351,12 +348,12 @@ void drm_bridge_chain_enable(struct drm_bridge *bridge)
|
||||
if (bridge->funcs->enable)
|
||||
bridge->funcs->enable(bridge);
|
||||
|
||||
drm_bridge_chain_enable(bridge->next);
|
||||
drm_bridge_enable(bridge->next);
|
||||
}
|
||||
EXPORT_SYMBOL(drm_bridge_chain_enable);
|
||||
EXPORT_SYMBOL(drm_bridge_enable);
|
||||
|
||||
/**
|
||||
* drm_atomic_bridge_chain_disable - disables all bridges in the encoder chain
|
||||
* drm_atomic_bridge_disable - disables all bridges in the encoder chain
|
||||
* @bridge: bridge control structure
|
||||
* @state: atomic state being committed
|
||||
*
|
||||
@@ -367,24 +364,24 @@ EXPORT_SYMBOL(drm_bridge_chain_enable);
|
||||
*
|
||||
* Note: the bridge passed should be the one closest to the encoder
|
||||
*/
|
||||
void drm_atomic_bridge_chain_disable(struct drm_bridge *bridge,
|
||||
struct drm_atomic_state *state)
|
||||
void drm_atomic_bridge_disable(struct drm_bridge *bridge,
|
||||
struct drm_atomic_state *state)
|
||||
{
|
||||
if (!bridge)
|
||||
return;
|
||||
|
||||
drm_atomic_bridge_chain_disable(bridge->next, state);
|
||||
drm_atomic_bridge_disable(bridge->next, state);
|
||||
|
||||
if (bridge->funcs->atomic_disable)
|
||||
bridge->funcs->atomic_disable(bridge, state);
|
||||
else if (bridge->funcs->disable)
|
||||
bridge->funcs->disable(bridge);
|
||||
}
|
||||
EXPORT_SYMBOL(drm_atomic_bridge_chain_disable);
|
||||
EXPORT_SYMBOL(drm_atomic_bridge_disable);
|
||||
|
||||
/**
|
||||
* drm_atomic_bridge_chain_post_disable - cleans up after disabling all bridges
|
||||
* in the encoder chain
|
||||
* drm_atomic_bridge_post_disable - cleans up after disabling all bridges in the
|
||||
* encoder chain
|
||||
* @bridge: bridge control structure
|
||||
* @state: atomic state being committed
|
||||
*
|
||||
@@ -395,8 +392,8 @@ EXPORT_SYMBOL(drm_atomic_bridge_chain_disable);
|
||||
*
|
||||
* Note: the bridge passed should be the one closest to the encoder
|
||||
*/
|
||||
void drm_atomic_bridge_chain_post_disable(struct drm_bridge *bridge,
|
||||
struct drm_atomic_state *state)
|
||||
void drm_atomic_bridge_post_disable(struct drm_bridge *bridge,
|
||||
struct drm_atomic_state *state)
|
||||
{
|
||||
if (!bridge)
|
||||
return;
|
||||
@@ -406,13 +403,13 @@ void drm_atomic_bridge_chain_post_disable(struct drm_bridge *bridge,
|
||||
else if (bridge->funcs->post_disable)
|
||||
bridge->funcs->post_disable(bridge);
|
||||
|
||||
drm_atomic_bridge_chain_post_disable(bridge->next, state);
|
||||
drm_atomic_bridge_post_disable(bridge->next, state);
|
||||
}
|
||||
EXPORT_SYMBOL(drm_atomic_bridge_chain_post_disable);
|
||||
EXPORT_SYMBOL(drm_atomic_bridge_post_disable);
|
||||
|
||||
/**
|
||||
* drm_atomic_bridge_chain_pre_enable - prepares for enabling all bridges in
|
||||
* the encoder chain
|
||||
* drm_atomic_bridge_pre_enable - prepares for enabling all bridges in the
|
||||
* encoder chain
|
||||
* @bridge: bridge control structure
|
||||
* @state: atomic state being committed
|
||||
*
|
||||
@@ -423,23 +420,23 @@ EXPORT_SYMBOL(drm_atomic_bridge_chain_post_disable);
|
||||
*
|
||||
* Note: the bridge passed should be the one closest to the encoder
|
||||
*/
|
||||
void drm_atomic_bridge_chain_pre_enable(struct drm_bridge *bridge,
|
||||
struct drm_atomic_state *state)
|
||||
void drm_atomic_bridge_pre_enable(struct drm_bridge *bridge,
|
||||
struct drm_atomic_state *state)
|
||||
{
|
||||
if (!bridge)
|
||||
return;
|
||||
|
||||
drm_atomic_bridge_chain_pre_enable(bridge->next, state);
|
||||
drm_atomic_bridge_pre_enable(bridge->next, state);
|
||||
|
||||
if (bridge->funcs->atomic_pre_enable)
|
||||
bridge->funcs->atomic_pre_enable(bridge, state);
|
||||
else if (bridge->funcs->pre_enable)
|
||||
bridge->funcs->pre_enable(bridge);
|
||||
}
|
||||
EXPORT_SYMBOL(drm_atomic_bridge_chain_pre_enable);
|
||||
EXPORT_SYMBOL(drm_atomic_bridge_pre_enable);
|
||||
|
||||
/**
|
||||
* drm_atomic_bridge_chain_enable - enables all bridges in the encoder chain
|
||||
* drm_atomic_bridge_enable - enables all bridges in the encoder chain
|
||||
* @bridge: bridge control structure
|
||||
* @state: atomic state being committed
|
||||
*
|
||||
@@ -450,8 +447,8 @@ EXPORT_SYMBOL(drm_atomic_bridge_chain_pre_enable);
|
||||
*
|
||||
* Note: the bridge passed should be the one closest to the encoder
|
||||
*/
|
||||
void drm_atomic_bridge_chain_enable(struct drm_bridge *bridge,
|
||||
struct drm_atomic_state *state)
|
||||
void drm_atomic_bridge_enable(struct drm_bridge *bridge,
|
||||
struct drm_atomic_state *state)
|
||||
{
|
||||
if (!bridge)
|
||||
return;
|
||||
@@ -461,9 +458,9 @@ void drm_atomic_bridge_chain_enable(struct drm_bridge *bridge,
|
||||
else if (bridge->funcs->enable)
|
||||
bridge->funcs->enable(bridge);
|
||||
|
||||
drm_atomic_bridge_chain_enable(bridge->next, state);
|
||||
drm_atomic_bridge_enable(bridge->next, state);
|
||||
}
|
||||
EXPORT_SYMBOL(drm_atomic_bridge_chain_enable);
|
||||
EXPORT_SYMBOL(drm_atomic_bridge_enable);
|
||||
|
||||
#ifdef CONFIG_OF
|
||||
/**
|
||||
|
||||
@@ -112,7 +112,7 @@ drm_mode_validate_pipeline(struct drm_display_mode *mode,
|
||||
continue;
|
||||
}
|
||||
|
||||
ret = drm_bridge_chain_mode_valid(encoder->bridge, mode);
|
||||
ret = drm_bridge_mode_valid(encoder->bridge, mode);
|
||||
if (ret != MODE_OK) {
|
||||
/* There is also no point in continuing for crtc check
|
||||
* here. */
|
||||
|
||||
@@ -1389,7 +1389,7 @@ static void exynos_dsi_enable(struct drm_encoder *encoder)
|
||||
if (ret < 0)
|
||||
goto err_put_sync;
|
||||
} else {
|
||||
drm_bridge_chain_pre_enable(dsi->out_bridge);
|
||||
drm_bridge_pre_enable(dsi->out_bridge);
|
||||
}
|
||||
|
||||
exynos_dsi_set_display_mode(dsi);
|
||||
@@ -1400,7 +1400,7 @@ static void exynos_dsi_enable(struct drm_encoder *encoder)
|
||||
if (ret < 0)
|
||||
goto err_display_disable;
|
||||
} else {
|
||||
drm_bridge_chain_enable(dsi->out_bridge);
|
||||
drm_bridge_enable(dsi->out_bridge);
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
drm_panel_disable(dsi->panel);
|
||||
drm_bridge_chain_disable(dsi->out_bridge);
|
||||
drm_bridge_disable(dsi->out_bridge);
|
||||
exynos_dsi_set_display_enable(dsi, false);
|
||||
drm_panel_unprepare(dsi->panel);
|
||||
drm_bridge_chain_post_disable(dsi->out_bridge);
|
||||
drm_bridge_post_disable(dsi->out_bridge);
|
||||
dsi->state &= ~DSIM_STATE_ENABLED;
|
||||
pm_runtime_put_sync(dsi->dev);
|
||||
}
|
||||
|
||||
@@ -1246,8 +1246,8 @@ static int mtk_hdmi_conn_mode_valid(struct drm_connector *conn,
|
||||
struct drm_display_mode adjusted_mode;
|
||||
|
||||
drm_mode_copy(&adjusted_mode, mode);
|
||||
if (!drm_bridge_chain_mode_fixup(hdmi->bridge.next, mode,
|
||||
&adjusted_mode))
|
||||
if (!drm_bridge_mode_fixup(hdmi->bridge.next, mode,
|
||||
&adjusted_mode))
|
||||
return MODE_BAD;
|
||||
}
|
||||
|
||||
|
||||
@@ -752,9 +752,9 @@ static void vc4_dsi_encoder_disable(struct drm_encoder *encoder)
|
||||
struct vc4_dsi *dsi = vc4_encoder->dsi;
|
||||
struct device *dev = &dsi->pdev->dev;
|
||||
|
||||
drm_bridge_chain_disable(dsi->bridge);
|
||||
drm_bridge_disable(dsi->bridge);
|
||||
vc4_dsi_ulps(dsi, true);
|
||||
drm_bridge_chain_post_disable(dsi->bridge);
|
||||
drm_bridge_post_disable(dsi->bridge);
|
||||
|
||||
clk_disable_unprepare(dsi->pll_phy_clock);
|
||||
clk_disable_unprepare(dsi->escape_clock);
|
||||
@@ -1052,7 +1052,7 @@ static void vc4_dsi_encoder_enable(struct drm_encoder *encoder)
|
||||
|
||||
vc4_dsi_ulps(dsi, false);
|
||||
|
||||
drm_bridge_chain_pre_enable(dsi->bridge);
|
||||
drm_bridge_pre_enable(dsi->bridge);
|
||||
|
||||
if (dsi->mode_flags & MIPI_DSI_MODE_VIDEO) {
|
||||
DSI_PORT_WRITE(DISP0_CTRL,
|
||||
@@ -1069,7 +1069,7 @@ static void vc4_dsi_encoder_enable(struct drm_encoder *encoder)
|
||||
DSI_DISP0_ENABLE);
|
||||
}
|
||||
|
||||
drm_bridge_chain_enable(dsi->bridge);
|
||||
drm_bridge_enable(dsi->bridge);
|
||||
|
||||
if (debug_dump_regs) {
|
||||
struct drm_printer p = drm_info_printer(&dsi->pdev->dev);
|
||||
|
||||
@@ -254,10 +254,9 @@ struct drm_bridge_funcs {
|
||||
* there is one) when this callback is called.
|
||||
*
|
||||
* Note that this function will only be invoked in the context of an
|
||||
* atomic commit. It will not be invoked from
|
||||
* &drm_bridge_chain_pre_enable. It would be prudent to also provide an
|
||||
* implementation of @pre_enable if you are expecting driver calls into
|
||||
* &drm_bridge_chain_pre_enable.
|
||||
* atomic commit. It will not be invoked from &drm_bridge_pre_enable. It
|
||||
* would be prudent to also provide an implementation of @pre_enable if
|
||||
* you are expecting driver calls into &drm_bridge_pre_enable.
|
||||
*
|
||||
* The @atomic_pre_enable callback is optional.
|
||||
*/
|
||||
@@ -280,9 +279,9 @@ struct drm_bridge_funcs {
|
||||
* chain if there is one.
|
||||
*
|
||||
* Note that this function will only be invoked in the context of an
|
||||
* atomic commit. It will not be invoked from &drm_bridge_chain_enable.
|
||||
* It would be prudent to also provide an implementation of @enable if
|
||||
* you are expecting driver calls into &drm_bridge_chain_enable.
|
||||
* atomic commit. It will not be invoked from &drm_bridge_enable. It
|
||||
* would be prudent to also provide an implementation of @enable if
|
||||
* you are expecting driver calls into &drm_bridge_enable.
|
||||
*
|
||||
* The enable callback is optional.
|
||||
*/
|
||||
@@ -302,10 +301,9 @@ struct drm_bridge_funcs {
|
||||
* signals) feeding it is still running when this callback is called.
|
||||
*
|
||||
* Note that this function will only be invoked in the context of an
|
||||
* atomic commit. It will not be invoked from
|
||||
* &drm_bridge_chain_disable. It would be prudent to also provide an
|
||||
* implementation of @disable if you are expecting driver calls into
|
||||
* &drm_bridge_chain_disable.
|
||||
* atomic commit. It will not be invoked from &drm_bridge_disable. It
|
||||
* would be prudent to also provide an implementation of @disable if
|
||||
* you are expecting driver calls into &drm_bridge_disable.
|
||||
*
|
||||
* The disable callback is optional.
|
||||
*/
|
||||
@@ -327,11 +325,10 @@ struct drm_bridge_funcs {
|
||||
* called.
|
||||
*
|
||||
* Note that this function will only be invoked in the context of an
|
||||
* atomic commit. It will not be invoked from
|
||||
* &drm_bridge_chain_post_disable.
|
||||
* atomic commit. It will not be invoked from &drm_bridge_post_disable.
|
||||
* It would be prudent to also provide an implementation of
|
||||
* @post_disable if you are expecting driver calls into
|
||||
* &drm_bridge_chain_post_disable.
|
||||
* &drm_bridge_post_disable.
|
||||
*
|
||||
* The post_disable callback is optional.
|
||||
*/
|
||||
@@ -409,28 +406,27 @@ struct drm_bridge *of_drm_find_bridge(struct device_node *np);
|
||||
int drm_bridge_attach(struct drm_encoder *encoder, struct drm_bridge *bridge,
|
||||
struct drm_bridge *previous);
|
||||
|
||||
bool drm_bridge_chain_mode_fixup(struct drm_bridge *bridge,
|
||||
const struct drm_display_mode *mode,
|
||||
struct drm_display_mode *adjusted_mode);
|
||||
enum drm_mode_status
|
||||
drm_bridge_chain_mode_valid(struct drm_bridge *bridge,
|
||||
const struct drm_display_mode *mode);
|
||||
void drm_bridge_chain_disable(struct drm_bridge *bridge);
|
||||
void drm_bridge_chain_post_disable(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 *adjusted_mode);
|
||||
void drm_bridge_chain_pre_enable(struct drm_bridge *bridge);
|
||||
void drm_bridge_chain_enable(struct drm_bridge *bridge);
|
||||
bool drm_bridge_mode_fixup(struct drm_bridge *bridge,
|
||||
const struct drm_display_mode *mode,
|
||||
struct drm_display_mode *adjusted_mode);
|
||||
enum drm_mode_status drm_bridge_mode_valid(struct drm_bridge *bridge,
|
||||
const struct drm_display_mode *mode);
|
||||
void drm_bridge_disable(struct drm_bridge *bridge);
|
||||
void drm_bridge_post_disable(struct drm_bridge *bridge);
|
||||
void drm_bridge_mode_set(struct drm_bridge *bridge,
|
||||
const struct drm_display_mode *mode,
|
||||
const struct drm_display_mode *adjusted_mode);
|
||||
void drm_bridge_pre_enable(struct drm_bridge *bridge);
|
||||
void drm_bridge_enable(struct drm_bridge *bridge);
|
||||
|
||||
void drm_atomic_bridge_chain_disable(struct drm_bridge *bridge,
|
||||
struct drm_atomic_state *state);
|
||||
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,
|
||||
void drm_atomic_bridge_disable(struct drm_bridge *bridge,
|
||||
struct drm_atomic_state *state);
|
||||
void drm_atomic_bridge_post_disable(struct drm_bridge *bridge,
|
||||
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
|
||||
struct drm_bridge *drm_panel_bridge_add(struct drm_panel *panel,
|
||||
|
||||
Reference in New Issue
Block a user