mbox series

[v2,0/5] Fix spurious TINT IRQ and enhancements

Message ID 20240305183922.138727-1-biju.das.jz@bp.renesas.com (mailing list archive)
Headers show
Series Fix spurious TINT IRQ and enhancements | expand

Message

Biju Das March 5, 2024, 6:39 p.m. UTC
This patch series aims to fix the spurious 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 masking of the
interrupts need to be done before setting the interrupt detection method.
Then set the TINT interrupt detection method followed by clearing the
status register for fixing spurious IRQ.

Patch#1 in this series flushes the posted write
patch#2 and #3 simplifies the code and reused the same in patch#3
patch#4 fixes spurious irq
patch#5 drops removing/adding tint source during disable()/enable()

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:~#

v1->v2:
 * Dropped pinctrl dependency as it hits next.
 * Updated commit header and description for patch#1.
 * Extended the flushing of posted write to IRQ interrupt as well.
 * Updated patch#2 commit description *_tint_eoi()->*_clear_tint_int().
 * Added Rb tag from Geert for patch#2.
 * Added Patch#3 is for replacing rzg2l_irq_eoi()->rzg2l_clear_irq_int().
 * Updated commit header and description for patch#4.
 * Extended spurious IRQ fix for TINT to IRQ as well.
 * Updated the logic for rzg2l_disable_tint_and_set_tint_source() and
   rzg2l_tint_set_edge().
 * Merged patch#4 and #5 and updated commit description.

Biju Das (5):
  irqchip/renesas-rzg2l: Flush posted write
  irqchip/renesas-rzg2l: Rename rzg2l_tint_eoi()
  irqchip/renesas-rzg2l: Rename rzg2l_irq_eoi()
  irqchip/renesas-rzg2l: Fix spurious IRQ
  irqchip/renesas-rzg2l: Use TIEN for enable/disable

 drivers/irqchip/irq-renesas-rzg2l.c | 101 ++++++++++++++++++----------
 1 file changed, 66 insertions(+), 35 deletions(-)