]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
dmaengine: sh: rz-dmac: Allow for multiple DMACs
authorFabrizio Castro <fabrizio.castro.jz@renesas.com>
Wed, 23 Apr 2025 14:34:20 +0000 (15:34 +0100)
committerVinod Koul <vkoul@kernel.org>
Wed, 14 May 2025 14:30:40 +0000 (15:30 +0100)
dma_request_channel() calls into __dma_request_channel() with
NULL as value for np, which won't allow for the selection of the
correct DMAC when multiple DMACs are available.

Switch to using __dma_request_channel() directly so that we can
choose the desired DMA for the channel. This is in preparation
of adding DMAC support for the Renesas RZ/V2H(P) and similar SoCs.

Signed-off-by: Fabrizio Castro <fabrizio.castro.jz@renesas.com>
Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20250423143422.3747702-5-fabrizio.castro.jz@renesas.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/sh/rz-dmac.c

index 9235db5510266aec4eb520b559e37e159106fd49..d7a4ce28040b3da922d08cf85dca3bf6f6c316ca 100644 (file)
@@ -748,7 +748,8 @@ static struct dma_chan *rz_dmac_of_xlate(struct of_phandle_args *dma_spec,
        dma_cap_zero(mask);
        dma_cap_set(DMA_SLAVE, mask);
 
-       return dma_request_channel(mask, rz_dmac_chan_filter, dma_spec);
+       return __dma_request_channel(&mask, rz_dmac_chan_filter, dma_spec,
+                                    ofdma->of_node);
 }
 
 /*