[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <7hmw1ehl41.fsf@deeprootsystems.com>
Date: Fri, 08 May 2015 13:26:06 -0700
From: Kevin Hilman <khilman@...nel.org>
To: Geert Uytterhoeven <geert@...ux-m68k.org>
Cc: Alan Stern <stern@...land.harvard.edu>,
Magnus Damm <magnus.damm@...il.com>,
Linux-sh list <linux-sh@...r.kernel.org>,
Jason Cooper <jason@...edaemon.net>,
Geert Uytterhoeven <geert+renesas@...der.be>,
Linux PM list <linux-pm@...r.kernel.org>,
"linux-kernel\@vger.kernel.org" <linux-kernel@...r.kernel.org>,
Simon Horman <horms@...ge.net.au>,
Thomas Gleixner <tglx@...utronix.de>
Subject: Re: [PATCH/RFC 00/03] irqchip: renesas-irqc: Fine grained Runtime PM support
Geert Uytterhoeven <geert@...ux-m68k.org> writes:
> On Thu, Apr 23, 2015 at 4:44 PM, Alan Stern <stern@...land.harvard.edu> wrote:
>> On Thu, 23 Apr 2015, Geert Uytterhoeven wrote:
>>> >> I'm afraid you can't call pm_runtime_get_sync() from these methods, as
>>> >> they may be called from interrupt context.
>>> >
>>> > Ouch. I know the clock framework has prepare/enable separated with
>>> > context, but with the irqchip callbacks I suppose no such separation
>>>
>>> It's not the clock operations, but the pm_runtime operations that cannot be
>>> called from interrupt context.
>>
>> In fact the pm_runtime operations _can_ be called from interrupt
>> context, provided the driver has first invoked pm_runtime_irq_safe().
>> Of course, this requires that none of the runtime-PM callback routines
>> ever sleep or perform a blocking operation.
>>
>> This is all explained in Documentation/power/runtime_pm.txt (search for
>> "irq_safe").
>
> Perhaps that can help. We'll have to give it a try...
>
> I've always found this a bit strange when PM Domains are involved:
> pm_runtime_irq_safe(dev) applies to device dev, while the actual callbacks
> belong to the PM Domain code (the device's driver doesn't have any).
Currently PM domains don't support IRQ-safe devices very well. Any
irq_safe devices will prevent the entire PM domain from ever powering
off. There is some on-going work for this but it requires reworking the
genpd locking a bit.
Kevin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists