public inbox for devicetree@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/3] riscv: sophgo: allow DMA multiplexer set channel number for DMA controller
@ 2026-01-20  1:37 Inochi Amaoto
  2026-01-20  1:37 ` [PATCH v3 1/3] dt-bindings: dma: snps,dw-axi-dmac: Add CV1800B compatible Inochi Amaoto
                   ` (3 more replies)
  0 siblings, 4 replies; 11+ messages in thread
From: Inochi Amaoto @ 2026-01-20  1:37 UTC (permalink / raw)
  To: Eugeniy Paltsev, Vinod Koul, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Chen Wang, Inochi Amaoto, Paul Walmsley,
	Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Alexander Sverdlin,
	Longbin Li, Ze Huang
  Cc: dmaengine, devicetree, linux-kernel, sophgo, linux-riscv,
	Yixun Lan

As the DMA controller on Sophgo CV1800 series SoC only has 8 channels,
the SoC provides a dma multiplexer to reuse the DMA channel. However,
the dma multiplexer also controlls the DMA interrupt multiplexer, which
means that the dma multiplexer needs to know the channel number.

Change the DMA phandle args parsing logic so it can use handshake
number as channel number if necessary.

Change from v2:
- https://lore.kernel.org/all/20251214224601.598358-1-inochiama@gmail.com/
1. patch 2: rename "AXI_DMA_FLAG_HANDSHAKE_AS_CHAN" to "ARG0_AS_CHAN"

Change from v1:
- https://lore.kernel.org/all/20251212020504.915616-1-inochiama@gmail.com/
1. rebase to v6.19-rc1
2. patch 1: remove a comment placed in wrong place.
3. patch 2: fix typo in comments.
4. patch 2: initialize chan as NULL in dw_axi_dma_of_xlate.

Inochi Amaoto (3):
  dt-bindings: dma: snps,dw-axi-dmac: Add CV1800B compatible
  dmaengine: dw-axi-dmac: Add support for CV1800B DMA
  riscv: dts: sophgo: cv180x: Allow the DMA multiplexer to set channel
    number for DMA controller

 .../bindings/dma/snps,dw-axi-dmac.yaml        |  1 +
 arch/riscv/boot/dts/sophgo/cv180x.dtsi        |  2 +-
 .../dma/dw-axi-dmac/dw-axi-dmac-platform.c    | 25 ++++++++++++++++---
 drivers/dma/dw-axi-dmac/dw-axi-dmac.h         |  1 +
 4 files changed, 24 insertions(+), 5 deletions(-)

--
2.52.0


^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH v3 1/3] dt-bindings: dma: snps,dw-axi-dmac: Add CV1800B compatible
  2026-01-20  1:37 [PATCH v3 0/3] riscv: sophgo: allow DMA multiplexer set channel number for DMA controller Inochi Amaoto
@ 2026-01-20  1:37 ` Inochi Amaoto
  2026-01-20 19:56   ` Conor Dooley
  2026-02-25 10:30   ` Vinod Koul
  2026-01-20  1:37 ` [PATCH v3 2/3] dmaengine: dw-axi-dmac: Add support for CV1800B DMA Inochi Amaoto
                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 11+ messages in thread
From: Inochi Amaoto @ 2026-01-20  1:37 UTC (permalink / raw)
  To: Eugeniy Paltsev, Vinod Koul, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Chen Wang, Inochi Amaoto, Paul Walmsley,
	Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Alexander Sverdlin,
	Longbin Li, Ze Huang
  Cc: dmaengine, devicetree, linux-kernel, sophgo, linux-riscv,
	Yixun Lan

The DMA controller on CV1800B needs to use the DMA phandle args
as the channel number instead of hardware handshake number, so
add a new compatible for the DMA controller on CV1800B.

Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
---
 Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml b/Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml
index a393a33c8908..0b5c8314e25e 100644
--- a/Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml
+++ b/Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml
@@ -20,6 +20,7 @@ properties:
     enum:
       - snps,axi-dma-1.01a
       - intel,kmb-axi-dma
+      - sophgo,cv1800b-axi-dma
       - starfive,jh7110-axi-dma
       - starfive,jh8100-axi-dma
 
