disp: msm: sde: reset CTL_UIDLE_ACTIVE register only if uidle is disabled
This change sets CTL_UIDLE_ACTIVE register whenever uidle is enabled and resets it only when uidle is disabled. Change-Id: I0393d1585df4fdb79a844d04df62ac9eda949232 Signed-off-by: Yashwanth <yvulapu@codeaurora.org>
Esse commit está contido em:
@@ -3606,7 +3606,7 @@ static void sde_crtc_atomic_begin(struct drm_crtc *crtc,
|
||||
if (crtc->state->mode_changed || sde_kms->perf.catalog->uidle_cfg.dirty) {
|
||||
sde_core_perf_crtc_update_uidle(crtc, true);
|
||||
} else if (!test_bit(SDE_CRTC_DIRTY_UIDLE, &sde_crtc->revalidate_mask) &&
|
||||
sde_kms->perf.uidle_enabled)
|
||||
!sde_kms->perf.uidle_enabled)
|
||||
sde_core_perf_uidle_setup_ctl(crtc, false);
|
||||
|
||||
test_and_clear_bit(SDE_CRTC_DIRTY_UIDLE, &sde_crtc->revalidate_mask);
|
||||
|
@@ -140,7 +140,8 @@ void sde_encoder_uidle_enable(struct drm_encoder *drm_enc, bool enable)
|
||||
struct sde_encoder_phys *phys = sde_enc->phys_encs[i];
|
||||
|
||||
if (phys && phys->hw_ctl && phys->hw_ctl->ops.uidle_enable) {
|
||||
SDE_EVT32(DRMID(drm_enc), enable);
|
||||
if (enable)
|
||||
SDE_EVT32(DRMID(drm_enc), enable);
|
||||
phys->hw_ctl->ops.uidle_enable(phys->hw_ctl, enable);
|
||||
}
|
||||
}
|
||||
|
Referência em uma nova issue
Block a user