summaryrefslogtreecommitdiff
path: root/drivers/video/fbdev
diff options
context:
space:
mode:
authorKuogee Hsieh <khsieh@codeaurora.org>2013-09-18 17:23:20 -0700
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 20:21:56 -0700
commitd3f10f093aebd9cd36b0bb30d31af034288928c8 (patch)
tree4ba224e27de903b1b82952d58d220ae463285853 /drivers/video/fbdev
parentd8998364c926c3cb7f7ca7c78df6f3a6e7d980ce (diff)
mdss: display: configure continuous splash mixers with border fill pipe
At end of continuous splash operation, configure mixers with border fill pipe to avoid unexpected side effects before transition into local home screen. Change-Id: Id2a7c1093035956774aef5518a449636ffd57c95 Signed-off-by: Kuogee Hsieh <khsieh@codeaurora.org>
Diffstat (limited to 'drivers/video/fbdev')
-rw-r--r--drivers/video/fbdev/msm/mdss_mdp_intf_video.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/drivers/video/fbdev/msm/mdss_mdp_intf_video.c b/drivers/video/fbdev/msm/mdss_mdp_intf_video.c
index 8d4ca2b26d41..6901fcc23891 100644
--- a/drivers/video/fbdev/msm/mdss_mdp_intf_video.c
+++ b/drivers/video/fbdev/msm/mdss_mdp_intf_video.c
@@ -581,10 +581,11 @@ static int mdss_mdp_video_display(struct mdss_mdp_ctl *ctl, void *arg)
int mdss_mdp_video_reconfigure_splash_done(struct mdss_mdp_ctl *ctl)
{
struct mdss_panel_data *pdata;
- int ret = 0, off;
+ int i, ret = 0, off;
int mdss_mdp_rev = MDSS_MDP_REG_READ(MDSS_MDP_REG_HW_VERSION);
int mdss_v2_intf_off = 0;
struct mdss_overlay_private *mdp5_data = mfd_to_mdp5_data(ctl->mfd);
+ u32 data, flush;
off = 0;
@@ -600,7 +601,18 @@ int mdss_mdp_video_reconfigure_splash_done(struct mdss_mdp_ctl *ctl)
return ret;
}
- mdss_mdp_ctl_write(ctl, 0, MDSS_MDP_LM_BORDER_COLOR);
+ /* clear up mixer0 and mixer1 */
+ flush = 0;
+ for (i = 0; i < 2; i++) {
+ data = mdss_mdp_ctl_read(ctl, MDSS_MDP_REG_CTL_LAYER(i));
+ if (data) {
+ mdss_mdp_ctl_write(ctl, MDSS_MDP_REG_CTL_LAYER(i),
+ MDSS_MDP_LM_BORDER_COLOR);
+ flush |= (0x40 << i);
+ }
+ }
+ mdss_mdp_ctl_write(ctl, MDSS_MDP_REG_CTL_FLUSH, flush);
+
off = MDSS_MDP_REG_INTF_OFFSET(ctl->intf_num);
if (mdss_mdp_rev >= MDSS_MDP_HW_REV_102)