diff options
| author | Sandeep Panda <spanda@codeaurora.org> | 2014-10-06 20:08:31 +0530 |
|---|---|---|
| committer | David Keitel <dkeitel@codeaurora.org> | 2016-03-23 20:34:44 -0700 |
| commit | 949ef0c02934ca656737ec440e45e148c2fa7a3b (patch) | |
| tree | 33f4bc77901bce1f6d282b8d33669d22ffe23b4f | |
| parent | c9d96fc3423012a72a59c36e4668dc203940cbe9 (diff) | |
msm: mdss: modify mdp3 clocks for 8909 platform
This code change modifies the mdp3 clock control
based on 8909 platform clock plan.
Change-Id: I316fd51ec05d4eb1d1d3a138bbb672b036f1bbc0
Signed-off-by: Sandeep Panda <spanda@codeaurora.org>
| -rw-r--r-- | drivers/video/fbdev/msm/mdp3.c | 15 | ||||
| -rw-r--r-- | drivers/video/fbdev/msm/mdp3_ctrl.c | 2 | ||||
| -rw-r--r-- | drivers/video/fbdev/msm/mdp3_ppp.c | 2 |
3 files changed, 15 insertions, 4 deletions
diff --git a/drivers/video/fbdev/msm/mdp3.c b/drivers/video/fbdev/msm/mdp3.c index 7c4f0a0e46e1..5dcec4195948 100644 --- a/drivers/video/fbdev/msm/mdp3.c +++ b/drivers/video/fbdev/msm/mdp3.c @@ -436,6 +436,9 @@ static int mdp3_clk_update(u32 clk_idx, u32 enable) return ret; } ret = clk_enable(clk); + if (ret) + pr_err("%s: clock enable failed %d\n", __func__, + clk_idx); } else if (count == 0) { pr_debug("clk=%d disable\n", clk_idx); clk_disable(clk); @@ -465,7 +468,7 @@ int mdp3_clk_set_rate(int clk_type, unsigned long clk_rate, mutex_unlock(&mdp3_res->res_mutex); return -EINVAL; } - if (clk_type == MDP3_CLK_MDP_CORE) { + if (clk_type == MDP3_CLK_MDP_SRC) { if (client == MDP3_CLIENT_DMA_P) { mdp3_res->dma_core_clk_request = rounded_rate; } else if (client == MDP3_CLIENT_PPP) { @@ -555,6 +558,10 @@ static int mdp3_clk_setup(void) if (rc) return rc; + rc = mdp3_clk_set_rate(MDP3_CLK_MDP_SRC, MDP_CORE_CLK_RATE, + MDP3_CLIENT_DMA_P); + if (rc) + pr_err("%s: Error setting max clock during probe\n", __func__); return rc; } @@ -852,6 +859,7 @@ static int mdp3_check_version(void) int rc; rc = mdp3_clk_update(MDP3_CLK_AHB, 1); + rc |= mdp3_clk_update(MDP3_CLK_AXI, 1); rc |= mdp3_clk_update(MDP3_CLK_MDP_CORE, 1); if (rc) return rc; @@ -859,6 +867,7 @@ static int mdp3_check_version(void) mdp3_res->mdp_rev = MDP3_REG_READ(MDP3_REG_HW_VERSION); rc = mdp3_clk_update(MDP3_CLK_AHB, 0); + rc |= mdp3_clk_update(MDP3_CLK_AXI, 0); rc |= mdp3_clk_update(MDP3_CLK_MDP_CORE, 0); if (rc) pr_err("fail to turn off the MDP3_CLK_AHB clk\n"); @@ -1575,6 +1584,7 @@ static int mdp3_is_display_on(struct mdss_panel_data *pdata) u32 status; mdp3_clk_update(MDP3_CLK_AHB, 1); + mdp3_clk_update(MDP3_CLK_AXI, 1); mdp3_clk_update(MDP3_CLK_MDP_CORE, 1); if (pdata->panel_info.type == MIPI_VIDEO_PANEL) { @@ -1589,6 +1599,7 @@ static int mdp3_is_display_on(struct mdss_panel_data *pdata) mdp3_res->splash_mem_addr = MDP3_REG_READ(MDP3_REG_DMA_P_IBUF_ADDR); mdp3_clk_update(MDP3_CLK_AHB, 0); + mdp3_clk_update(MDP3_CLK_AXI, 0); mdp3_clk_update(MDP3_CLK_MDP_CORE, 0); return rc; } @@ -1605,7 +1616,7 @@ static int mdp3_continuous_splash_on(struct mdss_panel_data *pdata) mdp3_clk_set_rate(MDP3_CLK_VSYNC, MDP_VSYNC_CLK_RATE, MDP3_CLIENT_DMA_P); - mdp3_clk_set_rate(MDP3_CLK_MDP_CORE, MDP_CORE_CLK_RATE, + mdp3_clk_set_rate(MDP3_CLK_MDP_SRC, MDP_CORE_CLK_RATE, MDP3_CLIENT_DMA_P); bus_handle = &mdp3_res->bus_handle[MDP3_BUS_HANDLE]; diff --git a/drivers/video/fbdev/msm/mdp3_ctrl.c b/drivers/video/fbdev/msm/mdp3_ctrl.c index d7bbacb0df33..092677b5596e 100644 --- a/drivers/video/fbdev/msm/mdp3_ctrl.c +++ b/drivers/video/fbdev/msm/mdp3_ctrl.c @@ -366,7 +366,7 @@ static int mdp3_ctrl_res_req_clk(struct msm_fb_data_type *mfd, int status) int rc = 0; if (status) { - mdp3_clk_set_rate(MDP3_CLK_MDP_CORE, MDP_CORE_CLK_RATE, + mdp3_clk_set_rate(MDP3_CLK_MDP_SRC, MDP_CORE_CLK_RATE, MDP3_CLIENT_DMA_P); mdp3_clk_set_rate(MDP3_CLK_VSYNC, MDP_VSYNC_CLK_RATE, MDP3_CLIENT_DMA_P); diff --git a/drivers/video/fbdev/msm/mdp3_ppp.c b/drivers/video/fbdev/msm/mdp3_ppp.c index 1b328e4fe121..e8135b5fda80 100644 --- a/drivers/video/fbdev/msm/mdp3_ppp.c +++ b/drivers/video/fbdev/msm/mdp3_ppp.c @@ -377,7 +377,7 @@ int mdp3_ppp_turnon(struct msm_fb_data_type *mfd, int on_off) else ab = req_bw; } - mdp3_clk_set_rate(MDP3_CLK_MDP_CORE, rate, MDP3_CLIENT_PPP); + mdp3_clk_set_rate(MDP3_CLK_MDP_SRC, rate, MDP3_CLIENT_PPP); rc = mdp3_res_update(on_off, 0, MDP3_CLIENT_PPP); if (rc < 0) { pr_err("%s: mdp3_clk_enable failed\n", __func__); |
