This patch series aims to fix the spurious TINT IRQ as per the precaution mentioned in section "8.8.3 Precaution when Changing Interrupt Settings" of the latest RZ/G2L hardware manual. As per this we need to mask the interrupts while setting the interrupt detection method. Apart from this we need to clear interrupt status after setting TINT interrupt detection method to the edge type. Patch#1 in this series fixes HW race condition due to clearing delay by the cpu. patch#2 simplifies the code and reused the same code in patch#3 patch#3 fixes spurious tint irq patch#4 drops removing/adding tint source during disable()/enable() patch#5 simplifies enable()/disable() Before fix: Spurious TINT IRQ's during boot root@smarc-rzg2l:~# cat /proc/interrupts | grep pinctrl 67: 1 0 11030000.pinctrl 344 Edge rtc-isl1208 68: 0 0 11030000.pinctrl 378 Edge SW3 81: 1 0 11030000.pinctrl 17 Edge 1-003d root@smarc-rzg2l:~# After the fix: root@smarc-rzg2l:~# cat /proc/interrupts | grep pinctrl 67: 0 0 11030000.pinctrl 344 Edge rtc-isl1208 68: 0 0 11030000.pinctrl 378 Edge SW3 81: 0 0 11030000.pinctrl 17 Edge 1-003d root@smarc-rzg2l:~# This patch series is tested with [1] [1] https://lore.kernel.org/all/20240206135115.151218-1-biju.das.jz@xxxxxxxxxxxxxx/ Biju Das (5): irqchip/renesas-rzg2l: Prevent IRQ HW race irqchip/renesas-rzg2l: Rename rzg2l_tint_eoi() irqchip/renesas-rzg2l: Fix spurious TINT IRQ irqchip/renesas-rzg2l: Use TIEN for enable/disable irqchip/renesas-rzg2l: Simplify rzg2l_irqc_irq_{en,dis}able() drivers/irqchip/irq-renesas-rzg2l.c | 88 ++++++++++++++++++++--------- 1 file changed, 61 insertions(+), 27 deletions(-) -- 2.25.1