* [PATCH] MIPS: DEC: Remove IRQF_ONESHOT reference for IOASIC DMA error IRQs
@ 2026-05-06 11:15 Maciej W. Rozycki
2026-05-07 7:37 ` Sebastian Andrzej Siewior
0 siblings, 1 reply; 2+ messages in thread
From: Maciej W. Rozycki @ 2026-05-06 11:15 UTC (permalink / raw)
To: Thomas Bogendoerfer; +Cc: Sebastian Andrzej Siewior, linux-mips, linux-kernel
There is no need for IOASIC DMA error interrupts to use the IRQF_ONESHOT
flag, because while they do need to have the source cleared only at the
conclusion of handling, the action handler supplied is either run in the
hardirq context with interrupts disabled at the CPU level or, where IRQ
threading has been forced, the primary handler has the IRQF_ONESHOT flag
implicitly added and therefore the original action handler, now run as
the thread handler and with interrupts enabled in the CPU, is executed
with the originating interrupt line masked. Therefore no interrupt will
retrigger regardless until the original request has been handled.
Link: https://lore.kernel.org/r/20260127135334.qUEaYP9G@linutronix.de/
Reported-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Maciej W. Rozycki <macro@orcam.me.uk>
---
arch/mips/dec/ioasic-irq.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
linux-dec-ioasic-irq-irqf-oneshot.diff
Index: linux-macro/arch/mips/dec/ioasic-irq.c
===================================================================
--- linux-macro.orig/arch/mips/dec/ioasic-irq.c
+++ linux-macro/arch/mips/dec/ioasic-irq.c
@@ -78,10 +78,7 @@ static struct irq_chip ioasic_dma_irq_ty
* cleared. This cannot be done until after a corrective action has been
* taken and this also means they will not retrigger. Therefore they use
* the `handle_fasteoi_irq' handler that only clears the request on the
- * way out. Because MIPS processor interrupt inputs, one of which the I/O
- * ASIC is cascaded to, are level-triggered it is recommended that error
- * DMA interrupt action handlers are registered with the IRQF_ONESHOT flag
- * set so that they are run with the interrupt line masked.
+ * way out.
*
* This mask has `1' bits in the positions of informational interrupts.
*/
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] MIPS: DEC: Remove IRQF_ONESHOT reference for IOASIC DMA error IRQs
2026-05-06 11:15 [PATCH] MIPS: DEC: Remove IRQF_ONESHOT reference for IOASIC DMA error IRQs Maciej W. Rozycki
@ 2026-05-07 7:37 ` Sebastian Andrzej Siewior
0 siblings, 0 replies; 2+ messages in thread
From: Sebastian Andrzej Siewior @ 2026-05-07 7:37 UTC (permalink / raw)
To: Maciej W. Rozycki; +Cc: Thomas Bogendoerfer, linux-mips, linux-kernel
On 2026-05-06 12:15:21 [+0100], Maciej W. Rozycki wrote:
> There is no need for IOASIC DMA error interrupts to use the IRQF_ONESHOT
> flag, because while they do need to have the source cleared only at the
> conclusion of handling, the action handler supplied is either run in the
> hardirq context with interrupts disabled at the CPU level or, where IRQ
> threading has been forced, the primary handler has the IRQF_ONESHOT flag
> implicitly added and therefore the original action handler, now run as
> the thread handler and with interrupts enabled in the CPU, is executed
> with the originating interrupt line masked. Therefore no interrupt will
> retrigger regardless until the original request has been handled.
>
> Link: https://lore.kernel.org/r/20260127135334.qUEaYP9G@linutronix.de/
> Reported-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
> Signed-off-by: Maciej W. Rozycki <macro@orcam.me.uk>
Acked-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Sebastian
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-05-07 7:37 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-06 11:15 [PATCH] MIPS: DEC: Remove IRQF_ONESHOT reference for IOASIC DMA error IRQs Maciej W. Rozycki
2026-05-07 7:37 ` Sebastian Andrzej Siewior
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox