[Dorado][PATCH] Qualcomm Post-CS10 0.0.040.1 - msm: mdss: fix NOC error in accessing accessing DMA status reg
commit a2f5a33fd7b276135033d8f8ff5fc60e3aaf3ea0
Author: Sachin Bhayare <sachin.bhayare@codeaurora.org>
Date: Thu Nov 3 14:12:04 2016 +0530
msm: mdss: fix NOC error in accessing accessing DMA status reg
In current implementation theres is a possibility that clk_off_work
will get scheduled twice after idle time out. When this happens
NOC error are observed in accessing DMA status register.
Fix issue by scheduling clk_off_work only once after each idle time
Change-Id: I4b6b2acb8f3260d281d5ca6ff9d54de7051e7b39
Signed-off-by: Sachin Bhayare <sachin.bhayare@codeaurora.org>
diff --git a/drivers/video/msm/mdss/mdp3_ctrl.c b/drivers/video/msm/mdss/mdp3_ctrl.c
index 03c1eda..f5d51dc 100644
--- a/drivers/video/msm/mdss/mdp3_ctrl.c
+++ b/drivers/video/msm/mdss/mdp3_ctrl.c
@@ -230,10 +230,11 @@
{
struct mdp3_session_data *session = (struct mdp3_session_data *)arg;
/* We are counting down to turn off clocks */
- if (atomic_read(&session->vsync_countdown) > 0)
+ if (atomic_read(&session->vsync_countdown) > 0) {
atomic_dec(&session->vsync_countdown);
- if (atomic_read(&session->vsync_countdown) == 0)
- schedule_work(&session->clk_off_work);
+ if (atomic_read(&session->vsync_countdown) == 0)
+ schedule_work(&session->clk_off_work);
+ }
}
void mdp3_ctrl_reset_countdown(struct mdp3_session_data *session,