-- 
2.52.0


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH v3 2/3] dmaengine: dw-axi-dmac: Add support for CV1800B DMA
  2026-01-20  1:37 [PATCH v3 0/3] riscv: sophgo: allow DMA multiplexer set channel number for DMA controller Inochi Amaoto
  2026-01-20  1:37 ` [PATCH v3 1/3] dt-bindings: dma: snps,dw-axi-dmac: Add CV1800B compatible Inochi Amaoto
@ 2026-01-20  1:37 ` Inochi Amaoto
  2026-01-29 22:36   ` Frank Li
  2026-01-20  1:37 ` [PATCH v3 3/3] riscv: dts: sophgo: cv180x: Allow the DMA multiplexer to set channel number for DMA controller Inochi Amaoto
  2026-02-25 11:24 ` (subset) [PATCH v3 0/3] riscv: sophgo: allow DMA multiplexer " Vinod Koul
  3 siblings, 1 reply; 11+ messages in thread
From: Inochi Amaoto @ 2026-01-20  1:37 UTC (permalink / raw)
  To: Eugeniy Paltsev, Vinod Koul, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Chen Wang, Inochi Amaoto, Paul Walmsley,
	Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Alexander Sverdlin,
	Longbin Li, Ze Huang
  Cc: dmaengine, devicetree, linux-kernel, sophgo, linux-riscv,
	Yixun Lan

As the DMA controller on Sophgo CV1800 series SoC only has 8 channels,
the SoC provides a dma multiplexer to reuse the DMA channel. However,
the dma multiplexer also controls the DMA interrupt multiplexer, which
means that the dma multiplexer needs to know the channel number.

Allow the driver to use DMA phandle args as the channel number, so the
DMA multiplexer can route the DMA interrupt correctly.

Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
---
 .../dma/dw-axi-dmac/dw-axi-dmac-platform.c    | 25 ++++++++++++++++---
 drivers/dma/dw-axi-dmac/dw-axi-dmac.h         |  1 +
 2 files changed, 22 insertions(+), 4 deletions(-)

diff --git a/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c b/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
index b23536645ff7..89ded0207832 100644
--- a/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
+++ b/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
@@ -50,6 +50,7 @@
 #define AXI_DMA_FLAG_HAS_APB_REGS	BIT(0)
 #define AXI_DMA_FLAG_HAS_RESETS		BIT(1)
 #define AXI_DMA_FLAG_USE_CFG2		BIT(2)
+#define AXI_DMA_FLAG_ARG0_AS_CHAN	BIT(3)
 
 static inline void
 axi_dma_iowrite32(struct axi_dma_chip *chip, u32 reg, u32 val)
@@ -1360,16 +1361,27 @@ static int __maybe_unused axi_dma_runtime_resume(struct device *dev)
 static struct dma_chan *dw_axi_dma_of_xlate(struct of_phandle_args *dma_spec,
 					    struct of_dma *ofdma)
 {
+	unsigned int handshake = dma_spec->args[0];
 	struct dw_axi_dma *dw = ofdma->of_dma_data;
-	struct axi_dma_chan *chan;
+	struct axi_dma_chan *chan = NULL;
 	struct dma_chan *dchan;
 
-	dchan = dma_get_any_slave_channel(&dw->dma);
+	if (dw->hdata->use_handshake_as_channel_number) {
+		if (handshake >= dw->hdata->nr_channels)
+			return NULL;
+
+		chan = &dw->chan[handshake];
+		dchan = dma_get_slave_channel(&chan->vc.chan);
+	} else {
+		dchan = dma_get_any_slave_channel(&dw->dma);
+	}
+
 	if (!dchan)
 		return NULL;
 
-	chan = dchan_to_axi_dma_chan(dchan);
-	chan->hw_handshake_num = dma_spec->args[0];
+	if (!chan)
+		chan = dchan_to_axi_dma_chan(dchan);
+	chan->hw_handshake_num = handshake;
 	return dchan;
 }
 
@@ -1508,6 +1520,8 @@ static int dw_probe(struct platform_device *pdev)
 			return ret;
 	}
 
+	chip->dw->hdata->use_handshake_as_channel_number = !!(flags & AXI_DMA_FLAG_ARG0_AS_CHAN);
+
 	chip->dw->hdata->use_cfg2 = !!(flags & AXI_DMA_FLAG_USE_CFG2);
 
 	chip->core_clk = devm_clk_get(chip->dev, "core-clk");
@@ -1663,6 +1677,9 @@ static const struct of_device_id dw_dma_of_id_table[] = {
 	}, {
 		.compatible = "intel,kmb-axi-dma",
 		.data = (void *)AXI_DMA_FLAG_HAS_APB_REGS,
+	}, {
+		.compatible = "sophgo,cv1800b-axi-dma",
+		.data = (void *)AXI_DMA_FLAG_ARG0_AS_CHAN,
 	}, {
 		.compatible = "starfive,jh7110-axi-dma",
 		.data = (void *)(AXI_DMA_FLAG_HAS_RESETS | AXI_DMA_FLAG_USE_CFG2),
diff --git a/drivers/dma/dw-axi-dmac/dw-axi-dmac.h b/drivers/dma/dw-axi-dmac/dw-axi-dmac.h
index b842e6a8d90d..67cc199e24d1 100644
--- a/drivers/dma/dw-axi-dmac/dw-axi-dmac.h
+++ b/drivers/dma/dw-axi-dmac/dw-axi-dmac.h
@@ -34,6 +34,7 @@ struct dw_axi_dma_hcfg {
 	bool	reg_map_8_channels;
 	bool	restrict_axi_burst_len;
 	bool	use_cfg2;
+	bool	use_handshake_as_channel_number;
 };
 
 struct axi_dma_chan {
-- 
2.52.0


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH v3 3/3] riscv: dts: sophgo: cv180x: Allow the DMA multiplexer to set channel number for DMA controller
  2026-01-20  1:37 [PATCH v3 0/3] riscv: sophgo: allow DMA multiplexer set channel number for DMA controller Inochi Amaoto
  2026-01-20  1:37 ` [PATCH v3 1/3] dt-bindings: dma: snps,dw-axi-dmac: Add CV1800B compatible Inochi Amaoto
  2026-01-20  1:37 ` [PATCH v3 2/3] dmaengine: dw-axi-dmac: Add support for CV1800B DMA Inochi Amaoto
@ 2026-01-20  1:37 ` Inochi Amaoto
  2026-02-25 11:24 ` (subset) [PATCH v3 0/3] riscv: sophgo: allow DMA multiplexer " Vinod Koul
  3 siblings, 0 replies; 11+ messages in thread
From: Inochi Amaoto @ 2026-01-20  1:37 UTC (permalink / raw)
  To: Eugeniy Paltsev, Vinod Koul, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Chen Wang, Inochi Amaoto, Paul Walmsley,
	Palmer Dabbelt, Albert Ou, Alexandre Ghiti, Alexander Sverdlin,
	Longbin Li, Ze Huang
  Cc: dmaengine, devicetree, linux-kernel, sophgo, linux-riscv,
	Yixun Lan, Anton D. Stavinskii

Change the DMA controller compatible to the sophgo,cv1800b-axi-dma,
which supports setting DMA channel number in DMA phandle args.

Fixes: 514951a81a5e ("riscv: dts: sophgo: cv18xx: add DMA controller")
Reported-by: Anton D. Stavinskii <stavinsky@gmail.com>
Closes: https://github.com/sophgo/linux/issues/9
Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
Tested-by: Anton D. Stavinskii <stavinsky@gmail.com>
---
 arch/riscv/boot/dts/sophgo/cv180x.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/riscv/boot/dts/sophgo/cv180x.dtsi b/arch/riscv/boot/dts/sophgo/cv180x.dtsi
index 1b2b1969a648..e1b515b46466 100644
--- a/arch/riscv/boot/dts/sophgo/cv180x.dtsi
+++ b/arch/riscv/boot/dts/sophgo/cv180x.dtsi
@@ -417,7 +417,7 @@ sdhci1: mmc@4320000 {
 		};
 
 		dmac: dma-controller@4330000 {
-			compatible = "snps,axi-dma-1.01a";
+			compatible = "sophgo,cv1800b-axi-dma";
 			reg = <0x04330000 0x1000>;
 			interrupts = <SOC_PERIPHERAL_IRQ(13) IRQ_TYPE_LEVEL_HIGH>;
 			clocks = <&clk CLK_SDMA_AXI>, <&clk CLK_SDMA_AXI>;
-- 
2.52.0


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [PATCH v3 1/3] dt-bindings: dma: snps,dw-axi-dmac: Add CV1800B compatible
  2026-01-20  1:37 ` [PATCH v3 1/3] dt-bindings: dma: snps,dw-axi-dmac: Add CV1800B compatible Inochi Amaoto
