diff --git a/msm/sde/sde_encoder.c b/msm/sde/sde_encoder.c index 6f4b65ea5cfc..4e8c3436b2aa 100644 --- a/msm/sde/sde_encoder.c +++ b/msm/sde/sde_encoder.c @@ -2652,7 +2652,9 @@ static void sde_encoder_virt_enable(struct drm_encoder *drm_enc) _sde_encoder_input_handler_register(drm_enc); - if (!(msm_is_mode_seamless_vrr(cur_mode) + if ((drm_enc->crtc->state->connectors_changed && + sde_encoder_in_clone_mode(drm_enc)) || + !(msm_is_mode_seamless_vrr(cur_mode) || msm_is_mode_seamless_dms(cur_mode) || msm_is_mode_seamless_dyn_clk(cur_mode))) kthread_init_delayed_work(&sde_enc->delayed_off_work,