diff --git a/msm/sde/sde_encoder.c b/msm/sde/sde_encoder.c index 41557a5fe4..bcaa35edfd 100644 --- a/msm/sde/sde_encoder.c +++ b/msm/sde/sde_encoder.c @@ -923,7 +923,7 @@ static int _sde_encoder_atomic_check_pu_roi(struct sde_encoder_virt *sde_enc, { int ret = 0; - if (drm_atomic_crtc_needs_modeset(crtc_state)) { + if (crtc_state->mode_changed || crtc_state->active_changed) { struct sde_rect mode_roi, roi; mode_roi.x = 0; diff --git a/msm/sde/sde_encoder_phys_wb.c b/msm/sde/sde_encoder_phys_wb.c index 675497760d..7688879ac3 100644 --- a/msm/sde/sde_encoder_phys_wb.c +++ b/msm/sde/sde_encoder_phys_wb.c @@ -670,7 +670,7 @@ static int _sde_enc_phys_wb_validate_cwb(struct sde_encoder_phys *phys_enc, if (cstate->ds_cfg[i].scl3_cfg.enable) { ds_in_use = true; ds_outw += cstate->ds_cfg[i].scl3_cfg.dst_width; - ds_outh += cstate->ds_cfg[i].scl3_cfg.dst_height; + ds_outh = cstate->ds_cfg[i].scl3_cfg.dst_height; } /* if ds in use check wb roi against ds output dimensions */