summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSandeep Panda <spanda@codeaurora.org>2015-12-24 08:22:48 +0530
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 21:14:27 -0700
commite8ffd14c5da56e75c45aea43b8144fc7caca56a0 (patch)
treee16fab6e65b29e191741bf3dbf7de0e31d401e5d
parentf472340bf77bf6d86f9a7a4aa0a4104979cea8d1 (diff)
msm: mdss: read DSI CTRL and PHY revision properly
In the current implementation DSI PHY revision is read once DSI PHY initialization is complete. But this needs to be done before initializing PHY, so that correct PHY initialization sequence can be executed. Change-Id: I6f0cd59d63d0a8c0a5d47284f2e86e72f37d099f Signed-off-by: Sandeep Panda <spanda@codeaurora.org>
-rw-r--r--drivers/video/fbdev/msm/mdss_dsi.c6
-rw-r--r--drivers/video/fbdev/msm/msm_mdss_io_8974.c4
2 files changed, 7 insertions, 3 deletions
diff --git a/drivers/video/fbdev/msm/mdss_dsi.c b/drivers/video/fbdev/msm/mdss_dsi.c
index 2bd8a47a04be..c79676a89f4f 100644
--- a/drivers/video/fbdev/msm/mdss_dsi.c
+++ b/drivers/video/fbdev/msm/mdss_dsi.c
@@ -1304,6 +1304,10 @@ 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);
+ /* Populate DSI Controller and PHY revision */
+ mdss_dsi_read_hw_revision(ctrl_pdata);
+ mdss_dsi_read_phy_revision(ctrl_pdata);
+
/*
* 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
@@ -1321,8 +1325,6 @@ int mdss_dsi_on(struct mdss_panel_data *pdata)
mdss_dsi_clk_ctrl(ctrl_pdata, ctrl_pdata->dsi_clk_handle,
MDSS_DSI_LINK_CLK, MDSS_DSI_CLK_ON);
mdss_dsi_sw_reset(ctrl_pdata, true);
- mdss_dsi_read_hw_revision(ctrl_pdata);
- mdss_dsi_read_phy_revision(ctrl_pdata);
/*
* Issue hardware reset line after enabling the DSI clocks and data
diff --git a/drivers/video/fbdev/msm/msm_mdss_io_8974.c b/drivers/video/fbdev/msm/msm_mdss_io_8974.c
index 55b94de8fb73..bd2d22e38741 100644
--- a/drivers/video/fbdev/msm/msm_mdss_io_8974.c
+++ b/drivers/video/fbdev/msm/msm_mdss_io_8974.c
@@ -1937,8 +1937,10 @@ int mdss_dsi_post_clkon_cb(void *priv,
pdata = &ctrl->panel_data;
if (clk & MDSS_DSI_CORE_CLK) {
- if (!pdata->panel_info.cont_splash_enabled)
+ if (!pdata->panel_info.cont_splash_enabled) {
mdss_dsi_read_hw_revision(ctrl);
+ mdss_dsi_read_phy_revision(ctrl);
+ }
/*
* Phy and controller setup is needed if coming out of idle