Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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>

authored by

Stefan Wahren and committed by
Jason Cooper
88e20c74 2f884e6e

+4
+4
drivers/irqchip/irq-mxs.c
··· 131 131 .irq_ack = icoll_ack_irq, 132 132 .irq_mask = icoll_mask_irq, 133 133 .irq_unmask = icoll_unmask_irq, 134 + .flags = IRQCHIP_MASK_ON_SUSPEND | 135 + IRQCHIP_SKIP_SET_WAKE, 134 136 }; 135 137 136 138 static struct irq_chip asm9260_icoll_chip = { 137 139 .irq_ack = icoll_ack_irq, 138 140 .irq_mask = asm9260_mask_irq, 139 141 .irq_unmask = asm9260_unmask_irq, 142 + .flags = IRQCHIP_MASK_ON_SUSPEND | 143 + IRQCHIP_SKIP_SET_WAKE, 140 144 }; 141 145 142 146 asmlinkage void __exception_irq_entry icoll_handle_irq(struct pt_regs *regs)