esoc: mdm-4x: Configure errfatal and status interrupts as wakeup irq

In case of power collapse scenarios, wakeup APQ to catch crashes on
the external mdm.

Change-Id: I6e7a0f0252611fa43f92fed0fdaf6efb0a9c83ca
Signed-off-by: Hanumant Singh <hanumant@codeaurora.org>
This commit is contained in:
Hanumant Singh 2014-06-03 15:39:05 -07:00
parent 49621277ba
commit ea28e34763
1 changed files with 4 additions and 0 deletions

View File

@ -178,10 +178,12 @@ static void mdm_enable_irqs(struct mdm_ctrl *mdm)
return;
if (mdm->irq_mask & IRQ_ERRFATAL) {
enable_irq(mdm->errfatal_irq);
irq_set_irq_wake(mdm->errfatal_irq, 1);
mdm->irq_mask &= ~IRQ_ERRFATAL;
}
if (mdm->irq_mask & IRQ_STATUS) {
enable_irq(mdm->status_irq);
irq_set_irq_wake(mdm->status_irq, 1);
mdm->irq_mask &= ~IRQ_STATUS;
}
if (mdm->irq_mask & IRQ_PBLRDY) {
@ -195,10 +197,12 @@ static void mdm_disable_irqs(struct mdm_ctrl *mdm)
if (!mdm)
return;
if (!(mdm->irq_mask & IRQ_ERRFATAL)) {
irq_set_irq_wake(mdm->errfatal_irq, 0);
disable_irq_nosync(mdm->errfatal_irq);
mdm->irq_mask |= IRQ_ERRFATAL;
}
if (!(mdm->irq_mask & IRQ_STATUS)) {
irq_set_irq_wake(mdm->status_irq, 0);
disable_irq_nosync(mdm->status_irq);
mdm->irq_mask |= IRQ_STATUS;
}