summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/video/fbdev/msm/mdss.h1
-rw-r--r--drivers/video/fbdev/msm/mdss_debug.c3
-rw-r--r--drivers/video/fbdev/msm/mdss_mdp_ctl.c3
3 files changed, 6 insertions, 1 deletions
diff --git a/drivers/video/fbdev/msm/mdss.h b/drivers/video/fbdev/msm/mdss.h
index bb16d2969e85..33ec9369ba79 100644
--- a/drivers/video/fbdev/msm/mdss.h
+++ b/drivers/video/fbdev/msm/mdss.h
@@ -183,6 +183,7 @@ struct mdss_data_type {
u32 nclk_lvl;
u32 enable_bw_release;
+ u32 enable_rotator_bw_release;
struct mdss_hw_settings *hw_settings;
diff --git a/drivers/video/fbdev/msm/mdss_debug.c b/drivers/video/fbdev/msm/mdss_debug.c
index 4fb5ae395932..ab44f8e96153 100644
--- a/drivers/video/fbdev/msm/mdss_debug.c
+++ b/drivers/video/fbdev/msm/mdss_debug.c
@@ -573,6 +573,9 @@ static int mdss_debugfs_perf_init(struct mdss_debug_data *mdd,
debugfs_create_u32("enable_bw_release", 0644, mdd->perf,
(u32 *)&mdata->enable_bw_release);
+ debugfs_create_u32("enable_rotator_bw_release", 0644, mdd->perf,
+ (u32 *)&mdata->enable_rotator_bw_release);
+
debugfs_create_file("ab_factor", 0644, mdd->perf,
&mdata->ab_factor, &mdss_factor_fops);
diff --git a/drivers/video/fbdev/msm/mdss_mdp_ctl.c b/drivers/video/fbdev/msm/mdss_mdp_ctl.c
index fab4df558239..4b8e3ec60142 100644
--- a/drivers/video/fbdev/msm/mdss_mdp_ctl.c
+++ b/drivers/video/fbdev/msm/mdss_mdp_ctl.c
@@ -1148,7 +1148,8 @@ static void mdss_mdp_ctl_perf_update(struct mdss_mdp_ctl *ctl,
is_bw_released = !mdss_mdp_ctl_perf_get_transaction_status(ctl);
if (ctl->power_on) {
- if (ctl->perf_release_ctl_bw)
+ if (ctl->perf_release_ctl_bw &&
+ mdata->enable_rotator_bw_release)
mdss_mdp_perf_release_ctl_bw(ctl, new);
else if (is_bw_released || params_changed)
mdss_mdp_perf_calc_ctl(ctl, new);