[PATCH v4 0/2] Add DMA ACK signal routing for RZ/V2H family
From: John Madieu
Date: Mon May 25 2026 - 07:13:49 EST
Some peripherals on RZ/V2H, RZ/V2N, and RZ/G3E SoCs require explicit
DMA ACK signal routing through the ICU for level-based DMA handshaking.
Rather than encoding the ACK signal number as a second DMA specifier
cell, derive it in-driver from the MID/RID request number using
arithmetic formulas based on ICU Table 4.6-28 (3 linear peripheral
groups). It must also be noted that DMA ack register is located in
the ICU block
This series adds:
- ICU driver extension to register/deregister DMA ACK signals
(DMA ACK register is located in the ICU block)
- rz-dmac driver support for ACK signal routing via MID/RID lookup,
including restore on system resume
Note: patch 2/2 depends on [1], Claudiu Beznea's rz-dmac series, which
this revision is rebased on top of.
Changes:
v4:
- Rebased on top of Claudiu Beznea's updated rz-dmac series [1],
which is now the dependency for patch 2/2 (v3 depended on the
earlier posting of the same series).
- patch 2/2: in the rebased base, rz_dmac_resume() already
re-programs the DMA request routing, so the patch now adds only
the rz_dmac_set_dma_ack_no() call in rz_dmac_resume() to restore
the ACK routing on resume. v3 added both the request and the ACK
call there. No other code changes.
- patch 1/2: unchanged.
- Link to v3 at [3].
v3:
- Splitout from v2 [2] into DMA-specific series
- No code change
v2:
- Drop DMA ACK second cell from DT specifier
- Derive ACK signal number in-driver from MID/RID using arithmetic
formulas per ICU Table 4.6-28 (3 linear peripheral groups)
[1] https://lore.kernel.org/all/20260512121219.216159-1-claudiu.beznea.uj@xxxxxxxxxxxxxx/
[2] https://lore.kernel.org/all/20260402090524.9137-1-john.madieu.xa@xxxxxxxxxxxxxx/
[3] https://lore.kernel.org/all/20260402162212.12016-1-john.madieu.xa@xxxxxxxxxxxxxx/
John Madieu (2):
irqchip/renesas-rzv2h: Add DMA ACK signal routing support
dma: sh: rz-dmac: Add DMA ACK signal routing support
drivers/dma/sh/rz-dmac.c | 69 +++++++++++++++++++++++
drivers/irqchip/irq-renesas-rzv2h.c | 40 +++++++++++++
include/linux/irqchip/irq-renesas-rzv2h.h | 5 ++
3 files changed, 114 insertions(+)
base-commit: 0337d5cbd9d27c9a0b418aa7da92ae20e59fcc7e
--
2.25.1