diff --git a/msm/dsi/dsi_drm.c b/msm/dsi/dsi_drm.c index 311ba56afa..ac80a34b4b 100644 --- a/msm/dsi/dsi_drm.c +++ b/msm/dsi/dsi_drm.c @@ -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)) &&