msm_fb: display: Fix HDMI as primary issue with continuous splash support
Fix HDMI as primary boot failure with continuous splash support by
resetting MDP hardware and disabling splash feature flag in board data
Avoid flickering issue for HDMI as primary display with composition
bypass updates
Change-Id: I9620062f10b24072ea23b7e712e24aba533f044b
Signed-off-by: Ravishangar Kalyanam <rkalya@codeaurora.org>
diff --git a/arch/arm/mach-msm/board-8960-display.c b/arch/arm/mach-msm/board-8960-display.c
index b715346..4b887e8 100644
--- a/arch/arm/mach-msm/board-8960-display.c
+++ b/arch/arm/mach-msm/board-8960-display.c
@@ -1085,4 +1085,7 @@
pr_debug("msm_fb_pdata.ext_panel_name %s\n",
msm_fb_pdata.ext_panel_name);
}
+
+ if (hdmi_is_primary)
+ mdp_pdata.cont_splash_enabled = 0;
}
diff --git a/drivers/video/msm/mdp.c b/drivers/video/msm/mdp.c
index d841e11..fe56263 100644
--- a/drivers/video/msm/mdp.c
+++ b/drivers/video/msm/mdp.c
@@ -1715,6 +1715,12 @@
else {
regulator_enable(footswitch);
mdp_footswitch_on = 1;
+
+ if (mdp_rev == MDP_REV_42 && !cont_splashScreen) {
+ regulator_disable(footswitch);
+ msleep(20);
+ regulator_enable(footswitch);
+ }
}
mdp_clk = clk_get(&pdev->dev, "core_clk");
diff --git a/drivers/video/msm/mdp4_overlay.c b/drivers/video/msm/mdp4_overlay.c
index 7f155c2..1962ff8 100644
--- a/drivers/video/msm/mdp4_overlay.c
+++ b/drivers/video/msm/mdp4_overlay.c
@@ -2523,11 +2523,12 @@
}
if (mfd->mdp_rev >= MDP_REV_42 && !mfd->use_ov0_blt &&
- (pipe->mixer_num == MDP4_MIXER0)) {
+ (pipe->mixer_num == MDP4_MIXER0 || hdmi_prim_display)) {
ctrl->stage[pipe->mixer_num][pipe->mixer_stage] = NULL;
} else if (mfd->mdp_rev == MDP_REV_41 &&
mdp4_overlay_is_rgb_type(pipe->src_format) &&
- !mfd->use_ov0_blt && (pipe->mixer_num == MDP4_MIXER0)) {
+ !mfd->use_ov0_blt && (pipe->mixer_num == MDP4_MIXER0 ||
+ hdmi_prim_display)) {
ctrl->stage[pipe->mixer_num][pipe->mixer_stage] = NULL;
} else {
mdp4_mixer_stage_down(pipe);