diff options
| author | Linux Build Service Account <lnxbuild@quicinc.com> | 2017-04-25 21:48:58 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-04-25 21:48:58 -0700 |
| commit | d8af252b938a3a60527e346d5dd200adb7facb3e (patch) | |
| tree | 7fdab8ed27bb36037164dbeee81619fc961ec6ad | |
| parent | ce6271aa372e9f9628bb2e649dd8fb4ef416f617 (diff) | |
| parent | 3f62bc4e09bb68a50c2d4c9964cf63f6f4be929e (diff) | |
Merge "msm: mdss: wait for pp done when switching from ON to LP1"
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_mdp_intf_cmd.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/video/fbdev/msm/mdss_mdp_intf_cmd.c b/drivers/video/fbdev/msm/mdss_mdp_intf_cmd.c index 55b41b3b38d1..bdbec0b4e721 100644 --- a/drivers/video/fbdev/msm/mdss_mdp_intf_cmd.c +++ b/drivers/video/fbdev/msm/mdss_mdp_intf_cmd.c @@ -3354,8 +3354,18 @@ int mdss_mdp_cmd_stop(struct mdss_mdp_ctl *ctl, int panel_power_state) * mode. */ send_panel_events = true; - if (mdss_panel_is_power_on_ulp(panel_power_state)) + if (mdss_panel_is_power_on_ulp(panel_power_state)) { turn_off_clocks = true; + } else if (atomic_read(&ctx->koff_cnt)) { + /* + * Transition from interactive to low power + * Wait for kickoffs to finish + */ + MDSS_XLOG(ctl->num, atomic_read(&ctx->koff_cnt)); + mdss_mdp_cmd_wait4pingpong(ctl, NULL); + if (sctl) + mdss_mdp_cmd_wait4pingpong(sctl, NULL); + } } else { /* Transitions between low power and ultra low power */ if (mdss_panel_is_power_on_ulp(panel_power_state)) { |
