Hi Biju, On Tue, 1 Jul 2025 at 15:21, Biju Das <biju.das.jz@xxxxxxxxxxxxxx> wrote: > > From: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> > > On Tue, 1 Jul 2025 at 12:59, Biju Das <biju.das.jz@xxxxxxxxxxxxxx> wrote: > > > The interrupt controller found on RZ/G3E doesn't provide any facility > > > to configure the wakeup sources. That's the reason why the driver > > > lacks the > > > irq_set_wake() callback for the interrupt chip. > > > > > > But this prevent to properly enter power management states like > > > "suspend to idle". > > > > > > Enable the flags IRQCHIP_SKIP_SET_WAKE and IRQCHIP_MASK_ON_SUSPEND so > > > the interrupt suspend logic can handle the chip correctly. > > > > > > Signed-off-by: Biju Das <biju.das.jz@xxxxxxxxxxxxxx> > > > > Thanks for your patch! > > > > > --- a/drivers/irqchip/irq-renesas-rzv2h.c > > > +++ b/drivers/irqchip/irq-renesas-rzv2h.c > > > @@ -427,7 +427,9 @@ static const struct irq_chip rzv2h_icu_chip = { > > > .irq_retrigger = irq_chip_retrigger_hierarchy, > > > .irq_set_type = rzv2h_icu_set_type, > > > .irq_set_affinity = irq_chip_set_affinity_parent, > > > - .flags = IRQCHIP_SET_TYPE_MASKED, > > > + .flags = IRQCHIP_MASK_ON_SUSPEND | > > > + IRQCHIP_SET_TYPE_MASKED | > > > + IRQCHIP_SKIP_SET_WAKE, > > > > This driver uses Runtime PM (but does not use a platform driver[1]). > > So don't you need to implement .irq_set_wake() instead of setting IRQCHIP_SKIP_SET_WAKE(), so the ICU > > is kept running when it is part of the wake-up path (cfr.[2])? > > Does wake-up from an ICU interrupt work? > > For STR state, there is no wakeup source. Wake up is only through the Power button. > > For Suspend to idle state, ICU interrupt works. I have tested with USER_SW buttons > by adding wakeup-source in board dts. OK, in that case probably the ICU does not need its clock running to handle interrupts. Reviewed-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds