summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/drm_atomic_helper.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/drm_atomic_helper.c')
-rw-r--r--drivers/gpu/drm/drm_atomic_helper.c32
1 files changed, 6 insertions, 26 deletions
diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c
index afe14f72a824..4511c2e07bb9 100644
--- a/drivers/gpu/drm/drm_atomic_helper.c
+++ b/drivers/gpu/drm/drm_atomic_helper.c
@@ -437,12 +437,12 @@ mode_fixup(struct drm_atomic_state *state)
funcs = encoder->helper_private;
bridge = drm_bridge_chain_get_first_bridge(encoder);
- ret = drm_atomic_bridge_chain_check(bridge,
- new_crtc_state,
- new_conn_state);
- if (ret) {
- DRM_DEBUG_ATOMIC("Bridge atomic check failed\n");
- return ret;
+ ret = drm_bridge_chain_mode_fixup(bridge,
+ &new_crtc_state->mode,
+ &new_crtc_state->adjusted_mode);
+ if (!ret) {
+ DRM_DEBUG_ATOMIC("Bridge fixup failed\n");
+ return -EINVAL;
}
if (funcs && funcs->atomic_check) {
@@ -730,26 +730,6 @@ drm_atomic_helper_check_modeset(struct drm_device *dev,
return ret;
}
- /*
- * Iterate over all connectors again, and add all affected bridges to
- * the state.
- */
- for_each_oldnew_connector_in_state(state, connector,
- old_connector_state,
- new_connector_state, i) {
- struct drm_encoder *encoder;
-
- encoder = old_connector_state->best_encoder;
- ret = drm_atomic_add_encoder_bridges(state, encoder);
- if (ret)
- return ret;
-
- encoder = new_connector_state->best_encoder;
- ret = drm_atomic_add_encoder_bridges(state, encoder);
- if (ret)
- return ret;
- }
-
ret = mode_valid(state);
if (ret)
return ret;