diff mbox series

[v4,5/7] dmaengine: sh: rz-dmac: Allow for multiple DMACs

Message ID 20250220150110.738619-6-fabrizio.castro.jz@renesas.com (mailing list archive)
State New
Delegated to: Geert Uytterhoeven
Headers show
Series Add DMAC support to the RZ/V2H(P) | expand

Commit Message

Fabrizio Castro Feb. 20, 2025, 3:01 p.m. UTC
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>
---
v3->v4:
* No change.
v2->v3:
* Added () for calls in changelog.
v1->v2:
* No change.
---
 drivers/dma/sh/rz-dmac.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Lad, Prabhakar Feb. 21, 2025, 9:25 p.m. UTC | #1
On Thu, Feb 20, 2025 at 3:02 PM Fabrizio Castro
<fabrizio.castro.jz@renesas.com> wrote:
>
> 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>
> ---
> v3->v4:
> * No change.
> v2->v3:
> * Added () for calls in changelog.
> v1->v2:
> * No change.
> ---
>  drivers/dma/sh/rz-dmac.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>

Cheers,
Prabhakar

> diff --git a/drivers/dma/sh/rz-dmac.c b/drivers/dma/sh/rz-dmac.c
> index 9235db551026..d7a4ce28040b 100644
> --- a/drivers/dma/sh/rz-dmac.c
> +++ b/drivers/dma/sh/rz-dmac.c
> @@ -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);
>  }
>
>  /*
> --
> 2.34.1
>
>
diff mbox series

Patch

diff --git a/drivers/dma/sh/rz-dmac.c b/drivers/dma/sh/rz-dmac.c
index 9235db551026..d7a4ce28040b 100644
--- a/drivers/dma/sh/rz-dmac.c
+++ b/drivers/dma/sh/rz-dmac.c
@@ -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);
 }
 
 /*