summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAravind Venkateswaran <aravindh@codeaurora.org>2015-01-29 14:39:27 -0800
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 20:47:02 -0700
commitfec6f15fb8a0b38e2907431e78def8bc17a9b103 (patch)
tree9e4da8127ee2c215c6eefbfdd33f010ccfff531c
parent01058a89df581434872b42612c3a7152ef0d17d2 (diff)
msm: mdss: dsi: fix dsi init sequence with ulps during suspend feature
If continuous splash screen feature is disabled and ULPS during suspend feature is enabled, DSI phy initialization does when device is booting up, due to incorrect checks in the current implementation. Fix this issue by ensuring that DSI phy initialization is always done when DSI interface is turned on. Signed-off-by: Aravind Venkateswaran <aravindh@codeaurora.org> Change-Id: Icdc90eef8d5f3380b47f67268249eb670f8ca824 Signed-off-by: Padmanabhan Komanduru <pkomandu@codeaurora.org>
-rw-r--r--drivers/video/fbdev/msm/mdss_dsi.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/video/fbdev/msm/mdss_dsi.c b/drivers/video/fbdev/msm/mdss_dsi.c
index 05da1a981d59..21e414844100 100644
--- a/drivers/video/fbdev/msm/mdss_dsi.c
+++ b/drivers/video/fbdev/msm/mdss_dsi.c
@@ -1276,7 +1276,15 @@ int mdss_dsi_on(struct mdss_panel_data *pdata)
*/
mdss_dsi_clk_ctrl(ctrl_pdata, ctrl_pdata->dsi_clk_handle,
MDSS_DSI_CORE_CLK, MDSS_DSI_CLK_ON);
- if (!pdata->panel_info.ulps_suspend_enabled) {
+
+ /*
+ * If ULPS during suspend feature is enabled, then DSI PHY was
+ * left on during suspend. In this case, we do not need to reset/init
+ * PHY. This would have already been done when the CORE clocks are
+ * turned on. However, if cont splash is disabled, the first time DSI
+ * is powered on, phy init needs to be done unconditionally.
+ */
+ if (!pdata->panel_info.ulps_suspend_enabled || !ctrl_pdata->ulps) {
mdss_dsi_phy_sw_reset(ctrl_pdata);
mdss_dsi_phy_init(ctrl_pdata);
mdss_dsi_ctrl_setup(ctrl_pdata);