public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/7] arm64: allwinner: h616: Support Video Engine
@ 2026-05-05 13:48 Chen-Yu Tsai
  2026-05-05 13:48 ` [PATCH 1/7] dt-bindings: media: sun4i-a10-video-engine: Fix IOMMU count for H6 Chen-Yu Tsai
                   ` (6 more replies)
  0 siblings, 7 replies; 15+ messages in thread
From: Chen-Yu Tsai @ 2026-05-05 13:48 UTC (permalink / raw)
  To: Maxime Ripard, Paul Kocialkowski, Mauro Carvalho Chehab,
	Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: Greg Kroah-Hartman, linux-media, linux-staging, devicetree,
	linux-sunxi, linux-arm-kernel, linux-kernel

Hi folks,

This series adds support for the Cedar video engine found in the
Allwinner H616 SoC. On the way, it also fixes some issues with the
DT representation for the Allwinner H6 SoC.

Patch 1 fixes the video engine's number of IOMMU endpoints on the
H6 in the DT binding.

Patch 2 fixes the video engine's number of SRAM regions on the
H6 in the DT binding.

Patch 3 adds a new compatible for the H616's video engine.

Patch 4 adds the new compatible for the H616's video engine to the
cedrus driver.

Patch 5 adds the video engine's missing SRAM region to the H6 dtsi.

Patch 6 adds the video engine's missing IOMMU endpoint to the H6 dtsi.

Patch 7 adds a device node for the video engine to the H616 dtsi.


Patches 1-4 should go through the media tree, while patches 5-7 will go
through the soc tree via the sunxi tree.


Please have a look.


Thanks
ChenYu


Chen-Yu Tsai (6):
  dt-bindings: media: sun4i-a10-video-engine: Fix IOMMU count for H6
  dt-bindings: media: sun4i-a10-video-engine: Fix SRAM count for H6
  dt-bindings: media: sun4i-a10-video-engine: Add H616 compatible
  drivers: staging: media: sunxi: cedrus: add H616 variant
  arm64: dts: allwinner: sun50i-h6: Add missing SRAM region for video
    engine
  arm64: dts: allwinner: sun50i-h6: Add missing IOMMU for video engine

Jernej Skrabec (1):
  arm64: dts: allwinner: sun50i-h616: Add video engine

 .../allwinner,sun4i-a10-video-engine.yaml     | 45 ++++++++++++++++++-
 arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi  |  4 +-
 .../arm64/boot/dts/allwinner/sun50i-h616.dtsi | 12 +++++
 drivers/staging/media/sunxi/cedrus/cedrus.c   |  4 ++
 4 files changed, 61 insertions(+), 4 deletions(-)

-- 
2.47.3


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

* [PATCH 1/7] dt-bindings: media: sun4i-a10-video-engine: Fix IOMMU count for H6
  2026-05-05 13:48 [PATCH 0/7] arm64: allwinner: h616: Support Video Engine Chen-Yu Tsai
