From 692b25b2699d96e0f8149ffd7c686b1f3d4d94af Mon Sep 17 00:00:00 2001 From: Lloyd Atkinson <latkinso@codeaurora.org> Date: Thu, 28 Apr 2016 14:53:01 -0400 Subject: [PATCH] msm: mdss: register for recovery handler in doze mode The doze_suspend and stop state resets the recovery handler. It is required to register it again in doze mode because there can be frame update in this power state. Change-Id: I1bef7cdd63f21698aca18d326074ac3a0e4e5de4 Signed-off-by: Dhaval Patel <pdhaval@codeaurora.org> Signed-off-by: Lloyd Atkinson <latkinso@codeaurora.org> --- drivers/video/msm/mdss/mdss_mdp_intf_cmd.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/video/msm/mdss/mdss_mdp_intf_cmd.c b/drivers/video/msm/mdss/mdss_mdp_intf_cmd.c index 627158013f28..664a7fe27469 100644 --- a/drivers/video/msm/mdss/mdss_mdp_intf_cmd.c +++ b/drivers/video/msm/mdss/mdss_mdp_intf_cmd.c @@ -427,12 +427,9 @@ static void mdss_mdp_cmd_intf_recovery(void *data, int event) spin_lock_irqsave(&ctx->koff_lock, flags); if (reset_done && atomic_add_unless(&ctx->koff_cnt, -1, 0)) { - u32 pp_num = ctx->right_only_update ? ctx->right_only_pp_num : - ctx->pp_num; - pr_debug("%s: intf_num=%d\n", __func__, ctx->ctl->intf_num); mdss_mdp_irq_disable_nosync(MDSS_MDP_IRQ_PING_PONG_COMP, - pp_num); + ctx->pp_num); if (mdss_mdp_cmd_do_notifier(ctx)) notify_frame_timeout = true; @@ -1286,6 +1283,9 @@ int mdss_mdp_cmd_stop(struct mdss_mdp_ctl *ctl, int panel_power_state) * get turned on when the first update comes. */ pr_debug("%s: reset intf_stopped flag.\n", __func__); + mdss_mdp_ctl_intf_event(ctl, + MDSS_EVENT_REGISTER_RECOVERY_HANDLER, + (void *)&ctx->intf_recovery); ctx->intf_stopped = 0; if (sctx) sctx->intf_stopped = 0; -- GitLab