Messages in this thread | | | Subject | Re: [RFC PATCH 1/2] genirq: Add runtime resume/suspend support for IRQ chips | From | Jon Hunter <> | Date | Mon, 16 Nov 2015 10:34:29 +0000 |
| |
On 16/11/15 09:49, Geert Uytterhoeven wrote: > On Mon, Nov 16, 2015 at 10:46 AM, Jon Hunter <jonathanh@nvidia.com> wrote: >> On 13/11/15 20:01, Thomas Gleixner wrote: >>> On Fri, 13 Nov 2015, Jon Hunter wrote: >>>> On 12/11/15 23:20, Kevin Hilman wrote: >>>>> If all the RPM devices in the domain go idle, it will be powered off >>>>> independently of the status of the irqchip because the irqchip isn't >>>>> using RPM. >>>> >>>> That's dependent on how the irqchip uses these helpers. If these helpers >>>> invoke RPM then that will not be the case. >>> >>> You need a very proper description of how that domain is working. If >>> all devices are idle, it's not necessary correct to power down the >>> irqchip as is might serve other devices as well. >> >> Agreed. The irqchip should only be powered down if there are no >> interrupts in-use/requested. Runtime-pm will keep a reference count for >> all requested IRQs. > > That means the irqchip won't be powered down automatically when the > last user is powered down, unless all users release their irqs during > suspend.
Right.
> Handling it automatically needs more bookkeeping than a simple reference > count.
So what would you suggest? Adding a pm_runtime_register_irq() API that would register an IRQ with the device that you want RPM to handle? Not sure if there is a better/easier way to handle this.
Cheers Jon
| |