disp: msm: sde: add qactive override

This change adds the hooks to enable the active signal override
in power collapse sequence. Active signal override is needed to
disable the clock gating when the power collapse sequence
is running.

Change-Id: I9edaed7960b236b3d0179cb67f9cc2c9b3546c9d
Signed-off-by: Abhijit Kulkarni <kabhijit@codeaurora.org>
This commit is contained in:
Abhijit Kulkarni
2020-01-08 20:20:28 -08:00
committed by Gerrit - the friendly Code Review server
parent ebb1a2799c
commit 748372a24c
5 changed files with 65 additions and 5 deletions

View File

@@ -2901,6 +2901,23 @@ static void _sde_kms_set_lutdma_vbif_remap(struct sde_kms *sde_kms)
sde_vbif_set_qos_remap(sde_kms, &qos_params);
}
static int _sde_kms_active_override(struct sde_kms *sde_kms, bool enable)
{
struct sde_hw_uidle *uidle;
if (!sde_kms) {
SDE_ERROR("invalid kms\n");
return -EINVAL;
}
uidle = sde_kms->hw_uidle;
if (uidle && uidle->ops.active_override_enable)
uidle->ops.active_override_enable(uidle, enable);
return 0;
}
static void sde_kms_handle_power_event(u32 event_type, void *usr)
{
struct sde_kms *sde_kms = usr;
@@ -2922,6 +2939,7 @@ static void sde_kms_handle_power_event(u32 event_type, void *usr)
} else if (event_type == SDE_POWER_EVENT_PRE_DISABLE) {
sde_irq_update(msm_kms, false);
sde_kms->first_kickoff = false;
_sde_kms_active_override(sde_kms, true);
}
}