mbox series

[0/5] Fix spurious TINT IRQ and enhancements

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

Message

Biju Das Feb. 12, 2024, 11:37 a.m. UTC
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@bp.renesas.com/

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(-)

Comments

Biju Das March 1, 2024, 2:08 p.m. UTC | #1
Hi Thomas,

Gentle ping.

Cheers,
Biju

> -----Original Message-----
> From: Biju Das <biju.das.jz@bp.renesas.com>
> Sent: Monday, February 12, 2024 11:37 AM
> Subject: [PATCH 0/5] Fix spurious TINT IRQ and enhancements
> 
> 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:~#
> 
> 
> 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