Re: [PATCH] dmaengine: dw-edma: Mark emulated IRQ as level-triggered
From: Vinod Koul
Date: Tue Aug 11 2026 - 14:59:08 EST
On Fri, 31 Jul 2026 01:07:01 +0900, Koichiro Den wrote:
> The interrupt-emulation virtual IRQ uses handle_level_irq(), but the IRQ
> descriptor has not been marked with IRQ_LEVEL.
>
> The interrupt emulation is somewhat unusual: the eDMA interrupt handlers
> dispatch the virtual IRQ for every edma_int[] interrupt because software
> cannot reliably tell an interrupt-emulation event from one caused solely
> by DONE/ABORT status. If an interrupt arrives before the doorbell
> handler is registered for the virtual IRQ, the IRQ core marks it
> pending. When the IRQ is later started, check_irq_resend() treats it as
> non-level and replays the pending interrupt, causing the newly
> registered handler to run for a stale event.
>
> [...]
Applied, thanks!
[1/1] dmaengine: dw-edma: Mark emulated IRQ as level-triggered
commit: 0d995da5fb97e8c312834575604d4423eb6225b7
Best regards,
--
~Vinod