summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorPawan Kumar <pavaku@codeaurora.org>2014-01-27 16:29:53 +0530
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 20:26:30 -0700
commit2791e81d4ec6b02dfba4eb243259e894db2f012f (patch)
tree5aab59b738f1e558c768ffc5c49d213fffb078c1 /drivers
parent2729433ba07eebaac21b6f4a09341237be506eea (diff)
msm: mdss: add bus bandwidth request enable/disable during get/free buffer
Enable bus bandwidth request during get/free buffer to ensure iommu is in proper state while mapping/un-mapping any buffers. Change-Id: I85cc74a666dbfd29abd26609cbdd3e968d1ecd01 Signed-off-by: Pawan Kumar <pavaku@codeaurora.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/video/fbdev/msm/mdss_mdp_overlay.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/video/fbdev/msm/mdss_mdp_overlay.c b/drivers/video/fbdev/msm/mdss_mdp_overlay.c
index 6db7eb055a79..354748c4b470 100644
--- a/drivers/video/fbdev/msm/mdss_mdp_overlay.c
+++ b/drivers/video/fbdev/msm/mdss_mdp_overlay.c
@@ -708,6 +708,7 @@ int mdss_mdp_overlay_get_buf(struct msm_fb_data_type *mfd,
if ((num_planes <= 0) || (num_planes > MAX_PLANES))
return -EINVAL;
+ mdss_bus_bandwidth_ctrl(1);
memset(data, 0, sizeof(*data));
for (i = 0; i < num_planes; i++) {
data->p[i].flags = flags;
@@ -721,6 +722,7 @@ int mdss_mdp_overlay_get_buf(struct msm_fb_data_type *mfd,
break;
}
}
+ mdss_bus_bandwidth_ctrl(0);
data->num_planes = i;
@@ -730,8 +732,11 @@ int mdss_mdp_overlay_get_buf(struct msm_fb_data_type *mfd,
int mdss_mdp_overlay_free_buf(struct mdss_mdp_data *data)
{
int i;
+
+ mdss_bus_bandwidth_ctrl(1);
for (i = 0; i < data->num_planes && data->p[i].len; i++)
mdss_mdp_put_img(&data->p[i]);
+ mdss_bus_bandwidth_ctrl(0);
data->num_planes = 0;