irqchip/mxs: Enable SKIP_SET_WAKE and MASK_ON_SUSPEND
The ICOLL controller doesn't provide any facility to configure the wakeup sources. That's the reason why this implementation lacks the irq_set_wake implementation. But this prevent us from properly entering power management states like "suspend to idle". So enable the flags IRQCHIP_SKIP_SET_WAKE and IRQCHIP_MASK_ON_SUSPEND to let the irqchip core allows and handles the power management. Signed-off-by: Stefan Wahren <stefan.wahren@i2se.com> Reviewed-by: Fabio Estevam <fabio.estevam@nxp.com> Link: https://lkml.kernel.org/r/1482863397-11400-1-git-send-email-stefan.wahren@i2se.com Signed-off-by: Jason Cooper <jason@lakedaemon.net>
This commit is contained in:
Родитель
2f884e6e68
Коммит
88e20c74ee
|
@ -131,12 +131,16 @@ static struct irq_chip mxs_icoll_chip = {
|
||||||
.irq_ack = icoll_ack_irq,
|
.irq_ack = icoll_ack_irq,
|
||||||
.irq_mask = icoll_mask_irq,
|
.irq_mask = icoll_mask_irq,
|
||||||
.irq_unmask = icoll_unmask_irq,
|
.irq_unmask = icoll_unmask_irq,
|
||||||
|
.flags = IRQCHIP_MASK_ON_SUSPEND |
|
||||||
|
IRQCHIP_SKIP_SET_WAKE,
|
||||||
};
|
};
|
||||||
|
|
||||||
static struct irq_chip asm9260_icoll_chip = {
|
static struct irq_chip asm9260_icoll_chip = {
|
||||||
.irq_ack = icoll_ack_irq,
|
.irq_ack = icoll_ack_irq,
|
||||||
.irq_mask = asm9260_mask_irq,
|
.irq_mask = asm9260_mask_irq,
|
||||||
.irq_unmask = asm9260_unmask_irq,
|
.irq_unmask = asm9260_unmask_irq,
|
||||||
|
.flags = IRQCHIP_MASK_ON_SUSPEND |
|
||||||
|
IRQCHIP_SKIP_SET_WAKE,
|
||||||
};
|
};
|
||||||
|
|
||||||
asmlinkage void __exception_irq_entry icoll_handle_irq(struct pt_regs *regs)
|
asmlinkage void __exception_irq_entry icoll_handle_irq(struct pt_regs *regs)
|
||||||
|
|
Загрузка…
Ссылка в новой задаче