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

Biju posted 3 patches 5 days, 2 hours ago
drivers/irqchip/irq-renesas-rzg2l.c | 105 +++++++++++++++++++++++++---
1 file changed, 97 insertions(+), 8 deletions(-)
[PATCH 0/3] irqchip/renesas-rzg2l: Bug fixes and NMI support
Posted by Biju 5 days, 2 hours ago
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