diff options
| author | Adrian Salido-Moreno <adrianm@codeaurora.org> | 2013-04-05 09:05:55 -0700 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 20:15:58 -0700 |
| commit | 10f2b80b0eb4559c62ef6fcc81c48e8c3f44fe3c (patch) | |
| tree | 93157ad1a8d9a2869c7fffb29c8118ff24a888c2 | |
| parent | 3f3bdc61b91d669d9fcd670a8af169ef05da37f8 (diff) | |
msm: mdss: reset control path configuration during panel off
Because of the dynamic way that control paths can be configured, a
different control path can be used for different panel interfaces.
In order to avoid same panel and/or same mixer being configured for same
control path, ensure the control path configuration is completely
cleared once it's no longer active.
Change-Id: I090cfd0b325100363de3d3fcc49c364b93619093
Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
| -rw-r--r-- | drivers/video/fbdev/msm/mdss_mdp_ctl.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/video/fbdev/msm/mdss_mdp_ctl.c b/drivers/video/fbdev/msm/mdss_mdp_ctl.c index 1ced2009b868..fa53656f5246 100644 --- a/drivers/video/fbdev/msm/mdss_mdp_ctl.c +++ b/drivers/video/fbdev/msm/mdss_mdp_ctl.c @@ -986,6 +986,19 @@ int mdss_mdp_ctl_stop(struct mdss_mdp_ctl *ctl) if (ret) { pr_warn("error powering off intf ctl=%d\n", ctl->num); } else { + mdss_mdp_ctl_write(ctl, MDSS_MDP_REG_CTL_TOP, 0); + if (sctl) + mdss_mdp_ctl_write(sctl, MDSS_MDP_REG_CTL_TOP, 0); + + if (ctl->mixer_left) { + mdss_mdp_ctl_write(ctl, MDSS_MDP_REG_CTL_LAYER( + ctl->mixer_left->num), 0); + } + if (ctl->mixer_right) { + mdss_mdp_ctl_write(ctl, MDSS_MDP_REG_CTL_LAYER( + ctl->mixer_right->num), 0); + } + ctl->power_on = false; ctl->play_cnt = 0; ctl->clk_rate = 0; |
