Merge "drm/msm: perform mode fixup against current state"

This commit is contained in:
qctecmdr 2019-07-27 09:33:20 -07:00 committed by Gerrit - the friendly Code Review server
commit 541da47199

View File

@ -338,7 +338,6 @@ static bool dsi_bridge_mode_fixup(struct drm_bridge *bridge,
struct dsi_bridge *c_bridge = to_dsi_bridge(bridge);
struct dsi_display *display;
struct dsi_display_mode dsi_mode, cur_dsi_mode, *panel_dsi_mode;
struct drm_display_mode cur_mode;
struct drm_crtc_state *crtc_state;
crtc_state = container_of(mode, struct drm_crtc_state, mode);
@ -390,9 +389,9 @@ static bool dsi_bridge_mode_fixup(struct drm_bridge *bridge,
if (bridge->encoder && bridge->encoder->crtc &&
crtc_state->crtc) {
convert_to_dsi_mode(&crtc_state->crtc->state->mode,
&cur_dsi_mode);
const struct drm_display_mode *cur_mode =
&crtc_state->crtc->state->mode;
convert_to_dsi_mode(cur_mode, &cur_dsi_mode);
cur_dsi_mode.timing.dsc_enabled =
dsi_mode.priv_info->dsc_enabled;
cur_dsi_mode.timing.dsc = &dsi_mode.priv_info->dsc;
@ -404,8 +403,6 @@ static bool dsi_bridge_mode_fixup(struct drm_bridge *bridge,
return false;
}
cur_mode = crtc_state->crtc->mode;
/* No panel mode switch when drm pipeline is changing */
if ((dsi_mode.panel_mode != cur_dsi_mode.panel_mode) &&
(!(dsi_mode.dsi_mode_flags & DSI_MODE_FLAG_VRR)) &&
@ -413,7 +410,7 @@ static bool dsi_bridge_mode_fixup(struct drm_bridge *bridge,
crtc_state->crtc->state->enable))
dsi_mode.dsi_mode_flags |= DSI_MODE_FLAG_POMS;
/* No DMS/VRR when drm pipeline is changing */
if (!drm_mode_equal(&cur_mode, adjusted_mode) &&
if (!drm_mode_equal(cur_mode, adjusted_mode) &&
(!(dsi_mode.dsi_mode_flags & DSI_MODE_FLAG_VRR)) &&
(!(dsi_mode.dsi_mode_flags & DSI_MODE_FLAG_POMS)) &&
(!(dsi_mode.dsi_mode_flags & DSI_MODE_FLAG_DYN_CLK)) &&