@ 2026-01-20 19:56   ` Conor Dooley
  2026-02-25 10:30   ` Vinod Koul
  1 sibling, 0 replies; 11+ messages in thread
From: Conor Dooley @ 2026-01-20 19:56 UTC (permalink / raw)
  To: Inochi Amaoto
  Cc: Eugeniy Paltsev, Vinod Koul, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Chen Wang, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Alexandre Ghiti, Alexander Sverdlin, Longbin Li, Ze Huang,
	dmaengine, devicetree, linux-kernel, sophgo, linux-riscv,
	Yixun Lan

[-- Attachment #1: Type: text/plain, Size: 75 bytes --]

Acked-by: Conor Dooley <conor.dooley@microchip.com>
pw-bot: not-applicable

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v3 2/3] dmaengine: dw-axi-dmac: Add support for CV1800B DMA
  2026-01-20  1:37 ` [PATCH v3 2/3] dmaengine: dw-axi-dmac: Add support for CV1800B DMA Inochi Amaoto
@ 2026-01-29 22:36   ` Frank Li
  0 siblings, 0 replies; 11+ messages in thread
From: Frank Li @ 2026-01-29 22:36 UTC (permalink / raw)
  To: Inochi Amaoto
  Cc: Eugeniy Paltsev, Vinod Koul, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Chen Wang, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Alexandre Ghiti, Alexander Sverdlin, Longbin Li, Ze Huang,
	dmaengine, devicetree, linux-kernel, sophgo, linux-riscv,
	Yixun Lan

On Tue, Jan 20, 2026 at 09:37:04AM +0800, Inochi Amaoto wrote:
> As the DMA controller on Sophgo CV1800 series SoC only has 8 channels,
> the SoC provides a dma multiplexer to reuse the DMA channel. However,
> the dma multiplexer also controls the DMA interrupt multiplexer, which
> means that the dma multiplexer needs to know the channel number.
>
> Allow the driver to use DMA phandle args as the channel number, so the
> DMA multiplexer can route the DMA interrupt correctly.
>
> Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
> ---

Reviewed-by: Frank Li <Frank.Li@nxp.com>

>  .../dma/dw-axi-dmac/dw-axi-dmac-platform.c    | 25 ++++++++++++++++---
>  drivers/dma/dw-axi-dmac/dw-axi-dmac.h         |  1 +
>  2 files changed, 22 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c b/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
> index b23536645ff7..89ded0207832 100644
> --- a/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
> +++ b/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
> @@ -50,6 +50,7 @@
>  #define AXI_DMA_FLAG_HAS_APB_REGS	BIT(0)
>  #define AXI_DMA_FLAG_HAS_RESETS		BIT(1)
>  #define AXI_DMA_FLAG_USE_CFG2		BIT(2)
> +#define AXI_DMA_FLAG_ARG0_AS_CHAN	BIT(3)
>
>  static inline void
>  axi_dma_iowrite32(struct axi_dma_chip *chip, u32 reg, u32 val)
> @@ -1360,16 +1361,27 @@ static int __maybe_unused axi_dma_runtime_resume(struct device *dev)
>  static struct dma_chan *dw_axi_dma_of_xlate(struct of_phandle_args *dma_spec,
>  					    struct of_dma *ofdma)
>  {
> +	unsigned int handshake = dma_spec->args[0];
>  	struct dw_axi_dma *dw = ofdma->of_dma_data;
> -	struct axi_dma_chan *chan;
> +	struct axi_dma_chan *chan = NULL;
>  	struct dma_chan *dchan;
>
> -	dchan = dma_get_any_slave_channel(&dw->dma);
> +	if (dw->hdata->use_handshake_as_channel_number) {
> +		if (handshake >= dw->hdata->nr_channels)
> +			return NULL;
> +
> +		chan = &dw->chan[handshake];
> +		dchan = dma_get_slave_channel(&chan->vc.chan);
> +	} else {
> +		dchan = dma_get_any_slave_channel(&dw->dma);
> +	}
> +
>  	if (!dchan)
>  		return NULL;
>
> -	chan = dchan_to_axi_dma_chan(dchan);
> -	chan->hw_handshake_num = dma_spec->args[0];
> +	if (!chan)
> +		chan = dchan_to_axi_dma_chan(dchan);
> +	chan->hw_handshake_num = handshake;
>  	return dchan;
>  }
>
> @@ -1508,6 +1520,8 @@ static int dw_probe(struct platform_device *pdev)
>  			return ret;
>  	}
>
> +	chip->dw->hdata->use_handshake_as_channel_number = !!(flags & AXI_DMA_FLAG_ARG0_AS_CHAN);
> +
>  	chip->dw->hdata->use_cfg2 = !!(flags & AXI_DMA_FLAG_USE_CFG2);
>
>  	chip->core_clk = devm_clk_get(chip->dev, "core-clk");
> @@ -1663,6 +1677,9 @@ static const struct of_device_id dw_dma_of_id_table[] = {
>  	}, {
>  		.compatible = "intel,kmb-axi-dma",
>  		.data = (void *)AXI_DMA_FLAG_HAS_APB_REGS,
> +	}, {
> +		.compatible = "sophgo,cv1800b-axi-dma",
> +		.data = (void *)AXI_DMA_FLAG_ARG0_AS_CHAN,
>  	}, {
>  		.compatible = "starfive,jh7110-axi-dma",
>  		.data = (void *)(AXI_DMA_FLAG_HAS_RESETS | AXI_DMA_FLAG_USE_CFG2),
> diff --git a/drivers/dma/dw-axi-dmac/dw-axi-dmac.h b/drivers/dma/dw-axi-dmac/dw-axi-dmac.h
> index b842e6a8d90d..67cc199e24d1 100644
> --- a/drivers/dma/dw-axi-dmac/dw-axi-dmac.h
> +++ b/drivers/dma/dw-axi-dmac/dw-axi-dmac.h
> @@ -34,6 +34,7 @@ struct dw_axi_dma_hcfg {
>  	bool	reg_map_8_channels;
>  	bool	restrict_axi_burst_len;
>  	bool	use_cfg2;
> +	bool	use_handshake_as_channel_number;
>  };
>
>  struct axi_dma_chan {
> --
> 2.52.0
>

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v3 1/3] dt-bindings: dma: snps,dw-axi-dmac: Add CV1800B compatible
  2026-01-20  1:37 ` [PATCH v3 1/3] dt-bindings: dma: snps,dw-axi-dmac: Add CV1800B compatible Inochi Amaoto
  2026-01-20 19:56   ` Conor Dooley
@ 2026-02-25 10:30   ` Vinod Koul
  2026-02-25 10:43     ` Inochi Amaoto
  1 sibling, 1 reply; 11+ messages in thread
From: Vinod Koul @ 2026-02-25 10:30 UTC (permalink / raw)
  To: Inochi Amaoto
  Cc: Eugeniy Paltsev, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Chen Wang, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Alexandre Ghiti, Alexander Sverdlin, Longbin Li, Ze Huang,
	dmaengine, devicetree, linux-kernel, sophgo, linux-riscv,
	Yixun Lan

On 20-01-26, 09:37, Inochi Amaoto wrote:
> The DMA controller on CV1800B needs to use the DMA phandle args
> as the channel number instead of hardware handshake number, so
> add a new compatible for the DMA controller on CV1800B.

Applied this manually, please check if that is okay after push

> 
> Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
> ---
>  Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml b/Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml
> index a393a33c8908..0b5c8314e25e 100644
> --- a/Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml
> +++ b/Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml
> @@ -20,6 +20,7 @@ properties:
>      enum:
>        - snps,axi-dma-1.01a
>        - intel,kmb-axi-dma
> +      - sophgo,cv1800b-axi-dma
>        - starfive,jh7110-axi-dma
>        - starfive,jh8100-axi-dma
>  
> -- 
> 2.52.0

-- 
~Vinod

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v3 1/3] dt-bindings: dma: snps,dw-axi-dmac: Add CV1800B compatible
  2026-02-25 10:30   ` Vinod Koul
@ 2026-02-25 10:43     ` Inochi Amaoto
  0 siblings, 0 replies; 11+ messages in thread
From: Inochi Amaoto @ 2026-02-25 10:43 UTC (permalink / raw)
  To: Vinod Koul, Inochi Amaoto
  Cc: Eugeniy Paltsev, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Chen Wang, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Alexandre Ghiti, Alexander Sverdlin, Longbin Li, Ze Huang,
	dmaengine, devicetree, linux-kernel, sophgo, linux-riscv,
	Yixun Lan

On Wed, Feb 25, 2026 at 04:00:04PM +0530, Vinod Koul wrote:
> On 20-01-26, 09:37, Inochi Amaoto wrote:
> > The DMA controller on CV1800B needs to use the DMA phandle args
> > as the channel number instead of hardware handshake number, so
> > add a new compatible for the DMA controller on CV1800B.
> 
> Applied this manually, please check if that is okay after push
> 

Hi Vinod,
 
I have send a new version for v7.0-rc1.
https://lore.kernel.org/all/20260225104042.1138901-1-inochiama@gmail.com

Can you try it?

Regards,
Inochi

> > 
> > Signed-off-by: Inochi Amaoto <inochiama@gmail.com>
> > ---
> >  Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml | 1 +
> >  1 file changed, 1 insertion(+)
> > 
> > diff --git a/Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml b/Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml
> > index a393a33c8908..0b5c8314e25e 100644
> > --- a/Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml
> > +++ b/Documentation/devicetree/bindings/dma/snps,dw-axi-dmac.yaml
> > @@ -20,6 +20,7 @@ properties:
> >      enum:
> >        - snps,axi-dma-1.01a
> >        - intel,kmb-axi-dma
> > +      - sophgo,cv1800b-axi-dma
> >        - starfive,jh7110-axi-dma
> >        - starfive,jh8100-axi-dma
> >  
> > -- 
> > 2.52.0
> 
> -- 
> ~Vinod

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: (subset) [PATCH v3 0/3] riscv: sophgo: allow DMA multiplexer set channel number for DMA controller
  2026-01-20  1:37 [PATCH v3 0/3] riscv: sophgo: allow DMA multiplexer set channel number for DMA controller Inochi Amaoto
                   ` (2 preceding siblings ...)
  2026-01-20  1:37 ` [PATCH v3 3/3] riscv: dts: sophgo: cv180x: Allow the DMA multiplexer to set channel number for DMA controller Inochi Amaoto
@ 2026-02-25 11:24 ` Vinod Koul
  2026-02-25 22:13   ` Inochi Amaoto
  3 siblings, 1 reply; 11+ messages in thread
From: Vinod Koul @ 2026-02-25 11:24 UTC (permalink / raw)
  To: Eugeniy Paltsev, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Chen Wang, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Alexandre Ghiti, Alexander Sverdlin, Longbin Li, Ze Huang,
	Inochi Amaoto
  Cc: dmaengine, devicetree, linux-kernel, sophgo, linux-riscv,
	Yixun Lan


On Tue, 20 Jan 2026 09:37:02 +0800, Inochi Amaoto wrote:
> As the DMA controller on Sophgo CV1800 series SoC only has 8 channels,
> the SoC provides a dma multiplexer to reuse the DMA channel. However,
> the dma multiplexer also controlls the DMA interrupt multiplexer, which
> means that the dma multiplexer needs to know the channel number.
> 
> Change the DMA phandle args parsing logic so it can use handshake
> number as channel number if necessary.
> 
> [...]

Applied, thanks!

[1/3] dt-bindings: dma: snps,dw-axi-dmac: Add CV1800B compatible
      commit: 5eda5f42d2fee87127b568206a9fcc07a2f6eab6
[2/3] dmaengine: dw-axi-dmac: Add support for CV1800B DMA
      commit: 02a380ea7ed2d737a42693d7957ec8c33a92d9fd