@ 2026-05-05 13:48 ` Chen-Yu Tsai
  2026-05-05 16:11   ` Jernej Škrabec
  2026-05-05 13:48 ` [PATCH 2/7] dt-bindings: media: sun4i-a10-video-engine: Fix SRAM " Chen-Yu Tsai
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 15+ messages in thread
From: Chen-Yu Tsai @ 2026-05-05 13:48 UTC (permalink / raw)
  To: Maxime Ripard, Paul Kocialkowski, Mauro Carvalho Chehab,
	Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: Greg Kroah-Hartman, linux-media, linux-staging, devicetree,
	linux-sunxi, linux-arm-kernel, linux-kernel

On the H6 SoC, the Video Engine has two memory ports, thus two IOMMU
connections. The secondary one that is missing is likely used for
reading reference frames. The newer H616 is the same. On the other
hand, the D1 only has one memory port.

Add the missing IOMMU connection for the Video Engine.

Fixes: 62a8ccf3a248 ("arm64: dts: allwinner: h6: Fix Cedrus IOMMU usage")
Signed-off-by: Chen-Yu Tsai <wens@kernel.org>
---
 .../allwinner,sun4i-a10-video-engine.yaml     | 21 ++++++++++++++++++-
 1 file changed, 20 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-video-engine.yaml b/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-video-engine.yaml
index 01f2afa023f0..932043d7f0cc 100644
--- a/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-video-engine.yaml
+++ b/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-video-engine.yaml
@@ -55,7 +55,10 @@ properties:
     description: Phandle to the device SRAM
 
   iommus:
-    maxItems: 1
+    minItems: 1
+    items:
+      - description: VE port on IOMMU
+      - description: VE_R port on IOMMU
 
   memory-region:
     maxItems: 1
@@ -82,6 +85,22 @@ required:
   - resets
   - allwinner,sram
 
+allOf:
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - allwinner,sun50i-h6-video-engine
+    then:
+      properties:
+        iommus:
+          minItems: 2
+    else:
+      properties:
+        iommus:
+          maxItems: 1
+
 additionalProperties: false
 
 examples:
-- 
2.47.3


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

* [PATCH 2/7] dt-bindings: media: sun4i-a10-video-engine: Fix SRAM count for H6
  2026-05-05 13:48 [PATCH 0/7] arm64: allwinner: h616: Support Video Engine Chen-Yu Tsai
  2026-05-05 13:48 ` [PATCH 1/7] dt-bindings: media: sun4i-a10-video-engine: Fix IOMMU count for H6 Chen-Yu Tsai
@ 2026-05-05 13:48 ` Chen-Yu Tsai
  2026-05-05 16:15   ` Jernej Škrabec
  2026-05-05 13:48 ` [PATCH 3/7] dt-bindings: media: sun4i-a10-video-engine: Add H616 compatible Chen-Yu Tsai
                   ` (4 subsequent siblings)
  6 siblings, 1 reply; 15+ messages in thread
From: Chen-Yu Tsai @ 2026-05-05 13:48 UTC (permalink / raw)
  To: Maxime Ripard, Paul Kocialkowski, Mauro Carvalho Chehab,
	Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: Greg Kroah-Hartman, linux-media, linux-staging, devicetree,
	linux-sunxi, linux-arm-kernel, linux-kernel

On the H6, the SRAM C region includes an alias of part of the VE SRAM
used by the video engine. This region should also be claimed so that no
access happens through the alias window.

Add a second SRAM region phandle to the video engine for the H6.

Signed-off-by: Chen-Yu Tsai <wens@kernel.org>
---
 .../allwinner,sun4i-a10-video-engine.yaml     | 21 ++++++++++++++++++-
 1 file changed, 20 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-video-engine.yaml b/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-video-engine.yaml
index 932043d7f0cc..818d815d4732 100644
--- a/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-video-engine.yaml
+++ b/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-video-engine.yaml
@@ -48,11 +48,15 @@ properties:
 
   allwinner,sram:
     $ref: /schemas/types.yaml#/definitions/phandle-array
+    minItems: 1
     items:
       - items:
           - description: phandle to SRAM
           - description: register value for device
-    description: Phandle to the device SRAM
+      - items:
+          - description: phandle to SRAM alias
+          - description: register value for device
+    description: Phandle to the device SRAM(s)
 
   iommus:
     minItems: 1
@@ -101,6 +105,21 @@ allOf:
         iommus:
           maxItems: 1
 
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - allwinner,sun50i-h6-video-engine
+    then:
+      properties:
+        allwinner,sram:
+          minItems: 2
+    else:
+      properties:
+        allwinner,sram:
+          maxItems: 1
+
 additionalProperties: false
 
 examples:
-- 
2.47.3


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

* [PATCH 3/7] dt-bindings: media: sun4i-a10-video-engine: Add H616 compatible
  2026-05-05 13:48 [PATCH 0/7] arm64: allwinner: h616: Support Video Engine Chen-Yu Tsai
  2026-05-05 13:48 ` [PATCH 1/7] dt-bindings: media: sun4i-a10-video-engine: Fix IOMMU count for H6 Chen-Yu Tsai
  2026-05-05 13:48 ` [PATCH 2/7] dt-bindings: media: sun4i-a10-video-engine: Fix SRAM " Chen-Yu Tsai
@ 2026-05-05 13:48 ` Chen-Yu Tsai
  2026-05-05 16:16   ` Jernej Škrabec
  2026-05-05 13:48 ` [PATCH 4/7] drivers: staging: media: sunxi: cedrus: add H616 variant Chen-Yu Tsai
                   ` (3 subsequent siblings)
  6 siblings, 1 reply; 15+ messages in thread
From: Chen-Yu Tsai @ 2026-05-05 13:48 UTC (permalink / raw)
  To: Maxime Ripard, Paul Kocialkowski, Mauro Carvalho Chehab,
	Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: Greg Kroah-Hartman, linux-media, linux-staging, devicetree,
	linux-sunxi, linux-arm-kernel, linux-kernel

The H616 contains a video engine similar to past SoCs.

Add a new compatible for it.

Signed-off-by: Chen-Yu Tsai <wens@kernel.org>
---
 .../bindings/media/allwinner,sun4i-a10-video-engine.yaml       | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-video-engine.yaml b/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-video-engine.yaml
index 818d815d4732..20c430795134 100644
--- a/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-video-engine.yaml
+++ b/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-video-engine.yaml
@@ -24,6 +24,7 @@ properties:
       - allwinner,sun50i-a64-video-engine
       - allwinner,sun50i-h5-video-engine
       - allwinner,sun50i-h6-video-engine
+      - allwinner,sun50i-h616-video-engine
 
   reg:
     maxItems: 1
@@ -96,6 +97,7 @@ allOf:
           contains:
             enum:
               - allwinner,sun50i-h6-video-engine
+              - allwinner,sun50i-h616-video-engine
     then:
       properties:
         iommus:
@@ -111,6 +113,7 @@ allOf:
           contains:
             enum:
               - allwinner,sun50i-h6-video-engine
+              - allwinner,sun50i-h616-video-engine
     then:
       properties:
         allwinner,sram:
-- 
2.47.3


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

* [PATCH 4/7] drivers: staging: media: sunxi: cedrus: add H616 variant
  2026-05-05 13:48 [PATCH 0/7] arm64: allwinner: h616: Support Video Engine Chen-Yu Tsai
                   ` (2 preceding siblings ...)
  2026-05-05 13:48 ` [PATCH 3/7] dt-bindings: media: sun4i-a10-video-engine: Add H616 compatible Chen-Yu Tsai
@ 2026-05-05 13:48 ` Chen-Yu Tsai
  2026-05-05 16:18   ` Jernej Škrabec
  2026-05-05 13:48 ` [PATCH 5/7] arm64: dts: allwinner: sun50i-h6: Add missing SRAM region for video engine Chen-Yu Tsai
                   ` (2 subsequent siblings)
  6 siblings, 1 reply; 15+ messages in thread
From: Chen-Yu Tsai @ 2026-05-05 13:48 UTC (permalink / raw)
  To: Maxime Ripard, Paul Kocialkowski, Mauro Carvalho Chehab,
	Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: Greg Kroah-Hartman, linux-media, linux-staging, devicetree,
	linux-sunxi, linux-arm-kernel, linux-kernel

The Allwinner H616 SoC has a video engine hardware block like the one
found on previous generations such as the H6. In addition to the
currently supported features of the H6, it is also supposed to include
a VP9 decoder. However software support for this is currently missing
and still needs to be reverse engineered from the vendor BSP.

Add the compatible for the H616 variant, using the H6 variant data.

Signed-off-by: Chen-Yu Tsai <wens@kernel.org>
---
 drivers/staging/media/sunxi/cedrus/cedrus.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/staging/media/sunxi/cedrus/cedrus.c b/drivers/staging/media/sunxi/cedrus/cedrus.c
index ee0e286add67..2801b9a064bd 100644
--- a/drivers/staging/media/sunxi/cedrus/cedrus.c
+++ b/drivers/staging/media/sunxi/cedrus/cedrus.c
@@ -695,6 +695,10 @@ static const struct of_device_id cedrus_dt_match[] = {
 		.compatible = "allwinner,sun50i-h6-video-engine",
 		.data = &sun50i_h6_cedrus_variant,
 	},
+	{
+		.compatible = "allwinner,sun50i-h616-video-engine",
+		.data = &sun50i_h6_cedrus_variant,
+	},
 	{ /* sentinel */ }
 };
 MODULE_DEVICE_TABLE(of, cedrus_dt_match);
-- 
2.47.3


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

* [PATCH 5/7] arm64: dts: allwinner: sun50i-h6: Add missing SRAM region for video engine
  2026-05-05 13:48 [PATCH 0/7] arm64: allwinner: h616: Support Video Engine Chen-Yu Tsai
                   ` (3 preceding siblings ...)
  2026-05-05 13:48 ` [PATCH 4/7] drivers: staging: media: sunxi: cedrus: add H616 variant Chen-Yu Tsai
@ 2026-05-05 13:48 ` Chen-Yu Tsai
  2026-05-05 16:18   ` Jernej Škrabec
  2026-05-05 20:35   ` Paul Kocialkowski
  2026-05-05 13:48 ` [PATCH 6/7] arm64: dts: allwinner: sun50i-h6: Add missing IOMMU " Chen-Yu Tsai
  2026-05-05 13:48 ` [PATCH 7/7] arm64: dts: allwinner: sun50i-h616: Add " Chen-Yu Tsai
  6 siblings, 2 replies; 15+ messages in thread
From: Chen-Yu Tsai @ 2026-05-05 13:48 UTC (permalink / raw)
  To: Maxime Ripard, Paul Kocialkowski, Mauro Carvalho Chehab,
	Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: Greg Kroah-Hartman, linux-media, linux-staging, devicetree,
	linux-sunxi, linux-arm-kernel, linux-kernel

The SRAM C region contains a partial alias to the VE SRAM already
referenced by the video engine. To avoid access through this alias
window, the region should also be claimed by the video engine.

Add a reference to the SRAM C region to the video engine node.

Fixes: b542570e5605 ("arm64: dts: allwinner: h6: Add Video Engine node")
Signed-off-by: Chen-Yu Tsai <wens@kernel.org>
---
 arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
index 72ce1a75647b..88c6e3e105c0 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
@@ -205,7 +205,7 @@ video-codec@1c0e000 {
 			clock-names = "ahb", "mod", "ram";
 			resets = <&ccu RST_BUS_VE>;
 			interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
-			allwinner,sram = <&ve_sram 1>;
+			allwinner,sram = <&ve_sram 1>, <&de2_sram 1>;
 			iommus = <&iommu 3>;
 		};
 
-- 
2.47.3


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

* [PATCH 6/7] arm64: dts: allwinner: sun50i-h6: Add missing IOMMU for video engine
  2026-05-05 13:48 [PATCH 0/7] arm64: allwinner: h616: Support Video Engine Chen-Yu Tsai
                   ` (4 preceding siblings ...)
  2026-05-05 13:48 ` [PATCH 5/7] arm64: dts: allwinner: sun50i-h6: Add missing SRAM region for video engine Chen-Yu Tsai
@ 2026-05-05 13:48 ` Chen-Yu Tsai
  2026-05-05 16:18   ` Jernej Škrabec
  2026-05-05 13:48 ` [PATCH 7/7] arm64: dts: allwinner: sun50i-h616: Add " Chen-Yu Tsai
  6 siblings, 1 reply; 15+ messages in thread
From: Chen-Yu Tsai @ 2026-05-05 13:48 UTC (permalink / raw)
  To: Maxime Ripard, Paul Kocialkowski, Mauro Carvalho Chehab,
	Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: Greg Kroah-Hartman, linux-media, linux-staging, devicetree,
	linux-sunxi, linux-arm-kernel, linux-kernel

The video engine on the H6 actually has two IOMMU ports. The one already
listed is simply named "VE" in the user manual. The missing one is named
"VE_R" and is probably either read-only or used for reference frames.
Either way, it should be listed.

Add a reference to the "VE_R" IOMMU port to the video engine node.

Fixes: 62a8ccf3a248 ("arm64: dts: allwinner: h6: Fix Cedrus IOMMU usage")
Signed-off-by: Chen-Yu Tsai <wens@kernel.org>
---
 arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
index 88c6e3e105c0..48c771223af4 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
@@ -206,7 +206,7 @@ video-codec@1c0e000 {
 			resets = <&ccu RST_BUS_VE>;
 			interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
 			allwinner,sram = <&ve_sram 1>, <&de2_sram 1>;
-			iommus = <&iommu 3>;
+			iommus = <&iommu 3>, <&iommu 1>;
 		};
 
 		gpu: gpu@1800000 {
-- 
2.47.3


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

* [PATCH 7/7] arm64: dts: allwinner: sun50i-h616: Add video engine
  2026-05-05 13:48 [PATCH 0/7] arm64: allwinner: h616: Support Video Engine Chen-Yu Tsai
                   ` (5 preceding siblings ...)
  2026-05-05 13:48 ` [PATCH 6/7] arm64: dts: allwinner: sun50i-h6: Add missing IOMMU " Chen-Yu Tsai
@ 2026-05-05 13:48 ` Chen-Yu Tsai
  6 siblings, 0 replies; 15+ messages in thread
From: Chen-Yu Tsai @ 2026-05-05 13:48 UTC (permalink / raw)
  To: Maxime Ripard, Paul Kocialkowski, Mauro Carvalho Chehab,
	Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley
  Cc: Jernej Skrabec, Greg Kroah-Hartman, linux-media, linux-staging,
	devicetree, linux-sunxi, linux-arm-kernel, linux-kernel

From: Jernej Skrabec <jernej.skrabec@gmail.com>

The H616 SoC has a video engine, and two SRAM regions needed by it.

Add the video engine to the dtsi file.

Signed-off-by: Jernej Skrabec <jernej.skrabec@gmail.com>
[wens@kernel.org: Add VE SRAM region and commit message]
Signed-off-by: Chen-Yu Tsai <wens@kernel.org>
---
 arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
index b116d3c12881..6272c9a947a3 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-h616.dtsi
@@ -175,6 +175,18 @@ crypto: crypto@1904000 {
 			resets = <&ccu RST_BUS_CE>;
 		};
 
+		video-codec@1c0e000 {
+			compatible = "allwinner,sun50i-h616-video-engine";
+			reg = <0x01c0e000 0x2000>;
+			clocks = <&ccu CLK_BUS_VE>, <&ccu CLK_VE>,
+				 <&ccu CLK_MBUS_VE>;
+			clock-names = "ahb", "mod", "ram";
+			resets = <&ccu RST_BUS_VE>;
+			interrupts = <GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>;
+			iommus = <&iommu 3>, <&iommu 1>;
+			allwinner,sram = <&ve_sram 1>, <&sram_c 1>;
+		};
+
 		syscon: syscon@3000000 {
 			compatible = "allwinner,sun50i-h616-system-control";
 			reg = <0x03000000 0x1000>;
-- 
2.47.3


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

* Re: [PATCH 1/7] dt-bindings: media: sun4i-a10-video-engine: Fix IOMMU count for H6
  2026-05-05 13:48 ` [PATCH 1/7] dt-bindings: media: sun4i-a10-video-engine: Fix IOMMU count for H6 Chen-Yu Tsai
@ 2026-05-05 16:11   ` Jernej Škrabec
  0 siblings, 0 replies; 15+ messages in thread
From: Jernej Škrabec @ 2026-05-05 16:11 UTC (permalink / raw)
  To: Maxime Ripard, Paul Kocialkowski, Mauro Carvalho Chehab,
	Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai
  Cc: Greg Kroah-Hartman, linux-media, linux-staging, devicetree,
	linux-sunxi, linux-arm-kernel, linux-kernel

Dne torek, 5. maj 2026 ob 15:48:05 Srednjeevropski poletni čas je Chen-Yu Tsai napisal(a):
> On the H6 SoC, the Video Engine has two memory ports, thus two IOMMU
> connections. The secondary one that is missing is likely used for
> reading reference frames. The newer H616 is the same. On the other
> hand, the D1 only has one memory port.
> 
> Add the missing IOMMU connection for the Video Engine.
> 
> Fixes: 62a8ccf3a248 ("arm64: dts: allwinner: h6: Fix Cedrus IOMMU usage")
> Signed-off-by: Chen-Yu Tsai <wens@kernel.org>

Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>

Best regards,
Jernej



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

* Re: [PATCH 2/7] dt-bindings: media: sun4i-a10-video-engine: Fix SRAM count for H6
  2026-05-05 13:48 ` [PATCH 2/7] dt-bindings: media: sun4i-a10-video-engine: Fix SRAM " Chen-Yu Tsai
@ 2026-05-05 16:15   ` Jernej Škrabec
  0 siblings, 0 replies; 15+ messages in thread
From: Jernej Škrabec @ 2026-05-05 16:15 UTC (permalink / raw)
  To: Maxime Ripard, Paul Kocialkowski, Mauro Carvalho Chehab,
	Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai
  Cc: Greg Kroah-Hartman, linux-media, linux-staging, devicetree,
	linux-sunxi, linux-arm-kernel, linux-kernel

Dne torek, 5. maj 2026 ob 15:48:06 Srednjeevropski poletni čas je Chen-Yu Tsai napisal(a):
> On the H6, the SRAM C region includes an alias of part of the VE SRAM
> used by the video engine. This region should also be claimed so that no
> access happens through the alias window.
> 
> Add a second SRAM region phandle to the video engine for the H6.
> 
> Signed-off-by: Chen-Yu Tsai <wens@kernel.org>
> ---
>  .../allwinner,sun4i-a10-video-engine.yaml     | 21 ++++++++++++++++++-
>  1 file changed, 20 insertions(+), 1 deletion(-)
> 
> diff --git a/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-video-engine.yaml b/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-video-engine.yaml
> index 932043d7f0cc..818d815d4732 100644
> --- a/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-video-engine.yaml
> +++ b/Documentation/devicetree/bindings/media/allwinner,sun4i-a10-video-engine.yaml
> @@ -48,11 +48,15 @@ properties:
>  
>    allwinner,sram:
>      $ref: /schemas/types.yaml#/definitions/phandle-array
> +    minItems: 1
>      items:
>        - items:
>            - description: phandle to SRAM
>            - description: register value for device
> -    description: Phandle to the device SRAM
> +      - items:
> +          - description: phandle to SRAM alias
> +          - description: register value for device
> +    description: Phandle to the device SRAM(s)
>  
>    iommus:
>      minItems: 1
> @@ -101,6 +105,21 @@ allOf:
>          iommus:
>            maxItems: 1
>  
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            enum:
> +              - allwinner,sun50i-h6-video-engine
> +    then:
> +      properties:
> +        allwinner,sram:
> +          minItems: 2
> +    else:
> +      properties:
> +        allwinner,sram:
> +          maxItems: 1
> +
>  additionalProperties: false
>  
>  examples:
> 

Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>

Best regards,
Jernej



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

* Re: [PATCH 3/7] dt-bindings: media: sun4i-a10-video-engine: Add H616 compatible
  2026-05-05 13:48 ` [PATCH 3/7] dt-bindings: media: sun4i-a10-video-engine: Add H616 compatible Chen-Yu Tsai
@ 2026-05-05 16:16   ` Jernej Škrabec
  0 siblings, 0 replies; 15+ messages in thread
From: Jernej Škrabec @ 2026-05-05 16:16 UTC (permalink / raw)
  To: Maxime Ripard, Paul Kocialkowski, Mauro Carvalho Chehab,
	Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai
  Cc: Greg Kroah-Hartman, linux-media, linux-staging, devicetree,
	linux-sunxi, linux-arm-kernel, linux-kernel

Dne torek, 5. maj 2026 ob 15:48:07 Srednjeevropski poletni čas je Chen-Yu Tsai napisal(a):
> The H616 contains a video engine similar to past SoCs.

Maybe add that it's first to support VP9?

> 
> Add a new compatible for it.
> 
> Signed-off-by: Chen-Yu Tsai <wens@kernel.org>

Either way:
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>

Best regards,
Jernej



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

* Re: [PATCH 4/7] drivers: staging: media: sunxi: cedrus: add H616 variant
  2026-05-05 13:48 ` [PATCH 4/7] drivers: staging: media: sunxi: cedrus: add H616 variant Chen-Yu Tsai
@ 2026-05-05 16:18   ` Jernej Škrabec
  0 siblings, 0 replies; 15+ messages in thread
From: Jernej Škrabec @ 2026-05-05 16:18 UTC (permalink / raw)
  To: Maxime Ripard, Paul Kocialkowski, Mauro Carvalho Chehab,
	Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai
  Cc: Greg Kroah-Hartman, linux-media, linux-staging, devicetree,
	linux-sunxi, linux-arm-kernel, linux-kernel

Dne torek, 5. maj 2026 ob 15:48:08 Srednjeevropski poletni čas je Chen-Yu Tsai napisal(a):
> The Allwinner H616 SoC has a video engine hardware block like the one
> found on previous generations such as the H6. In addition to the
> currently supported features of the H6, it is also supposed to include

Remove "supposed".

> a VP9 decoder. However software support for this is currently missing
> and still needs to be reverse engineered from the vendor BSP.
> 
> Add the compatible for the H616 variant, using the H6 variant data.
> 
> Signed-off-by: Chen-Yu Tsai <wens@kernel.org>

With that:
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>

Best regards,
Jernej



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

* Re: [PATCH 5/7] arm64: dts: allwinner: sun50i-h6: Add missing SRAM region for video engine
  2026-05-05 13:48 ` [PATCH 5/7] arm64: dts: allwinner: sun50i-h6: Add missing SRAM region for video engine Chen-Yu Tsai
@ 2026-05-05 16:18   ` Jernej Škrabec
  2026-05-05 20:35   ` Paul Kocialkowski
  1 sibling, 0 replies; 15+ messages in thread
From: Jernej Škrabec @ 2026-05-05 16:18 UTC (permalink / raw)
  To: Maxime Ripard, Paul Kocialkowski, Mauro Carvalho Chehab,
	Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai
  Cc: Greg Kroah-Hartman, linux-media, linux-staging, devicetree,
	linux-sunxi, linux-arm-kernel, linux-kernel

Dne torek, 5. maj 2026 ob 15:48:09 Srednjeevropski poletni čas je Chen-Yu Tsai napisal(a):
> The SRAM C region contains a partial alias to the VE SRAM already
> referenced by the video engine. To avoid access through this alias
> window, the region should also be claimed by the video engine.
> 
> Add a reference to the SRAM C region to the video engine node.
> 
> Fixes: b542570e5605 ("arm64: dts: allwinner: h6: Add Video Engine node")
> Signed-off-by: Chen-Yu Tsai <wens@kernel.org>

Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>

Best regards,
Jernej



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

* Re: [PATCH 6/7] arm64: dts: allwinner: sun50i-h6: Add missing IOMMU for video engine
  2026-05-05 13:48 ` [PATCH 6/7] arm64: dts: allwinner: sun50i-h6: Add missing IOMMU " Chen-Yu Tsai
@ 2026-05-05 16:18   ` Jernej Škrabec
  0 siblings, 0 replies; 15+ messages in thread
From: Jernej Škrabec @ 2026-05-05 16:18 UTC (permalink / raw)
  To: Maxime Ripard, Paul Kocialkowski, Mauro Carvalho Chehab,
	Chen-Yu Tsai, Jernej Skrabec, Samuel Holland, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai
  Cc: Greg Kroah-Hartman, linux-media, linux-staging, devicetree,
	linux-sunxi, linux-arm-kernel, linux-kernel

Dne torek, 5. maj 2026 ob 15:48:10 Srednjeevropski poletni čas je Chen-Yu Tsai napisal(a):
> The video engine on the H6 actually has two IOMMU ports. The one already
> listed is simply named "VE" in the user manual. The missing one is named
> "VE_R" and is probably either read-only or used for reference frames.
> Either way, it should be listed.
> 
> Add a reference to the "VE_R" IOMMU port to the video engine node.
> 
> Fixes: 62a8ccf3a248 ("arm64: dts: allwinner: h6: Fix Cedrus IOMMU usage")
> Signed-off-by: Chen-Yu Tsai <wens@kernel.org>

Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>

Best regards,
Jernej



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

* Re: [PATCH 5/7] arm64: dts: allwinner: sun50i-h6: Add missing SRAM region for video engine
  2026-05-05 13:48 ` [PATCH 5/7] arm64: dts: allwinner: sun50i-h6: Add missing SRAM region for video engine Chen-Yu Tsai
  2026-05-05 16:18   ` Jernej Škrabec
@ 2026-05-05 20:35   ` Paul Kocialkowski
  1 sibling, 0 replies; 15+ messages in thread
From: Paul Kocialkowski @ 2026-05-05 20:35 UTC (permalink / raw)
  To: Chen-Yu Tsai
  Cc: Maxime Ripard, Mauro Carvalho Chehab, Jernej Skrabec,
	Samuel Holland, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Greg Kroah-Hartman, linux-media, linux-staging, devicetree,
	linux-sunxi, linux-arm-kernel, linux-kernel

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

Hi Chen-Yu,

On Tue 05 May 26, 21:48, Chen-Yu Tsai wrote:
> The SRAM C region contains a partial alias to the VE SRAM already
> referenced by the video engine. To avoid access through this alias
> window, the region should also be claimed by the video engine.
> 
> Add a reference to the SRAM C region to the video engine node.

It feels very weird to have a reference to the DE2 SRAM region in the
VE node. It seems unlikely that the same region would be used by both DE2 and
VE and I am pretty sure can have both running at the same time without
overstepping.

From what I can see we have so far assumed that the SRAM C and SRAM C1
are two different physical SRAM areas, but this is most likely not the case.
My guess would be that SRAM C1 is actually a part of SRAM C and the DE2 is
using another part of it. The syscon block probably allows switching access
to these different parts of SRAM C.

Also the sram_c1 node implies it's 2 MiB, which sounds quite unlikely.

All the best,

Paul

> 
> Fixes: b542570e5605 ("arm64: dts: allwinner: h6: Add Video Engine node")
> Signed-off-by: Chen-Yu Tsai <wens@kernel.org>
> ---
>  arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
> index 72ce1a75647b..88c6e3e105c0 100644
> --- a/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
> +++ b/arch/arm64/boot/dts/allwinner/sun50i-h6.dtsi
> @@ -205,7 +205,7 @@ video-codec@1c0e000 {
>  			clock-names = "ahb", "mod", "ram";
>  			resets = <&ccu RST_BUS_VE>;
>  			interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
> -			allwinner,sram = <&ve_sram 1>;
> +			allwinner,sram = <&ve_sram 1>, <&de2_sram 1>;
>  			iommus = <&iommu 3>;
>  		};
>  
> -- 
> 2.47.3
> 

-- 
Paul Kocialkowski,

Independent contractor - sys-base - https://www.sys-base.io/
Free software developer - https://www.paulk.fr/

Expert in multimedia, graphics and embedded hardware support with Linux.

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

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

end of thread, other threads:[~2026-05-05 20:35 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-05 13:48 [PATCH 0/7] arm64: allwinner: h616: Support Video Engine Chen-Yu Tsai
2026-05-05 13:48 ` [PATCH 1/7] dt-bindings: media: sun4i-a10-video-engine: Fix IOMMU count for H6 Chen-Yu Tsai
2026-05-05 16:11   ` Jernej Škrabec
2026-05-05 13:48 ` [PATCH 2/7] dt-bindings: media: sun4i-a10-video-engine: Fix SRAM " Chen-Yu Tsai
2026-05-05 16:15   ` Jernej Škrabec
2026-05-05 13:48 ` [PATCH 3/7] dt-bindings: media: sun4i-a10-video-engine: Add H616 compatible Chen-Yu Tsai
2026-05-05 16:16   ` Jernej Škrabec
2026-05-05 13:48 ` [PATCH 4/7] drivers: staging: media: sunxi: cedrus: add H616 variant Chen-Yu Tsai
2026-05-05 16:18   ` Jernej Škrabec
2026-05-05 13:48 ` [PATCH 5/7] arm64: dts: allwinner: sun50i-h6: Add missing SRAM region for video engine Chen-Yu Tsai
2026-05-05 16:18   ` Jernej Škrabec
2026-05-05 20:35   ` Paul Kocialkowski
2026-05-05 13:48 ` [PATCH 6/7] arm64: dts: allwinner: sun50i-h6: Add missing IOMMU " Chen-Yu Tsai
2026-05-05 16:18   ` Jernej Škrabec
2026-05-05 13:48 ` [PATCH 7/7] arm64: dts: allwinner: sun50i-h616: Add " Chen-Yu Tsai

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