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>
This commit is contained in:
parent
ab7127e737
commit
85ec72fd28
1 changed files with 6 additions and 5 deletions
|
@ -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)
|
||||
|
|
Loading…
Add table
Reference in a new issue