Best regards,
-- 
~Vinod



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: (subset) [PATCH v3 0/3] riscv: sophgo: allow DMA multiplexer set channel number for DMA controller
  2026-02-25 11:24 ` (subset) [PATCH v3 0/3] riscv: sophgo: allow DMA multiplexer " Vinod Koul
@ 2026-02-25 22:13   ` Inochi Amaoto
  2026-02-26  7:05     ` Vinod Koul
  0 siblings, 1 reply; 11+ messages in thread
From: Inochi Amaoto @ 2026-02-25 22:13 UTC (permalink / raw)
  To: Vinod Koul, Eugeniy Paltsev, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Chen Wang, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Alexandre Ghiti, Alexander Sverdlin, Longbin Li, Ze Huang,
	Inochi Amaoto
  Cc: dmaengine, devicetree, linux-kernel, sophgo, linux-riscv,
	Yixun Lan

On Wed, Feb 25, 2026 at 04:54:13PM +0530, Vinod Koul wrote:
> 
> On Tue, 20 Jan 2026 09:37:02 +0800, Inochi Amaoto wrote:
> > As the DMA controller on Sophgo CV1800 series SoC only has 8 channels,
> > the SoC provides a dma multiplexer to reuse the DMA channel. However,
> > the dma multiplexer also controlls the DMA interrupt multiplexer, which
> > means that the dma multiplexer needs to know the channel number.
> > 
> > Change the DMA phandle args parsing logic so it can use handshake
> > number as channel number if necessary.
> > 
> > [...]
> 
> Applied, thanks!
> 
> [1/3] dt-bindings: dma: snps,dw-axi-dmac: Add CV1800B compatible
>       commit: 5eda5f42d2fee87127b568206a9fcc07a2f6eab6
> [2/3] dmaengine: dw-axi-dmac: Add support for CV1800B DMA
>       commit: 02a380ea7ed2d737a42693d7957ec8c33a92d9fd
> 
> Best regards,
> -- 
> ~Vinod
> 
> 

Hi, Vinod

I guess you applied the version 4, but replied to the version 3?

Regards,
Inochi

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: (subset) [PATCH v3 0/3] riscv: sophgo: allow DMA multiplexer set channel number for DMA controller
  2026-02-25 22:13   ` Inochi Amaoto
@ 2026-02-26  7:05     ` Vinod Koul
  0 siblings, 0 replies; 11+ messages in thread
From: Vinod Koul @ 2026-02-26  7:05 UTC (permalink / raw)
  To: Inochi Amaoto
  Cc: Eugeniy Paltsev, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Chen Wang, Paul Walmsley, Palmer Dabbelt, Albert Ou,
	Alexandre Ghiti, Alexander Sverdlin, Longbin Li, Ze Huang,
	dmaengine, devicetree, linux-kernel, sophgo, linux-riscv,
	Yixun Lan

On 26-02-26, 06:13, Inochi Amaoto wrote:
> On Wed, Feb 25, 2026 at 04:54:13PM +0530, Vinod Koul wrote:
> > 
> > On Tue, 20 Jan 2026 09:37:02 +0800, Inochi Amaoto wrote:
> > > As the DMA controller on Sophgo CV1800 series SoC only has 8 channels,
> > > the SoC provides a dma multiplexer to reuse the DMA channel. However,
> > > the dma multiplexer also controlls the DMA interrupt multiplexer, which
> > > means that the dma multiplexer needs to know the channel number.
> > > 
> > > Change the DMA phandle args parsing logic so it can use handshake
> > > number as channel number if necessary.
> > > 
> > > [...]
> > 
> > Applied, thanks!
> > 
> > [1/3] dt-bindings: dma: snps,dw-axi-dmac: Add CV1800B compatible
> >       commit: 5eda5f42d2fee87127b568206a9fcc07a2f6eab6
> > [2/3] dmaengine: dw-axi-dmac: Add support for CV1800B DMA
> >       commit: 02a380ea7ed2d737a42693d7957ec8c33a92d9fd
> > 
> > Best regards,
> > -- 
> > ~Vinod
> > 
> > 
> 
> Hi, Vinod
> 
> I guess you applied the version 4, but replied to the version 3?

Nope, I had already picked 3. so reply went on that.

-- 
~Vinod

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2026-02-26  7:05 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-20  1:37 [PATCH v3 0/3] riscv: sophgo: allow DMA multiplexer set channel number for DMA controller Inochi Amaoto
2026-01-20  1:37 ` [PATCH v3 1/3] dt-bindings: dma: snps,dw-axi-dmac: Add CV1800B compatible Inochi Amaoto
2026-01-20 19:56   ` Conor Dooley
2026-02-25 10:30   ` Vinod Koul
2026-02-25 10:43     ` Inochi Amaoto
2026-01-20  1:37 ` [PATCH v3 2/3] dmaengine: dw-axi-dmac: Add support for CV1800B DMA Inochi Amaoto
2026-01-29 22:36   ` Frank Li
2026-01-20  1:37 ` [PATCH v3 3/3] riscv: dts: sophgo: cv180x: Allow the DMA multiplexer to set channel number for DMA controller Inochi Amaoto
2026-02-25 11:24 ` (subset) [PATCH v3 0/3] riscv: sophgo: allow DMA multiplexer " Vinod Koul
2026-02-25 22:13   ` Inochi Amaoto
2026-02-26  7:05     ` Vinod Koul

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox