Re: [PATCH] irqchip/renesas-rzv2h: Enable SKIP_SET_WAKE and MASK_ON_SUSPEND

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux