dmaengine.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v6 0/6] Add DMAC support to the RZ/V2H(P)
@ 2025-04-22 17:39 Fabrizio Castro
  2025-04-22 17:39 ` [PATCH v6 1/6] dt-bindings: dma: rz-dmac: Restrict properties for RZ/A1H Fabrizio Castro
                   ` (4 more replies)
  0 siblings, 5 replies; 12+ messages in thread
From: Fabrizio Castro @ 2025-04-22 17:39 UTC (permalink / raw)
  To: Vinod Koul, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Geert Uytterhoeven, Magnus Damm, Thomas Gleixner
  Cc: Fabrizio Castro, Wolfram Sang, Biju Das, Lad Prabhakar,
	Uwe Kleine-König, dmaengine, devicetree, linux-kernel,
	linux-renesas-soc

Dear All,

This series adds DMAC support for the Renesas RZ/V2H(P) SoC.

Cheers,
Fab

v5->v6:
* Reworked the RZ/V2H specific dt-bindings patch as per Geert's
  comments.
* Collected tags throughout.
v4->v5:
* Clock patch queued up for v6.15, therefore dropped from this
  version of the series
* Adjusted the dmac cell specification according to Geert's
  comments
* Removed registration of ACK No. throughout
* Reworked DMAC driver as per Geert's comments
v3->v4:
* Fixed an issue with mid_rid/req_no/ack_no initialization
v2->v3:
* Replaced rzv2h_icu_register_dma_req_ack with
  rzv2h_icu_register_dma_req_ack() in ICU patch changelog
* Added dummy for rzv2h_icu_register_dma_req_ack()
* Reworked DMAC driver as per Geert's suggestions.
v1->v2:
* Improved macros in ICU driver
* Shared new macros between ICU driver and DMAC driver
* Improved dt-bindings

Fabrizio Castro (6):
  dt-bindings: dma: rz-dmac: Restrict properties for RZ/A1H
  dt-bindings: dma: rz-dmac: Document RZ/V2H(P) family of SoCs
  irqchip/renesas-rzv2h: Add rzv2h_icu_register_dma_req()
  dmaengine: sh: rz-dmac: Allow for multiple DMACs
  dmaengine: sh: rz-dmac: Add RZ/V2H(P) support
  arm64: dts: renesas: r9a09g057: Add DMAC nodes

 .../bindings/dma/renesas,rz-dmac.yaml         | 107 ++++++++++--
 arch/arm64/boot/dts/renesas/r9a09g057.dtsi    | 165 ++++++++++++++++++
 drivers/dma/sh/rz-dmac.c                      |  84 ++++++++-
 drivers/irqchip/irq-renesas-rzv2h.c           |  35 ++++
 include/linux/irqchip/irq-renesas-rzv2h.h     |  23 +++
 5 files changed, 388 insertions(+), 26 deletions(-)
 create mode 100644 include/linux/irqchip/irq-renesas-rzv2h.h

-- 
2.34.1


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

* [PATCH v6 1/6] dt-bindings: dma: rz-dmac: Restrict properties for RZ/A1H
  2025-04-22 17:39 [PATCH v6 0/6] Add DMAC support to the RZ/V2H(P) Fabrizio Castro
@ 2025-04-22 17:39 ` Fabrizio Castro
  2025-04-22 17:39 ` [PATCH v6 2/6] dt-bindings: dma: rz-dmac: Document RZ/V2H(P) family of SoCs Fabrizio Castro
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 12+ messages in thread
From: Fabrizio Castro @ 2025-04-22 17:39 UTC (permalink / raw)
  To: Vinod Koul, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Geert Uytterhoeven, Magnus Damm
  Cc: Fabrizio Castro, Biju Das, Wolfram Sang, dmaengine, devicetree,
	linux-kernel, linux-renesas-soc, Lad Prabhakar, Conor Dooley

Make sure we don't allow for the clocks, clock-names, resets,
reset-names. and power-domains properties for the Renesas
RZ/A1H SoC because its DMAC doesn't have clocks, resets,
and power domains.

Fixes: 209efec19c4c ("dt-bindings: dma: rz-dmac: Document RZ/A1H SoC")
Signed-off-by: Fabrizio Castro <fabrizio.castro.jz@renesas.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
---
v5->v6:
* No change.
v4->v5:
* Collected tags.
v3->v4:
* No change.
v2->v3:
* No change.
v1->v2:
* No change.
---
 .../devicetree/bindings/dma/renesas,rz-dmac.yaml          | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/Documentation/devicetree/bindings/dma/renesas,rz-dmac.yaml b/Documentation/devicetree/bindings/dma/renesas,rz-dmac.yaml
index b356251de5a8..82de3b927479 100644
--- a/Documentation/devicetree/bindings/dma/renesas,rz-dmac.yaml
+++ b/Documentation/devicetree/bindings/dma/renesas,rz-dmac.yaml
@@ -112,6 +112,14 @@ allOf:
         - resets
         - reset-names
 
+    else:
+      properties:
+        clocks: false
+        clock-names: false
+        power-domains: false
+        resets: false
+        reset-names: false
+
 additionalProperties: false
 
 examples:
-- 
2.34.1


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

* [PATCH v6 2/6] dt-bindings: dma: rz-dmac: Document RZ/V2H(P) family of SoCs
  2025-04-22 17:39 [PATCH v6 0/6] Add DMAC support to the RZ/V2H(P) Fabrizio Castro
  2025-04-22 17:39 ` [PATCH v6 1/6] dt-bindings: dma: rz-dmac: Restrict properties for RZ/A1H Fabrizio Castro
@ 2025-04-22 17:39 ` Fabrizio Castro
  2025-04-23 11:37   ` Geert Uytterhoeven
  2025-04-23 12:13   ` Rob Herring (Arm)
  2025-04-22 17:39 ` [PATCH v6 4/6] dmaengine: sh: rz-dmac: Allow for multiple DMACs Fabrizio Castro
                   ` (2 subsequent siblings)
  4 siblings, 2 replies; 12+ messages in thread
From: Fabrizio Castro @ 2025-04-22 17:39 UTC (permalink / raw)
  To: Vinod Koul, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Geert Uytterhoeven, Magnus Damm
  Cc: Fabrizio Castro, Biju Das, dmaengine, devicetree, linux-kernel,
	linux-renesas-soc, Lad Prabhakar, Conor Dooley

Document the Renesas RZ/V2H(P) family of SoCs DMAC block.
The Renesas RZ/V2H(P) DMAC is very similar to the one found on the
Renesas RZ/G2L family of SoCs, but there are some differences:
* It only uses one register area
* It only uses one clock
* It only uses one reset
* Instead of using MID/IRD it uses REQ No
* It is connected to the Interrupt Control Unit (ICU)

Signed-off-by: Fabrizio Castro <fabrizio.castro.jz@renesas.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
---
v5->v6:
* Reworked the description of `#dma-cells`.
* Reworked `renesas,icu` related descriptions.
* Added `reg:`->`minItems: 2` for `renesas,r7s72100-dmac`.
* Since the structure of the document remains the same, I have kept
  the tags I have received. Please let me know if that's not okay.
v4->v5:
* Removed ACK No from the specification of the dma cell.
* I have kept the tags received as this is a minor change and the
  structure remains the same as v4. Please let me know if this is
  not okay.
v3->v4:
* No change.
v2->v3:
* No change.
v1->v2:
* Removed RZ/V2H DMAC example.
* Improved the readability of the `if` statement.
---
 .../bindings/dma/renesas,rz-dmac.yaml         | 101 ++++++++++++++----
 1 file changed, 82 insertions(+), 19 deletions(-)

diff --git a/Documentation/devicetree/bindings/dma/renesas,rz-dmac.yaml b/Documentation/devicetree/bindings/dma/renesas,rz-dmac.yaml
index 82de3b927479..6cdf6658b672 100644
--- a/Documentation/devicetree/bindings/dma/renesas,rz-dmac.yaml
+++ b/Documentation/devicetree/bindings/dma/renesas,rz-dmac.yaml
@@ -11,19 +11,23 @@ maintainers:
 
 properties:
   compatible:
-    items:
-      - enum:
-          - renesas,r7s72100-dmac # RZ/A1H
-          - renesas,r9a07g043-dmac # RZ/G2UL and RZ/Five
-          - renesas,r9a07g044-dmac # RZ/G2{L,LC}
-          - renesas,r9a07g054-dmac # RZ/V2L
-          - renesas,r9a08g045-dmac # RZ/G3S
-      - const: renesas,rz-dmac
+    oneOf:
+      - items:
+          - enum:
+              - renesas,r7s72100-dmac # RZ/A1H
+              - renesas,r9a07g043-dmac # RZ/G2UL and RZ/Five
+              - renesas,r9a07g044-dmac # RZ/G2{L,LC}
+              - renesas,r9a07g054-dmac # RZ/V2L
+              - renesas,r9a08g045-dmac # RZ/G3S
+          - const: renesas,rz-dmac
+
+      - const: renesas,r9a09g057-dmac # RZ/V2H(P)
 
   reg:
     items:
       - description: Control and channel register block
       - description: DMA extended resource selector block
+    minItems: 1
 
   interrupts:
     maxItems: 17
@@ -52,6 +56,7 @@ properties:
     items:
       - description: DMA main clock
       - description: DMA register access clock
+    minItems: 1
 
   clock-names:
     items:
@@ -61,10 +66,10 @@ properties:
   '#dma-cells':
     const: 1
     description:
-      The cell specifies the encoded MID/RID values of the DMAC port
-      connected to the DMA client and the slave channel configuration
-      parameters.
-      bits[0:9] - Specifies MID/RID value
+      The cell specifies the encoded MID/RID or the REQ No values of
+      the DMAC port connected to the DMA client and the slave channel
+      configuration parameters.
+      bits[0:9] - Specifies the MID/RID or the REQ No value
       bit[10] - Specifies DMA request high enable (HIEN)
       bit[11] - Specifies DMA request detection type (LVL)
       bits[12:14] - Specifies DMAACK output mode (AM)
@@ -80,12 +85,26 @@ properties:
     items:
       - description: Reset for DMA ARESETN reset terminal
       - description: Reset for DMA RST_ASYNC reset terminal
+    minItems: 1
 
   reset-names:
     items:
       - const: arst
       - const: rst_async
 
+  renesas,icu:
+    description:
+      It must contain the phandle to the ICU, and the index of the DMAC as seen
+      from the ICU (e.g. parameter k from register ICU_DMkSELy).
+    $ref: /schemas/types.yaml#/definitions/phandle-array
+    items:
+      - items:
+          - description: phandle to the ICU node.
+          - description:
+              The number of the DMAC as seen from the ICU, i.e. parameter k from
+              register ICU_DMkSELy. This may differ from the actual DMAC instance
+              number.
+
 required:
   - compatible
   - reg
@@ -98,13 +117,25 @@ allOf:
   - $ref: dma-controller.yaml#
 
   - if:
-      not:
-        properties:
-          compatible:
-            contains:
-              enum:
-                - renesas,r7s72100-dmac
+      properties:
+        compatible:
+          contains:
+            enum:
+              - renesas,r9a07g043-dmac
+              - renesas,r9a07g044-dmac
+              - renesas,r9a07g054-dmac
+              - renesas,r9a08g045-dmac
     then:
+      properties:
+        reg:
+          minItems: 2
+        clocks:
+          minItems: 2
+        resets:
+          minItems: 2
+
+        renesas,icu: false
+
       required:
         - clocks
         - clock-names
@@ -112,13 +143,45 @@ allOf:
         - resets
         - reset-names
 
-    else:
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: renesas,r7s72100-dmac
+    then:
       properties:
+        reg:
+          minItems: 2
+
         clocks: false
         clock-names: false
         power-domains: false
         resets: false
         reset-names: false
+        renesas,icu: false
+
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: renesas,r9a09g057-dmac
+    then:
+      properties:
+        reg:
+          maxItems: 1
+        clocks:
+          maxItems: 1
+        resets:
+          maxItems: 1
+
+        clock-names: false
+        reset-names: false
+
+      required:
+        - clocks
+        - power-domains
+        - renesas,icu
+        - resets
 
 additionalProperties: false
 
-- 
2.34.1


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

* [PATCH v6 4/6] dmaengine: sh: rz-dmac: Allow for multiple DMACs
  2025-04-22 17:39 [PATCH v6 0/6] Add DMAC support to the RZ/V2H(P) Fabrizio Castro
  2025-04-22 17:39 ` [PATCH v6 1/6] dt-bindings: dma: rz-dmac: Restrict properties for RZ/A1H Fabrizio Castro
  2025-04-22 17:39 ` [PATCH v6 2/6] dt-bindings: dma: rz-dmac: Document RZ/V2H(P) family of SoCs Fabrizio Castro
@ 2025-04-22 17:39 ` Fabrizio Castro
  2025-04-22 17:39 ` [PATCH v6 5/6] dmaengine: sh: rz-dmac: Add RZ/V2H(P) support Fabrizio Castro
  2025-05-14 15:02 ` (subset) [PATCH v6 0/6] Add DMAC support to the RZ/V2H(P) Vinod Koul
  4 siblings, 0 replies; 12+ messages in thread
From: Fabrizio Castro @ 2025-04-22 17:39 UTC (permalink / raw)
  To: Vinod Koul, Geert Uytterhoeven
  Cc: Fabrizio Castro, Lad Prabhakar, Wolfram Sang, Biju Das,
	Uwe Kleine-König, dmaengine, linux-kernel, linux-renesas-soc

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>
---
v5->v6:
* No change.
v4->v5:
* Collected tags.
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(-)

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


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

* [PATCH v6 5/6] dmaengine: sh: rz-dmac: Add RZ/V2H(P) support
  2025-04-22 17:39 [PATCH v6 0/6] Add DMAC support to the RZ/V2H(P) Fabrizio Castro
                   ` (2 preceding siblings ...)
  2025-04-22 17:39 ` [PATCH v6 4/6] dmaengine: sh: rz-dmac: Allow for multiple DMACs Fabrizio Castro
@ 2025-04-22 17:39 ` Fabrizio Castro
  2025-04-23 13:13   ` Vinod Koul
  2025-05-14 15:02 ` (subset) [PATCH v6 0/6] Add DMAC support to the RZ/V2H(P) Vinod Koul
  4 siblings, 1 reply; 12+ messages in thread
From: Fabrizio Castro @ 2025-04-22 17:39 UTC (permalink / raw)
  To: Vinod Koul, Geert Uytterhoeven, Magnus Damm
  Cc: Fabrizio Castro, Wolfram Sang, Lad Prabhakar,
	Uwe Kleine-König, Biju Das, dmaengine, linux-kernel,
	linux-renesas-soc

The DMAC IP found on the Renesas RZ/V2H(P) family of SoCs is
similar to the version found on the Renesas RZ/G2L family of
SoCs, but there are some differences:
* It only uses one register area
* It only uses one clock
* It only uses one reset
* Instead of using MID/IRD it uses REQ No
* It is connected to the Interrupt Control Unit (ICU)
* On the RZ/G2L there is only 1 DMAC, on the RZ/V2H(P) there are 5

Add specific support for the Renesas RZ/V2H(P) family of SoC by
tackling the aforementioned differences.

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>
---
v5->v6:
* Collected tags.
v4->v5:
* Reused RZ/G2L cell specification (with REQ No in place of MID/RID).
* Dropped ACK No.
* Removed mid_rid/req_no/ack_no union and reused mid_rid for REQ No.
* Other small improvements.
v3->v4:
* Fixed an issue with mid_rid/req_no/ack_no initialization
v2->v3:
* Dropped change to Kconfig.
* Replaced rz_dmac_type with has_icu flag.
* Put req_no and ack_no in an anonymous struct, nested under an
  anonymous union with mid_rid.
* Dropped data field of_rz_dmac_match[], and added logic to determine
  value of has_icu flag from DT parsing.
v1->v2:
* Switched to new macros for minimum values.
---
 drivers/dma/sh/rz-dmac.c | 81 ++++++++++++++++++++++++++++++++++++----
 1 file changed, 74 insertions(+), 7 deletions(-)

diff --git a/drivers/dma/sh/rz-dmac.c b/drivers/dma/sh/rz-dmac.c
index d7a4ce28040b..1f687b08d6b8 100644
--- a/drivers/dma/sh/rz-dmac.c
+++ b/drivers/dma/sh/rz-dmac.c
@@ -14,6 +14,7 @@
 #include <linux/dmaengine.h>
 #include <linux/interrupt.h>
 #include <linux/iopoll.h>
+#include <linux/irqchip/irq-renesas-rzv2h.h>
 #include <linux/list.h>
 #include <linux/module.h>
 #include <linux/of.h>
@@ -89,8 +90,14 @@ struct rz_dmac_chan {
 
 #define to_rz_dmac_chan(c)	container_of(c, struct rz_dmac_chan, vc.chan)
 
+struct rz_dmac_icu {
+	struct platform_device *pdev;
+	u8 dmac_index;
+};
+
 struct rz_dmac {
 	struct dma_device engine;
+	struct rz_dmac_icu icu;
 	struct device *dev;
 	struct reset_control *rstc;
 	void __iomem *base;
@@ -99,6 +106,8 @@ struct rz_dmac {
 	unsigned int n_channels;
 	struct rz_dmac_chan *channels;
 
+	bool has_icu;
+
 	DECLARE_BITMAP(modules, 1024);
 };
 
@@ -167,6 +176,9 @@ struct rz_dmac {
 #define RZ_DMAC_MAX_CHANNELS		16
 #define DMAC_NR_LMDESC			64
 
+/* RZ/V2H ICU related */
+#define RZV2H_MAX_DMAC_INDEX		4
+
 /*
  * -----------------------------------------------------------------------------
  * Device access
@@ -324,7 +336,13 @@ static void rz_dmac_prepare_desc_for_memcpy(struct rz_dmac_chan *channel)
 	lmdesc->chext = 0;
 	lmdesc->header = HEADER_LV;
 
-	rz_dmac_set_dmars_register(dmac, channel->index, 0);
+	if (dmac->has_icu) {
+		rzv2h_icu_register_dma_req(dmac->icu.pdev, dmac->icu.dmac_index,
+					   channel->index,
+					   RZV2H_ICU_DMAC_REQ_NO_DEFAULT);
+	} else {
+		rz_dmac_set_dmars_register(dmac, channel->index, 0);
+	}
 
 	channel->chcfg = chcfg;
 	channel->chctrl = CHCTRL_STG | CHCTRL_SETEN;
@@ -375,7 +393,13 @@ static void rz_dmac_prepare_descs_for_slave_sg(struct rz_dmac_chan *channel)
 
 	channel->lmdesc.tail = lmdesc;
 
-	rz_dmac_set_dmars_register(dmac, channel->index, channel->mid_rid);
+	if (dmac->has_icu) {
+		rzv2h_icu_register_dma_req(dmac->icu.pdev, dmac->icu.dmac_index,
+					   channel->index, channel->mid_rid);
+	} else {
+		rz_dmac_set_dmars_register(dmac, channel->index, channel->mid_rid);
+	}
+
 	channel->chctrl = CHCTRL_SETEN;
 }
 
@@ -647,7 +671,13 @@ static void rz_dmac_device_synchronize(struct dma_chan *chan)
 	if (ret < 0)
 		dev_warn(dmac->dev, "DMA Timeout");
 
-	rz_dmac_set_dmars_register(dmac, channel->index, 0);
+	if (dmac->has_icu) {
+		rzv2h_icu_register_dma_req(dmac->icu.pdev, dmac->icu.dmac_index,
+					   channel->index,
+					   RZV2H_ICU_DMAC_REQ_NO_DEFAULT);
+	} else {
+		rz_dmac_set_dmars_register(dmac, channel->index, 0);
+	}
 }
 
 /*
@@ -824,6 +854,38 @@ static int rz_dmac_chan_probe(struct rz_dmac *dmac,
 	return 0;
 }
 
+static int rz_dmac_parse_of_icu(struct device *dev, struct rz_dmac *dmac)
+{
+	struct device_node *np = dev->of_node;
+	struct of_phandle_args args;
+	uint32_t dmac_index;
+	int ret;
+
+	ret = of_parse_phandle_with_fixed_args(np, "renesas,icu", 1, 0, &args);
+	if (ret == -ENOENT)
+		return 0;
+	if (ret)
+		return ret;
+
+	dmac->has_icu = true;
+
+	dmac->icu.pdev = of_find_device_by_node(args.np);
+	of_node_put(args.np);
+	if (!dmac->icu.pdev) {
+		dev_err(dev, "ICU device not found.\n");
+		return -ENODEV;
+	}
+
+	dmac_index = args.args[0];
+	if (dmac_index > RZV2H_MAX_DMAC_INDEX) {
+		dev_err(dev, "DMAC index %u invalid.\n", dmac_index);
+		return -EINVAL;
+	}
+	dmac->icu.dmac_index = dmac_index;
+
+	return 0;
+}
+
 static int rz_dmac_parse_of(struct device *dev, struct rz_dmac *dmac)
 {
 	struct device_node *np = dev->of_node;
@@ -840,7 +902,7 @@ static int rz_dmac_parse_of(struct device *dev, struct rz_dmac *dmac)
 		return -EINVAL;
 	}
 
-	return 0;
+	return rz_dmac_parse_of_icu(dev, dmac);
 }
 
 static int rz_dmac_probe(struct platform_device *pdev)
@@ -874,9 +936,11 @@ static int rz_dmac_probe(struct platform_device *pdev)
 	if (IS_ERR(dmac->base))
 		return PTR_ERR(dmac->base);
 
-	dmac->ext_base = devm_platform_ioremap_resource(pdev, 1);
-	if (IS_ERR(dmac->ext_base))
-		return PTR_ERR(dmac->ext_base);
+	if (!dmac->has_icu) {
+		dmac->ext_base = devm_platform_ioremap_resource(pdev, 1);
+		if (IS_ERR(dmac->ext_base))
+			return PTR_ERR(dmac->ext_base);
+	}
 
 	/* Register interrupt handler for error */
 	irq = platform_get_irq_byname(pdev, irqname);
@@ -991,9 +1055,12 @@ static void rz_dmac_remove(struct platform_device *pdev)
 	reset_control_assert(dmac->rstc);
 	pm_runtime_put(&pdev->dev);
 	pm_runtime_disable(&pdev->dev);
+
+	platform_device_put(dmac->icu.pdev);
 }
 
 static const struct of_device_id of_rz_dmac_match[] = {
+	{ .compatible = "renesas,r9a09g057-dmac", },
 	{ .compatible = "renesas,rz-dmac", },
 	{ /* Sentinel */ }
 };
-- 
2.34.1


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

* Re: [PATCH v6 2/6] dt-bindings: dma: rz-dmac: Document RZ/V2H(P) family of SoCs
  2025-04-22 17:39 ` [PATCH v6 2/6] dt-bindings: dma: rz-dmac: Document RZ/V2H(P) family of SoCs Fabrizio Castro
@ 2025-04-23 11:37   ` Geert Uytterhoeven
  2025-04-23 13:26     ` Fabrizio Castro
  2025-04-23 12:13   ` Rob Herring (Arm)
  1 sibling, 1 reply; 12+ messages in thread
From: Geert Uytterhoeven @ 2025-04-23 11:37 UTC (permalink / raw)
  To: Fabrizio Castro
  Cc: Vinod Koul, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Geert Uytterhoeven, Magnus Damm, Biju Das, dmaengine, devicetree,
	linux-kernel, linux-renesas-soc, Lad Prabhakar, Conor Dooley

Hi Fabrizio,

On Tue, 22 Apr 2025 at 19:40, Fabrizio Castro
<fabrizio.castro.jz@renesas.com> wrote:
> Document the Renesas RZ/V2H(P) family of SoCs DMAC block.
> The Renesas RZ/V2H(P) DMAC is very similar to the one found on the
> Renesas RZ/G2L family of SoCs, but there are some differences:
> * It only uses one register area
> * It only uses one clock
> * It only uses one reset
> * Instead of using MID/IRD it uses REQ No
> * It is connected to the Interrupt Control Unit (ICU)
>
> Signed-off-by: Fabrizio Castro <fabrizio.castro.jz@renesas.com>
> Acked-by: Conor Dooley <conor.dooley@microchip.com>
> Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
> ---
> v5->v6:
> * Reworked the description of `#dma-cells`.
> * Reworked `renesas,icu` related descriptions.
> * Added `reg:`->`minItems: 2` for `renesas,r7s72100-dmac`.
> * Since the structure of the document remains the same, I have kept
>   the tags I have received. Please let me know if that's not okay.

Thanks for the update!

Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>

> --- a/Documentation/devicetree/bindings/dma/renesas,rz-dmac.yaml
> +++ b/Documentation/devicetree/bindings/dma/renesas,rz-dmac.yaml
> @@ -80,12 +85,26 @@ properties:
>      items:
>        - description: Reset for DMA ARESETN reset terminal
>        - description: Reset for DMA RST_ASYNC reset terminal
> +    minItems: 1
>
>    reset-names:
>      items:
>        - const: arst
>        - const: rst_async
>
> +  renesas,icu:
> +    description:
> +      It must contain the phandle to the ICU, and the index of the DMAC as seen
> +      from the ICU (e.g. parameter k from register ICU_DMkSELy).

Doesn't really hurt, but this description is identical to the formal
description of the items below.

> +    $ref: /schemas/types.yaml#/definitions/phandle-array
> +    items:
> +      - items:
> +          - description: phandle to the ICU node.

Phandle

> +          - description:
> +              The number of the DMAC as seen from the ICU, i.e. parameter k from
> +              register ICU_DMkSELy. This may differ from the actual DMAC instance
> +              number.
> +
>  required:
>    - compatible
>    - reg

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds

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

* Re: [PATCH v6 2/6] dt-bindings: dma: rz-dmac: Document RZ/V2H(P) family of SoCs
  2025-04-22 17:39 ` [PATCH v6 2/6] dt-bindings: dma: rz-dmac: Document RZ/V2H(P) family of SoCs Fabrizio Castro
  2025-04-23 11:37   ` Geert Uytterhoeven
@ 2025-04-23 12:13   ` Rob Herring (Arm)
  1 sibling, 0 replies; 12+ messages in thread
From: Rob Herring (Arm) @ 2025-04-23 12:13 UTC (permalink / raw)
  To: Fabrizio Castro
  Cc: Geert Uytterhoeven, devicetree, linux-renesas-soc, Conor Dooley,
	Magnus Damm, Krzysztof Kozlowski, Lad Prabhakar, linux-kernel,
	Conor Dooley, Vinod Koul, dmaengine, Biju Das


On Tue, 22 Apr 2025 18:39:33 +0100, Fabrizio Castro wrote:
> Document the Renesas RZ/V2H(P) family of SoCs DMAC block.
> The Renesas RZ/V2H(P) DMAC is very similar to the one found on the
> Renesas RZ/G2L family of SoCs, but there are some differences:
> * It only uses one register area
> * It only uses one clock
> * It only uses one reset
> * Instead of using MID/IRD it uses REQ No
> * It is connected to the Interrupt Control Unit (ICU)
> 
> Signed-off-by: Fabrizio Castro <fabrizio.castro.jz@renesas.com>
> Acked-by: Conor Dooley <conor.dooley@microchip.com>
> Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
> ---
> v5->v6:
> * Reworked the description of `#dma-cells`.
> * Reworked `renesas,icu` related descriptions.
> * Added `reg:`->`minItems: 2` for `renesas,r7s72100-dmac`.
> * Since the structure of the document remains the same, I have kept
>   the tags I have received. Please let me know if that's not okay.
> v4->v5:
> * Removed ACK No from the specification of the dma cell.
> * I have kept the tags received as this is a minor change and the
>   structure remains the same as v4. Please let me know if this is
>   not okay.
> v3->v4:
> * No change.
> v2->v3:
> * No change.
> v1->v2:
> * Removed RZ/V2H DMAC example.
> * Improved the readability of the `if` statement.
> ---
>  .../bindings/dma/renesas,rz-dmac.yaml         | 101 ++++++++++++++----
>  1 file changed, 82 insertions(+), 19 deletions(-)
> 

Reviewed-by: Rob Herring (Arm) <robh@kernel.org>


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

* Re: [PATCH v6 5/6] dmaengine: sh: rz-dmac: Add RZ/V2H(P) support
  2025-04-22 17:39 ` [PATCH v6 5/6] dmaengine: sh: rz-dmac: Add RZ/V2H(P) support Fabrizio Castro
@ 2025-04-23 13:13   ` Vinod Koul
  2025-04-23 13:46     ` Fabrizio Castro
  0 siblings, 1 reply; 12+ messages in thread
From: Vinod Koul @ 2025-04-23 13:13 UTC (permalink / raw)
  To: Fabrizio Castro
  Cc: Geert Uytterhoeven, Magnus Damm, Wolfram Sang, Lad Prabhakar,
	Uwe Kleine-König, Biju Das, dmaengine, linux-kernel,
	linux-renesas-soc

On 22-04-25, 18:39, Fabrizio Castro wrote:
> The DMAC IP found on the Renesas RZ/V2H(P) family of SoCs is
> similar to the version found on the Renesas RZ/G2L family of
> SoCs, but there are some differences:
> * It only uses one register area
> * It only uses one clock
> * It only uses one reset
> * Instead of using MID/IRD it uses REQ No
> * It is connected to the Interrupt Control Unit (ICU)
> * On the RZ/G2L there is only 1 DMAC, on the RZ/V2H(P) there are 5
> 
> Add specific support for the Renesas RZ/V2H(P) family of SoC by
> tackling the aforementioned differences.
> 
> 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>
> ---
> v5->v6:
> * Collected tags.
> v4->v5:
> * Reused RZ/G2L cell specification (with REQ No in place of MID/RID).
> * Dropped ACK No.
> * Removed mid_rid/req_no/ack_no union and reused mid_rid for REQ No.
> * Other small improvements.
> v3->v4:
> * Fixed an issue with mid_rid/req_no/ack_no initialization
> v2->v3:
> * Dropped change to Kconfig.
> * Replaced rz_dmac_type with has_icu flag.
> * Put req_no and ack_no in an anonymous struct, nested under an
>   anonymous union with mid_rid.
> * Dropped data field of_rz_dmac_match[], and added logic to determine
>   value of has_icu flag from DT parsing.
> v1->v2:
> * Switched to new macros for minimum values.
> ---
>  drivers/dma/sh/rz-dmac.c | 81 ++++++++++++++++++++++++++++++++++++----
>  1 file changed, 74 insertions(+), 7 deletions(-)
> 
> diff --git a/drivers/dma/sh/rz-dmac.c b/drivers/dma/sh/rz-dmac.c
> index d7a4ce28040b..1f687b08d6b8 100644
> --- a/drivers/dma/sh/rz-dmac.c
> +++ b/drivers/dma/sh/rz-dmac.c
> @@ -14,6 +14,7 @@
>  #include <linux/dmaengine.h>
>  #include <linux/interrupt.h>
>  #include <linux/iopoll.h>
> +#include <linux/irqchip/irq-renesas-rzv2h.h>

This does not exist for me or in the patches that was sent to me. I have
dropped this series due to build failure after picking up dmaengine
patches

drivers/dma/sh/rz-dmac.c:17:10: fatal error: linux/irqchip/irq-renesas-rzv2h.h: No such file or directory

-- 
~Vinod

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

* RE: [PATCH v6 2/6] dt-bindings: dma: rz-dmac: Document RZ/V2H(P) family of SoCs
  2025-04-23 11:37   ` Geert Uytterhoeven
@ 2025-04-23 13:26     ` Fabrizio Castro
  2025-04-23 14:05       ` Fabrizio Castro
  0 siblings, 1 reply; 12+ messages in thread
From: Fabrizio Castro @ 2025-04-23 13:26 UTC (permalink / raw)
  To: Geert Uytterhoeven
  Cc: Vinod Koul, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Geert Uytterhoeven, Magnus Damm, Biju Das,
	dmaengine@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
	Prabhakar Mahadev Lad, Conor Dooley

Hi Geert,

Thanks for your feedback!

> From: Geert Uytterhoeven <geert@linux-m68k.org>
> Sent: 23 April 2025 12:37
> Subject: Re: [PATCH v6 2/6] dt-bindings: dma: rz-dmac: Document RZ/V2H(P) family of SoCs
> 
> Hi Fabrizio,
> 
> On Tue, 22 Apr 2025 at 19:40, Fabrizio Castro
> <fabrizio.castro.jz@renesas.com> wrote:
> > Document the Renesas RZ/V2H(P) family of SoCs DMAC block.
> > The Renesas RZ/V2H(P) DMAC is very similar to the one found on the
> > Renesas RZ/G2L family of SoCs, but there are some differences:
> > * It only uses one register area
> > * It only uses one clock
> > * It only uses one reset
> > * Instead of using MID/IRD it uses REQ No
> > * It is connected to the Interrupt Control Unit (ICU)
> >
> > Signed-off-by: Fabrizio Castro <fabrizio.castro.jz@renesas.com>
> > Acked-by: Conor Dooley <conor.dooley@microchip.com>
> > Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
> > ---
> > v5->v6:
> > * Reworked the description of `#dma-cells`.
> > * Reworked `renesas,icu` related descriptions.
> > * Added `reg:`->`minItems: 2` for `renesas,r7s72100-dmac`.
> > * Since the structure of the document remains the same, I have kept
> >   the tags I have received. Please let me know if that's not okay.
> 
> Thanks for the update!
> 
> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
> 
> > --- a/Documentation/devicetree/bindings/dma/renesas,rz-dmac.yaml
> > +++ b/Documentation/devicetree/bindings/dma/renesas,rz-dmac.yaml
> > @@ -80,12 +85,26 @@ properties:
> >      items:
> >        - description: Reset for DMA ARESETN reset terminal
> >        - description: Reset for DMA RST_ASYNC reset terminal
> > +    minItems: 1
> >
> >    reset-names:
> >      items:
> >        - const: arst
> >        - const: rst_async
> >
> > +  renesas,icu:
> > +    description:
> > +      It must contain the phandle to the ICU, and the index of the DMAC as seen
> > +      from the ICU (e.g. parameter k from register ICU_DMkSELy).
> 
> Doesn't really hurt, but this description is identical to the formal
> description of the items below.

Okay, I'll drop this description, and I'll keep the description for the item below.

> 
> > +    $ref: /schemas/types.yaml#/definitions/phandle-array
> > +    items:
> > +      - items:
> > +          - description: phandle to the ICU node.
> 
> Phandle

And I'll amend accordingly.

I'll send a new version shortly.

Thanks!

Cheers,
Fab

> 
> > +          - description:
> > +              The number of the DMAC as seen from the ICU, i.e. parameter k from
> > +              register ICU_DMkSELy. This may differ from the actual DMAC instance
> > +              number.
> > +
> >  required:
> >    - compatible
> >    - reg
> 
> Gr{oetje,eeting}s,
> 
>                         Geert
> 
> --
> Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
> 
> In personal conversations with technical people, I call myself a hacker. But
> when I'm talking to journalists I just say "programmer" or something like that.
>                                 -- Linus Torvalds

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

* RE: [PATCH v6 5/6] dmaengine: sh: rz-dmac: Add RZ/V2H(P) support
  2025-04-23 13:13   ` Vinod Koul
@ 2025-04-23 13:46     ` Fabrizio Castro
  0 siblings, 0 replies; 12+ messages in thread
From: Fabrizio Castro @ 2025-04-23 13:46 UTC (permalink / raw)
  To: Vinod Koul
  Cc: Geert Uytterhoeven, Magnus Damm, Wolfram Sang,
	Prabhakar Mahadev Lad, Uwe Kleine-König, Biju Das,
	dmaengine@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-renesas-soc@vger.kernel.org, tglx@linutronix.de

Hi Vinod,

Thanks for your feedback!

> From: Vinod Koul <vkoul@kernel.org>
> Sent: 23 April 2025 14:13
> Subject: Re: [PATCH v6 5/6] dmaengine: sh: rz-dmac: Add RZ/V2H(P) support
> 
> On 22-04-25, 18:39, Fabrizio Castro wrote:
> > The DMAC IP found on the Renesas RZ/V2H(P) family of SoCs is
> > similar to the version found on the Renesas RZ/G2L family of
> > SoCs, but there are some differences:
> > * It only uses one register area
> > * It only uses one clock
> > * It only uses one reset
> > * Instead of using MID/IRD it uses REQ No
> > * It is connected to the Interrupt Control Unit (ICU)
> > * On the RZ/G2L there is only 1 DMAC, on the RZ/V2H(P) there are 5
> >
> > Add specific support for the Renesas RZ/V2H(P) family of SoC by
> > tackling the aforementioned differences.
> >
> > 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>
> > ---
> > v5->v6:
> > * Collected tags.
> > v4->v5:
> > * Reused RZ/G2L cell specification (with REQ No in place of MID/RID).
> > * Dropped ACK No.
> > * Removed mid_rid/req_no/ack_no union and reused mid_rid for REQ No.
> > * Other small improvements.
> > v3->v4:
> > * Fixed an issue with mid_rid/req_no/ack_no initialization
> > v2->v3:
> > * Dropped change to Kconfig.
> > * Replaced rz_dmac_type with has_icu flag.
> > * Put req_no and ack_no in an anonymous struct, nested under an
> >   anonymous union with mid_rid.
> > * Dropped data field of_rz_dmac_match[], and added logic to determine
> >   value of has_icu flag from DT parsing.
> > v1->v2:
> > * Switched to new macros for minimum values.
> > ---
> >  drivers/dma/sh/rz-dmac.c | 81 ++++++++++++++++++++++++++++++++++++----
> >  1 file changed, 74 insertions(+), 7 deletions(-)
> >
> > diff --git a/drivers/dma/sh/rz-dmac.c b/drivers/dma/sh/rz-dmac.c
> > index d7a4ce28040b..1f687b08d6b8 100644
> > --- a/drivers/dma/sh/rz-dmac.c
> > +++ b/drivers/dma/sh/rz-dmac.c
> > @@ -14,6 +14,7 @@
> >  #include <linux/dmaengine.h>
> >  #include <linux/interrupt.h>
> >  #include <linux/iopoll.h>
> > +#include <linux/irqchip/irq-renesas-rzv2h.h>
> 
> This does not exist for me or in the patches that was sent to me. I have
> dropped this series due to build failure after picking up dmaengine
> patches
> 
> drivers/dma/sh/rz-dmac.c:17:10: fatal error: linux/irqchip/irq-renesas-rzv2h.h: No such file or
> directory

Sorry about that.

This DMA to work needs access to some ICU features, which are part of this series,
however somehow I didn't send you those patches. Apologies.

I'll send a new version of this series shortly (because there are some minor
improvements to the dt-bindings that I would like to make, to address the last
comments from Geert. It should all be good to go after that as everything has
been reviewed by the relevant maintainers already), and I'll make sure to send
the whole series to you.

I am assuming you'll also be taking the ICU related changes as suggested by
Thomas:
https://lore.kernel.org/linux-renesas-soc/87a5ajk7hr.ffs@tglx/

Thanks!

Cheers,
Fab

> 
> --
> ~Vinod

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

* RE: [PATCH v6 2/6] dt-bindings: dma: rz-dmac: Document RZ/V2H(P) family of SoCs
  2025-04-23 13:26     ` Fabrizio Castro
@ 2025-04-23 14:05       ` Fabrizio Castro
  0 siblings, 0 replies; 12+ messages in thread
From: Fabrizio Castro @ 2025-04-23 14:05 UTC (permalink / raw)
  To: Fabrizio Castro, Geert Uytterhoeven
  Cc: Vinod Koul, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Geert Uytterhoeven, Magnus Damm, Biju Das,
	dmaengine@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
	Prabhakar Mahadev Lad, Conor Dooley

Hi Geert,

> From: Fabrizio Castro <fabrizio.castro.jz@renesas.com>
> Sent: 23 April 2025 14:27
> Subject: RE: [PATCH v6 2/6] dt-bindings: dma: rz-dmac: Document RZ/V2H(P) family of SoCs
> 
> Hi Geert,
> 
> Thanks for your feedback!
> 
> > From: Geert Uytterhoeven <geert@linux-m68k.org>
> > Sent: 23 April 2025 12:37
> > Subject: Re: [PATCH v6 2/6] dt-bindings: dma: rz-dmac: Document RZ/V2H(P) family of SoCs
> >
> > Hi Fabrizio,
> >
> > On Tue, 22 Apr 2025 at 19:40, Fabrizio Castro
> > <fabrizio.castro.jz@renesas.com> wrote:
> > > Document the Renesas RZ/V2H(P) family of SoCs DMAC block.
> > > The Renesas RZ/V2H(P) DMAC is very similar to the one found on the
> > > Renesas RZ/G2L family of SoCs, but there are some differences:
> > > * It only uses one register area
> > > * It only uses one clock
> > > * It only uses one reset
> > > * Instead of using MID/IRD it uses REQ No
> > > * It is connected to the Interrupt Control Unit (ICU)
> > >
> > > Signed-off-by: Fabrizio Castro <fabrizio.castro.jz@renesas.com>
> > > Acked-by: Conor Dooley <conor.dooley@microchip.com>
> > > Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
> > > ---
> > > v5->v6:
> > > * Reworked the description of `#dma-cells`.
> > > * Reworked `renesas,icu` related descriptions.
> > > * Added `reg:`->`minItems: 2` for `renesas,r7s72100-dmac`.
> > > * Since the structure of the document remains the same, I have kept
> > >   the tags I have received. Please let me know if that's not okay.
> >
> > Thanks for the update!
> >
> > Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
> >
> > > --- a/Documentation/devicetree/bindings/dma/renesas,rz-dmac.yaml
> > > +++ b/Documentation/devicetree/bindings/dma/renesas,rz-dmac.yaml
> > > @@ -80,12 +85,26 @@ properties:
> > >      items:
> > >        - description: Reset for DMA ARESETN reset terminal
> > >        - description: Reset for DMA RST_ASYNC reset terminal
> > > +    minItems: 1
> > >
> > >    reset-names:
> > >      items:
> > >        - const: arst
> > >        - const: rst_async
> > >
> > > +  renesas,icu:
> > > +    description:
> > > +      It must contain the phandle to the ICU, and the index of the DMAC as seen
> > > +      from the ICU (e.g. parameter k from register ICU_DMkSELy).
> >
> > Doesn't really hurt, but this description is identical to the formal
> > description of the items below.
> 
> Okay, I'll drop this description, and I'll keep the description for the item below.

Actually, I cannot take this out:

	'description' is a dependency of '$ref'
	'/schemas/types.yaml#/definitions/phandle-array' does not match '^#/(definitions|\\$defs)/'
		hint: A vendor property can have a $ref to a a $defs schema
	hint: Vendor specific properties must have a type and description unless they have a defined, common suffix.

I'll rephrase the description to:
It must contain the phandle to the ICU and the DMAC index as seen from the ICU.

Thanks!

Cheers,
Fab

> 
> >
> > > +    $ref: /schemas/types.yaml#/definitions/phandle-array
> > > +    items:
> > > +      - items:
> > > +          - description: phandle to the ICU node.
> >
> > Phandle
> 
> And I'll amend accordingly.
> 
> I'll send a new version shortly.
> 
> Thanks!
> 
> Cheers,
> Fab
> 
> >
> > > +          - description:
> > > +              The number of the DMAC as seen from the ICU, i.e. parameter k from
> > > +              register ICU_DMkSELy. This may differ from the actual DMAC instance
> > > +              number.
> > > +
> > >  required:
> > >    - compatible
> > >    - reg
> >
> > Gr{oetje,eeting}s,
> >
> >                         Geert
> >
> > --
> > Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
> >
> > In personal conversations with technical people, I call myself a hacker. But
> > when I'm talking to journalists I just say "programmer" or something like that.
> >                                 -- Linus Torvalds

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

* Re: (subset) [PATCH v6 0/6] Add DMAC support to the RZ/V2H(P)
  2025-04-22 17:39 [PATCH v6 0/6] Add DMAC support to the RZ/V2H(P) Fabrizio Castro
                   ` (3 preceding siblings ...)
  2025-04-22 17:39 ` [PATCH v6 5/6] dmaengine: sh: rz-dmac: Add RZ/V2H(P) support Fabrizio Castro
@ 2025-05-14 15:02 ` Vinod Koul
  4 siblings, 0 replies; 12+ messages in thread
From: Vinod Koul @ 2025-05-14 15:02 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Geert Uytterhoeven, Magnus Damm, Thomas Gleixner, Fabrizio Castro
  Cc: Wolfram Sang, Biju Das, Lad Prabhakar, Uwe Kleine-König,
	dmaengine, devicetree, linux-kernel, linux-renesas-soc


On Tue, 22 Apr 2025 18:39:31 +0100, Fabrizio Castro wrote:
> This series adds DMAC support for the Renesas RZ/V2H(P) SoC.
> 
> Cheers,
> Fab
> 
> v5->v6:
> * Reworked the RZ/V2H specific dt-bindings patch as per Geert's
>   comments.
> * Collected tags throughout.
> v4->v5:
> * Clock patch queued up for v6.15, therefore dropped from this
>   version of the series
> * Adjusted the dmac cell specification according to Geert's
>   comments
> * Removed registration of ACK No. throughout
> * Reworked DMAC driver as per Geert's comments
> v3->v4:
> * Fixed an issue with mid_rid/req_no/ack_no initialization
> v2->v3:
> * Replaced rzv2h_icu_register_dma_req_ack with
>   rzv2h_icu_register_dma_req_ack() in ICU patch changelog
> * Added dummy for rzv2h_icu_register_dma_req_ack()
> * Reworked DMAC driver as per Geert's suggestions.
> v1->v2:
> * Improved macros in ICU driver
> * Shared new macros between ICU driver and DMAC driver
> * Improved dt-bindings
> 
> [...]

Applied, thanks!

[2/6] dt-bindings: dma: rz-dmac: Document RZ/V2H(P) family of SoCs
      commit: 22228b933ce2639d67168fd35423c1be196edab0

Best regards,
-- 
~Vinod



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

end of thread, other threads:[~2025-05-14 15:02 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-22 17:39 [PATCH v6 0/6] Add DMAC support to the RZ/V2H(P) Fabrizio Castro
2025-04-22 17:39 ` [PATCH v6 1/6] dt-bindings: dma: rz-dmac: Restrict properties for RZ/A1H Fabrizio Castro
2025-04-22 17:39 ` [PATCH v6 2/6] dt-bindings: dma: rz-dmac: Document RZ/V2H(P) family of SoCs Fabrizio Castro
2025-04-23 11:37   ` Geert Uytterhoeven
2025-04-23 13:26     ` Fabrizio Castro
2025-04-23 14:05       ` Fabrizio Castro
2025-04-23 12:13   ` Rob Herring (Arm)
2025-04-22 17:39 ` [PATCH v6 4/6] dmaengine: sh: rz-dmac: Allow for multiple DMACs Fabrizio Castro
2025-04-22 17:39 ` [PATCH v6 5/6] dmaengine: sh: rz-dmac: Add RZ/V2H(P) support Fabrizio Castro
2025-04-23 13:13   ` Vinod Koul
2025-04-23 13:46     ` Fabrizio Castro
2025-05-14 15:02 ` (subset) [PATCH v6 0/6] Add DMAC support to the RZ/V2H(P) Vinod Koul

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).