Re: [PATCH/RFC 00/03] irqchip: renesas-irqc: Fine grained Runtime PM support

From: Alan Stern
Date: Thu Apr 23 2015 - 10:44:53 EST


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").

Alan Stern

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/