summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Salido-Moreno <adrianm@codeaurora.org>2013-01-25 13:09:37 -0800
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 20:14:23 -0700
commit4b2a52dc40899bcb47ee9d6db65f3865018e7b2f (patch)
treea6a46bc1d82fe6fcd182f2dc10c71043976574f3
parentc8d793ab5a3d8037d61385c775bd5a7be3c1d344 (diff)
msm: mdss: ensure minimum bandwidth is allocated for dsi commands
DSI commands are read from memory through bus. In order to send DSI commands including power on, need to allocate minimum bandwidth request to turn on the bus clock. CRs-Fixed: 443422 Change-Id: I56b1c1c34aebadb19255bcc3a89f3a33271db13a Signed-off-by: Adrian Salido-Moreno <adrianm@codeaurora.org>
-rw-r--r--drivers/video/fbdev/msm/mdss_mdp_ctl.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/video/fbdev/msm/mdss_mdp_ctl.c b/drivers/video/fbdev/msm/mdss_mdp_ctl.c
index be7ee4ebd67e..5981227a9e52 100644
--- a/drivers/video/fbdev/msm/mdss_mdp_ctl.c
+++ b/drivers/video/fbdev/msm/mdss_mdp_ctl.c
@@ -69,10 +69,6 @@ static int mdss_mdp_ctl_perf_commit(u32 flags)
bus_ib_quota = MDSS_MDP_BUS_FUDGE_FACTOR(bus_ib_quota);
bus_ib_quota <<= MDSS_MDP_BUS_FACTOR_SHIFT;
- if ((bus_ib_quota == 0) && (clk_rate > 0)) {
- /* allocate min bw for panel cmds if mdp is active */
- bus_ib_quota = SZ_16M;
- }
mdss_mdp_bus_scale_set_quota(bus_ab_quota, bus_ib_quota);
}
if (flags & MDSS_MDP_PERF_UPDATE_CLK) {
@@ -205,6 +201,10 @@ static int mdss_mdp_ctl_perf_update(struct mdss_mdp_ctl *ctl, u32 *flags)
max_clk_rate = clk_rate;
}
+ /* request minimum bandwidth for dsi commands */
+ if ((total_ib_quota == 0) && (ctl->intf_type == MDSS_INTF_DSI))
+ total_ib_quota = SZ_16M >> MDSS_MDP_BUS_FACTOR_SHIFT;
+
*flags = 0;
if (max_clk_rate != ctl->clk_rate) {
@@ -219,7 +219,7 @@ static int mdss_mdp_ctl_perf_update(struct mdss_mdp_ctl *ctl, u32 *flags)
if ((total_ab_quota != ctl->bus_ab_quota) ||
(total_ib_quota != ctl->bus_ib_quota)) {
if (ret == MDSS_MDP_PERF_UPDATE_SKIP) {
- if (total_ib_quota > ctl->bus_ib_quota)
+ if (total_ib_quota >= ctl->bus_ib_quota)
ret = MDSS_MDP_PERF_UPDATE_EARLY;
else
ret = MDSS_MDP_PERF_UPDATE_LATE;