summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorUjwal Patel <ujwalp@codeaurora.org>2015-11-20 11:28:18 -0800
committerDavid Keitel <dkeitel@codeaurora.org>2016-03-23 21:11:56 -0700
commitfa52907f1375d0522e8cc501b2215f3b8487550c (patch)
tree41a3f2bc327736d6b8b5b2e3463f1bc6cf8bb4a3 /kernel
parent830723857d4cc7a53193e4492fc949dceacdae90 (diff)
msm: mdss: avoid missing ECG due to thread preemption
On smart panels, Early Clock Gating (ECG), is initiated when current frame transfer is finished and no new frame update is queued. To track these two different states, driver maintains the state machine for HW transfer and SW's new frame update. Currently SW state machine is cleared only after HW transfer has started. Now in normal scenarios SW state should be cleared before HW is finished and if there is no new frame update queued then ECG will be initiated. However due to CPU scheduling, thread that needs to clear SW state got preempted. In the meantime HW finished the transfer and updated its state machine in the interrupt context. Since at this moment SW state wasn't cleared, ECG was not initiated. Avoid this situation by clearing SW state before HW transfer is started. CRs-fixed: 941832 Change-Id: I44828c6077eb8729162127b521f4fd4add2e3bcb Signed-off-by: Ujwal Patel <ujwalp@codeaurora.org>
Diffstat (limited to 'kernel')
0 files changed, 0 insertions, 0 deletions