[PATCH 0/3] irqchip/renesas-rzg2l: Bug fixes and NMI support

Biju
2026-03-28T15:28:58Z

From: Biju Das <biju.das.jz@bp.renesas.com>

This series contains two bug fixes and a new feature for the Renesas
RZ/G2L IRQC driver.

Patch 1 fixes a bug where the shared IRQ bit is not cleared on free.
When irq_domain_free_irqs_common() is called, it internally resets
irq_data->hwirq to 0 via irq_domain_reset_irq_data(). The fix caches hwirq
before calling irq_domain_free_irqs_common().

Patch 2 simplifies the locking logic in rzg2l_irq_set_type() by replacing
the open-coded raw_spin_{lock,unlock} pair with guard(), and adds the
missing cleanup.h header.

Patch 3 adds NMI support, introducing a dedicated IRQ chip with EOI
handling, trigger type configuration, and suspend/resume support.

NMI Testing on RZ/G3L SMARC EVK:
:~# cat /proc/interrupts | grep NMI
59: 0 0 0 0 rzg2l-irqc 0 Edge NMI

Pull down GP_INT# line on green pack device by I2C command
:~# i2cset -y -f 0 0x38 0x30 0x00; sleep 1; i2cset -y -f 0 0x38 0x30 0x18

:~# cat /proc/interrupts | grep NMI
59: 1 0 0 0 rzg2l-irqc 0 Edge NMI
root@smarc-rzg3l:~#

Biju Das (3):
irqchip/renesas-rzg2l: Fix shared IRQ bit not cleared on free
irqchip/renesas-rzg2l: Replace raw_spin_{lock,unlock} with guard() in
rzg2l_irq_set_type()
irqchip/renesas-rzg2l: Add NMI support

drivers/irqchip/irq-renesas-rzg2l.c | 105 +++++++++++++++++++++++++---
1 file changed, 97 insertions(+), 8 deletions(-)

--
2.43.0