]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
dmaengine: dw-edma: Add interrupt-emulation hooks
authorKoichiro Den <den@valinux.co.jp>
Sun, 15 Feb 2026 15:22:15 +0000 (00:22 +0900)
committerVinod Koul <vkoul@kernel.org>
Wed, 25 Feb 2026 09:54:19 +0000 (15:24 +0530)
commit2e8726879559144b4582fa059780e452b3a1ad41
tree6f697610ba7ebf69f5cc30e723430e8eb430a608
parent490c367b5fbcba6bb653077312c8ef477adf79b5
dmaengine: dw-edma: Add interrupt-emulation hooks

DesignWare eDMA instances support "interrupt emulation", where a
software write can assert the IRQ line without setting the normal
DONE/ABORT status bits.

Introduce core callbacks needed to support this feature:

  - .ack_emulated_irq(): core-specific sequence to deassert an emulated
    IRQ
  - .db_offset(): offset from the DMA register base that is suitable as a
    host-writable doorbell target for interrupt emulation

Implement both hooks for the v0 register map. For dw-hdma-v0, provide a
stub .db_offset() returning ~0 until the correct offset is known.

The next patch wires these hooks into the dw-edma IRQ path and exports
the doorbell resources to platform users.

Signed-off-by: Koichiro Den <den@valinux.co.jp>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://patch.msgid.link/20260215152216.3393561-2-den@valinux.co.jp
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/dw-edma/dw-edma-core.h
drivers/dma/dw-edma/dw-edma-v0-core.c
drivers/dma/dw-edma/dw-hdma-v0-core.c