On Thu, Jan 21, 2016 at 8:51 PM, Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote: > So as long as an interrupt handler is installed, there is no sane way that we > can decide to power down the irq chip, unless that chip has the magic ability > to relay incoming interrupts while powered down :) Actually isn't that exactly what almost every SoC that supports deepsleep does? They power off the primary interrupt controller and arm the padring of the SoC with an asynchronous edge detector to wake up as soon as something happens on a few select lines, like a keypad button or whatnot. The asynchronous edge detector is handled by the ROM or some power-management microcontroller, which wakes up the system and restores power to the CPU and primary interrupt controller. That is the magic ability right there. Of course as the wakeup signal may be deasserted at the point the system actually comes back up, so the magic ROM power management unit then needs to latch any latent IRQs from some shadow register to the primary interrupt controller, which as far as I've seen is done by out-of-tree hacks similar to the irq_[get/set]_irqchip_state() implemented by Marc Zyngier, albeit for virtualization. I've not seen it on any non-primary interrupt controller though. Yours, Linus Walleij -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html