Re: [PATCH v2 1/1] irqchip: exynos-combiner: Save IRQ enable set on suspend

From: Sudeep Holla
Date: Tue Jun 16 2015 - 09:12:44 EST




On 16/06/15 13:32, Tomasz Figa wrote:
2015-06-16 0:00 GMT+09:00 Javier Martinez Canillas <javier.martinez@xxxxxxxxxxxxxxx>:
On 06/15/2015 11:01 AM, Sudeep Holla wrote:

[...]


Agreed. But I would suggest also to add MASK_ON_SUSPEND and
set_irq_wake also and then you can restore iff it's non-zero as
irq core will take care of most of the non-wakeup sources.
Because I am planning to push

I've looking at this and a problem I found is that IIUC the
set_irq_wake is not propagated from the the Exynos pinctrl / GPIO
driver which is the combiner's external interrupt source so the
callback is never called. Which means that right now only the
state of the wakeup source IRQs can't be saved since that
information is not present.

The drivers/pinctrl/samsung/pinctrl-exynos.c driver enables and
disables the combiner interrupts but its .irq_set_wake handler
only updates the wakeup source mask for the external interrupts but
does not call the combiner .set_irq_wake so that should be changed
as well.


As far as I'm aware of, wake-up events from pin controllers don't go
through GIC, but rather directly to PMU, which is a dedicated unit
responsible for power management and not a standalone interrupt
controller (well actually I saw a series making it a cascaded
controller some time ago, but I'm not sure if that went in). Based on
this, I don't think we have to call set_irq_wake on GIC. Correct me
if I'm wrong, though.

Thanks for the details, this was my assumption when Doug confirmed that
the combiner is also powered down, either there must be some bypass or a
dedicated logic to wakeup. But I was not sure though so insisted
set_irq_wake but based on what you say it's not required.

Regards,
Sudeep
--
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/