summaryrefslogtreecommitdiff
path: root/drivers/video/fbdev
diff options
context:
space:
mode:
authorIngrid Gallardo <ingridg@codeaurora.org>2015-09-14 19:29:53 -0700
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 20:46:42 -0700
commit85ec72fd28a5fa0260e4e8984f42a2cbdbbb77c2 (patch)
treec7a9a2f80ecbaff5768d3ac6be695f3f982b4cbb /drivers/video/fbdev
parentab7127e737217afbd65dc5fe62c6727bcbeff125 (diff)
msm: mdss: fix to release mdp clock during partial update
When a partial update is requested in the right controller only, driver kicks off the update in the right controller only. Current driver has a problem where even when the kickoff is only in the right side for this scenario, we mark the SW status as busy for the controller of the left side as well. This causes that if only right updates are coming, driver holds the mdp clock and keeps it enabled during static screen scenarios. Fix this problem by making sure that the busy status of the SW for the left controller is only set to busy if an update is requested for this controller. Change-Id: I357c80955666e9d7e8da55d3189c482ae445435a Signed-off-by: Ingrid Gallardo <ingridg@codeaurora.org>
Diffstat (limited to 'drivers/video/fbdev')
-rw-r--r--drivers/video/fbdev/msm/mdss_mdp_ctl.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/video/fbdev/msm/mdss_mdp_ctl.c b/drivers/video/fbdev/msm/mdss_mdp_ctl.c
index e97db51f1016..a1299ce2ffd8 100644
--- a/drivers/video/fbdev/msm/mdss_mdp_ctl.c
+++ b/drivers/video/fbdev/msm/mdss_mdp_ctl.c
@@ -4371,14 +4371,15 @@ int mdss_mdp_display_commit(struct mdss_mdp_ctl *ctl, void *arg,
!mdss_mdp_ctl_perf_get_transaction_status(sctl);
}
- mdss_mdp_ctl_perf_set_transaction_status(ctl,
- PERF_SW_COMMIT_STATE, PERF_STATUS_BUSY);
+ /* left update */
+ if (ctl->valid_roi)
+ mdss_mdp_ctl_perf_set_transaction_status(ctl,
+ PERF_SW_COMMIT_STATE, PERF_STATUS_BUSY);
- if (sctl && sctl->roi.w && sctl->roi.h) {
- /* left + right*/
+ /* right update */
+ if (sctl && sctl->valid_roi)
mdss_mdp_ctl_perf_set_transaction_status(sctl,
PERF_SW_COMMIT_STATE, PERF_STATUS_BUSY);
- }
if (mdata->has_src_split) {
if (sctl)