diff --git a/msm/sde/sde_encoder.c b/msm/sde/sde_encoder.c index d27b125bf01f..3eeb518c1a63 100644 --- a/msm/sde/sde_encoder.c +++ b/msm/sde/sde_encoder.c @@ -141,7 +141,10 @@ void sde_encoder_uidle_enable(struct drm_encoder *drm_enc, bool enable) for (i = 0; i < sde_enc->num_phys_encs; i++) { struct sde_encoder_phys *phys = sde_enc->phys_encs[i]; - if (phys && phys->hw_ctl && phys->hw_ctl->ops.uidle_enable) { + if (phys && phys->hw_ctl && phys->hw_ctl->ops.uidle_enable && + phys->split_role != ENC_ROLE_SLAVE) { + if (enable) + SDE_EVT32(DRMID(drm_enc), enable); phys->hw_ctl->ops.uidle_enable(phys->hw_ctl, enable); } }