The subject should be something different. "Fix irq wake when irqs are disabled"? Quoting Maulik Shah (2020-02-17 05:00:07) > Change the way interrupts get enabled at wakeup capable PDC irq chip. > Introduce irq_set_wake call which lets interrupts enabled at PDC with > enable_irq_wake and disabled with disable_irq_wake. > > Remove irq_disable and irq_enable calls which now will default to irq_mask > and irq_unmask. > This commit text is pretty useless. It says what is happening in the patch but doesn't explain why anything is changing or why anyone should care. How are wakeups supposed to work when the CPU cluster power is disabled in low power CPU idle modes? Presumably the parent irq controller is powered off (in this case it's an ARM GIC) and we would need to have the interrupt be "enabled" or "unmasked" at the PDC for the irq to wakeup the cluster. We shouldn't need to enable irq wake on any irq for the CPU to get that interrupt in deep CPU idle states.