Writing MDP IRQ mask to the MDP IRQ register to fully disable interrupt.
Authors:
Dima Zavin [off-list ref]
Rebecca Schultz Zavin [off-list ref]
Colin Cross [off-list ref]
Signed-off-by: Carl Vanderlip <redacted>
---
drivers/video/msm/mdp.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/drivers/video/msm/mdp.c b/drivers/video/msm/mdp.c
index bdca2d9..8184ca9 100644
--- a/drivers/video/msm/mdp.c
+++ b/drivers/video/msm/mdp.c
@@ -59,9 +59,13 @@ static int locked_enable_mdp_irq(struct mdp_info *mdp, uint32_t mask)
enable_irq(mdp->irq);
}
+ /* clear out any previous irqs for the requested mask*/
+ mdp_writel(mdp, mask, MDP_INTR_CLEAR);
+
/* update the irq mask to reflect the fact that the interrupt is
* enabled */
mdp_irq_mask |= mask;
+ mdp_writel(mdp, mdp_irq_mask, MDP_INTR_ENABLE);
return 0;
}
@@ -87,6 +91,8 @@ static int locked_disable_mdp_irq(struct mdp_info *mdp, uint32_t mask)
/* update the irq mask to reflect the fact that the interrupt is
* disabled */
mdp_irq_mask &= ~(mask);
+ mdp_writel(mdp, mdp_irq_mask, MDP_INTR_ENABLE);
+
/* if no one is waiting on the interrupt, disable it */
if (!mdp_irq_mask) {
disable_irq_nosync(mdp->irq);--
Sent by an employee of the Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum.