All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5] Rockchip PX30 RGA and VPU support
@ 2021-01-07 13:40 ` Paul Kocialkowski
  0 siblings, 0 replies; 57+ messages in thread
From: Paul Kocialkowski @ 2021-01-07 13:40 UTC (permalink / raw)
  To: linux-media, linux-rockchip, devicetree, linux-arm-kernel, linux-kernel
  Cc: Jacob Chen, Ezequiel Garcia, Mauro Carvalho Chehab, Rob Herring,
	Heiko Stuebner, Philipp Zabel, Greg Kroah-Hartman,
	Thomas Petazzoni, Paul Kocialkowski

This series adds the required bits for RGA and VPU support on the
Rockchip PX30 SoC.

Cheers,

Paul

Paul Kocialkowski (5):
  dt-bindings: media: rockchip-rga: Add PX30 compatible
  arm64: dts: rockchip: Add RGA support to the PX30
  dt-bindings: media: rockchip-vpu: Add PX30 compatible
  arm64: dts: rockchip: Add VPU support for the PX30
  media: hantro: Add support for the Rockchip PX30

 .../bindings/media/rockchip-rga.yaml          |  4 ++-
 .../bindings/media/rockchip-vpu.yaml          | 25 +++++++++-----
 arch/arm64/boot/dts/rockchip/px30.dtsi        | 34 +++++++++++++++++++
 drivers/staging/media/hantro/hantro_drv.c     |  5 +--
 drivers/staging/media/hantro/hantro_hw.h      |  1 +
 drivers/staging/media/hantro/rk3399_vpu_hw.c  | 21 ++++++++++++
 6 files changed, 79 insertions(+), 11 deletions(-)

-- 
2.30.0


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

* [PATCH 0/5] Rockchip PX30 RGA and VPU support
@ 2021-01-07 13:40 ` Paul Kocialkowski
  0 siblings, 0 replies; 57+ messages in thread
From: Paul Kocialkowski @ 2021-01-07 13:40 UTC (permalink / raw)
  To: linux-media, linux-rockchip, devicetree, linux-arm-kernel, linux-kernel
  Cc: Heiko Stuebner, Greg Kroah-Hartman, Thomas Petazzoni,
	Rob Herring, Paul Kocialkowski, Jacob Chen, Philipp Zabel,
	Mauro Carvalho Chehab, Ezequiel Garcia

This series adds the required bits for RGA and VPU support on the
Rockchip PX30 SoC.

Cheers,

Paul

Paul Kocialkowski (5):
  dt-bindings: media: rockchip-rga: Add PX30 compatible
  arm64: dts: rockchip: Add RGA support to the PX30
  dt-bindings: media: rockchip-vpu: Add PX30 compatible
  arm64: dts: rockchip: Add VPU support for the PX30
  media: hantro: Add support for the Rockchip PX30

 .../bindings/media/rockchip-rga.yaml          |  4 ++-
 .../bindings/media/rockchip-vpu.yaml          | 25 +++++++++-----
 arch/arm64/boot/dts/rockchip/px30.dtsi        | 34 +++++++++++++++++++
 drivers/staging/media/hantro/hantro_drv.c     |  5 +--
 drivers/staging/media/hantro/hantro_hw.h      |  1 +
 drivers/staging/media/hantro/rk3399_vpu_hw.c  | 21 ++++++++++++
 6 files changed, 79 insertions(+), 11 deletions(-)

-- 
2.30.0


_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

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

* [PATCH 0/5] Rockchip PX30 RGA and VPU support
@ 2021-01-07 13:40 ` Paul Kocialkowski
  0 siblings, 0 replies; 57+ messages in thread
From: Paul Kocialkowski @ 2021-01-07 13:40 UTC (permalink / raw)
  To: linux-media, linux-rockchip, devicetree, linux-arm-kernel, linux-kernel
  Cc: Heiko Stuebner, Greg Kroah-Hartman, Thomas Petazzoni,
	Rob Herring, Paul Kocialkowski, Jacob Chen, Philipp Zabel,
	Mauro Carvalho Chehab, Ezequiel Garcia

This series adds the required bits for RGA and VPU support on the
Rockchip PX30 SoC.

Cheers,

Paul

Paul Kocialkowski (5):
  dt-bindings: media: rockchip-rga: Add PX30 compatible
  arm64: dts: rockchip: Add RGA support to the PX30
  dt-bindings: media: rockchip-vpu: Add PX30 compatible
  arm64: dts: rockchip: Add VPU support for the PX30
  media: hantro: Add support for the Rockchip PX30

 .../bindings/media/rockchip-rga.yaml          |  4 ++-
 .../bindings/media/rockchip-vpu.yaml          | 25 +++++++++-----
 arch/arm64/boot/dts/rockchip/px30.dtsi        | 34 +++++++++++++++++++
 drivers/staging/media/hantro/hantro_drv.c     |  5 +--
 drivers/staging/media/hantro/hantro_hw.h      |  1 +
 drivers/staging/media/hantro/rk3399_vpu_hw.c  | 21 ++++++++++++
 6 files changed, 79 insertions(+), 11 deletions(-)

-- 
2.30.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 1/5] dt-bindings: media: rockchip-rga: Add PX30 compatible
  2021-01-07 13:40 ` Paul Kocialkowski
  (?)
@ 2021-01-07 13:40   ` Paul Kocialkowski
  -1 siblings, 0 replies; 57+ messages in thread
From: Paul Kocialkowski @ 2021-01-07 13:40 UTC (permalink / raw)
  To: linux-media, linux-rockchip, devicetree, linux-arm-kernel, linux-kernel
  Cc: Jacob Chen, Ezequiel Garcia, Mauro Carvalho Chehab, Rob Herring,
	Heiko Stuebner, Philipp Zabel, Greg Kroah-Hartman,
	Thomas Petazzoni, Paul Kocialkowski

Add a new compatible for the PX30 Rockchip SoC, which also features
a RGA block. It is compatible with the RK3288 RGA block.

Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
---
 Documentation/devicetree/bindings/media/rockchip-rga.yaml | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/media/rockchip-rga.yaml b/Documentation/devicetree/bindings/media/rockchip-rga.yaml
index dd645ddccb07..4ffdb317b606 100644
--- a/Documentation/devicetree/bindings/media/rockchip-rga.yaml
+++ b/Documentation/devicetree/bindings/media/rockchip-rga.yaml
@@ -21,7 +21,9 @@ properties:
       - const: rockchip,rk3288-rga
       - const: rockchip,rk3399-rga
       - items:
-          - const: rockchip,rk3228-rga
+          - enum:
+            - rockchip,px30-rga
+            - rockchip,rk3228-rga
           - const: rockchip,rk3288-rga
 
   reg:
-- 
2.30.0


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

* [PATCH 1/5] dt-bindings: media: rockchip-rga: Add PX30 compatible
@ 2021-01-07 13:40   ` Paul Kocialkowski
  0 siblings, 0 replies; 57+ messages in thread
From: Paul Kocialkowski @ 2021-01-07 13:40 UTC (permalink / raw)
  To: linux-media, linux-rockchip, devicetree, linux-arm-kernel, linux-kernel
  Cc: Heiko Stuebner, Greg Kroah-Hartman, Thomas Petazzoni,
	Rob Herring, Paul Kocialkowski, Jacob Chen, Philipp Zabel,
	Mauro Carvalho Chehab, Ezequiel Garcia

Add a new compatible for the PX30 Rockchip SoC, which also features
a RGA block. It is compatible with the RK3288 RGA block.

Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
---
 Documentation/devicetree/bindings/media/rockchip-rga.yaml | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/media/rockchip-rga.yaml b/Documentation/devicetree/bindings/media/rockchip-rga.yaml
index dd645ddccb07..4ffdb317b606 100644
--- a/Documentation/devicetree/bindings/media/rockchip-rga.yaml
+++ b/Documentation/devicetree/bindings/media/rockchip-rga.yaml
@@ -21,7 +21,9 @@ properties:
       - const: rockchip,rk3288-rga
       - const: rockchip,rk3399-rga
       - items:
-          - const: rockchip,rk3228-rga
+          - enum:
+            - rockchip,px30-rga
+            - rockchip,rk3228-rga
           - const: rockchip,rk3288-rga
 
   reg:
-- 
2.30.0


_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

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

* [PATCH 1/5] dt-bindings: media: rockchip-rga: Add PX30 compatible
@ 2021-01-07 13:40   ` Paul Kocialkowski
  0 siblings, 0 replies; 57+ messages in thread
From: Paul Kocialkowski @ 2021-01-07 13:40 UTC (permalink / raw)
  To: linux-media, linux-rockchip, devicetree, linux-arm-kernel, linux-kernel
  Cc: Heiko Stuebner, Greg Kroah-Hartman, Thomas Petazzoni,
	Rob Herring, Paul Kocialkowski, Jacob Chen, Philipp Zabel,
	Mauro Carvalho Chehab, Ezequiel Garcia

Add a new compatible for the PX30 Rockchip SoC, which also features
a RGA block. It is compatible with the RK3288 RGA block.

Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
---
 Documentation/devicetree/bindings/media/rockchip-rga.yaml | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/media/rockchip-rga.yaml b/Documentation/devicetree/bindings/media/rockchip-rga.yaml
index dd645ddccb07..4ffdb317b606 100644
--- a/Documentation/devicetree/bindings/media/rockchip-rga.yaml
+++ b/Documentation/devicetree/bindings/media/rockchip-rga.yaml
@@ -21,7 +21,9 @@ properties:
       - const: rockchip,rk3288-rga
       - const: rockchip,rk3399-rga
       - items:
-          - const: rockchip,rk3228-rga
+          - enum:
+            - rockchip,px30-rga
+            - rockchip,rk3228-rga
           - const: rockchip,rk3288-rga
 
   reg:
-- 
2.30.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 2/5] arm64: dts: rockchip: Add RGA support to the PX30
  2021-01-07 13:40 ` Paul Kocialkowski
  (?)
@ 2021-01-07 13:40   ` Paul Kocialkowski
  -1 siblings, 0 replies; 57+ messages in thread
From: Paul Kocialkowski @ 2021-01-07 13:40 UTC (permalink / raw)
  To: linux-media, linux-rockchip, devicetree, linux-arm-kernel, linux-kernel
  Cc: Jacob Chen, Ezequiel Garcia, Mauro Carvalho Chehab, Rob Herring,
	Heiko Stuebner, Philipp Zabel, Greg Kroah-Hartman,
	Thomas Petazzoni, Paul Kocialkowski

The PX30 features a RGA block: add the necessary node to support it.

Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
---
 arch/arm64/boot/dts/rockchip/px30.dtsi | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/arch/arm64/boot/dts/rockchip/px30.dtsi b/arch/arm64/boot/dts/rockchip/px30.dtsi
index 2695ea8cda14..e056d1c32cc8 100644
--- a/arch/arm64/boot/dts/rockchip/px30.dtsi
+++ b/arch/arm64/boot/dts/rockchip/px30.dtsi
@@ -1106,6 +1106,17 @@ vopl_mmu: iommu@ff470f00 {
 		status = "disabled";
 	};
 
+	rga: rga@ff480000 {
+		compatible = "rockchip,px30-rga", "rockchip,rk3288-rga";
+		reg = <0x0 0xff480000 0x0 0x10000>;
+		interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH 0>;
+		clocks = <&cru ACLK_RGA>, <&cru HCLK_RGA>, <&cru SCLK_RGA_CORE>;
+		clock-names = "aclk", "hclk", "sclk";
+		power-domains = <&power PX30_PD_VO>;
+		resets = <&cru SRST_RGA>, <&cru SRST_RGA_A>, <&cru SRST_RGA_H>;
+		reset-names = "core", "axi", "ahb";
+	};
+
 	qos_gmac: qos@ff518000 {
 		compatible = "syscon";
 		reg = <0x0 0xff518000 0x0 0x20>;
-- 
2.30.0


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

* [PATCH 2/5] arm64: dts: rockchip: Add RGA support to the PX30
@ 2021-01-07 13:40   ` Paul Kocialkowski
  0 siblings, 0 replies; 57+ messages in thread
From: Paul Kocialkowski @ 2021-01-07 13:40 UTC (permalink / raw)
  To: linux-media, linux-rockchip, devicetree, linux-arm-kernel, linux-kernel
  Cc: Heiko Stuebner, Greg Kroah-Hartman, Thomas Petazzoni,
	Rob Herring, Paul Kocialkowski, Jacob Chen, Philipp Zabel,
	Mauro Carvalho Chehab, Ezequiel Garcia

The PX30 features a RGA block: add the necessary node to support it.

Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
---
 arch/arm64/boot/dts/rockchip/px30.dtsi | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/arch/arm64/boot/dts/rockchip/px30.dtsi b/arch/arm64/boot/dts/rockchip/px30.dtsi
index 2695ea8cda14..e056d1c32cc8 100644
--- a/arch/arm64/boot/dts/rockchip/px30.dtsi
+++ b/arch/arm64/boot/dts/rockchip/px30.dtsi
@@ -1106,6 +1106,17 @@ vopl_mmu: iommu@ff470f00 {
 		status = "disabled";
 	};
 
+	rga: rga@ff480000 {
+		compatible = "rockchip,px30-rga", "rockchip,rk3288-rga";
+		reg = <0x0 0xff480000 0x0 0x10000>;
+		interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH 0>;
+		clocks = <&cru ACLK_RGA>, <&cru HCLK_RGA>, <&cru SCLK_RGA_CORE>;
+		clock-names = "aclk", "hclk", "sclk";
+		power-domains = <&power PX30_PD_VO>;
+		resets = <&cru SRST_RGA>, <&cru SRST_RGA_A>, <&cru SRST_RGA_H>;
+		reset-names = "core", "axi", "ahb";
+	};
+
 	qos_gmac: qos@ff518000 {
 		compatible = "syscon";
 		reg = <0x0 0xff518000 0x0 0x20>;
-- 
2.30.0


_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

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

* [PATCH 2/5] arm64: dts: rockchip: Add RGA support to the PX30
@ 2021-01-07 13:40   ` Paul Kocialkowski
  0 siblings, 0 replies; 57+ messages in thread
From: Paul Kocialkowski @ 2021-01-07 13:40 UTC (permalink / raw)
  To: linux-media, linux-rockchip, devicetree, linux-arm-kernel, linux-kernel
  Cc: Heiko Stuebner, Greg Kroah-Hartman, Thomas Petazzoni,
	Rob Herring, Paul Kocialkowski, Jacob Chen, Philipp Zabel,
	Mauro Carvalho Chehab, Ezequiel Garcia

The PX30 features a RGA block: add the necessary node to support it.

Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
---
 arch/arm64/boot/dts/rockchip/px30.dtsi | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/arch/arm64/boot/dts/rockchip/px30.dtsi b/arch/arm64/boot/dts/rockchip/px30.dtsi
index 2695ea8cda14..e056d1c32cc8 100644
--- a/arch/arm64/boot/dts/rockchip/px30.dtsi
+++ b/arch/arm64/boot/dts/rockchip/px30.dtsi
@@ -1106,6 +1106,17 @@ vopl_mmu: iommu@ff470f00 {
 		status = "disabled";
 	};
 
+	rga: rga@ff480000 {
+		compatible = "rockchip,px30-rga", "rockchip,rk3288-rga";
+		reg = <0x0 0xff480000 0x0 0x10000>;
+		interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH 0>;
+		clocks = <&cru ACLK_RGA>, <&cru HCLK_RGA>, <&cru SCLK_RGA_CORE>;
+		clock-names = "aclk", "hclk", "sclk";
+		power-domains = <&power PX30_PD_VO>;
+		resets = <&cru SRST_RGA>, <&cru SRST_RGA_A>, <&cru SRST_RGA_H>;
+		reset-names = "core", "axi", "ahb";
+	};
+
 	qos_gmac: qos@ff518000 {
 		compatible = "syscon";
 		reg = <0x0 0xff518000 0x0 0x20>;
-- 
2.30.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 3/5] dt-bindings: media: rockchip-vpu: Add PX30 compatible
  2021-01-07 13:40 ` Paul Kocialkowski
  (?)
@ 2021-01-07 13:40   ` Paul Kocialkowski
  -1 siblings, 0 replies; 57+ messages in thread
From: Paul Kocialkowski @ 2021-01-07 13:40 UTC (permalink / raw)
  To: linux-media, linux-rockchip, devicetree, linux-arm-kernel, linux-kernel
  Cc: Jacob Chen, Ezequiel Garcia, Mauro Carvalho Chehab, Rob Herring,
	Heiko Stuebner, Philipp Zabel, Greg Kroah-Hartman,
	Thomas Petazzoni, Paul Kocialkowski

The Rockchip PX30 SoC has a Hantro VPU that features a decoder (VDPU2)
and an encoder (VEPU2). It is similar to the RK3399's VPU but takes an
extra clock (SCLK).

Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
---
 .../bindings/media/rockchip-vpu.yaml          | 25 +++++++++++++------
 1 file changed, 17 insertions(+), 8 deletions(-)

diff --git a/Documentation/devicetree/bindings/media/rockchip-vpu.yaml b/Documentation/devicetree/bindings/media/rockchip-vpu.yaml
index c81dbc3e8960..c446b9ead21b 100644
--- a/Documentation/devicetree/bindings/media/rockchip-vpu.yaml
+++ b/Documentation/devicetree/bindings/media/rockchip-vpu.yaml
@@ -15,10 +15,13 @@ description:
 
 properties:
   compatible:
-    enum:
-      - rockchip,rk3288-vpu
-      - rockchip,rk3328-vpu
-      - rockchip,rk3399-vpu
+    oneOf:
+      - const: rockchip,rk3288-vpu
+      - const: rockchip,rk3328-vpu
+      - const: rockchip,rk3399-vpu
+      - items:
+        - const: rockchip,px30-vpu
+        - const: rockchip,rk3399-vpu
 
   reg:
     maxItems: 1
@@ -35,12 +38,18 @@ properties:
           - const: vdpu
 
   clocks:
-    maxItems: 2
+    minItems: 2
+    maxItems: 3
 
   clock-names:
-    items:
-      - const: aclk
-      - const: hclk
+    oneOf:
+      - items:
+        - const: aclk
+        - const: hclk
+      - items:
+        - const: aclk
+        - const: hclk
+        - const: sclk
 
   power-domains:
     maxItems: 1
-- 
2.30.0


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

* [PATCH 3/5] dt-bindings: media: rockchip-vpu: Add PX30 compatible
@ 2021-01-07 13:40   ` Paul Kocialkowski
  0 siblings, 0 replies; 57+ messages in thread
From: Paul Kocialkowski @ 2021-01-07 13:40 UTC (permalink / raw)
  To: linux-media, linux-rockchip, devicetree, linux-arm-kernel, linux-kernel
  Cc: Heiko Stuebner, Greg Kroah-Hartman, Thomas Petazzoni,
	Rob Herring, Paul Kocialkowski, Jacob Chen, Philipp Zabel,
	Mauro Carvalho Chehab, Ezequiel Garcia

The Rockchip PX30 SoC has a Hantro VPU that features a decoder (VDPU2)
and an encoder (VEPU2). It is similar to the RK3399's VPU but takes an
extra clock (SCLK).

Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
---
 .../bindings/media/rockchip-vpu.yaml          | 25 +++++++++++++------
 1 file changed, 17 insertions(+), 8 deletions(-)

diff --git a/Documentation/devicetree/bindings/media/rockchip-vpu.yaml b/Documentation/devicetree/bindings/media/rockchip-vpu.yaml
index c81dbc3e8960..c446b9ead21b 100644
--- a/Documentation/devicetree/bindings/media/rockchip-vpu.yaml
+++ b/Documentation/devicetree/bindings/media/rockchip-vpu.yaml
@@ -15,10 +15,13 @@ description:
 
 properties:
   compatible:
-    enum:
-      - rockchip,rk3288-vpu
-      - rockchip,rk3328-vpu
-      - rockchip,rk3399-vpu
+    oneOf:
+      - const: rockchip,rk3288-vpu
+      - const: rockchip,rk3328-vpu
+      - const: rockchip,rk3399-vpu
+      - items:
+        - const: rockchip,px30-vpu
+        - const: rockchip,rk3399-vpu
 
   reg:
     maxItems: 1
@@ -35,12 +38,18 @@ properties:
           - const: vdpu
 
   clocks:
-    maxItems: 2
+    minItems: 2
+    maxItems: 3
 
   clock-names:
-    items:
-      - const: aclk
-      - const: hclk
+    oneOf:
+      - items:
+        - const: aclk
+        - const: hclk
+      - items:
+        - const: aclk
+        - const: hclk
+        - const: sclk
 
   power-domains:
     maxItems: 1
-- 
2.30.0


_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

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

* [PATCH 3/5] dt-bindings: media: rockchip-vpu: Add PX30 compatible
@ 2021-01-07 13:40   ` Paul Kocialkowski
  0 siblings, 0 replies; 57+ messages in thread
From: Paul Kocialkowski @ 2021-01-07 13:40 UTC (permalink / raw)
  To: linux-media, linux-rockchip, devicetree, linux-arm-kernel, linux-kernel
  Cc: Heiko Stuebner, Greg Kroah-Hartman, Thomas Petazzoni,
	Rob Herring, Paul Kocialkowski, Jacob Chen, Philipp Zabel,
	Mauro Carvalho Chehab, Ezequiel Garcia

The Rockchip PX30 SoC has a Hantro VPU that features a decoder (VDPU2)
and an encoder (VEPU2). It is similar to the RK3399's VPU but takes an
extra clock (SCLK).

Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
---
 .../bindings/media/rockchip-vpu.yaml          | 25 +++++++++++++------
 1 file changed, 17 insertions(+), 8 deletions(-)

diff --git a/Documentation/devicetree/bindings/media/rockchip-vpu.yaml b/Documentation/devicetree/bindings/media/rockchip-vpu.yaml
index c81dbc3e8960..c446b9ead21b 100644
--- a/Documentation/devicetree/bindings/media/rockchip-vpu.yaml
+++ b/Documentation/devicetree/bindings/media/rockchip-vpu.yaml
@@ -15,10 +15,13 @@ description:
 
 properties:
   compatible:
-    enum:
-      - rockchip,rk3288-vpu
-      - rockchip,rk3328-vpu
-      - rockchip,rk3399-vpu
+    oneOf:
+      - const: rockchip,rk3288-vpu
+      - const: rockchip,rk3328-vpu
+      - const: rockchip,rk3399-vpu
+      - items:
+        - const: rockchip,px30-vpu
+        - const: rockchip,rk3399-vpu
 
   reg:
     maxItems: 1
@@ -35,12 +38,18 @@ properties:
           - const: vdpu
 
   clocks:
-    maxItems: 2
+    minItems: 2
+    maxItems: 3
 
   clock-names:
-    items:
-      - const: aclk
-      - const: hclk
+    oneOf:
+      - items:
+        - const: aclk
+        - const: hclk
+      - items:
+        - const: aclk
+        - const: hclk
+        - const: sclk
 
   power-domains:
     maxItems: 1
-- 
2.30.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 4/5] arm64: dts: rockchip: Add VPU support for the PX30
  2021-01-07 13:40 ` Paul Kocialkowski
  (?)
@ 2021-01-07 13:41   ` Paul Kocialkowski
  -1 siblings, 0 replies; 57+ messages in thread
From: Paul Kocialkowski @ 2021-01-07 13:41 UTC (permalink / raw)
  To: linux-media, linux-rockchip, devicetree, linux-arm-kernel, linux-kernel
  Cc: Jacob Chen, Ezequiel Garcia, Mauro Carvalho Chehab, Rob Herring,
	Heiko Stuebner, Philipp Zabel, Greg Kroah-Hartman,
	Thomas Petazzoni, Paul Kocialkowski

The PX30 has a VPU (both decoder and encoder) with a dedicated IOMMU.
Describe these two entities in device-tree.

Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
---
 arch/arm64/boot/dts/rockchip/px30.dtsi | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/arch/arm64/boot/dts/rockchip/px30.dtsi b/arch/arm64/boot/dts/rockchip/px30.dtsi
index e056d1c32cc8..4322302a2685 100644
--- a/arch/arm64/boot/dts/rockchip/px30.dtsi
+++ b/arch/arm64/boot/dts/rockchip/px30.dtsi
@@ -986,6 +986,29 @@ gpu: gpu@ff400000 {
 		status = "disabled";
 	};
 
+	vpu: video-codec@ff442000 {
+		compatible = "rockchip,px30-vpu", "rockchip,rk3399-vpu";
+		reg = <0x0 0xff442000 0x0 0x800>;
+		interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>,
+			     <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
+		interrupt-names = "vepu", "vdpu";
+		clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>, <&cru SCLK_CORE_VPU>;
+		clock-names = "aclk", "hclk", "sclk";
+		iommus = <&vpu_mmu>;
+		power-domains = <&power PX30_PD_VPU>;
+	};
+
+	vpu_mmu: iommu@ff442800 {
+		compatible = "rockchip,iommu";
+		reg = <0x0 0xff442800 0x0 0x100>;
+		interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
+		interrupt-names = "vpu_mmu";
+		clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
+		clock-names = "aclk", "iface";
+		#iommu-cells = <0>;
+		power-domains = <&power PX30_PD_VPU>;
+	};
+
 	dsi: dsi@ff450000 {
 		compatible = "rockchip,px30-mipi-dsi";
 		reg = <0x0 0xff450000 0x0 0x10000>;
-- 
2.30.0


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

* [PATCH 4/5] arm64: dts: rockchip: Add VPU support for the PX30
@ 2021-01-07 13:41   ` Paul Kocialkowski
  0 siblings, 0 replies; 57+ messages in thread
From: Paul Kocialkowski @ 2021-01-07 13:41 UTC (permalink / raw)
  To: linux-media, linux-rockchip, devicetree, linux-arm-kernel, linux-kernel
  Cc: Heiko Stuebner, Greg Kroah-Hartman, Thomas Petazzoni,
	Rob Herring, Paul Kocialkowski, Jacob Chen, Philipp Zabel,
	Mauro Carvalho Chehab, Ezequiel Garcia

The PX30 has a VPU (both decoder and encoder) with a dedicated IOMMU.
Describe these two entities in device-tree.

Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
---
 arch/arm64/boot/dts/rockchip/px30.dtsi | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/arch/arm64/boot/dts/rockchip/px30.dtsi b/arch/arm64/boot/dts/rockchip/px30.dtsi
index e056d1c32cc8..4322302a2685 100644
--- a/arch/arm64/boot/dts/rockchip/px30.dtsi
+++ b/arch/arm64/boot/dts/rockchip/px30.dtsi
@@ -986,6 +986,29 @@ gpu: gpu@ff400000 {
 		status = "disabled";
 	};
 
+	vpu: video-codec@ff442000 {
+		compatible = "rockchip,px30-vpu", "rockchip,rk3399-vpu";
+		reg = <0x0 0xff442000 0x0 0x800>;
+		interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>,
+			     <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
+		interrupt-names = "vepu", "vdpu";
+		clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>, <&cru SCLK_CORE_VPU>;
+		clock-names = "aclk", "hclk", "sclk";
+		iommus = <&vpu_mmu>;
+		power-domains = <&power PX30_PD_VPU>;
+	};
+
+	vpu_mmu: iommu@ff442800 {
+		compatible = "rockchip,iommu";
+		reg = <0x0 0xff442800 0x0 0x100>;
+		interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
+		interrupt-names = "vpu_mmu";
+		clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
+		clock-names = "aclk", "iface";
+		#iommu-cells = <0>;
+		power-domains = <&power PX30_PD_VPU>;
+	};
+
 	dsi: dsi@ff450000 {
 		compatible = "rockchip,px30-mipi-dsi";
 		reg = <0x0 0xff450000 0x0 0x10000>;
-- 
2.30.0


_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

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

* [PATCH 4/5] arm64: dts: rockchip: Add VPU support for the PX30
@ 2021-01-07 13:41   ` Paul Kocialkowski
  0 siblings, 0 replies; 57+ messages in thread
From: Paul Kocialkowski @ 2021-01-07 13:41 UTC (permalink / raw)
  To: linux-media, linux-rockchip, devicetree, linux-arm-kernel, linux-kernel
  Cc: Heiko Stuebner, Greg Kroah-Hartman, Thomas Petazzoni,
	Rob Herring, Paul Kocialkowski, Jacob Chen, Philipp Zabel,
	Mauro Carvalho Chehab, Ezequiel Garcia

The PX30 has a VPU (both decoder and encoder) with a dedicated IOMMU.
Describe these two entities in device-tree.

Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
---
 arch/arm64/boot/dts/rockchip/px30.dtsi | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/arch/arm64/boot/dts/rockchip/px30.dtsi b/arch/arm64/boot/dts/rockchip/px30.dtsi
index e056d1c32cc8..4322302a2685 100644
--- a/arch/arm64/boot/dts/rockchip/px30.dtsi
+++ b/arch/arm64/boot/dts/rockchip/px30.dtsi
@@ -986,6 +986,29 @@ gpu: gpu@ff400000 {
 		status = "disabled";
 	};
 
+	vpu: video-codec@ff442000 {
+		compatible = "rockchip,px30-vpu", "rockchip,rk3399-vpu";
+		reg = <0x0 0xff442000 0x0 0x800>;
+		interrupts = <GIC_SPI 80 IRQ_TYPE_LEVEL_HIGH>,
+			     <GIC_SPI 79 IRQ_TYPE_LEVEL_HIGH>;
+		interrupt-names = "vepu", "vdpu";
+		clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>, <&cru SCLK_CORE_VPU>;
+		clock-names = "aclk", "hclk", "sclk";
+		iommus = <&vpu_mmu>;
+		power-domains = <&power PX30_PD_VPU>;
+	};
+
+	vpu_mmu: iommu@ff442800 {
+		compatible = "rockchip,iommu";
+		reg = <0x0 0xff442800 0x0 0x100>;
+		interrupts = <GIC_SPI 81 IRQ_TYPE_LEVEL_HIGH>;
+		interrupt-names = "vpu_mmu";
+		clocks = <&cru ACLK_VPU>, <&cru HCLK_VPU>;
+		clock-names = "aclk", "iface";
+		#iommu-cells = <0>;
+		power-domains = <&power PX30_PD_VPU>;
+	};
+
 	dsi: dsi@ff450000 {
 		compatible = "rockchip,px30-mipi-dsi";
 		reg = <0x0 0xff450000 0x0 0x10000>;
-- 
2.30.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* [PATCH 5/5] media: hantro: Add support for the Rockchip PX30
  2021-01-07 13:40 ` Paul Kocialkowski
  (?)
@ 2021-01-07 13:41   ` Paul Kocialkowski
  -1 siblings, 0 replies; 57+ messages in thread
From: Paul Kocialkowski @ 2021-01-07 13:41 UTC (permalink / raw)
  To: linux-media, linux-rockchip, devicetree, linux-arm-kernel, linux-kernel
  Cc: Jacob Chen, Ezequiel Garcia, Mauro Carvalho Chehab, Rob Herring,
	Heiko Stuebner, Philipp Zabel, Greg Kroah-Hartman,
	Thomas Petazzoni, Paul Kocialkowski

The PX30 SoC includes both the VDPU2 and VEPU2 blocks which are similar
to the RK3399 (Hantro G1/H1 with shuffled registers).

Besides taking an extra clock, it also shares an interrupt with the IOMMU
so it's necessary to request the interrupt shared.

Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
---
 drivers/staging/media/hantro/hantro_drv.c    |  5 +++--
 drivers/staging/media/hantro/hantro_hw.h     |  1 +
 drivers/staging/media/hantro/rk3399_vpu_hw.c | 21 ++++++++++++++++++++
 3 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/media/hantro/hantro_drv.c b/drivers/staging/media/hantro/hantro_drv.c
index e5f200e64993..076a7782b476 100644
--- a/drivers/staging/media/hantro/hantro_drv.c
+++ b/drivers/staging/media/hantro/hantro_drv.c
@@ -472,6 +472,7 @@ static const struct v4l2_file_operations hantro_fops = {
 
 static const struct of_device_id of_hantro_match[] = {
 #ifdef CONFIG_VIDEO_HANTRO_ROCKCHIP
+	{ .compatible = "rockchip,px30-vpu", .data = &px30_vpu_variant, },
 	{ .compatible = "rockchip,rk3399-vpu", .data = &rk3399_vpu_variant, },
 	{ .compatible = "rockchip,rk3328-vpu", .data = &rk3328_vpu_variant, },
 	{ .compatible = "rockchip,rk3288-vpu", .data = &rk3288_vpu_variant, },
@@ -796,8 +797,8 @@ static int hantro_probe(struct platform_device *pdev)
 			return -ENXIO;
 
 		ret = devm_request_irq(vpu->dev, irq,
-				       vpu->variant->irqs[i].handler, 0,
-				       dev_name(vpu->dev), vpu);
+				       vpu->variant->irqs[i].handler,
+				       IRQF_SHARED, dev_name(vpu->dev), vpu);
 		if (ret) {
 			dev_err(vpu->dev, "Could not request %s IRQ.\n",
 				irq_name);
diff --git a/drivers/staging/media/hantro/hantro_hw.h b/drivers/staging/media/hantro/hantro_hw.h
index 34c9e4649a25..07f516fd7a2e 100644
--- a/drivers/staging/media/hantro/hantro_hw.h
+++ b/drivers/staging/media/hantro/hantro_hw.h
@@ -148,6 +148,7 @@ enum hantro_enc_fmt {
 	RK3288_VPU_ENC_FMT_UYVY422 = 3,
 };
 
+extern const struct hantro_variant px30_vpu_variant;
 extern const struct hantro_variant rk3399_vpu_variant;
 extern const struct hantro_variant rk3328_vpu_variant;
 extern const struct hantro_variant rk3288_vpu_variant;
diff --git a/drivers/staging/media/hantro/rk3399_vpu_hw.c b/drivers/staging/media/hantro/rk3399_vpu_hw.c
index 7a7962cf771e..4112f98baa60 100644
--- a/drivers/staging/media/hantro/rk3399_vpu_hw.c
+++ b/drivers/staging/media/hantro/rk3399_vpu_hw.c
@@ -220,3 +220,24 @@ const struct hantro_variant rk3328_vpu_variant = {
 	.clk_names = rk3399_clk_names,
 	.num_clocks = ARRAY_SIZE(rk3399_clk_names),
 };
+
+static const char * const px30_clk_names[] = {
+	"aclk", "hclk", "sclk"
+};
+
+const struct hantro_variant px30_vpu_variant = {
+	.enc_offset = 0x0,
+	.enc_fmts = rk3399_vpu_enc_fmts,
+	.num_enc_fmts = ARRAY_SIZE(rk3399_vpu_enc_fmts),
+	.dec_offset = 0x400,
+	.dec_fmts = rk3399_vpu_dec_fmts,
+	.num_dec_fmts = ARRAY_SIZE(rk3399_vpu_dec_fmts),
+	.codec = HANTRO_JPEG_ENCODER | HANTRO_MPEG2_DECODER |
+		 HANTRO_VP8_DECODER,
+	.codec_ops = rk3399_vpu_codec_ops,
+	.irqs = rk3399_irqs,
+	.num_irqs = ARRAY_SIZE(rk3399_irqs),
+	.init = rk3399_vpu_hw_init,
+	.clk_names = px30_clk_names,
+	.num_clocks = ARRAY_SIZE(px30_clk_names)
+};
-- 
2.30.0


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

* [PATCH 5/5] media: hantro: Add support for the Rockchip PX30
@ 2021-01-07 13:41   ` Paul Kocialkowski
  0 siblings, 0 replies; 57+ messages in thread
From: Paul Kocialkowski @ 2021-01-07 13:41 UTC (permalink / raw)
  To: linux-media, linux-rockchip, devicetree, linux-arm-kernel, linux-kernel
  Cc: Heiko Stuebner, Greg Kroah-Hartman, Thomas Petazzoni,
	Rob Herring, Paul Kocialkowski, Jacob Chen, Philipp Zabel,
	Mauro Carvalho Chehab, Ezequiel Garcia

The PX30 SoC includes both the VDPU2 and VEPU2 blocks which are similar
to the RK3399 (Hantro G1/H1 with shuffled registers).

Besides taking an extra clock, it also shares an interrupt with the IOMMU
so it's necessary to request the interrupt shared.

Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
---
 drivers/staging/media/hantro/hantro_drv.c    |  5 +++--
 drivers/staging/media/hantro/hantro_hw.h     |  1 +
 drivers/staging/media/hantro/rk3399_vpu_hw.c | 21 ++++++++++++++++++++
 3 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/media/hantro/hantro_drv.c b/drivers/staging/media/hantro/hantro_drv.c
index e5f200e64993..076a7782b476 100644
--- a/drivers/staging/media/hantro/hantro_drv.c
+++ b/drivers/staging/media/hantro/hantro_drv.c
@@ -472,6 +472,7 @@ static const struct v4l2_file_operations hantro_fops = {
 
 static const struct of_device_id of_hantro_match[] = {
 #ifdef CONFIG_VIDEO_HANTRO_ROCKCHIP
+	{ .compatible = "rockchip,px30-vpu", .data = &px30_vpu_variant, },
 	{ .compatible = "rockchip,rk3399-vpu", .data = &rk3399_vpu_variant, },
 	{ .compatible = "rockchip,rk3328-vpu", .data = &rk3328_vpu_variant, },
 	{ .compatible = "rockchip,rk3288-vpu", .data = &rk3288_vpu_variant, },
@@ -796,8 +797,8 @@ static int hantro_probe(struct platform_device *pdev)
 			return -ENXIO;
 
 		ret = devm_request_irq(vpu->dev, irq,
-				       vpu->variant->irqs[i].handler, 0,
-				       dev_name(vpu->dev), vpu);
+				       vpu->variant->irqs[i].handler,
+				       IRQF_SHARED, dev_name(vpu->dev), vpu);
 		if (ret) {
 			dev_err(vpu->dev, "Could not request %s IRQ.\n",
 				irq_name);
diff --git a/drivers/staging/media/hantro/hantro_hw.h b/drivers/staging/media/hantro/hantro_hw.h
index 34c9e4649a25..07f516fd7a2e 100644
--- a/drivers/staging/media/hantro/hantro_hw.h
+++ b/drivers/staging/media/hantro/hantro_hw.h
@@ -148,6 +148,7 @@ enum hantro_enc_fmt {
 	RK3288_VPU_ENC_FMT_UYVY422 = 3,
 };
 
+extern const struct hantro_variant px30_vpu_variant;
 extern const struct hantro_variant rk3399_vpu_variant;
 extern const struct hantro_variant rk3328_vpu_variant;
 extern const struct hantro_variant rk3288_vpu_variant;
diff --git a/drivers/staging/media/hantro/rk3399_vpu_hw.c b/drivers/staging/media/hantro/rk3399_vpu_hw.c
index 7a7962cf771e..4112f98baa60 100644
--- a/drivers/staging/media/hantro/rk3399_vpu_hw.c
+++ b/drivers/staging/media/hantro/rk3399_vpu_hw.c
@@ -220,3 +220,24 @@ const struct hantro_variant rk3328_vpu_variant = {
 	.clk_names = rk3399_clk_names,
 	.num_clocks = ARRAY_SIZE(rk3399_clk_names),
 };
+
+static const char * const px30_clk_names[] = {
+	"aclk", "hclk", "sclk"
+};
+
+const struct hantro_variant px30_vpu_variant = {
+	.enc_offset = 0x0,
+	.enc_fmts = rk3399_vpu_enc_fmts,
+	.num_enc_fmts = ARRAY_SIZE(rk3399_vpu_enc_fmts),
+	.dec_offset = 0x400,
+	.dec_fmts = rk3399_vpu_dec_fmts,
+	.num_dec_fmts = ARRAY_SIZE(rk3399_vpu_dec_fmts),
+	.codec = HANTRO_JPEG_ENCODER | HANTRO_MPEG2_DECODER |
+		 HANTRO_VP8_DECODER,
+	.codec_ops = rk3399_vpu_codec_ops,
+	.irqs = rk3399_irqs,
+	.num_irqs = ARRAY_SIZE(rk3399_irqs),
+	.init = rk3399_vpu_hw_init,
+	.clk_names = px30_clk_names,
+	.num_clocks = ARRAY_SIZE(px30_clk_names)
+};
-- 
2.30.0


_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

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

* [PATCH 5/5] media: hantro: Add support for the Rockchip PX30
@ 2021-01-07 13:41   ` Paul Kocialkowski
  0 siblings, 0 replies; 57+ messages in thread
From: Paul Kocialkowski @ 2021-01-07 13:41 UTC (permalink / raw)
  To: linux-media, linux-rockchip, devicetree, linux-arm-kernel, linux-kernel
  Cc: Heiko Stuebner, Greg Kroah-Hartman, Thomas Petazzoni,
	Rob Herring, Paul Kocialkowski, Jacob Chen, Philipp Zabel,
	Mauro Carvalho Chehab, Ezequiel Garcia

The PX30 SoC includes both the VDPU2 and VEPU2 blocks which are similar
to the RK3399 (Hantro G1/H1 with shuffled registers).

Besides taking an extra clock, it also shares an interrupt with the IOMMU
so it's necessary to request the interrupt shared.

Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
---
 drivers/staging/media/hantro/hantro_drv.c    |  5 +++--
 drivers/staging/media/hantro/hantro_hw.h     |  1 +
 drivers/staging/media/hantro/rk3399_vpu_hw.c | 21 ++++++++++++++++++++
 3 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/media/hantro/hantro_drv.c b/drivers/staging/media/hantro/hantro_drv.c
index e5f200e64993..076a7782b476 100644
--- a/drivers/staging/media/hantro/hantro_drv.c
+++ b/drivers/staging/media/hantro/hantro_drv.c
@@ -472,6 +472,7 @@ static const struct v4l2_file_operations hantro_fops = {
 
 static const struct of_device_id of_hantro_match[] = {
 #ifdef CONFIG_VIDEO_HANTRO_ROCKCHIP
+	{ .compatible = "rockchip,px30-vpu", .data = &px30_vpu_variant, },
 	{ .compatible = "rockchip,rk3399-vpu", .data = &rk3399_vpu_variant, },
 	{ .compatible = "rockchip,rk3328-vpu", .data = &rk3328_vpu_variant, },
 	{ .compatible = "rockchip,rk3288-vpu", .data = &rk3288_vpu_variant, },
@@ -796,8 +797,8 @@ static int hantro_probe(struct platform_device *pdev)
 			return -ENXIO;
 
 		ret = devm_request_irq(vpu->dev, irq,
-				       vpu->variant->irqs[i].handler, 0,
-				       dev_name(vpu->dev), vpu);
+				       vpu->variant->irqs[i].handler,
+				       IRQF_SHARED, dev_name(vpu->dev), vpu);
 		if (ret) {
 			dev_err(vpu->dev, "Could not request %s IRQ.\n",
 				irq_name);
diff --git a/drivers/staging/media/hantro/hantro_hw.h b/drivers/staging/media/hantro/hantro_hw.h
index 34c9e4649a25..07f516fd7a2e 100644
--- a/drivers/staging/media/hantro/hantro_hw.h
+++ b/drivers/staging/media/hantro/hantro_hw.h
@@ -148,6 +148,7 @@ enum hantro_enc_fmt {
 	RK3288_VPU_ENC_FMT_UYVY422 = 3,
 };
 
+extern const struct hantro_variant px30_vpu_variant;
 extern const struct hantro_variant rk3399_vpu_variant;
 extern const struct hantro_variant rk3328_vpu_variant;
 extern const struct hantro_variant rk3288_vpu_variant;
diff --git a/drivers/staging/media/hantro/rk3399_vpu_hw.c b/drivers/staging/media/hantro/rk3399_vpu_hw.c
index 7a7962cf771e..4112f98baa60 100644
--- a/drivers/staging/media/hantro/rk3399_vpu_hw.c
+++ b/drivers/staging/media/hantro/rk3399_vpu_hw.c
@@ -220,3 +220,24 @@ const struct hantro_variant rk3328_vpu_variant = {
 	.clk_names = rk3399_clk_names,
 	.num_clocks = ARRAY_SIZE(rk3399_clk_names),
 };
+
+static const char * const px30_clk_names[] = {
+	"aclk", "hclk", "sclk"
+};
+
+const struct hantro_variant px30_vpu_variant = {
+	.enc_offset = 0x0,
+	.enc_fmts = rk3399_vpu_enc_fmts,
+	.num_enc_fmts = ARRAY_SIZE(rk3399_vpu_enc_fmts),
+	.dec_offset = 0x400,
+	.dec_fmts = rk3399_vpu_dec_fmts,
+	.num_dec_fmts = ARRAY_SIZE(rk3399_vpu_dec_fmts),
+	.codec = HANTRO_JPEG_ENCODER | HANTRO_MPEG2_DECODER |
+		 HANTRO_VP8_DECODER,
+	.codec_ops = rk3399_vpu_codec_ops,
+	.irqs = rk3399_irqs,
+	.num_irqs = ARRAY_SIZE(rk3399_irqs),
+	.init = rk3399_vpu_hw_init,
+	.clk_names = px30_clk_names,
+	.num_clocks = ARRAY_SIZE(px30_clk_names)
+};
-- 
2.30.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 2/5] arm64: dts: rockchip: Add RGA support to the PX30
  2021-01-07 13:40   ` Paul Kocialkowski
  (?)
@ 2021-01-07 14:24     ` Paul Kocialkowski
  -1 siblings, 0 replies; 57+ messages in thread
From: Paul Kocialkowski @ 2021-01-07 14:24 UTC (permalink / raw)
  To: linux-media, linux-rockchip, devicetree, linux-arm-kernel, linux-kernel
  Cc: Jacob Chen, Ezequiel Garcia, Mauro Carvalho Chehab, Rob Herring,
	Heiko Stuebner, Philipp Zabel, Greg Kroah-Hartman,
	Thomas Petazzoni

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

On Thu 07 Jan 21, 14:40, Paul Kocialkowski wrote:
> The PX30 features a RGA block: add the necessary node to support it.
> 
> Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
> ---
>  arch/arm64/boot/dts/rockchip/px30.dtsi | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/rockchip/px30.dtsi b/arch/arm64/boot/dts/rockchip/px30.dtsi
> index 2695ea8cda14..e056d1c32cc8 100644
> --- a/arch/arm64/boot/dts/rockchip/px30.dtsi
> +++ b/arch/arm64/boot/dts/rockchip/px30.dtsi
> @@ -1106,6 +1106,17 @@ vopl_mmu: iommu@ff470f00 {
>  		status = "disabled";
>  	};
>  
> +	rga: rga@ff480000 {
> +		compatible = "rockchip,px30-rga", "rockchip,rk3288-rga";
> +		reg = <0x0 0xff480000 0x0 0x10000>;
> +		interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH 0>;

Looks like this trailing 0 shouldn't be here. Will fix in v2.

Cheers,

Paul

> +		clocks = <&cru ACLK_RGA>, <&cru HCLK_RGA>, <&cru SCLK_RGA_CORE>;
> +		clock-names = "aclk", "hclk", "sclk";
> +		power-domains = <&power PX30_PD_VO>;
> +		resets = <&cru SRST_RGA>, <&cru SRST_RGA_A>, <&cru SRST_RGA_H>;
> +		reset-names = "core", "axi", "ahb";
> +	};
> +
>  	qos_gmac: qos@ff518000 {
>  		compatible = "syscon";
>  		reg = <0x0 0xff518000 0x0 0x20>;
> -- 
> 2.30.0
> 

-- 
Paul Kocialkowski, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com

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

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

* Re: [PATCH 2/5] arm64: dts: rockchip: Add RGA support to the PX30
@ 2021-01-07 14:24     ` Paul Kocialkowski
  0 siblings, 0 replies; 57+ messages in thread
From: Paul Kocialkowski @ 2021-01-07 14:24 UTC (permalink / raw)
  To: linux-media, linux-rockchip, devicetree, linux-arm-kernel, linux-kernel
  Cc: Heiko Stuebner, Greg Kroah-Hartman, Thomas Petazzoni,
	Rob Herring, Jacob Chen, Philipp Zabel, Mauro Carvalho Chehab,
	Ezequiel Garcia


[-- Attachment #1.1: Type: text/plain, Size: 1399 bytes --]

On Thu 07 Jan 21, 14:40, Paul Kocialkowski wrote:
> The PX30 features a RGA block: add the necessary node to support it.
> 
> Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
> ---
>  arch/arm64/boot/dts/rockchip/px30.dtsi | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/rockchip/px30.dtsi b/arch/arm64/boot/dts/rockchip/px30.dtsi
> index 2695ea8cda14..e056d1c32cc8 100644
> --- a/arch/arm64/boot/dts/rockchip/px30.dtsi
> +++ b/arch/arm64/boot/dts/rockchip/px30.dtsi
> @@ -1106,6 +1106,17 @@ vopl_mmu: iommu@ff470f00 {
>  		status = "disabled";
>  	};
>  
> +	rga: rga@ff480000 {
> +		compatible = "rockchip,px30-rga", "rockchip,rk3288-rga";
> +		reg = <0x0 0xff480000 0x0 0x10000>;
> +		interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH 0>;

Looks like this trailing 0 shouldn't be here. Will fix in v2.

Cheers,

Paul

> +		clocks = <&cru ACLK_RGA>, <&cru HCLK_RGA>, <&cru SCLK_RGA_CORE>;
> +		clock-names = "aclk", "hclk", "sclk";
> +		power-domains = <&power PX30_PD_VO>;
> +		resets = <&cru SRST_RGA>, <&cru SRST_RGA_A>, <&cru SRST_RGA_H>;
> +		reset-names = "core", "axi", "ahb";
> +	};
> +
>  	qos_gmac: qos@ff518000 {
>  		compatible = "syscon";
>  		reg = <0x0 0xff518000 0x0 0x20>;
> -- 
> 2.30.0
> 

-- 
Paul Kocialkowski, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com

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

[-- Attachment #2: Type: text/plain, Size: 170 bytes --]

_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

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

* Re: [PATCH 2/5] arm64: dts: rockchip: Add RGA support to the PX30
@ 2021-01-07 14:24     ` Paul Kocialkowski
  0 siblings, 0 replies; 57+ messages in thread
From: Paul Kocialkowski @ 2021-01-07 14:24 UTC (permalink / raw)
  To: linux-media, linux-rockchip, devicetree, linux-arm-kernel, linux-kernel
  Cc: Heiko Stuebner, Greg Kroah-Hartman, Thomas Petazzoni,
	Rob Herring, Jacob Chen, Philipp Zabel, Mauro Carvalho Chehab,
	Ezequiel Garcia


[-- Attachment #1.1: Type: text/plain, Size: 1399 bytes --]

On Thu 07 Jan 21, 14:40, Paul Kocialkowski wrote:
> The PX30 features a RGA block: add the necessary node to support it.
> 
> Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
> ---
>  arch/arm64/boot/dts/rockchip/px30.dtsi | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/rockchip/px30.dtsi b/arch/arm64/boot/dts/rockchip/px30.dtsi
> index 2695ea8cda14..e056d1c32cc8 100644
> --- a/arch/arm64/boot/dts/rockchip/px30.dtsi
> +++ b/arch/arm64/boot/dts/rockchip/px30.dtsi
> @@ -1106,6 +1106,17 @@ vopl_mmu: iommu@ff470f00 {
>  		status = "disabled";
>  	};
>  
> +	rga: rga@ff480000 {
> +		compatible = "rockchip,px30-rga", "rockchip,rk3288-rga";
> +		reg = <0x0 0xff480000 0x0 0x10000>;
> +		interrupts = <GIC_SPI 76 IRQ_TYPE_LEVEL_HIGH 0>;

Looks like this trailing 0 shouldn't be here. Will fix in v2.

Cheers,

Paul

> +		clocks = <&cru ACLK_RGA>, <&cru HCLK_RGA>, <&cru SCLK_RGA_CORE>;
> +		clock-names = "aclk", "hclk", "sclk";
> +		power-domains = <&power PX30_PD_VO>;
> +		resets = <&cru SRST_RGA>, <&cru SRST_RGA_A>, <&cru SRST_RGA_H>;
> +		reset-names = "core", "axi", "ahb";
> +	};
> +
>  	qos_gmac: qos@ff518000 {
>  		compatible = "syscon";
>  		reg = <0x0 0xff518000 0x0 0x20>;
> -- 
> 2.30.0
> 

-- 
Paul Kocialkowski, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com

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

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 3/5] dt-bindings: media: rockchip-vpu: Add PX30 compatible
  2021-01-07 13:40   ` Paul Kocialkowski
  (?)
@ 2021-01-07 14:55     ` Philipp Zabel
  -1 siblings, 0 replies; 57+ messages in thread
From: Philipp Zabel @ 2021-01-07 14:55 UTC (permalink / raw)
  To: Paul Kocialkowski, linux-media, linux-rockchip, devicetree,
	linux-arm-kernel, linux-kernel
  Cc: Jacob Chen, Ezequiel Garcia, Mauro Carvalho Chehab, Rob Herring,
	Heiko Stuebner, Greg Kroah-Hartman, Thomas Petazzoni

Hi Paul,

On Thu, 2021-01-07 at 14:40 +0100, Paul Kocialkowski wrote:
> The Rockchip PX30 SoC has a Hantro VPU that features a decoder (VDPU2)
> and an encoder (VEPU2). It is similar to the RK3399's VPU but takes an
> extra clock (SCLK).
> 
> Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
> ---
>  .../bindings/media/rockchip-vpu.yaml          | 25 +++++++++++++------
>  1 file changed, 17 insertions(+), 8 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/media/rockchip-vpu.yaml b/Documentation/devicetree/bindings/media/rockchip-vpu.yaml
> index c81dbc3e8960..c446b9ead21b 100644
> --- a/Documentation/devicetree/bindings/media/rockchip-vpu.yaml
> +++ b/Documentation/devicetree/bindings/media/rockchip-vpu.yaml
> @@ -15,10 +15,13 @@ description:
>  
>  properties:
>    compatible:
> -    enum:
> -      - rockchip,rk3288-vpu
> -      - rockchip,rk3328-vpu
> -      - rockchip,rk3399-vpu
> +    oneOf:
> +      - const: rockchip,rk3288-vpu
> +      - const: rockchip,rk3328-vpu
> +      - const: rockchip,rk3399-vpu
> +      - items:
> +        - const: rockchip,px30-vpu
> +        - const: rockchip,rk3399-vpu
>  
>    reg:
>      maxItems: 1
> @@ -35,12 +38,18 @@ properties:
>            - const: vdpu
>  
>    clocks:
> -    maxItems: 2
> +    minItems: 2
> +    maxItems: 3
>  
>    clock-names:
> -    items:
> -      - const: aclk
> -      - const: hclk
> +    oneOf:
> +      - items:
> +        - const: aclk
> +        - const: hclk
> +      - items:
> +        - const: aclk
> +        - const: hclk
> +        - const: sclk

You could make this:

    clock-names:
      minItems: 2
      items:
        - const: aclk
        - const: hclk
        - const: sclk

And then:

allOf:
  - if:
      properties:
        compatible:
          contains:
            const: rockchip,px30-vpu
    then:
      properties:
        clock-names:
          minItems: 3

to make sure each variant has the correct clocks set.

regards
Philipp

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

* Re: [PATCH 3/5] dt-bindings: media: rockchip-vpu: Add PX30 compatible
@ 2021-01-07 14:55     ` Philipp Zabel
  0 siblings, 0 replies; 57+ messages in thread
From: Philipp Zabel @ 2021-01-07 14:55 UTC (permalink / raw)
  To: Paul Kocialkowski, linux-media, linux-rockchip, devicetree,
	linux-arm-kernel, linux-kernel
  Cc: Heiko Stuebner, Greg Kroah-Hartman, Rob Herring, Jacob Chen,
	Thomas Petazzoni, Mauro Carvalho Chehab, Ezequiel Garcia

Hi Paul,

On Thu, 2021-01-07 at 14:40 +0100, Paul Kocialkowski wrote:
> The Rockchip PX30 SoC has a Hantro VPU that features a decoder (VDPU2)
> and an encoder (VEPU2). It is similar to the RK3399's VPU but takes an
> extra clock (SCLK).
> 
> Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
> ---
>  .../bindings/media/rockchip-vpu.yaml          | 25 +++++++++++++------
>  1 file changed, 17 insertions(+), 8 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/media/rockchip-vpu.yaml b/Documentation/devicetree/bindings/media/rockchip-vpu.yaml
> index c81dbc3e8960..c446b9ead21b 100644
> --- a/Documentation/devicetree/bindings/media/rockchip-vpu.yaml
> +++ b/Documentation/devicetree/bindings/media/rockchip-vpu.yaml
> @@ -15,10 +15,13 @@ description:
>  
>  properties:
>    compatible:
> -    enum:
> -      - rockchip,rk3288-vpu
> -      - rockchip,rk3328-vpu
> -      - rockchip,rk3399-vpu
> +    oneOf:
> +      - const: rockchip,rk3288-vpu
> +      - const: rockchip,rk3328-vpu
> +      - const: rockchip,rk3399-vpu
> +      - items:
> +        - const: rockchip,px30-vpu
> +        - const: rockchip,rk3399-vpu
>  
>    reg:
>      maxItems: 1
> @@ -35,12 +38,18 @@ properties:
>            - const: vdpu
>  
>    clocks:
> -    maxItems: 2
> +    minItems: 2
> +    maxItems: 3
>  
>    clock-names:
> -    items:
> -      - const: aclk
> -      - const: hclk
> +    oneOf:
> +      - items:
> +        - const: aclk
> +        - const: hclk
> +      - items:
> +        - const: aclk
> +        - const: hclk
> +        - const: sclk

You could make this:

    clock-names:
      minItems: 2
      items:
        - const: aclk
        - const: hclk
        - const: sclk

And then:

allOf:
  - if:
      properties:
        compatible:
          contains:
            const: rockchip,px30-vpu
    then:
      properties:
        clock-names:
          minItems: 3

to make sure each variant has the correct clocks set.

regards
Philipp

_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

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

* Re: [PATCH 3/5] dt-bindings: media: rockchip-vpu: Add PX30 compatible
@ 2021-01-07 14:55     ` Philipp Zabel
  0 siblings, 0 replies; 57+ messages in thread
From: Philipp Zabel @ 2021-01-07 14:55 UTC (permalink / raw)
  To: Paul Kocialkowski, linux-media, linux-rockchip, devicetree,
	linux-arm-kernel, linux-kernel
  Cc: Heiko Stuebner, Greg Kroah-Hartman, Rob Herring, Jacob Chen,
	Thomas Petazzoni, Mauro Carvalho Chehab, Ezequiel Garcia

Hi Paul,

On Thu, 2021-01-07 at 14:40 +0100, Paul Kocialkowski wrote:
> The Rockchip PX30 SoC has a Hantro VPU that features a decoder (VDPU2)
> and an encoder (VEPU2). It is similar to the RK3399's VPU but takes an
> extra clock (SCLK).
> 
> Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
> ---
>  .../bindings/media/rockchip-vpu.yaml          | 25 +++++++++++++------
>  1 file changed, 17 insertions(+), 8 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/media/rockchip-vpu.yaml b/Documentation/devicetree/bindings/media/rockchip-vpu.yaml
> index c81dbc3e8960..c446b9ead21b 100644
> --- a/Documentation/devicetree/bindings/media/rockchip-vpu.yaml
> +++ b/Documentation/devicetree/bindings/media/rockchip-vpu.yaml
> @@ -15,10 +15,13 @@ description:
>  
>  properties:
>    compatible:
> -    enum:
> -      - rockchip,rk3288-vpu
> -      - rockchip,rk3328-vpu
> -      - rockchip,rk3399-vpu
> +    oneOf:
> +      - const: rockchip,rk3288-vpu
> +      - const: rockchip,rk3328-vpu
> +      - const: rockchip,rk3399-vpu
> +      - items:
> +        - const: rockchip,px30-vpu
> +        - const: rockchip,rk3399-vpu
>  
>    reg:
>      maxItems: 1
> @@ -35,12 +38,18 @@ properties:
>            - const: vdpu
>  
>    clocks:
> -    maxItems: 2
> +    minItems: 2
> +    maxItems: 3
>  
>    clock-names:
> -    items:
> -      - const: aclk
> -      - const: hclk
> +    oneOf:
> +      - items:
> +        - const: aclk
> +        - const: hclk
> +      - items:
> +        - const: aclk
> +        - const: hclk
> +        - const: sclk

You could make this:

    clock-names:
      minItems: 2
      items:
        - const: aclk
        - const: hclk
        - const: sclk

And then:

allOf:
  - if:
      properties:
        compatible:
          contains:
            const: rockchip,px30-vpu
    then:
      properties:
        clock-names:
          minItems: 3

to make sure each variant has the correct clocks set.

regards
Philipp

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 1/5] dt-bindings: media: rockchip-rga: Add PX30 compatible
  2021-01-07 13:40   ` Paul Kocialkowski
  (?)
@ 2021-01-07 15:47     ` Rob Herring
  -1 siblings, 0 replies; 57+ messages in thread
From: Rob Herring @ 2021-01-07 15:47 UTC (permalink / raw)
  To: Paul Kocialkowski
  Cc: Greg Kroah-Hartman, Mauro Carvalho Chehab, linux-arm-kernel,
	Jacob Chen, linux-rockchip, devicetree, linux-kernel,
	Heiko Stuebner, Thomas Petazzoni, Ezequiel Garcia, linux-media,
	Philipp Zabel, Rob Herring

On Thu, 07 Jan 2021 14:40:57 +0100, Paul Kocialkowski wrote:
> Add a new compatible for the PX30 Rockchip SoC, which also features
> a RGA block. It is compatible with the RK3288 RGA block.
> 
> Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
> ---
>  Documentation/devicetree/bindings/media/rockchip-rga.yaml | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 

My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:
./Documentation/devicetree/bindings/media/rockchip-rga.yaml:25:13: [warning] wrong indentation: expected 14 but found 12 (indentation)

dtschema/dtc warnings/errors:

See https://patchwork.ozlabs.org/patch/1423299

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit.


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

* Re: [PATCH 3/5] dt-bindings: media: rockchip-vpu: Add PX30 compatible
  2021-01-07 13:40   ` Paul Kocialkowski
  (?)
@ 2021-01-07 15:47     ` Rob Herring
  -1 siblings, 0 replies; 57+ messages in thread
From: Rob Herring @ 2021-01-07 15:47 UTC (permalink / raw)
  To: Paul Kocialkowski
  Cc: Rob Herring, linux-arm-kernel, Jacob Chen, Thomas Petazzoni,
	Mauro Carvalho Chehab, linux-rockchip, Ezequiel Garcia,
	Greg Kroah-Hartman, devicetree, linux-kernel, linux-media,
	Heiko Stuebner, Philipp Zabel

On Thu, 07 Jan 2021 14:40:59 +0100, Paul Kocialkowski wrote:
> The Rockchip PX30 SoC has a Hantro VPU that features a decoder (VDPU2)
> and an encoder (VEPU2). It is similar to the RK3399's VPU but takes an
> extra clock (SCLK).
> 
> Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
> ---
>  .../bindings/media/rockchip-vpu.yaml          | 25 +++++++++++++------
>  1 file changed, 17 insertions(+), 8 deletions(-)
> 

My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:
./Documentation/devicetree/bindings/media/rockchip-vpu.yaml:23:9: [warning] wrong indentation: expected 10 but found 8 (indentation)
./Documentation/devicetree/bindings/media/rockchip-vpu.yaml:47:9: [warning] wrong indentation: expected 10 but found 8 (indentation)
./Documentation/devicetree/bindings/media/rockchip-vpu.yaml:50:9: [warning] wrong indentation: expected 10 but found 8 (indentation)

dtschema/dtc warnings/errors:

See https://patchwork.ozlabs.org/patch/1423300

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit.


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

* Re: [PATCH 1/5] dt-bindings: media: rockchip-rga: Add PX30 compatible
@ 2021-01-07 15:47     ` Rob Herring
  0 siblings, 0 replies; 57+ messages in thread
From: Rob Herring @ 2021-01-07 15:47 UTC (permalink / raw)
  To: Paul Kocialkowski
  Cc: devicetree, Heiko Stuebner, Greg Kroah-Hartman, linux-kernel,
	Rob Herring, linux-rockchip, Jacob Chen, Thomas Petazzoni,
	Philipp Zabel, Mauro Carvalho Chehab, Ezequiel Garcia,
	linux-arm-kernel, linux-media

On Thu, 07 Jan 2021 14:40:57 +0100, Paul Kocialkowski wrote:
> Add a new compatible for the PX30 Rockchip SoC, which also features
> a RGA block. It is compatible with the RK3288 RGA block.
> 
> Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
> ---
>  Documentation/devicetree/bindings/media/rockchip-rga.yaml | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 

My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:
./Documentation/devicetree/bindings/media/rockchip-rga.yaml:25:13: [warning] wrong indentation: expected 14 but found 12 (indentation)

dtschema/dtc warnings/errors:

See https://patchwork.ozlabs.org/patch/1423299

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit.


_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

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

* Re: [PATCH 3/5] dt-bindings: media: rockchip-vpu: Add PX30 compatible
@ 2021-01-07 15:47     ` Rob Herring
  0 siblings, 0 replies; 57+ messages in thread
From: Rob Herring @ 2021-01-07 15:47 UTC (permalink / raw)
  To: Paul Kocialkowski
  Cc: devicetree, Heiko Stuebner, Greg Kroah-Hartman, linux-kernel,
	Rob Herring, linux-rockchip, Jacob Chen, Thomas Petazzoni,
	Philipp Zabel, Mauro Carvalho Chehab, Ezequiel Garcia,
	linux-arm-kernel, linux-media

On Thu, 07 Jan 2021 14:40:59 +0100, Paul Kocialkowski wrote:
> The Rockchip PX30 SoC has a Hantro VPU that features a decoder (VDPU2)
> and an encoder (VEPU2). It is similar to the RK3399's VPU but takes an
> extra clock (SCLK).
> 
> Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
> ---
>  .../bindings/media/rockchip-vpu.yaml          | 25 +++++++++++++------
>  1 file changed, 17 insertions(+), 8 deletions(-)
> 

My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:
./Documentation/devicetree/bindings/media/rockchip-vpu.yaml:23:9: [warning] wrong indentation: expected 10 but found 8 (indentation)
./Documentation/devicetree/bindings/media/rockchip-vpu.yaml:47:9: [warning] wrong indentation: expected 10 but found 8 (indentation)
./Documentation/devicetree/bindings/media/rockchip-vpu.yaml:50:9: [warning] wrong indentation: expected 10 but found 8 (indentation)

dtschema/dtc warnings/errors:

See https://patchwork.ozlabs.org/patch/1423300

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit.


_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

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

* Re: [PATCH 3/5] dt-bindings: media: rockchip-vpu: Add PX30 compatible
@ 2021-01-07 15:47     ` Rob Herring
  0 siblings, 0 replies; 57+ messages in thread
From: Rob Herring @ 2021-01-07 15:47 UTC (permalink / raw)
  To: Paul Kocialkowski
  Cc: devicetree, Heiko Stuebner, Greg Kroah-Hartman, linux-kernel,
	Rob Herring, linux-rockchip, Jacob Chen, Thomas Petazzoni,
	Philipp Zabel, Mauro Carvalho Chehab, Ezequiel Garcia,
	linux-arm-kernel, linux-media

On Thu, 07 Jan 2021 14:40:59 +0100, Paul Kocialkowski wrote:
> The Rockchip PX30 SoC has a Hantro VPU that features a decoder (VDPU2)
> and an encoder (VEPU2). It is similar to the RK3399's VPU but takes an
> extra clock (SCLK).
> 
> Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
> ---
>  .../bindings/media/rockchip-vpu.yaml          | 25 +++++++++++++------
>  1 file changed, 17 insertions(+), 8 deletions(-)
> 

My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:
./Documentation/devicetree/bindings/media/rockchip-vpu.yaml:23:9: [warning] wrong indentation: expected 10 but found 8 (indentation)
./Documentation/devicetree/bindings/media/rockchip-vpu.yaml:47:9: [warning] wrong indentation: expected 10 but found 8 (indentation)
./Documentation/devicetree/bindings/media/rockchip-vpu.yaml:50:9: [warning] wrong indentation: expected 10 but found 8 (indentation)

dtschema/dtc warnings/errors:

See https://patchwork.ozlabs.org/patch/1423300

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit.


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 1/5] dt-bindings: media: rockchip-rga: Add PX30 compatible
@ 2021-01-07 15:47     ` Rob Herring
  0 siblings, 0 replies; 57+ messages in thread
From: Rob Herring @ 2021-01-07 15:47 UTC (permalink / raw)
  To: Paul Kocialkowski
  Cc: devicetree, Heiko Stuebner, Greg Kroah-Hartman, linux-kernel,
	Rob Herring, linux-rockchip, Jacob Chen, Thomas Petazzoni,
	Philipp Zabel, Mauro Carvalho Chehab, Ezequiel Garcia,
	linux-arm-kernel, linux-media

On Thu, 07 Jan 2021 14:40:57 +0100, Paul Kocialkowski wrote:
> Add a new compatible for the PX30 Rockchip SoC, which also features
> a RGA block. It is compatible with the RK3288 RGA block.
> 
> Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
> ---
>  Documentation/devicetree/bindings/media/rockchip-rga.yaml | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 

My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:
./Documentation/devicetree/bindings/media/rockchip-rga.yaml:25:13: [warning] wrong indentation: expected 14 but found 12 (indentation)

dtschema/dtc warnings/errors:

See https://patchwork.ozlabs.org/patch/1423299

This check can fail if there are any dependencies. The base for a patch
series is generally the most recent rc1.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit.


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 5/5] media: hantro: Add support for the Rockchip PX30
  2021-01-07 13:41   ` Paul Kocialkowski
  (?)
@ 2021-01-07 19:08     ` Ezequiel Garcia
  -1 siblings, 0 replies; 57+ messages in thread
From: Ezequiel Garcia @ 2021-01-07 19:08 UTC (permalink / raw)
  To: Paul Kocialkowski, linux-media, linux-rockchip, devicetree,
	linux-arm-kernel, linux-kernel
  Cc: Jacob Chen, Mauro Carvalho Chehab, Rob Herring, Heiko Stuebner,
	Philipp Zabel, Greg Kroah-Hartman, Thomas Petazzoni

Hi Paul,

Happy to see this patch. It was on my TODO list,
but I hadn't had time to bringup my rk3326 device.

A few comments.

On Thu, 2021-01-07 at 14:41 +0100, Paul Kocialkowski wrote:
> The PX30 SoC includes both the VDPU2 and VEPU2 blocks which are similar
> to the RK3399 (Hantro G1/H1 with shuffled registers).
> 
> Besides taking an extra clock, it also shares an interrupt with the IOMMU
> so it's necessary to request the interrupt shared.
> 

Could you clarify on the commit description which iommu device interrupt
line is being shared?

> Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
> ---
>  drivers/staging/media/hantro/hantro_drv.c    |  5 +++--
>  drivers/staging/media/hantro/hantro_hw.h     |  1 +
>  drivers/staging/media/hantro/rk3399_vpu_hw.c | 21 ++++++++++++++++++++
>  3 files changed, 25 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/staging/media/hantro/hantro_drv.c b/drivers/staging/media/hantro/hantro_drv.c
> index e5f200e64993..076a7782b476 100644
> --- a/drivers/staging/media/hantro/hantro_drv.c
> +++ b/drivers/staging/media/hantro/hantro_drv.c
> @@ -472,6 +472,7 @@ static const struct v4l2_file_operations hantro_fops = {
>  
>  static const struct of_device_id of_hantro_match[] = {
>  #ifdef CONFIG_VIDEO_HANTRO_ROCKCHIP
> +       { .compatible = "rockchip,px30-vpu", .data = &px30_vpu_variant, },
>         { .compatible = "rockchip,rk3399-vpu", .data = &rk3399_vpu_variant, },
>         { .compatible = "rockchip,rk3328-vpu", .data = &rk3328_vpu_variant, },
>         { .compatible = "rockchip,rk3288-vpu", .data = &rk3288_vpu_variant, },
> @@ -796,8 +797,8 @@ static int hantro_probe(struct platform_device *pdev)
>                         return -ENXIO;
>  
>                 ret = devm_request_irq(vpu->dev, irq,
> -                                      vpu->variant->irqs[i].handler, 0,
> -                                      dev_name(vpu->dev), vpu);
> +                                      vpu->variant->irqs[i].handler,
> +                                      IRQF_SHARED, dev_name(vpu->dev), vpu);

Maybe this irq flag should be part of vpu->variant? It sounds like an IP block
integration specific thing.

Also, you will need a px30-specific interrupt handler now,
since the rk3399 one is not shared-friendly.

>                 if (ret) {
>                         dev_err(vpu->dev, "Could not request %s IRQ.\n",
>                                 irq_name);
> diff --git a/drivers/staging/media/hantro/hantro_hw.h b/drivers/staging/media/hantro/hantro_hw.h
> index 34c9e4649a25..07f516fd7a2e 100644
> --- a/drivers/staging/media/hantro/hantro_hw.h
> +++ b/drivers/staging/media/hantro/hantro_hw.h
> @@ -148,6 +148,7 @@ enum hantro_enc_fmt {
>         RK3288_VPU_ENC_FMT_UYVY422 = 3,
>  };
>  
> +extern const struct hantro_variant px30_vpu_variant;
>  extern const struct hantro_variant rk3399_vpu_variant;
>  extern const struct hantro_variant rk3328_vpu_variant;
>  extern const struct hantro_variant rk3288_vpu_variant;
> diff --git a/drivers/staging/media/hantro/rk3399_vpu_hw.c b/drivers/staging/media/hantro/rk3399_vpu_hw.c
> index 7a7962cf771e..4112f98baa60 100644
> --- a/drivers/staging/media/hantro/rk3399_vpu_hw.c
> +++ b/drivers/staging/media/hantro/rk3399_vpu_hw.c

Perhaps it's time to rename this to rockchip_vpu_hw.c,
and merge rk3288 and rk3399? It's a nitpick, though.

> @@ -220,3 +220,24 @@ const struct hantro_variant rk3328_vpu_variant = {
>         .clk_names = rk3399_clk_names,
>         .num_clocks = ARRAY_SIZE(rk3399_clk_names),
>  };
> +
> +static const char * const px30_clk_names[] = {
> +       "aclk", "hclk", "sclk"
> +};
> +
> +const struct hantro_variant px30_vpu_variant = {
> +       .enc_offset = 0x0,
> +       .enc_fmts = rk3399_vpu_enc_fmts,
> +       .num_enc_fmts = ARRAY_SIZE(rk3399_vpu_enc_fmts),
> +       .dec_offset = 0x400,
> +       .dec_fmts = rk3399_vpu_dec_fmts,
> +       .num_dec_fmts = ARRAY_SIZE(rk3399_vpu_dec_fmts),
> +       .codec = HANTRO_JPEG_ENCODER | HANTRO_MPEG2_DECODER |
> +                HANTRO_VP8_DECODER,
> +       .codec_ops = rk3399_vpu_codec_ops,
> +       .irqs = rk3399_irqs,
> +       .num_irqs = ARRAY_SIZE(rk3399_irqs),
> +       .init = rk3399_vpu_hw_init,
> +       .clk_names = px30_clk_names,
> +       .num_clocks = ARRAY_SIZE(px30_clk_names)
> +};

Thanks,
Ezequiel


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

* Re: [PATCH 5/5] media: hantro: Add support for the Rockchip PX30
@ 2021-01-07 19:08     ` Ezequiel Garcia
  0 siblings, 0 replies; 57+ messages in thread
From: Ezequiel Garcia @ 2021-01-07 19:08 UTC (permalink / raw)
  To: Paul Kocialkowski, linux-media, linux-rockchip, devicetree,
	linux-arm-kernel, linux-kernel
  Cc: Heiko Stuebner, Greg Kroah-Hartman, Thomas Petazzoni,
	Rob Herring, Jacob Chen, Philipp Zabel, Mauro Carvalho Chehab

Hi Paul,

Happy to see this patch. It was on my TODO list,
but I hadn't had time to bringup my rk3326 device.

A few comments.

On Thu, 2021-01-07 at 14:41 +0100, Paul Kocialkowski wrote:
> The PX30 SoC includes both the VDPU2 and VEPU2 blocks which are similar
> to the RK3399 (Hantro G1/H1 with shuffled registers).
> 
> Besides taking an extra clock, it also shares an interrupt with the IOMMU
> so it's necessary to request the interrupt shared.
> 

Could you clarify on the commit description which iommu device interrupt
line is being shared?

> Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
> ---
>  drivers/staging/media/hantro/hantro_drv.c    |  5 +++--
>  drivers/staging/media/hantro/hantro_hw.h     |  1 +
>  drivers/staging/media/hantro/rk3399_vpu_hw.c | 21 ++++++++++++++++++++
>  3 files changed, 25 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/staging/media/hantro/hantro_drv.c b/drivers/staging/media/hantro/hantro_drv.c
> index e5f200e64993..076a7782b476 100644
> --- a/drivers/staging/media/hantro/hantro_drv.c
> +++ b/drivers/staging/media/hantro/hantro_drv.c
> @@ -472,6 +472,7 @@ static const struct v4l2_file_operations hantro_fops = {
>  
>  static const struct of_device_id of_hantro_match[] = {
>  #ifdef CONFIG_VIDEO_HANTRO_ROCKCHIP
> +       { .compatible = "rockchip,px30-vpu", .data = &px30_vpu_variant, },
>         { .compatible = "rockchip,rk3399-vpu", .data = &rk3399_vpu_variant, },
>         { .compatible = "rockchip,rk3328-vpu", .data = &rk3328_vpu_variant, },
>         { .compatible = "rockchip,rk3288-vpu", .data = &rk3288_vpu_variant, },
> @@ -796,8 +797,8 @@ static int hantro_probe(struct platform_device *pdev)
>                         return -ENXIO;
>  
>                 ret = devm_request_irq(vpu->dev, irq,
> -                                      vpu->variant->irqs[i].handler, 0,
> -                                      dev_name(vpu->dev), vpu);
> +                                      vpu->variant->irqs[i].handler,
> +                                      IRQF_SHARED, dev_name(vpu->dev), vpu);

Maybe this irq flag should be part of vpu->variant? It sounds like an IP block
integration specific thing.

Also, you will need a px30-specific interrupt handler now,
since the rk3399 one is not shared-friendly.

>                 if (ret) {
>                         dev_err(vpu->dev, "Could not request %s IRQ.\n",
>                                 irq_name);
> diff --git a/drivers/staging/media/hantro/hantro_hw.h b/drivers/staging/media/hantro/hantro_hw.h
> index 34c9e4649a25..07f516fd7a2e 100644
> --- a/drivers/staging/media/hantro/hantro_hw.h
> +++ b/drivers/staging/media/hantro/hantro_hw.h
> @@ -148,6 +148,7 @@ enum hantro_enc_fmt {
>         RK3288_VPU_ENC_FMT_UYVY422 = 3,
>  };
>  
> +extern const struct hantro_variant px30_vpu_variant;
>  extern const struct hantro_variant rk3399_vpu_variant;
>  extern const struct hantro_variant rk3328_vpu_variant;
>  extern const struct hantro_variant rk3288_vpu_variant;
> diff --git a/drivers/staging/media/hantro/rk3399_vpu_hw.c b/drivers/staging/media/hantro/rk3399_vpu_hw.c
> index 7a7962cf771e..4112f98baa60 100644
> --- a/drivers/staging/media/hantro/rk3399_vpu_hw.c
> +++ b/drivers/staging/media/hantro/rk3399_vpu_hw.c

Perhaps it's time to rename this to rockchip_vpu_hw.c,
and merge rk3288 and rk3399? It's a nitpick, though.

> @@ -220,3 +220,24 @@ const struct hantro_variant rk3328_vpu_variant = {
>         .clk_names = rk3399_clk_names,
>         .num_clocks = ARRAY_SIZE(rk3399_clk_names),
>  };
> +
> +static const char * const px30_clk_names[] = {
> +       "aclk", "hclk", "sclk"
> +};
> +
> +const struct hantro_variant px30_vpu_variant = {
> +       .enc_offset = 0x0,
> +       .enc_fmts = rk3399_vpu_enc_fmts,
> +       .num_enc_fmts = ARRAY_SIZE(rk3399_vpu_enc_fmts),
> +       .dec_offset = 0x400,
> +       .dec_fmts = rk3399_vpu_dec_fmts,
> +       .num_dec_fmts = ARRAY_SIZE(rk3399_vpu_dec_fmts),
> +       .codec = HANTRO_JPEG_ENCODER | HANTRO_MPEG2_DECODER |
> +                HANTRO_VP8_DECODER,
> +       .codec_ops = rk3399_vpu_codec_ops,
> +       .irqs = rk3399_irqs,
> +       .num_irqs = ARRAY_SIZE(rk3399_irqs),
> +       .init = rk3399_vpu_hw_init,
> +       .clk_names = px30_clk_names,
> +       .num_clocks = ARRAY_SIZE(px30_clk_names)
> +};

Thanks,
Ezequiel


_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

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

* Re: [PATCH 5/5] media: hantro: Add support for the Rockchip PX30
@ 2021-01-07 19:08     ` Ezequiel Garcia
  0 siblings, 0 replies; 57+ messages in thread
From: Ezequiel Garcia @ 2021-01-07 19:08 UTC (permalink / raw)
  To: Paul Kocialkowski, linux-media, linux-rockchip, devicetree,
	linux-arm-kernel, linux-kernel
  Cc: Heiko Stuebner, Greg Kroah-Hartman, Thomas Petazzoni,
	Rob Herring, Jacob Chen, Philipp Zabel, Mauro Carvalho Chehab

Hi Paul,

Happy to see this patch. It was on my TODO list,
but I hadn't had time to bringup my rk3326 device.

A few comments.

On Thu, 2021-01-07 at 14:41 +0100, Paul Kocialkowski wrote:
> The PX30 SoC includes both the VDPU2 and VEPU2 blocks which are similar
> to the RK3399 (Hantro G1/H1 with shuffled registers).
> 
> Besides taking an extra clock, it also shares an interrupt with the IOMMU
> so it's necessary to request the interrupt shared.
> 

Could you clarify on the commit description which iommu device interrupt
line is being shared?

> Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
> ---
>  drivers/staging/media/hantro/hantro_drv.c    |  5 +++--
>  drivers/staging/media/hantro/hantro_hw.h     |  1 +
>  drivers/staging/media/hantro/rk3399_vpu_hw.c | 21 ++++++++++++++++++++
>  3 files changed, 25 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/staging/media/hantro/hantro_drv.c b/drivers/staging/media/hantro/hantro_drv.c
> index e5f200e64993..076a7782b476 100644
> --- a/drivers/staging/media/hantro/hantro_drv.c
> +++ b/drivers/staging/media/hantro/hantro_drv.c
> @@ -472,6 +472,7 @@ static const struct v4l2_file_operations hantro_fops = {
>  
>  static const struct of_device_id of_hantro_match[] = {
>  #ifdef CONFIG_VIDEO_HANTRO_ROCKCHIP
> +       { .compatible = "rockchip,px30-vpu", .data = &px30_vpu_variant, },
>         { .compatible = "rockchip,rk3399-vpu", .data = &rk3399_vpu_variant, },
>         { .compatible = "rockchip,rk3328-vpu", .data = &rk3328_vpu_variant, },
>         { .compatible = "rockchip,rk3288-vpu", .data = &rk3288_vpu_variant, },
> @@ -796,8 +797,8 @@ static int hantro_probe(struct platform_device *pdev)
>                         return -ENXIO;
>  
>                 ret = devm_request_irq(vpu->dev, irq,
> -                                      vpu->variant->irqs[i].handler, 0,
> -                                      dev_name(vpu->dev), vpu);
> +                                      vpu->variant->irqs[i].handler,
> +                                      IRQF_SHARED, dev_name(vpu->dev), vpu);

Maybe this irq flag should be part of vpu->variant? It sounds like an IP block
integration specific thing.

Also, you will need a px30-specific interrupt handler now,
since the rk3399 one is not shared-friendly.

>                 if (ret) {
>                         dev_err(vpu->dev, "Could not request %s IRQ.\n",
>                                 irq_name);
> diff --git a/drivers/staging/media/hantro/hantro_hw.h b/drivers/staging/media/hantro/hantro_hw.h
> index 34c9e4649a25..07f516fd7a2e 100644
> --- a/drivers/staging/media/hantro/hantro_hw.h
> +++ b/drivers/staging/media/hantro/hantro_hw.h
> @@ -148,6 +148,7 @@ enum hantro_enc_fmt {
>         RK3288_VPU_ENC_FMT_UYVY422 = 3,
>  };
>  
> +extern const struct hantro_variant px30_vpu_variant;
>  extern const struct hantro_variant rk3399_vpu_variant;
>  extern const struct hantro_variant rk3328_vpu_variant;
>  extern const struct hantro_variant rk3288_vpu_variant;
> diff --git a/drivers/staging/media/hantro/rk3399_vpu_hw.c b/drivers/staging/media/hantro/rk3399_vpu_hw.c
> index 7a7962cf771e..4112f98baa60 100644
> --- a/drivers/staging/media/hantro/rk3399_vpu_hw.c
> +++ b/drivers/staging/media/hantro/rk3399_vpu_hw.c

Perhaps it's time to rename this to rockchip_vpu_hw.c,
and merge rk3288 and rk3399? It's a nitpick, though.

> @@ -220,3 +220,24 @@ const struct hantro_variant rk3328_vpu_variant = {
>         .clk_names = rk3399_clk_names,
>         .num_clocks = ARRAY_SIZE(rk3399_clk_names),
>  };
> +
> +static const char * const px30_clk_names[] = {
> +       "aclk", "hclk", "sclk"
> +};
> +
> +const struct hantro_variant px30_vpu_variant = {
> +       .enc_offset = 0x0,
> +       .enc_fmts = rk3399_vpu_enc_fmts,
> +       .num_enc_fmts = ARRAY_SIZE(rk3399_vpu_enc_fmts),
> +       .dec_offset = 0x400,
> +       .dec_fmts = rk3399_vpu_dec_fmts,
> +       .num_dec_fmts = ARRAY_SIZE(rk3399_vpu_dec_fmts),
> +       .codec = HANTRO_JPEG_ENCODER | HANTRO_MPEG2_DECODER |
> +                HANTRO_VP8_DECODER,
> +       .codec_ops = rk3399_vpu_codec_ops,
> +       .irqs = rk3399_irqs,
> +       .num_irqs = ARRAY_SIZE(rk3399_irqs),
> +       .init = rk3399_vpu_hw_init,
> +       .clk_names = px30_clk_names,
> +       .num_clocks = ARRAY_SIZE(px30_clk_names)
> +};

Thanks,
Ezequiel


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 5/5] media: hantro: Add support for the Rockchip PX30
  2021-01-07 19:08     ` Ezequiel Garcia
  (?)
@ 2021-01-08  9:05       ` Paul Kocialkowski
  -1 siblings, 0 replies; 57+ messages in thread
From: Paul Kocialkowski @ 2021-01-08  9:05 UTC (permalink / raw)
  To: Ezequiel Garcia
  Cc: linux-media, linux-rockchip, devicetree, linux-arm-kernel,
	linux-kernel, Jacob Chen, Mauro Carvalho Chehab, Rob Herring,
	Heiko Stuebner, Philipp Zabel, Greg Kroah-Hartman,
	Thomas Petazzoni

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

Hi Ezequiel,

On Thu 07 Jan 21, 16:08, Ezequiel Garcia wrote:
> Happy to see this patch. It was on my TODO list,
> but I hadn't had time to bringup my rk3326 device.

Same here, I just had an occasion to use it again these days so I jumped
on it!

> A few comments.
> 
> On Thu, 2021-01-07 at 14:41 +0100, Paul Kocialkowski wrote:
> > The PX30 SoC includes both the VDPU2 and VEPU2 blocks which are similar
> > to the RK3399 (Hantro G1/H1 with shuffled registers).
> > 
> > Besides taking an extra clock, it also shares an interrupt with the IOMMU
> > so it's necessary to request the interrupt shared.
> > 
> 
> Could you clarify on the commit description which iommu device interrupt
> line is being shared?

Sure! It's IRQ 79 of the GIC that's shared with vopl_mmu.
It's not very obvious in the dt commit.

> > Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
> > ---
> >  drivers/staging/media/hantro/hantro_drv.c    |  5 +++--
> >  drivers/staging/media/hantro/hantro_hw.h     |  1 +
> >  drivers/staging/media/hantro/rk3399_vpu_hw.c | 21 ++++++++++++++++++++
> >  3 files changed, 25 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/staging/media/hantro/hantro_drv.c b/drivers/staging/media/hantro/hantro_drv.c
> > index e5f200e64993..076a7782b476 100644
> > --- a/drivers/staging/media/hantro/hantro_drv.c
> > +++ b/drivers/staging/media/hantro/hantro_drv.c
> > @@ -472,6 +472,7 @@ static const struct v4l2_file_operations hantro_fops = {
> >  
> >  static const struct of_device_id of_hantro_match[] = {
> >  #ifdef CONFIG_VIDEO_HANTRO_ROCKCHIP
> > +       { .compatible = "rockchip,px30-vpu", .data = &px30_vpu_variant, },
> >         { .compatible = "rockchip,rk3399-vpu", .data = &rk3399_vpu_variant, },
> >         { .compatible = "rockchip,rk3328-vpu", .data = &rk3328_vpu_variant, },
> >         { .compatible = "rockchip,rk3288-vpu", .data = &rk3288_vpu_variant, },
> > @@ -796,8 +797,8 @@ static int hantro_probe(struct platform_device *pdev)
> >                         return -ENXIO;
> >  
> >                 ret = devm_request_irq(vpu->dev, irq,
> > -                                      vpu->variant->irqs[i].handler, 0,
> > -                                      dev_name(vpu->dev), vpu);
> > +                                      vpu->variant->irqs[i].handler,
> > +                                      IRQF_SHARED, dev_name(vpu->dev), vpu);
> 
> Maybe this irq flag should be part of vpu->variant? It sounds like an IP block
> integration specific thing.

Ah right, I agree that it would be justified. But it would also be simple to
just fix the irq handlers and assume this can generally be the case, because it
feels like a bit of a detail to justify a flag.

Do you think this could be a safe/workable assumption?

> Also, you will need a px30-specific interrupt handler now,
> since the rk3399 one is not shared-friendly.

Yeah I realize I haven't been very careful there and didn't really check that
the IOMMU driver is really safe to handle shared interrupts either. I'll take
a look a that when crafting v2.

> >                 if (ret) {
> >                         dev_err(vpu->dev, "Could not request %s IRQ.\n",
> >                                 irq_name);
> > diff --git a/drivers/staging/media/hantro/hantro_hw.h b/drivers/staging/media/hantro/hantro_hw.h
> > index 34c9e4649a25..07f516fd7a2e 100644
> > --- a/drivers/staging/media/hantro/hantro_hw.h
> > +++ b/drivers/staging/media/hantro/hantro_hw.h
> > @@ -148,6 +148,7 @@ enum hantro_enc_fmt {
> >         RK3288_VPU_ENC_FMT_UYVY422 = 3,
> >  };
> >  
> > +extern const struct hantro_variant px30_vpu_variant;
> >  extern const struct hantro_variant rk3399_vpu_variant;
> >  extern const struct hantro_variant rk3328_vpu_variant;
> >  extern const struct hantro_variant rk3288_vpu_variant;
> > diff --git a/drivers/staging/media/hantro/rk3399_vpu_hw.c b/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > index 7a7962cf771e..4112f98baa60 100644
> > --- a/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > +++ b/drivers/staging/media/hantro/rk3399_vpu_hw.c
> 
> Perhaps it's time to rename this to rockchip_vpu_hw.c,
> and merge rk3288 and rk3399? It's a nitpick, though.

Haha, I was thinking the exact same thing but wasn't sure it would be welcome!

I was thinking of rockchip_vpu2_hw.c or rockchip_vdpu2_hw.c since that's
apparently how it's called in Rockchip terminology: VDPU2 and VEPU2 for the
Hantro G1 and H1 with the shuffled register layout. The rk3288 stuff is
probably VDPU1/VEPU1 and we might want to rename it accordingly as well.

Cheers and thanks for the review!

Paul

> > @@ -220,3 +220,24 @@ const struct hantro_variant rk3328_vpu_variant = {
> >         .clk_names = rk3399_clk_names,
> >         .num_clocks = ARRAY_SIZE(rk3399_clk_names),
> >  };
> > +
> > +static const char * const px30_clk_names[] = {
> > +       "aclk", "hclk", "sclk"
> > +};
> > +
> > +const struct hantro_variant px30_vpu_variant = {
> > +       .enc_offset = 0x0,
> > +       .enc_fmts = rk3399_vpu_enc_fmts,
> > +       .num_enc_fmts = ARRAY_SIZE(rk3399_vpu_enc_fmts),
> > +       .dec_offset = 0x400,
> > +       .dec_fmts = rk3399_vpu_dec_fmts,
> > +       .num_dec_fmts = ARRAY_SIZE(rk3399_vpu_dec_fmts),
> > +       .codec = HANTRO_JPEG_ENCODER | HANTRO_MPEG2_DECODER |
> > +                HANTRO_VP8_DECODER,
> > +       .codec_ops = rk3399_vpu_codec_ops,
> > +       .irqs = rk3399_irqs,
> > +       .num_irqs = ARRAY_SIZE(rk3399_irqs),
> > +       .init = rk3399_vpu_hw_init,
> > +       .clk_names = px30_clk_names,
> > +       .num_clocks = ARRAY_SIZE(px30_clk_names)
> > +};
> 
> Thanks,
> Ezequiel
> 

-- 
Paul Kocialkowski, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com

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

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

* Re: [PATCH 5/5] media: hantro: Add support for the Rockchip PX30
@ 2021-01-08  9:05       ` Paul Kocialkowski
  0 siblings, 0 replies; 57+ messages in thread
From: Paul Kocialkowski @ 2021-01-08  9:05 UTC (permalink / raw)
  To: Ezequiel Garcia
  Cc: devicetree, Heiko Stuebner, Thomas Petazzoni, Greg Kroah-Hartman,
	linux-kernel, Rob Herring, linux-rockchip, Jacob Chen,
	Philipp Zabel, Mauro Carvalho Chehab, linux-arm-kernel,
	linux-media


[-- Attachment #1.1: Type: text/plain, Size: 6312 bytes --]

Hi Ezequiel,

On Thu 07 Jan 21, 16:08, Ezequiel Garcia wrote:
> Happy to see this patch. It was on my TODO list,
> but I hadn't had time to bringup my rk3326 device.

Same here, I just had an occasion to use it again these days so I jumped
on it!

> A few comments.
> 
> On Thu, 2021-01-07 at 14:41 +0100, Paul Kocialkowski wrote:
> > The PX30 SoC includes both the VDPU2 and VEPU2 blocks which are similar
> > to the RK3399 (Hantro G1/H1 with shuffled registers).
> > 
> > Besides taking an extra clock, it also shares an interrupt with the IOMMU
> > so it's necessary to request the interrupt shared.
> > 
> 
> Could you clarify on the commit description which iommu device interrupt
> line is being shared?

Sure! It's IRQ 79 of the GIC that's shared with vopl_mmu.
It's not very obvious in the dt commit.

> > Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
> > ---
> >  drivers/staging/media/hantro/hantro_drv.c    |  5 +++--
> >  drivers/staging/media/hantro/hantro_hw.h     |  1 +
> >  drivers/staging/media/hantro/rk3399_vpu_hw.c | 21 ++++++++++++++++++++
> >  3 files changed, 25 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/staging/media/hantro/hantro_drv.c b/drivers/staging/media/hantro/hantro_drv.c
> > index e5f200e64993..076a7782b476 100644
> > --- a/drivers/staging/media/hantro/hantro_drv.c
> > +++ b/drivers/staging/media/hantro/hantro_drv.c
> > @@ -472,6 +472,7 @@ static const struct v4l2_file_operations hantro_fops = {
> >  
> >  static const struct of_device_id of_hantro_match[] = {
> >  #ifdef CONFIG_VIDEO_HANTRO_ROCKCHIP
> > +       { .compatible = "rockchip,px30-vpu", .data = &px30_vpu_variant, },
> >         { .compatible = "rockchip,rk3399-vpu", .data = &rk3399_vpu_variant, },
> >         { .compatible = "rockchip,rk3328-vpu", .data = &rk3328_vpu_variant, },
> >         { .compatible = "rockchip,rk3288-vpu", .data = &rk3288_vpu_variant, },
> > @@ -796,8 +797,8 @@ static int hantro_probe(struct platform_device *pdev)
> >                         return -ENXIO;
> >  
> >                 ret = devm_request_irq(vpu->dev, irq,
> > -                                      vpu->variant->irqs[i].handler, 0,
> > -                                      dev_name(vpu->dev), vpu);
> > +                                      vpu->variant->irqs[i].handler,
> > +                                      IRQF_SHARED, dev_name(vpu->dev), vpu);
> 
> Maybe this irq flag should be part of vpu->variant? It sounds like an IP block
> integration specific thing.

Ah right, I agree that it would be justified. But it would also be simple to
just fix the irq handlers and assume this can generally be the case, because it
feels like a bit of a detail to justify a flag.

Do you think this could be a safe/workable assumption?

> Also, you will need a px30-specific interrupt handler now,
> since the rk3399 one is not shared-friendly.

Yeah I realize I haven't been very careful there and didn't really check that
the IOMMU driver is really safe to handle shared interrupts either. I'll take
a look a that when crafting v2.

> >                 if (ret) {
> >                         dev_err(vpu->dev, "Could not request %s IRQ.\n",
> >                                 irq_name);
> > diff --git a/drivers/staging/media/hantro/hantro_hw.h b/drivers/staging/media/hantro/hantro_hw.h
> > index 34c9e4649a25..07f516fd7a2e 100644
> > --- a/drivers/staging/media/hantro/hantro_hw.h
> > +++ b/drivers/staging/media/hantro/hantro_hw.h
> > @@ -148,6 +148,7 @@ enum hantro_enc_fmt {
> >         RK3288_VPU_ENC_FMT_UYVY422 = 3,
> >  };
> >  
> > +extern const struct hantro_variant px30_vpu_variant;
> >  extern const struct hantro_variant rk3399_vpu_variant;
> >  extern const struct hantro_variant rk3328_vpu_variant;
> >  extern const struct hantro_variant rk3288_vpu_variant;
> > diff --git a/drivers/staging/media/hantro/rk3399_vpu_hw.c b/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > index 7a7962cf771e..4112f98baa60 100644
> > --- a/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > +++ b/drivers/staging/media/hantro/rk3399_vpu_hw.c
> 
> Perhaps it's time to rename this to rockchip_vpu_hw.c,
> and merge rk3288 and rk3399? It's a nitpick, though.

Haha, I was thinking the exact same thing but wasn't sure it would be welcome!

I was thinking of rockchip_vpu2_hw.c or rockchip_vdpu2_hw.c since that's
apparently how it's called in Rockchip terminology: VDPU2 and VEPU2 for the
Hantro G1 and H1 with the shuffled register layout. The rk3288 stuff is
probably VDPU1/VEPU1 and we might want to rename it accordingly as well.

Cheers and thanks for the review!

Paul

> > @@ -220,3 +220,24 @@ const struct hantro_variant rk3328_vpu_variant = {
> >         .clk_names = rk3399_clk_names,
> >         .num_clocks = ARRAY_SIZE(rk3399_clk_names),
> >  };
> > +
> > +static const char * const px30_clk_names[] = {
> > +       "aclk", "hclk", "sclk"
> > +};
> > +
> > +const struct hantro_variant px30_vpu_variant = {
> > +       .enc_offset = 0x0,
> > +       .enc_fmts = rk3399_vpu_enc_fmts,
> > +       .num_enc_fmts = ARRAY_SIZE(rk3399_vpu_enc_fmts),
> > +       .dec_offset = 0x400,
> > +       .dec_fmts = rk3399_vpu_dec_fmts,
> > +       .num_dec_fmts = ARRAY_SIZE(rk3399_vpu_dec_fmts),
> > +       .codec = HANTRO_JPEG_ENCODER | HANTRO_MPEG2_DECODER |
> > +                HANTRO_VP8_DECODER,
> > +       .codec_ops = rk3399_vpu_codec_ops,
> > +       .irqs = rk3399_irqs,
> > +       .num_irqs = ARRAY_SIZE(rk3399_irqs),
> > +       .init = rk3399_vpu_hw_init,
> > +       .clk_names = px30_clk_names,
> > +       .num_clocks = ARRAY_SIZE(px30_clk_names)
> > +};
> 
> Thanks,
> Ezequiel
> 

-- 
Paul Kocialkowski, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com

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

[-- Attachment #2: Type: text/plain, Size: 170 bytes --]

_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

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

* Re: [PATCH 5/5] media: hantro: Add support for the Rockchip PX30
@ 2021-01-08  9:05       ` Paul Kocialkowski
  0 siblings, 0 replies; 57+ messages in thread
From: Paul Kocialkowski @ 2021-01-08  9:05 UTC (permalink / raw)
  To: Ezequiel Garcia
  Cc: devicetree, Heiko Stuebner, Thomas Petazzoni, Greg Kroah-Hartman,
	linux-kernel, Rob Herring, linux-rockchip, Jacob Chen,
	Philipp Zabel, Mauro Carvalho Chehab, linux-arm-kernel,
	linux-media


[-- Attachment #1.1: Type: text/plain, Size: 6312 bytes --]

Hi Ezequiel,

On Thu 07 Jan 21, 16:08, Ezequiel Garcia wrote:
> Happy to see this patch. It was on my TODO list,
> but I hadn't had time to bringup my rk3326 device.

Same here, I just had an occasion to use it again these days so I jumped
on it!

> A few comments.
> 
> On Thu, 2021-01-07 at 14:41 +0100, Paul Kocialkowski wrote:
> > The PX30 SoC includes both the VDPU2 and VEPU2 blocks which are similar
> > to the RK3399 (Hantro G1/H1 with shuffled registers).
> > 
> > Besides taking an extra clock, it also shares an interrupt with the IOMMU
> > so it's necessary to request the interrupt shared.
> > 
> 
> Could you clarify on the commit description which iommu device interrupt
> line is being shared?

Sure! It's IRQ 79 of the GIC that's shared with vopl_mmu.
It's not very obvious in the dt commit.

> > Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
> > ---
> >  drivers/staging/media/hantro/hantro_drv.c    |  5 +++--
> >  drivers/staging/media/hantro/hantro_hw.h     |  1 +
> >  drivers/staging/media/hantro/rk3399_vpu_hw.c | 21 ++++++++++++++++++++
> >  3 files changed, 25 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/staging/media/hantro/hantro_drv.c b/drivers/staging/media/hantro/hantro_drv.c
> > index e5f200e64993..076a7782b476 100644
> > --- a/drivers/staging/media/hantro/hantro_drv.c
> > +++ b/drivers/staging/media/hantro/hantro_drv.c
> > @@ -472,6 +472,7 @@ static const struct v4l2_file_operations hantro_fops = {
> >  
> >  static const struct of_device_id of_hantro_match[] = {
> >  #ifdef CONFIG_VIDEO_HANTRO_ROCKCHIP
> > +       { .compatible = "rockchip,px30-vpu", .data = &px30_vpu_variant, },
> >         { .compatible = "rockchip,rk3399-vpu", .data = &rk3399_vpu_variant, },
> >         { .compatible = "rockchip,rk3328-vpu", .data = &rk3328_vpu_variant, },
> >         { .compatible = "rockchip,rk3288-vpu", .data = &rk3288_vpu_variant, },
> > @@ -796,8 +797,8 @@ static int hantro_probe(struct platform_device *pdev)
> >                         return -ENXIO;
> >  
> >                 ret = devm_request_irq(vpu->dev, irq,
> > -                                      vpu->variant->irqs[i].handler, 0,
> > -                                      dev_name(vpu->dev), vpu);
> > +                                      vpu->variant->irqs[i].handler,
> > +                                      IRQF_SHARED, dev_name(vpu->dev), vpu);
> 
> Maybe this irq flag should be part of vpu->variant? It sounds like an IP block
> integration specific thing.

Ah right, I agree that it would be justified. But it would also be simple to
just fix the irq handlers and assume this can generally be the case, because it
feels like a bit of a detail to justify a flag.

Do you think this could be a safe/workable assumption?

> Also, you will need a px30-specific interrupt handler now,
> since the rk3399 one is not shared-friendly.

Yeah I realize I haven't been very careful there and didn't really check that
the IOMMU driver is really safe to handle shared interrupts either. I'll take
a look a that when crafting v2.

> >                 if (ret) {
> >                         dev_err(vpu->dev, "Could not request %s IRQ.\n",
> >                                 irq_name);
> > diff --git a/drivers/staging/media/hantro/hantro_hw.h b/drivers/staging/media/hantro/hantro_hw.h
> > index 34c9e4649a25..07f516fd7a2e 100644
> > --- a/drivers/staging/media/hantro/hantro_hw.h
> > +++ b/drivers/staging/media/hantro/hantro_hw.h
> > @@ -148,6 +148,7 @@ enum hantro_enc_fmt {
> >         RK3288_VPU_ENC_FMT_UYVY422 = 3,
> >  };
> >  
> > +extern const struct hantro_variant px30_vpu_variant;
> >  extern const struct hantro_variant rk3399_vpu_variant;
> >  extern const struct hantro_variant rk3328_vpu_variant;
> >  extern const struct hantro_variant rk3288_vpu_variant;
> > diff --git a/drivers/staging/media/hantro/rk3399_vpu_hw.c b/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > index 7a7962cf771e..4112f98baa60 100644
> > --- a/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > +++ b/drivers/staging/media/hantro/rk3399_vpu_hw.c
> 
> Perhaps it's time to rename this to rockchip_vpu_hw.c,
> and merge rk3288 and rk3399? It's a nitpick, though.

Haha, I was thinking the exact same thing but wasn't sure it would be welcome!

I was thinking of rockchip_vpu2_hw.c or rockchip_vdpu2_hw.c since that's
apparently how it's called in Rockchip terminology: VDPU2 and VEPU2 for the
Hantro G1 and H1 with the shuffled register layout. The rk3288 stuff is
probably VDPU1/VEPU1 and we might want to rename it accordingly as well.

Cheers and thanks for the review!

Paul

> > @@ -220,3 +220,24 @@ const struct hantro_variant rk3328_vpu_variant = {
> >         .clk_names = rk3399_clk_names,
> >         .num_clocks = ARRAY_SIZE(rk3399_clk_names),
> >  };
> > +
> > +static const char * const px30_clk_names[] = {
> > +       "aclk", "hclk", "sclk"
> > +};
> > +
> > +const struct hantro_variant px30_vpu_variant = {
> > +       .enc_offset = 0x0,
> > +       .enc_fmts = rk3399_vpu_enc_fmts,
> > +       .num_enc_fmts = ARRAY_SIZE(rk3399_vpu_enc_fmts),
> > +       .dec_offset = 0x400,
> > +       .dec_fmts = rk3399_vpu_dec_fmts,
> > +       .num_dec_fmts = ARRAY_SIZE(rk3399_vpu_dec_fmts),
> > +       .codec = HANTRO_JPEG_ENCODER | HANTRO_MPEG2_DECODER |
> > +                HANTRO_VP8_DECODER,
> > +       .codec_ops = rk3399_vpu_codec_ops,
> > +       .irqs = rk3399_irqs,
> > +       .num_irqs = ARRAY_SIZE(rk3399_irqs),
> > +       .init = rk3399_vpu_hw_init,
> > +       .clk_names = px30_clk_names,
> > +       .num_clocks = ARRAY_SIZE(px30_clk_names)
> > +};
> 
> Thanks,
> Ezequiel
> 

-- 
Paul Kocialkowski, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com

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

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 5/5] media: hantro: Add support for the Rockchip PX30
  2021-01-08  9:05       ` Paul Kocialkowski
  (?)
@ 2021-01-08 10:48         ` Heiko Stübner
  -1 siblings, 0 replies; 57+ messages in thread
From: Heiko Stübner @ 2021-01-08 10:48 UTC (permalink / raw)
  To: Ezequiel Garcia, Paul Kocialkowski
  Cc: linux-media, linux-rockchip, devicetree, linux-arm-kernel,
	linux-kernel, Jacob Chen, Mauro Carvalho Chehab, Rob Herring,
	Philipp Zabel, Greg Kroah-Hartman, Thomas Petazzoni

Am Freitag, 8. Januar 2021, 10:05:16 CET schrieb Paul Kocialkowski:
> Hi Ezequiel,
> 
> On Thu 07 Jan 21, 16:08, Ezequiel Garcia wrote:
> > Happy to see this patch. It was on my TODO list,
> > but I hadn't had time to bringup my rk3326 device.
> 
> Same here, I just had an occasion to use it again these days so I jumped
> on it!
> 
> > A few comments.
> > 
> > On Thu, 2021-01-07 at 14:41 +0100, Paul Kocialkowski wrote:
> > > The PX30 SoC includes both the VDPU2 and VEPU2 blocks which are similar
> > > to the RK3399 (Hantro G1/H1 with shuffled registers).
> > > 
> > > Besides taking an extra clock, it also shares an interrupt with the IOMMU
> > > so it's necessary to request the interrupt shared.
> > > 
> > 
> > Could you clarify on the commit description which iommu device interrupt
> > line is being shared?
> 
> Sure! It's IRQ 79 of the GIC that's shared with vopl_mmu.
> It's not very obvious in the dt commit.

Having looked through the docs again, I think that the vopl_mmu using
irq 79 is just a mistake:

(1) in general vop and vop-mmu use the same irq (78 in that case)
(2) Rockchip does seem to have fixed that in their 4.19 tree as well:
https://github.com/rockchip-linux/kernel/blob/develop-4.19/arch/arm64/boot/dts/rockchip/px30.dtsi#L1598

So to me it looks like this doesn't need to be shared and instead
"simply" the px30 dtsi fixed ;-)


Heiko


> > > Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
> > > ---
> > >  drivers/staging/media/hantro/hantro_drv.c    |  5 +++--
> > >  drivers/staging/media/hantro/hantro_hw.h     |  1 +
> > >  drivers/staging/media/hantro/rk3399_vpu_hw.c | 21 ++++++++++++++++++++
> > >  3 files changed, 25 insertions(+), 2 deletions(-)
> > > 
> > > diff --git a/drivers/staging/media/hantro/hantro_drv.c b/drivers/staging/media/hantro/hantro_drv.c
> > > index e5f200e64993..076a7782b476 100644
> > > --- a/drivers/staging/media/hantro/hantro_drv.c
> > > +++ b/drivers/staging/media/hantro/hantro_drv.c
> > > @@ -472,6 +472,7 @@ static const struct v4l2_file_operations hantro_fops = {
> > >  
> > >  static const struct of_device_id of_hantro_match[] = {
> > >  #ifdef CONFIG_VIDEO_HANTRO_ROCKCHIP
> > > +       { .compatible = "rockchip,px30-vpu", .data = &px30_vpu_variant, },
> > >         { .compatible = "rockchip,rk3399-vpu", .data = &rk3399_vpu_variant, },
> > >         { .compatible = "rockchip,rk3328-vpu", .data = &rk3328_vpu_variant, },
> > >         { .compatible = "rockchip,rk3288-vpu", .data = &rk3288_vpu_variant, },
> > > @@ -796,8 +797,8 @@ static int hantro_probe(struct platform_device *pdev)
> > >                         return -ENXIO;
> > >  
> > >                 ret = devm_request_irq(vpu->dev, irq,
> > > -                                      vpu->variant->irqs[i].handler, 0,
> > > -                                      dev_name(vpu->dev), vpu);
> > > +                                      vpu->variant->irqs[i].handler,
> > > +                                      IRQF_SHARED, dev_name(vpu->dev), vpu);
> > 
> > Maybe this irq flag should be part of vpu->variant? It sounds like an IP block
> > integration specific thing.
> 
> Ah right, I agree that it would be justified. But it would also be simple to
> just fix the irq handlers and assume this can generally be the case, because it
> feels like a bit of a detail to justify a flag.
> 
> Do you think this could be a safe/workable assumption?
> 
> > Also, you will need a px30-specific interrupt handler now,
> > since the rk3399 one is not shared-friendly.
> 
> Yeah I realize I haven't been very careful there and didn't really check that
> the IOMMU driver is really safe to handle shared interrupts either. I'll take
> a look a that when crafting v2.
> 
> > >                 if (ret) {
> > >                         dev_err(vpu->dev, "Could not request %s IRQ.\n",
> > >                                 irq_name);
> > > diff --git a/drivers/staging/media/hantro/hantro_hw.h b/drivers/staging/media/hantro/hantro_hw.h
> > > index 34c9e4649a25..07f516fd7a2e 100644
> > > --- a/drivers/staging/media/hantro/hantro_hw.h
> > > +++ b/drivers/staging/media/hantro/hantro_hw.h
> > > @@ -148,6 +148,7 @@ enum hantro_enc_fmt {
> > >         RK3288_VPU_ENC_FMT_UYVY422 = 3,
> > >  };
> > >  
> > > +extern const struct hantro_variant px30_vpu_variant;
> > >  extern const struct hantro_variant rk3399_vpu_variant;
> > >  extern const struct hantro_variant rk3328_vpu_variant;
> > >  extern const struct hantro_variant rk3288_vpu_variant;
> > > diff --git a/drivers/staging/media/hantro/rk3399_vpu_hw.c b/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > > index 7a7962cf771e..4112f98baa60 100644
> > > --- a/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > > +++ b/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > 
> > Perhaps it's time to rename this to rockchip_vpu_hw.c,
> > and merge rk3288 and rk3399? It's a nitpick, though.
> 
> Haha, I was thinking the exact same thing but wasn't sure it would be welcome!
> 
> I was thinking of rockchip_vpu2_hw.c or rockchip_vdpu2_hw.c since that's
> apparently how it's called in Rockchip terminology: VDPU2 and VEPU2 for the
> Hantro G1 and H1 with the shuffled register layout. The rk3288 stuff is
> probably VDPU1/VEPU1 and we might want to rename it accordingly as well.
> 
> Cheers and thanks for the review!
> 
> Paul
> 
> > > @@ -220,3 +220,24 @@ const struct hantro_variant rk3328_vpu_variant = {
> > >         .clk_names = rk3399_clk_names,
> > >         .num_clocks = ARRAY_SIZE(rk3399_clk_names),
> > >  };
> > > +
> > > +static const char * const px30_clk_names[] = {
> > > +       "aclk", "hclk", "sclk"
> > > +};
> > > +
> > > +const struct hantro_variant px30_vpu_variant = {
> > > +       .enc_offset = 0x0,
> > > +       .enc_fmts = rk3399_vpu_enc_fmts,
> > > +       .num_enc_fmts = ARRAY_SIZE(rk3399_vpu_enc_fmts),
> > > +       .dec_offset = 0x400,
> > > +       .dec_fmts = rk3399_vpu_dec_fmts,
> > > +       .num_dec_fmts = ARRAY_SIZE(rk3399_vpu_dec_fmts),
> > > +       .codec = HANTRO_JPEG_ENCODER | HANTRO_MPEG2_DECODER |
> > > +                HANTRO_VP8_DECODER,
> > > +       .codec_ops = rk3399_vpu_codec_ops,
> > > +       .irqs = rk3399_irqs,
> > > +       .num_irqs = ARRAY_SIZE(rk3399_irqs),
> > > +       .init = rk3399_vpu_hw_init,
> > > +       .clk_names = px30_clk_names,
> > > +       .num_clocks = ARRAY_SIZE(px30_clk_names)
> > > +};
> > 
> > Thanks,
> > Ezequiel
> > 
> 
> 





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

* Re: [PATCH 5/5] media: hantro: Add support for the Rockchip PX30
@ 2021-01-08 10:48         ` Heiko Stübner
  0 siblings, 0 replies; 57+ messages in thread
From: Heiko Stübner @ 2021-01-08 10:48 UTC (permalink / raw)
  To: Ezequiel Garcia, Paul Kocialkowski
  Cc: devicetree, Thomas Petazzoni, Greg Kroah-Hartman, linux-kernel,
	Rob Herring, linux-rockchip, Jacob Chen, Philipp Zabel,
	Mauro Carvalho Chehab, linux-arm-kernel, linux-media

Am Freitag, 8. Januar 2021, 10:05:16 CET schrieb Paul Kocialkowski:
> Hi Ezequiel,
> 
> On Thu 07 Jan 21, 16:08, Ezequiel Garcia wrote:
> > Happy to see this patch. It was on my TODO list,
> > but I hadn't had time to bringup my rk3326 device.
> 
> Same here, I just had an occasion to use it again these days so I jumped
> on it!
> 
> > A few comments.
> > 
> > On Thu, 2021-01-07 at 14:41 +0100, Paul Kocialkowski wrote:
> > > The PX30 SoC includes both the VDPU2 and VEPU2 blocks which are similar
> > > to the RK3399 (Hantro G1/H1 with shuffled registers).
> > > 
> > > Besides taking an extra clock, it also shares an interrupt with the IOMMU
> > > so it's necessary to request the interrupt shared.
> > > 
> > 
> > Could you clarify on the commit description which iommu device interrupt
> > line is being shared?
> 
> Sure! It's IRQ 79 of the GIC that's shared with vopl_mmu.
> It's not very obvious in the dt commit.

Having looked through the docs again, I think that the vopl_mmu using
irq 79 is just a mistake:

(1) in general vop and vop-mmu use the same irq (78 in that case)
(2) Rockchip does seem to have fixed that in their 4.19 tree as well:
https://github.com/rockchip-linux/kernel/blob/develop-4.19/arch/arm64/boot/dts/rockchip/px30.dtsi#L1598

So to me it looks like this doesn't need to be shared and instead
"simply" the px30 dtsi fixed ;-)


Heiko


> > > Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
> > > ---
> > >  drivers/staging/media/hantro/hantro_drv.c    |  5 +++--
> > >  drivers/staging/media/hantro/hantro_hw.h     |  1 +
> > >  drivers/staging/media/hantro/rk3399_vpu_hw.c | 21 ++++++++++++++++++++
> > >  3 files changed, 25 insertions(+), 2 deletions(-)
> > > 
> > > diff --git a/drivers/staging/media/hantro/hantro_drv.c b/drivers/staging/media/hantro/hantro_drv.c
> > > index e5f200e64993..076a7782b476 100644
> > > --- a/drivers/staging/media/hantro/hantro_drv.c
> > > +++ b/drivers/staging/media/hantro/hantro_drv.c
> > > @@ -472,6 +472,7 @@ static const struct v4l2_file_operations hantro_fops = {
> > >  
> > >  static const struct of_device_id of_hantro_match[] = {
> > >  #ifdef CONFIG_VIDEO_HANTRO_ROCKCHIP
> > > +       { .compatible = "rockchip,px30-vpu", .data = &px30_vpu_variant, },
> > >         { .compatible = "rockchip,rk3399-vpu", .data = &rk3399_vpu_variant, },
> > >         { .compatible = "rockchip,rk3328-vpu", .data = &rk3328_vpu_variant, },
> > >         { .compatible = "rockchip,rk3288-vpu", .data = &rk3288_vpu_variant, },
> > > @@ -796,8 +797,8 @@ static int hantro_probe(struct platform_device *pdev)
> > >                         return -ENXIO;
> > >  
> > >                 ret = devm_request_irq(vpu->dev, irq,
> > > -                                      vpu->variant->irqs[i].handler, 0,
> > > -                                      dev_name(vpu->dev), vpu);
> > > +                                      vpu->variant->irqs[i].handler,
> > > +                                      IRQF_SHARED, dev_name(vpu->dev), vpu);
> > 
> > Maybe this irq flag should be part of vpu->variant? It sounds like an IP block
> > integration specific thing.
> 
> Ah right, I agree that it would be justified. But it would also be simple to
> just fix the irq handlers and assume this can generally be the case, because it
> feels like a bit of a detail to justify a flag.
> 
> Do you think this could be a safe/workable assumption?
> 
> > Also, you will need a px30-specific interrupt handler now,
> > since the rk3399 one is not shared-friendly.
> 
> Yeah I realize I haven't been very careful there and didn't really check that
> the IOMMU driver is really safe to handle shared interrupts either. I'll take
> a look a that when crafting v2.
> 
> > >                 if (ret) {
> > >                         dev_err(vpu->dev, "Could not request %s IRQ.\n",
> > >                                 irq_name);
> > > diff --git a/drivers/staging/media/hantro/hantro_hw.h b/drivers/staging/media/hantro/hantro_hw.h
> > > index 34c9e4649a25..07f516fd7a2e 100644
> > > --- a/drivers/staging/media/hantro/hantro_hw.h
> > > +++ b/drivers/staging/media/hantro/hantro_hw.h
> > > @@ -148,6 +148,7 @@ enum hantro_enc_fmt {
> > >         RK3288_VPU_ENC_FMT_UYVY422 = 3,
> > >  };
> > >  
> > > +extern const struct hantro_variant px30_vpu_variant;
> > >  extern const struct hantro_variant rk3399_vpu_variant;
> > >  extern const struct hantro_variant rk3328_vpu_variant;
> > >  extern const struct hantro_variant rk3288_vpu_variant;
> > > diff --git a/drivers/staging/media/hantro/rk3399_vpu_hw.c b/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > > index 7a7962cf771e..4112f98baa60 100644
> > > --- a/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > > +++ b/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > 
> > Perhaps it's time to rename this to rockchip_vpu_hw.c,
> > and merge rk3288 and rk3399? It's a nitpick, though.
> 
> Haha, I was thinking the exact same thing but wasn't sure it would be welcome!
> 
> I was thinking of rockchip_vpu2_hw.c or rockchip_vdpu2_hw.c since that's
> apparently how it's called in Rockchip terminology: VDPU2 and VEPU2 for the
> Hantro G1 and H1 with the shuffled register layout. The rk3288 stuff is
> probably VDPU1/VEPU1 and we might want to rename it accordingly as well.
> 
> Cheers and thanks for the review!
> 
> Paul
> 
> > > @@ -220,3 +220,24 @@ const struct hantro_variant rk3328_vpu_variant = {
> > >         .clk_names = rk3399_clk_names,
> > >         .num_clocks = ARRAY_SIZE(rk3399_clk_names),
> > >  };
> > > +
> > > +static const char * const px30_clk_names[] = {
> > > +       "aclk", "hclk", "sclk"
> > > +};
> > > +
> > > +const struct hantro_variant px30_vpu_variant = {
> > > +       .enc_offset = 0x0,
> > > +       .enc_fmts = rk3399_vpu_enc_fmts,
> > > +       .num_enc_fmts = ARRAY_SIZE(rk3399_vpu_enc_fmts),
> > > +       .dec_offset = 0x400,
> > > +       .dec_fmts = rk3399_vpu_dec_fmts,
> > > +       .num_dec_fmts = ARRAY_SIZE(rk3399_vpu_dec_fmts),
> > > +       .codec = HANTRO_JPEG_ENCODER | HANTRO_MPEG2_DECODER |
> > > +                HANTRO_VP8_DECODER,
> > > +       .codec_ops = rk3399_vpu_codec_ops,
> > > +       .irqs = rk3399_irqs,
> > > +       .num_irqs = ARRAY_SIZE(rk3399_irqs),
> > > +       .init = rk3399_vpu_hw_init,
> > > +       .clk_names = px30_clk_names,
> > > +       .num_clocks = ARRAY_SIZE(px30_clk_names)
> > > +};
> > 
> > Thanks,
> > Ezequiel
> > 
> 
> 





_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

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

* Re: [PATCH 5/5] media: hantro: Add support for the Rockchip PX30
@ 2021-01-08 10:48         ` Heiko Stübner
  0 siblings, 0 replies; 57+ messages in thread
From: Heiko Stübner @ 2021-01-08 10:48 UTC (permalink / raw)
  To: Ezequiel Garcia, Paul Kocialkowski
  Cc: devicetree, Thomas Petazzoni, Greg Kroah-Hartman, linux-kernel,
	Rob Herring, linux-rockchip, Jacob Chen, Philipp Zabel,
	Mauro Carvalho Chehab, linux-arm-kernel, linux-media

Am Freitag, 8. Januar 2021, 10:05:16 CET schrieb Paul Kocialkowski:
> Hi Ezequiel,
> 
> On Thu 07 Jan 21, 16:08, Ezequiel Garcia wrote:
> > Happy to see this patch. It was on my TODO list,
> > but I hadn't had time to bringup my rk3326 device.
> 
> Same here, I just had an occasion to use it again these days so I jumped
> on it!
> 
> > A few comments.
> > 
> > On Thu, 2021-01-07 at 14:41 +0100, Paul Kocialkowski wrote:
> > > The PX30 SoC includes both the VDPU2 and VEPU2 blocks which are similar
> > > to the RK3399 (Hantro G1/H1 with shuffled registers).
> > > 
> > > Besides taking an extra clock, it also shares an interrupt with the IOMMU
> > > so it's necessary to request the interrupt shared.
> > > 
> > 
> > Could you clarify on the commit description which iommu device interrupt
> > line is being shared?
> 
> Sure! It's IRQ 79 of the GIC that's shared with vopl_mmu.
> It's not very obvious in the dt commit.

Having looked through the docs again, I think that the vopl_mmu using
irq 79 is just a mistake:

(1) in general vop and vop-mmu use the same irq (78 in that case)
(2) Rockchip does seem to have fixed that in their 4.19 tree as well:
https://github.com/rockchip-linux/kernel/blob/develop-4.19/arch/arm64/boot/dts/rockchip/px30.dtsi#L1598

So to me it looks like this doesn't need to be shared and instead
"simply" the px30 dtsi fixed ;-)


Heiko


> > > Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
> > > ---
> > >  drivers/staging/media/hantro/hantro_drv.c    |  5 +++--
> > >  drivers/staging/media/hantro/hantro_hw.h     |  1 +
> > >  drivers/staging/media/hantro/rk3399_vpu_hw.c | 21 ++++++++++++++++++++
> > >  3 files changed, 25 insertions(+), 2 deletions(-)
> > > 
> > > diff --git a/drivers/staging/media/hantro/hantro_drv.c b/drivers/staging/media/hantro/hantro_drv.c
> > > index e5f200e64993..076a7782b476 100644
> > > --- a/drivers/staging/media/hantro/hantro_drv.c
> > > +++ b/drivers/staging/media/hantro/hantro_drv.c
> > > @@ -472,6 +472,7 @@ static const struct v4l2_file_operations hantro_fops = {
> > >  
> > >  static const struct of_device_id of_hantro_match[] = {
> > >  #ifdef CONFIG_VIDEO_HANTRO_ROCKCHIP
> > > +       { .compatible = "rockchip,px30-vpu", .data = &px30_vpu_variant, },
> > >         { .compatible = "rockchip,rk3399-vpu", .data = &rk3399_vpu_variant, },
> > >         { .compatible = "rockchip,rk3328-vpu", .data = &rk3328_vpu_variant, },
> > >         { .compatible = "rockchip,rk3288-vpu", .data = &rk3288_vpu_variant, },
> > > @@ -796,8 +797,8 @@ static int hantro_probe(struct platform_device *pdev)
> > >                         return -ENXIO;
> > >  
> > >                 ret = devm_request_irq(vpu->dev, irq,
> > > -                                      vpu->variant->irqs[i].handler, 0,
> > > -                                      dev_name(vpu->dev), vpu);
> > > +                                      vpu->variant->irqs[i].handler,
> > > +                                      IRQF_SHARED, dev_name(vpu->dev), vpu);
> > 
> > Maybe this irq flag should be part of vpu->variant? It sounds like an IP block
> > integration specific thing.
> 
> Ah right, I agree that it would be justified. But it would also be simple to
> just fix the irq handlers and assume this can generally be the case, because it
> feels like a bit of a detail to justify a flag.
> 
> Do you think this could be a safe/workable assumption?
> 
> > Also, you will need a px30-specific interrupt handler now,
> > since the rk3399 one is not shared-friendly.
> 
> Yeah I realize I haven't been very careful there and didn't really check that
> the IOMMU driver is really safe to handle shared interrupts either. I'll take
> a look a that when crafting v2.
> 
> > >                 if (ret) {
> > >                         dev_err(vpu->dev, "Could not request %s IRQ.\n",
> > >                                 irq_name);
> > > diff --git a/drivers/staging/media/hantro/hantro_hw.h b/drivers/staging/media/hantro/hantro_hw.h
> > > index 34c9e4649a25..07f516fd7a2e 100644
> > > --- a/drivers/staging/media/hantro/hantro_hw.h
> > > +++ b/drivers/staging/media/hantro/hantro_hw.h
> > > @@ -148,6 +148,7 @@ enum hantro_enc_fmt {
> > >         RK3288_VPU_ENC_FMT_UYVY422 = 3,
> > >  };
> > >  
> > > +extern const struct hantro_variant px30_vpu_variant;
> > >  extern const struct hantro_variant rk3399_vpu_variant;
> > >  extern const struct hantro_variant rk3328_vpu_variant;
> > >  extern const struct hantro_variant rk3288_vpu_variant;
> > > diff --git a/drivers/staging/media/hantro/rk3399_vpu_hw.c b/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > > index 7a7962cf771e..4112f98baa60 100644
> > > --- a/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > > +++ b/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > 
> > Perhaps it's time to rename this to rockchip_vpu_hw.c,
> > and merge rk3288 and rk3399? It's a nitpick, though.
> 
> Haha, I was thinking the exact same thing but wasn't sure it would be welcome!
> 
> I was thinking of rockchip_vpu2_hw.c or rockchip_vdpu2_hw.c since that's
> apparently how it's called in Rockchip terminology: VDPU2 and VEPU2 for the
> Hantro G1 and H1 with the shuffled register layout. The rk3288 stuff is
> probably VDPU1/VEPU1 and we might want to rename it accordingly as well.
> 
> Cheers and thanks for the review!
> 
> Paul
> 
> > > @@ -220,3 +220,24 @@ const struct hantro_variant rk3328_vpu_variant = {
> > >         .clk_names = rk3399_clk_names,
> > >         .num_clocks = ARRAY_SIZE(rk3399_clk_names),
> > >  };
> > > +
> > > +static const char * const px30_clk_names[] = {
> > > +       "aclk", "hclk", "sclk"
> > > +};
> > > +
> > > +const struct hantro_variant px30_vpu_variant = {
> > > +       .enc_offset = 0x0,
> > > +       .enc_fmts = rk3399_vpu_enc_fmts,
> > > +       .num_enc_fmts = ARRAY_SIZE(rk3399_vpu_enc_fmts),
> > > +       .dec_offset = 0x400,
> > > +       .dec_fmts = rk3399_vpu_dec_fmts,
> > > +       .num_dec_fmts = ARRAY_SIZE(rk3399_vpu_dec_fmts),
> > > +       .codec = HANTRO_JPEG_ENCODER | HANTRO_MPEG2_DECODER |
> > > +                HANTRO_VP8_DECODER,
> > > +       .codec_ops = rk3399_vpu_codec_ops,
> > > +       .irqs = rk3399_irqs,
> > > +       .num_irqs = ARRAY_SIZE(rk3399_irqs),
> > > +       .init = rk3399_vpu_hw_init,
> > > +       .clk_names = px30_clk_names,
> > > +       .num_clocks = ARRAY_SIZE(px30_clk_names)
> > > +};
> > 
> > Thanks,
> > Ezequiel
> > 
> 
> 





_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 5/5] media: hantro: Add support for the Rockchip PX30
  2021-01-08 10:48         ` Heiko Stübner
  (?)
@ 2021-01-08 10:49           ` Heiko Stübner
  -1 siblings, 0 replies; 57+ messages in thread
From: Heiko Stübner @ 2021-01-08 10:49 UTC (permalink / raw)
  To: Ezequiel Garcia, Paul Kocialkowski
  Cc: linux-media, linux-rockchip, devicetree, linux-arm-kernel,
	linux-kernel, Jacob Chen, Mauro Carvalho Chehab, Rob Herring,
	Philipp Zabel, Greg Kroah-Hartman, Thomas Petazzoni

Am Freitag, 8. Januar 2021, 11:48:26 CET schrieb Heiko Stübner:
> Am Freitag, 8. Januar 2021, 10:05:16 CET schrieb Paul Kocialkowski:
> > Hi Ezequiel,
> > 
> > On Thu 07 Jan 21, 16:08, Ezequiel Garcia wrote:
> > > Happy to see this patch. It was on my TODO list,
> > > but I hadn't had time to bringup my rk3326 device.
> > 
> > Same here, I just had an occasion to use it again these days so I jumped
> > on it!
> > 
> > > A few comments.
> > > 
> > > On Thu, 2021-01-07 at 14:41 +0100, Paul Kocialkowski wrote:
> > > > The PX30 SoC includes both the VDPU2 and VEPU2 blocks which are similar
> > > > to the RK3399 (Hantro G1/H1 with shuffled registers).
> > > > 
> > > > Besides taking an extra clock, it also shares an interrupt with the IOMMU
> > > > so it's necessary to request the interrupt shared.
> > > > 
> > > 
> > > Could you clarify on the commit description which iommu device interrupt
> > > line is being shared?
> > 
> > Sure! It's IRQ 79 of the GIC that's shared with vopl_mmu.
> > It's not very obvious in the dt commit.
> 
> Having looked through the docs again, I think that the vopl_mmu using
> irq 79 is just a mistake:
> 
> (1) in general vop and vop-mmu use the same irq (78 in that case)
> (2) Rockchip does seem to have fixed that in their 4.19 tree as well:
> https://github.com/rockchip-linux/kernel/blob/develop-4.19/arch/arm64/boot/dts/rockchip/px30.dtsi#L1598

(3) https://github.com/rockchip-linux/kernel/commit/391a5c5f96d177896f9fe92ca1c83e00f4352191 ;-)

> 
> So to me it looks like this doesn't need to be shared and instead
> "simply" the px30 dtsi fixed ;-)
> 
> 
> Heiko
> 
> 
> > > > Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
> > > > ---
> > > >  drivers/staging/media/hantro/hantro_drv.c    |  5 +++--
> > > >  drivers/staging/media/hantro/hantro_hw.h     |  1 +
> > > >  drivers/staging/media/hantro/rk3399_vpu_hw.c | 21 ++++++++++++++++++++
> > > >  3 files changed, 25 insertions(+), 2 deletions(-)
> > > > 
> > > > diff --git a/drivers/staging/media/hantro/hantro_drv.c b/drivers/staging/media/hantro/hantro_drv.c
> > > > index e5f200e64993..076a7782b476 100644
> > > > --- a/drivers/staging/media/hantro/hantro_drv.c
> > > > +++ b/drivers/staging/media/hantro/hantro_drv.c
> > > > @@ -472,6 +472,7 @@ static const struct v4l2_file_operations hantro_fops = {
> > > >  
> > > >  static const struct of_device_id of_hantro_match[] = {
> > > >  #ifdef CONFIG_VIDEO_HANTRO_ROCKCHIP
> > > > +       { .compatible = "rockchip,px30-vpu", .data = &px30_vpu_variant, },
> > > >         { .compatible = "rockchip,rk3399-vpu", .data = &rk3399_vpu_variant, },
> > > >         { .compatible = "rockchip,rk3328-vpu", .data = &rk3328_vpu_variant, },
> > > >         { .compatible = "rockchip,rk3288-vpu", .data = &rk3288_vpu_variant, },
> > > > @@ -796,8 +797,8 @@ static int hantro_probe(struct platform_device *pdev)
> > > >                         return -ENXIO;
> > > >  
> > > >                 ret = devm_request_irq(vpu->dev, irq,
> > > > -                                      vpu->variant->irqs[i].handler, 0,
> > > > -                                      dev_name(vpu->dev), vpu);
> > > > +                                      vpu->variant->irqs[i].handler,
> > > > +                                      IRQF_SHARED, dev_name(vpu->dev), vpu);
> > > 
> > > Maybe this irq flag should be part of vpu->variant? It sounds like an IP block
> > > integration specific thing.
> > 
> > Ah right, I agree that it would be justified. But it would also be simple to
> > just fix the irq handlers and assume this can generally be the case, because it
> > feels like a bit of a detail to justify a flag.
> > 
> > Do you think this could be a safe/workable assumption?
> > 
> > > Also, you will need a px30-specific interrupt handler now,
> > > since the rk3399 one is not shared-friendly.
> > 
> > Yeah I realize I haven't been very careful there and didn't really check that
> > the IOMMU driver is really safe to handle shared interrupts either. I'll take
> > a look a that when crafting v2.
> > 
> > > >                 if (ret) {
> > > >                         dev_err(vpu->dev, "Could not request %s IRQ.\n",
> > > >                                 irq_name);
> > > > diff --git a/drivers/staging/media/hantro/hantro_hw.h b/drivers/staging/media/hantro/hantro_hw.h
> > > > index 34c9e4649a25..07f516fd7a2e 100644
> > > > --- a/drivers/staging/media/hantro/hantro_hw.h
> > > > +++ b/drivers/staging/media/hantro/hantro_hw.h
> > > > @@ -148,6 +148,7 @@ enum hantro_enc_fmt {
> > > >         RK3288_VPU_ENC_FMT_UYVY422 = 3,
> > > >  };
> > > >  
> > > > +extern const struct hantro_variant px30_vpu_variant;
> > > >  extern const struct hantro_variant rk3399_vpu_variant;
> > > >  extern const struct hantro_variant rk3328_vpu_variant;
> > > >  extern const struct hantro_variant rk3288_vpu_variant;
> > > > diff --git a/drivers/staging/media/hantro/rk3399_vpu_hw.c b/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > > > index 7a7962cf771e..4112f98baa60 100644
> > > > --- a/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > > > +++ b/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > > 
> > > Perhaps it's time to rename this to rockchip_vpu_hw.c,
> > > and merge rk3288 and rk3399? It's a nitpick, though.
> > 
> > Haha, I was thinking the exact same thing but wasn't sure it would be welcome!
> > 
> > I was thinking of rockchip_vpu2_hw.c or rockchip_vdpu2_hw.c since that's
> > apparently how it's called in Rockchip terminology: VDPU2 and VEPU2 for the
> > Hantro G1 and H1 with the shuffled register layout. The rk3288 stuff is
> > probably VDPU1/VEPU1 and we might want to rename it accordingly as well.
> > 
> > Cheers and thanks for the review!
> > 
> > Paul
> > 
> > > > @@ -220,3 +220,24 @@ const struct hantro_variant rk3328_vpu_variant = {
> > > >         .clk_names = rk3399_clk_names,
> > > >         .num_clocks = ARRAY_SIZE(rk3399_clk_names),
> > > >  };
> > > > +
> > > > +static const char * const px30_clk_names[] = {
> > > > +       "aclk", "hclk", "sclk"
> > > > +};
> > > > +
> > > > +const struct hantro_variant px30_vpu_variant = {
> > > > +       .enc_offset = 0x0,
> > > > +       .enc_fmts = rk3399_vpu_enc_fmts,
> > > > +       .num_enc_fmts = ARRAY_SIZE(rk3399_vpu_enc_fmts),
> > > > +       .dec_offset = 0x400,
> > > > +       .dec_fmts = rk3399_vpu_dec_fmts,
> > > > +       .num_dec_fmts = ARRAY_SIZE(rk3399_vpu_dec_fmts),
> > > > +       .codec = HANTRO_JPEG_ENCODER | HANTRO_MPEG2_DECODER |
> > > > +                HANTRO_VP8_DECODER,
> > > > +       .codec_ops = rk3399_vpu_codec_ops,
> > > > +       .irqs = rk3399_irqs,
> > > > +       .num_irqs = ARRAY_SIZE(rk3399_irqs),
> > > > +       .init = rk3399_vpu_hw_init,
> > > > +       .clk_names = px30_clk_names,
> > > > +       .num_clocks = ARRAY_SIZE(px30_clk_names)
> > > > +};
> > > 
> > > Thanks,
> > > Ezequiel
> > > 
> > 
> > 
> 
> 





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

* Re: [PATCH 5/5] media: hantro: Add support for the Rockchip PX30
@ 2021-01-08 10:49           ` Heiko Stübner
  0 siblings, 0 replies; 57+ messages in thread
From: Heiko Stübner @ 2021-01-08 10:49 UTC (permalink / raw)
  To: Ezequiel Garcia, Paul Kocialkowski
  Cc: devicetree, Thomas Petazzoni, Greg Kroah-Hartman, linux-kernel,
	Rob Herring, linux-rockchip, Jacob Chen, Philipp Zabel,
	Mauro Carvalho Chehab, linux-arm-kernel, linux-media

Am Freitag, 8. Januar 2021, 11:48:26 CET schrieb Heiko Stübner:
> Am Freitag, 8. Januar 2021, 10:05:16 CET schrieb Paul Kocialkowski:
> > Hi Ezequiel,
> > 
> > On Thu 07 Jan 21, 16:08, Ezequiel Garcia wrote:
> > > Happy to see this patch. It was on my TODO list,
> > > but I hadn't had time to bringup my rk3326 device.
> > 
> > Same here, I just had an occasion to use it again these days so I jumped
> > on it!
> > 
> > > A few comments.
> > > 
> > > On Thu, 2021-01-07 at 14:41 +0100, Paul Kocialkowski wrote:
> > > > The PX30 SoC includes both the VDPU2 and VEPU2 blocks which are similar
> > > > to the RK3399 (Hantro G1/H1 with shuffled registers).
> > > > 
> > > > Besides taking an extra clock, it also shares an interrupt with the IOMMU
> > > > so it's necessary to request the interrupt shared.
> > > > 
> > > 
> > > Could you clarify on the commit description which iommu device interrupt
> > > line is being shared?
> > 
> > Sure! It's IRQ 79 of the GIC that's shared with vopl_mmu.
> > It's not very obvious in the dt commit.
> 
> Having looked through the docs again, I think that the vopl_mmu using
> irq 79 is just a mistake:
> 
> (1) in general vop and vop-mmu use the same irq (78 in that case)
> (2) Rockchip does seem to have fixed that in their 4.19 tree as well:
> https://github.com/rockchip-linux/kernel/blob/develop-4.19/arch/arm64/boot/dts/rockchip/px30.dtsi#L1598

(3) https://github.com/rockchip-linux/kernel/commit/391a5c5f96d177896f9fe92ca1c83e00f4352191 ;-)

> 
> So to me it looks like this doesn't need to be shared and instead
> "simply" the px30 dtsi fixed ;-)
> 
> 
> Heiko
> 
> 
> > > > Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
> > > > ---
> > > >  drivers/staging/media/hantro/hantro_drv.c    |  5 +++--
> > > >  drivers/staging/media/hantro/hantro_hw.h     |  1 +
> > > >  drivers/staging/media/hantro/rk3399_vpu_hw.c | 21 ++++++++++++++++++++
> > > >  3 files changed, 25 insertions(+), 2 deletions(-)
> > > > 
> > > > diff --git a/drivers/staging/media/hantro/hantro_drv.c b/drivers/staging/media/hantro/hantro_drv.c
> > > > index e5f200e64993..076a7782b476 100644
> > > > --- a/drivers/staging/media/hantro/hantro_drv.c
> > > > +++ b/drivers/staging/media/hantro/hantro_drv.c
> > > > @@ -472,6 +472,7 @@ static const struct v4l2_file_operations hantro_fops = {
> > > >  
> > > >  static const struct of_device_id of_hantro_match[] = {
> > > >  #ifdef CONFIG_VIDEO_HANTRO_ROCKCHIP
> > > > +       { .compatible = "rockchip,px30-vpu", .data = &px30_vpu_variant, },
> > > >         { .compatible = "rockchip,rk3399-vpu", .data = &rk3399_vpu_variant, },
> > > >         { .compatible = "rockchip,rk3328-vpu", .data = &rk3328_vpu_variant, },
> > > >         { .compatible = "rockchip,rk3288-vpu", .data = &rk3288_vpu_variant, },
> > > > @@ -796,8 +797,8 @@ static int hantro_probe(struct platform_device *pdev)
> > > >                         return -ENXIO;
> > > >  
> > > >                 ret = devm_request_irq(vpu->dev, irq,
> > > > -                                      vpu->variant->irqs[i].handler, 0,
> > > > -                                      dev_name(vpu->dev), vpu);
> > > > +                                      vpu->variant->irqs[i].handler,
> > > > +                                      IRQF_SHARED, dev_name(vpu->dev), vpu);
> > > 
> > > Maybe this irq flag should be part of vpu->variant? It sounds like an IP block
> > > integration specific thing.
> > 
> > Ah right, I agree that it would be justified. But it would also be simple to
> > just fix the irq handlers and assume this can generally be the case, because it
> > feels like a bit of a detail to justify a flag.
> > 
> > Do you think this could be a safe/workable assumption?
> > 
> > > Also, you will need a px30-specific interrupt handler now,
> > > since the rk3399 one is not shared-friendly.
> > 
> > Yeah I realize I haven't been very careful there and didn't really check that
> > the IOMMU driver is really safe to handle shared interrupts either. I'll take
> > a look a that when crafting v2.
> > 
> > > >                 if (ret) {
> > > >                         dev_err(vpu->dev, "Could not request %s IRQ.\n",
> > > >                                 irq_name);
> > > > diff --git a/drivers/staging/media/hantro/hantro_hw.h b/drivers/staging/media/hantro/hantro_hw.h
> > > > index 34c9e4649a25..07f516fd7a2e 100644
> > > > --- a/drivers/staging/media/hantro/hantro_hw.h
> > > > +++ b/drivers/staging/media/hantro/hantro_hw.h
> > > > @@ -148,6 +148,7 @@ enum hantro_enc_fmt {
> > > >         RK3288_VPU_ENC_FMT_UYVY422 = 3,
> > > >  };
> > > >  
> > > > +extern const struct hantro_variant px30_vpu_variant;
> > > >  extern const struct hantro_variant rk3399_vpu_variant;
> > > >  extern const struct hantro_variant rk3328_vpu_variant;
> > > >  extern const struct hantro_variant rk3288_vpu_variant;
> > > > diff --git a/drivers/staging/media/hantro/rk3399_vpu_hw.c b/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > > > index 7a7962cf771e..4112f98baa60 100644
> > > > --- a/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > > > +++ b/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > > 
> > > Perhaps it's time to rename this to rockchip_vpu_hw.c,
> > > and merge rk3288 and rk3399? It's a nitpick, though.
> > 
> > Haha, I was thinking the exact same thing but wasn't sure it would be welcome!
> > 
> > I was thinking of rockchip_vpu2_hw.c or rockchip_vdpu2_hw.c since that's
> > apparently how it's called in Rockchip terminology: VDPU2 and VEPU2 for the
> > Hantro G1 and H1 with the shuffled register layout. The rk3288 stuff is
> > probably VDPU1/VEPU1 and we might want to rename it accordingly as well.
> > 
> > Cheers and thanks for the review!
> > 
> > Paul
> > 
> > > > @@ -220,3 +220,24 @@ const struct hantro_variant rk3328_vpu_variant = {
> > > >         .clk_names = rk3399_clk_names,
> > > >         .num_clocks = ARRAY_SIZE(rk3399_clk_names),
> > > >  };
> > > > +
> > > > +static const char * const px30_clk_names[] = {
> > > > +       "aclk", "hclk", "sclk"
> > > > +};
> > > > +
> > > > +const struct hantro_variant px30_vpu_variant = {
> > > > +       .enc_offset = 0x0,
> > > > +       .enc_fmts = rk3399_vpu_enc_fmts,
> > > > +       .num_enc_fmts = ARRAY_SIZE(rk3399_vpu_enc_fmts),
> > > > +       .dec_offset = 0x400,
> > > > +       .dec_fmts = rk3399_vpu_dec_fmts,
> > > > +       .num_dec_fmts = ARRAY_SIZE(rk3399_vpu_dec_fmts),
> > > > +       .codec = HANTRO_JPEG_ENCODER | HANTRO_MPEG2_DECODER |
> > > > +                HANTRO_VP8_DECODER,
> > > > +       .codec_ops = rk3399_vpu_codec_ops,
> > > > +       .irqs = rk3399_irqs,
> > > > +       .num_irqs = ARRAY_SIZE(rk3399_irqs),
> > > > +       .init = rk3399_vpu_hw_init,
> > > > +       .clk_names = px30_clk_names,
> > > > +       .num_clocks = ARRAY_SIZE(px30_clk_names)
> > > > +};
> > > 
> > > Thanks,
> > > Ezequiel
> > > 
> > 
> > 
> 
> 





_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

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

* Re: [PATCH 5/5] media: hantro: Add support for the Rockchip PX30
@ 2021-01-08 10:49           ` Heiko Stübner
  0 siblings, 0 replies; 57+ messages in thread
From: Heiko Stübner @ 2021-01-08 10:49 UTC (permalink / raw)
  To: Ezequiel Garcia, Paul Kocialkowski
  Cc: devicetree, Thomas Petazzoni, Greg Kroah-Hartman, linux-kernel,
	Rob Herring, linux-rockchip, Jacob Chen, Philipp Zabel,
	Mauro Carvalho Chehab, linux-arm-kernel, linux-media

Am Freitag, 8. Januar 2021, 11:48:26 CET schrieb Heiko Stübner:
> Am Freitag, 8. Januar 2021, 10:05:16 CET schrieb Paul Kocialkowski:
> > Hi Ezequiel,
> > 
> > On Thu 07 Jan 21, 16:08, Ezequiel Garcia wrote:
> > > Happy to see this patch. It was on my TODO list,
> > > but I hadn't had time to bringup my rk3326 device.
> > 
> > Same here, I just had an occasion to use it again these days so I jumped
> > on it!
> > 
> > > A few comments.
> > > 
> > > On Thu, 2021-01-07 at 14:41 +0100, Paul Kocialkowski wrote:
> > > > The PX30 SoC includes both the VDPU2 and VEPU2 blocks which are similar
> > > > to the RK3399 (Hantro G1/H1 with shuffled registers).
> > > > 
> > > > Besides taking an extra clock, it also shares an interrupt with the IOMMU
> > > > so it's necessary to request the interrupt shared.
> > > > 
> > > 
> > > Could you clarify on the commit description which iommu device interrupt
> > > line is being shared?
> > 
> > Sure! It's IRQ 79 of the GIC that's shared with vopl_mmu.
> > It's not very obvious in the dt commit.
> 
> Having looked through the docs again, I think that the vopl_mmu using
> irq 79 is just a mistake:
> 
> (1) in general vop and vop-mmu use the same irq (78 in that case)
> (2) Rockchip does seem to have fixed that in their 4.19 tree as well:
> https://github.com/rockchip-linux/kernel/blob/develop-4.19/arch/arm64/boot/dts/rockchip/px30.dtsi#L1598

(3) https://github.com/rockchip-linux/kernel/commit/391a5c5f96d177896f9fe92ca1c83e00f4352191 ;-)

> 
> So to me it looks like this doesn't need to be shared and instead
> "simply" the px30 dtsi fixed ;-)
> 
> 
> Heiko
> 
> 
> > > > Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
> > > > ---
> > > >  drivers/staging/media/hantro/hantro_drv.c    |  5 +++--
> > > >  drivers/staging/media/hantro/hantro_hw.h     |  1 +
> > > >  drivers/staging/media/hantro/rk3399_vpu_hw.c | 21 ++++++++++++++++++++
> > > >  3 files changed, 25 insertions(+), 2 deletions(-)
> > > > 
> > > > diff --git a/drivers/staging/media/hantro/hantro_drv.c b/drivers/staging/media/hantro/hantro_drv.c
> > > > index e5f200e64993..076a7782b476 100644
> > > > --- a/drivers/staging/media/hantro/hantro_drv.c
> > > > +++ b/drivers/staging/media/hantro/hantro_drv.c
> > > > @@ -472,6 +472,7 @@ static const struct v4l2_file_operations hantro_fops = {
> > > >  
> > > >  static const struct of_device_id of_hantro_match[] = {
> > > >  #ifdef CONFIG_VIDEO_HANTRO_ROCKCHIP
> > > > +       { .compatible = "rockchip,px30-vpu", .data = &px30_vpu_variant, },
> > > >         { .compatible = "rockchip,rk3399-vpu", .data = &rk3399_vpu_variant, },
> > > >         { .compatible = "rockchip,rk3328-vpu", .data = &rk3328_vpu_variant, },
> > > >         { .compatible = "rockchip,rk3288-vpu", .data = &rk3288_vpu_variant, },
> > > > @@ -796,8 +797,8 @@ static int hantro_probe(struct platform_device *pdev)
> > > >                         return -ENXIO;
> > > >  
> > > >                 ret = devm_request_irq(vpu->dev, irq,
> > > > -                                      vpu->variant->irqs[i].handler, 0,
> > > > -                                      dev_name(vpu->dev), vpu);
> > > > +                                      vpu->variant->irqs[i].handler,
> > > > +                                      IRQF_SHARED, dev_name(vpu->dev), vpu);
> > > 
> > > Maybe this irq flag should be part of vpu->variant? It sounds like an IP block
> > > integration specific thing.
> > 
> > Ah right, I agree that it would be justified. But it would also be simple to
> > just fix the irq handlers and assume this can generally be the case, because it
> > feels like a bit of a detail to justify a flag.
> > 
> > Do you think this could be a safe/workable assumption?
> > 
> > > Also, you will need a px30-specific interrupt handler now,
> > > since the rk3399 one is not shared-friendly.
> > 
> > Yeah I realize I haven't been very careful there and didn't really check that
> > the IOMMU driver is really safe to handle shared interrupts either. I'll take
> > a look a that when crafting v2.
> > 
> > > >                 if (ret) {
> > > >                         dev_err(vpu->dev, "Could not request %s IRQ.\n",
> > > >                                 irq_name);
> > > > diff --git a/drivers/staging/media/hantro/hantro_hw.h b/drivers/staging/media/hantro/hantro_hw.h
> > > > index 34c9e4649a25..07f516fd7a2e 100644
> > > > --- a/drivers/staging/media/hantro/hantro_hw.h
> > > > +++ b/drivers/staging/media/hantro/hantro_hw.h
> > > > @@ -148,6 +148,7 @@ enum hantro_enc_fmt {
> > > >         RK3288_VPU_ENC_FMT_UYVY422 = 3,
> > > >  };
> > > >  
> > > > +extern const struct hantro_variant px30_vpu_variant;
> > > >  extern const struct hantro_variant rk3399_vpu_variant;
> > > >  extern const struct hantro_variant rk3328_vpu_variant;
> > > >  extern const struct hantro_variant rk3288_vpu_variant;
> > > > diff --git a/drivers/staging/media/hantro/rk3399_vpu_hw.c b/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > > > index 7a7962cf771e..4112f98baa60 100644
> > > > --- a/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > > > +++ b/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > > 
> > > Perhaps it's time to rename this to rockchip_vpu_hw.c,
> > > and merge rk3288 and rk3399? It's a nitpick, though.
> > 
> > Haha, I was thinking the exact same thing but wasn't sure it would be welcome!
> > 
> > I was thinking of rockchip_vpu2_hw.c or rockchip_vdpu2_hw.c since that's
> > apparently how it's called in Rockchip terminology: VDPU2 and VEPU2 for the
> > Hantro G1 and H1 with the shuffled register layout. The rk3288 stuff is
> > probably VDPU1/VEPU1 and we might want to rename it accordingly as well.
> > 
> > Cheers and thanks for the review!
> > 
> > Paul
> > 
> > > > @@ -220,3 +220,24 @@ const struct hantro_variant rk3328_vpu_variant = {
> > > >         .clk_names = rk3399_clk_names,
> > > >         .num_clocks = ARRAY_SIZE(rk3399_clk_names),
> > > >  };
> > > > +
> > > > +static const char * const px30_clk_names[] = {
> > > > +       "aclk", "hclk", "sclk"
> > > > +};
> > > > +
> > > > +const struct hantro_variant px30_vpu_variant = {
> > > > +       .enc_offset = 0x0,
> > > > +       .enc_fmts = rk3399_vpu_enc_fmts,
> > > > +       .num_enc_fmts = ARRAY_SIZE(rk3399_vpu_enc_fmts),
> > > > +       .dec_offset = 0x400,
> > > > +       .dec_fmts = rk3399_vpu_dec_fmts,
> > > > +       .num_dec_fmts = ARRAY_SIZE(rk3399_vpu_dec_fmts),
> > > > +       .codec = HANTRO_JPEG_ENCODER | HANTRO_MPEG2_DECODER |
> > > > +                HANTRO_VP8_DECODER,
> > > > +       .codec_ops = rk3399_vpu_codec_ops,
> > > > +       .irqs = rk3399_irqs,
> > > > +       .num_irqs = ARRAY_SIZE(rk3399_irqs),
> > > > +       .init = rk3399_vpu_hw_init,
> > > > +       .clk_names = px30_clk_names,
> > > > +       .num_clocks = ARRAY_SIZE(px30_clk_names)
> > > > +};
> > > 
> > > Thanks,
> > > Ezequiel
> > > 
> > 
> > 
> 
> 





_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 5/5] media: hantro: Add support for the Rockchip PX30
  2021-01-08  9:05       ` Paul Kocialkowski
  (?)
@ 2021-01-08 13:13         ` Ezequiel Garcia
  -1 siblings, 0 replies; 57+ messages in thread
From: Ezequiel Garcia @ 2021-01-08 13:13 UTC (permalink / raw)
  To: Paul Kocialkowski
  Cc: linux-media, linux-rockchip, devicetree, linux-arm-kernel,
	linux-kernel, Jacob Chen, Mauro Carvalho Chehab, Rob Herring,
	Heiko Stuebner, Philipp Zabel, Greg Kroah-Hartman,
	Thomas Petazzoni

On Fri, 2021-01-08 at 10:05 +0100, Paul Kocialkowski wrote:
> Hi Ezequiel,
> 
> On Thu 07 Jan 21, 16:08, Ezequiel Garcia wrote:
> > Happy to see this patch. It was on my TODO list,
> > but I hadn't had time to bringup my rk3326 device.
> 
> Same here, I just had an occasion to use it again these days so I jumped
> on it!
> 
> > A few comments.
> > 
> > On Thu, 2021-01-07 at 14:41 +0100, Paul Kocialkowski wrote:
> > > The PX30 SoC includes both the VDPU2 and VEPU2 blocks which are similar
> > > to the RK3399 (Hantro G1/H1 with shuffled registers).
> > > 
> > > Besides taking an extra clock, it also shares an interrupt with the IOMMU
> > > so it's necessary to request the interrupt shared.
> > > 
> > 
[..]
> > > diff --git a/drivers/staging/media/hantro/hantro_hw.h b/drivers/staging/media/hantro/hantro_hw.h
> > > index 34c9e4649a25..07f516fd7a2e 100644
> > > --- a/drivers/staging/media/hantro/hantro_hw.h
> > > +++ b/drivers/staging/media/hantro/hantro_hw.h
> > > @@ -148,6 +148,7 @@ enum hantro_enc_fmt {
> > >         RK3288_VPU_ENC_FMT_UYVY422 = 3,
> > >  };
> > >  
> > > +extern const struct hantro_variant px30_vpu_variant;
> > >  extern const struct hantro_variant rk3399_vpu_variant;
> > >  extern const struct hantro_variant rk3328_vpu_variant;
> > >  extern const struct hantro_variant rk3288_vpu_variant;
> > > diff --git a/drivers/staging/media/hantro/rk3399_vpu_hw.c b/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > > index 7a7962cf771e..4112f98baa60 100644
> > > --- a/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > > +++ b/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > 
> > Perhaps it's time to rename this to rockchip_vpu_hw.c,
> > and merge rk3288 and rk3399? It's a nitpick, though.
> 
> Haha, I was thinking the exact same thing but wasn't sure it would be welcome!
> 
> I was thinking of rockchip_vpu2_hw.c or rockchip_vdpu2_hw.c since that's
> apparently how it's called in Rockchip terminology: VDPU2 and VEPU2 for the
> Hantro G1 and H1 with the shuffled register layout. The rk3288 stuff is
> probably VDPU1/VEPU1 and we might want to rename it accordingly as well.
> 

I'd rather keep it simple as rockchip_vpu_hw.c and just throw in there
all the rockchip stuff.

Thanks,
Ezequiel


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

* Re: [PATCH 5/5] media: hantro: Add support for the Rockchip PX30
@ 2021-01-08 13:13         ` Ezequiel Garcia
  0 siblings, 0 replies; 57+ messages in thread
From: Ezequiel Garcia @ 2021-01-08 13:13 UTC (permalink / raw)
  To: Paul Kocialkowski
  Cc: devicetree, Heiko Stuebner, Thomas Petazzoni, Greg Kroah-Hartman,
	linux-kernel, Rob Herring, linux-rockchip, Jacob Chen,
	Philipp Zabel, Mauro Carvalho Chehab, linux-arm-kernel,
	linux-media

On Fri, 2021-01-08 at 10:05 +0100, Paul Kocialkowski wrote:
> Hi Ezequiel,
> 
> On Thu 07 Jan 21, 16:08, Ezequiel Garcia wrote:
> > Happy to see this patch. It was on my TODO list,
> > but I hadn't had time to bringup my rk3326 device.
> 
> Same here, I just had an occasion to use it again these days so I jumped
> on it!
> 
> > A few comments.
> > 
> > On Thu, 2021-01-07 at 14:41 +0100, Paul Kocialkowski wrote:
> > > The PX30 SoC includes both the VDPU2 and VEPU2 blocks which are similar
> > > to the RK3399 (Hantro G1/H1 with shuffled registers).
> > > 
> > > Besides taking an extra clock, it also shares an interrupt with the IOMMU
> > > so it's necessary to request the interrupt shared.
> > > 
> > 
[..]
> > > diff --git a/drivers/staging/media/hantro/hantro_hw.h b/drivers/staging/media/hantro/hantro_hw.h
> > > index 34c9e4649a25..07f516fd7a2e 100644
> > > --- a/drivers/staging/media/hantro/hantro_hw.h
> > > +++ b/drivers/staging/media/hantro/hantro_hw.h
> > > @@ -148,6 +148,7 @@ enum hantro_enc_fmt {
> > >         RK3288_VPU_ENC_FMT_UYVY422 = 3,
> > >  };
> > >  
> > > +extern const struct hantro_variant px30_vpu_variant;
> > >  extern const struct hantro_variant rk3399_vpu_variant;
> > >  extern const struct hantro_variant rk3328_vpu_variant;
> > >  extern const struct hantro_variant rk3288_vpu_variant;
> > > diff --git a/drivers/staging/media/hantro/rk3399_vpu_hw.c b/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > > index 7a7962cf771e..4112f98baa60 100644
> > > --- a/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > > +++ b/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > 
> > Perhaps it's time to rename this to rockchip_vpu_hw.c,
> > and merge rk3288 and rk3399? It's a nitpick, though.
> 
> Haha, I was thinking the exact same thing but wasn't sure it would be welcome!
> 
> I was thinking of rockchip_vpu2_hw.c or rockchip_vdpu2_hw.c since that's
> apparently how it's called in Rockchip terminology: VDPU2 and VEPU2 for the
> Hantro G1 and H1 with the shuffled register layout. The rk3288 stuff is
> probably VDPU1/VEPU1 and we might want to rename it accordingly as well.
> 

I'd rather keep it simple as rockchip_vpu_hw.c and just throw in there
all the rockchip stuff.

Thanks,
Ezequiel


_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

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

* Re: [PATCH 5/5] media: hantro: Add support for the Rockchip PX30
@ 2021-01-08 13:13         ` Ezequiel Garcia
  0 siblings, 0 replies; 57+ messages in thread
From: Ezequiel Garcia @ 2021-01-08 13:13 UTC (permalink / raw)
  To: Paul Kocialkowski
  Cc: devicetree, Heiko Stuebner, Thomas Petazzoni, Greg Kroah-Hartman,
	linux-kernel, Rob Herring, linux-rockchip, Jacob Chen,
	Philipp Zabel, Mauro Carvalho Chehab, linux-arm-kernel,
	linux-media

On Fri, 2021-01-08 at 10:05 +0100, Paul Kocialkowski wrote:
> Hi Ezequiel,
> 
> On Thu 07 Jan 21, 16:08, Ezequiel Garcia wrote:
> > Happy to see this patch. It was on my TODO list,
> > but I hadn't had time to bringup my rk3326 device.
> 
> Same here, I just had an occasion to use it again these days so I jumped
> on it!
> 
> > A few comments.
> > 
> > On Thu, 2021-01-07 at 14:41 +0100, Paul Kocialkowski wrote:
> > > The PX30 SoC includes both the VDPU2 and VEPU2 blocks which are similar
> > > to the RK3399 (Hantro G1/H1 with shuffled registers).
> > > 
> > > Besides taking an extra clock, it also shares an interrupt with the IOMMU
> > > so it's necessary to request the interrupt shared.
> > > 
> > 
[..]
> > > diff --git a/drivers/staging/media/hantro/hantro_hw.h b/drivers/staging/media/hantro/hantro_hw.h
> > > index 34c9e4649a25..07f516fd7a2e 100644
> > > --- a/drivers/staging/media/hantro/hantro_hw.h
> > > +++ b/drivers/staging/media/hantro/hantro_hw.h
> > > @@ -148,6 +148,7 @@ enum hantro_enc_fmt {
> > >         RK3288_VPU_ENC_FMT_UYVY422 = 3,
> > >  };
> > >  
> > > +extern const struct hantro_variant px30_vpu_variant;
> > >  extern const struct hantro_variant rk3399_vpu_variant;
> > >  extern const struct hantro_variant rk3328_vpu_variant;
> > >  extern const struct hantro_variant rk3288_vpu_variant;
> > > diff --git a/drivers/staging/media/hantro/rk3399_vpu_hw.c b/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > > index 7a7962cf771e..4112f98baa60 100644
> > > --- a/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > > +++ b/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > 
> > Perhaps it's time to rename this to rockchip_vpu_hw.c,
> > and merge rk3288 and rk3399? It's a nitpick, though.
> 
> Haha, I was thinking the exact same thing but wasn't sure it would be welcome!
> 
> I was thinking of rockchip_vpu2_hw.c or rockchip_vdpu2_hw.c since that's
> apparently how it's called in Rockchip terminology: VDPU2 and VEPU2 for the
> Hantro G1 and H1 with the shuffled register layout. The rk3288 stuff is
> probably VDPU1/VEPU1 and we might want to rename it accordingly as well.
> 

I'd rather keep it simple as rockchip_vpu_hw.c and just throw in there
all the rockchip stuff.

Thanks,
Ezequiel


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 3/5] dt-bindings: media: rockchip-vpu: Add PX30 compatible
  2021-01-07 14:55     ` Philipp Zabel
  (?)
@ 2021-01-11 17:20       ` Paul Kocialkowski
  -1 siblings, 0 replies; 57+ messages in thread
From: Paul Kocialkowski @ 2021-01-11 17:20 UTC (permalink / raw)
  To: Philipp Zabel
  Cc: linux-media, linux-rockchip, devicetree, linux-arm-kernel,
	linux-kernel, Jacob Chen, Ezequiel Garcia, Mauro Carvalho Chehab,
	Rob Herring, Heiko Stuebner, Greg Kroah-Hartman,
	Thomas Petazzoni

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

Hi Philipp,

On Thu 07 Jan 21, 15:55, Philipp Zabel wrote:
> Hi Paul,
> 
> On Thu, 2021-01-07 at 14:40 +0100, Paul Kocialkowski wrote:
> > The Rockchip PX30 SoC has a Hantro VPU that features a decoder (VDPU2)
> > and an encoder (VEPU2). It is similar to the RK3399's VPU but takes an
> > extra clock (SCLK).
> > 
> > Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
> > ---
> >  .../bindings/media/rockchip-vpu.yaml          | 25 +++++++++++++------
> >  1 file changed, 17 insertions(+), 8 deletions(-)
> > 
> > diff --git a/Documentation/devicetree/bindings/media/rockchip-vpu.yaml b/Documentation/devicetree/bindings/media/rockchip-vpu.yaml
> > index c81dbc3e8960..c446b9ead21b 100644
> > --- a/Documentation/devicetree/bindings/media/rockchip-vpu.yaml
> > +++ b/Documentation/devicetree/bindings/media/rockchip-vpu.yaml
> > @@ -15,10 +15,13 @@ description:
> >  
> >  properties:
> >    compatible:
> > -    enum:
> > -      - rockchip,rk3288-vpu
> > -      - rockchip,rk3328-vpu
> > -      - rockchip,rk3399-vpu
> > +    oneOf:
> > +      - const: rockchip,rk3288-vpu
> > +      - const: rockchip,rk3328-vpu
> > +      - const: rockchip,rk3399-vpu
> > +      - items:
> > +        - const: rockchip,px30-vpu
> > +        - const: rockchip,rk3399-vpu
> >  
> >    reg:
> >      maxItems: 1
> > @@ -35,12 +38,18 @@ properties:
> >            - const: vdpu
> >  
> >    clocks:
> > -    maxItems: 2
> > +    minItems: 2
> > +    maxItems: 3
> >  
> >    clock-names:
> > -    items:
> > -      - const: aclk
> > -      - const: hclk
> > +    oneOf:
> > +      - items:
> > +        - const: aclk
> > +        - const: hclk
> > +      - items:
> > +        - const: aclk
> > +        - const: hclk
> > +        - const: sclk
> 
> You could make this:
> 
>     clock-names:
>       minItems: 2
>       items:
>         - const: aclk
>         - const: hclk
>         - const: sclk
> 
> And then:
> 
> allOf:
>   - if:
>       properties:
>         compatible:
>           contains:
>             const: rockchip,px30-vpu
>     then:
>       properties:
>         clock-names:
>           minItems: 3
> 
> to make sure each variant has the correct clocks set.

Thanks for the suggestion! That's a finer grain that my proposal.

Rob, is there a preference for how this case should be handled?
Here, we want to specify an extra clock for the PX30 case.

Cheers,

Paul

-- 
Paul Kocialkowski, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com

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

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

* Re: [PATCH 3/5] dt-bindings: media: rockchip-vpu: Add PX30 compatible
@ 2021-01-11 17:20       ` Paul Kocialkowski
  0 siblings, 0 replies; 57+ messages in thread
From: Paul Kocialkowski @ 2021-01-11 17:20 UTC (permalink / raw)
  To: Philipp Zabel
  Cc: devicetree, Heiko Stuebner, Greg Kroah-Hartman, linux-kernel,
	Rob Herring, linux-rockchip, Jacob Chen, Thomas Petazzoni,
	Mauro Carvalho Chehab, Ezequiel Garcia, linux-arm-kernel,
	linux-media


[-- Attachment #1.1: Type: text/plain, Size: 2567 bytes --]

Hi Philipp,

On Thu 07 Jan 21, 15:55, Philipp Zabel wrote:
> Hi Paul,
> 
> On Thu, 2021-01-07 at 14:40 +0100, Paul Kocialkowski wrote:
> > The Rockchip PX30 SoC has a Hantro VPU that features a decoder (VDPU2)
> > and an encoder (VEPU2). It is similar to the RK3399's VPU but takes an
> > extra clock (SCLK).
> > 
> > Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
> > ---
> >  .../bindings/media/rockchip-vpu.yaml          | 25 +++++++++++++------
> >  1 file changed, 17 insertions(+), 8 deletions(-)
> > 
> > diff --git a/Documentation/devicetree/bindings/media/rockchip-vpu.yaml b/Documentation/devicetree/bindings/media/rockchip-vpu.yaml
> > index c81dbc3e8960..c446b9ead21b 100644
> > --- a/Documentation/devicetree/bindings/media/rockchip-vpu.yaml
> > +++ b/Documentation/devicetree/bindings/media/rockchip-vpu.yaml
> > @@ -15,10 +15,13 @@ description:
> >  
> >  properties:
> >    compatible:
> > -    enum:
> > -      - rockchip,rk3288-vpu
> > -      - rockchip,rk3328-vpu
> > -      - rockchip,rk3399-vpu
> > +    oneOf:
> > +      - const: rockchip,rk3288-vpu
> > +      - const: rockchip,rk3328-vpu
> > +      - const: rockchip,rk3399-vpu
> > +      - items:
> > +        - const: rockchip,px30-vpu
> > +        - const: rockchip,rk3399-vpu
> >  
> >    reg:
> >      maxItems: 1
> > @@ -35,12 +38,18 @@ properties:
> >            - const: vdpu
> >  
> >    clocks:
> > -    maxItems: 2
> > +    minItems: 2
> > +    maxItems: 3
> >  
> >    clock-names:
> > -    items:
> > -      - const: aclk
> > -      - const: hclk
> > +    oneOf:
> > +      - items:
> > +        - const: aclk
> > +        - const: hclk
> > +      - items:
> > +        - const: aclk
> > +        - const: hclk
> > +        - const: sclk
> 
> You could make this:
> 
>     clock-names:
>       minItems: 2
>       items:
>         - const: aclk
>         - const: hclk
>         - const: sclk
> 
> And then:
> 
> allOf:
>   - if:
>       properties:
>         compatible:
>           contains:
>             const: rockchip,px30-vpu
>     then:
>       properties:
>         clock-names:
>           minItems: 3
> 
> to make sure each variant has the correct clocks set.

Thanks for the suggestion! That's a finer grain that my proposal.

Rob, is there a preference for how this case should be handled?
Here, we want to specify an extra clock for the PX30 case.

Cheers,

Paul

-- 
Paul Kocialkowski, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com

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

[-- Attachment #2: Type: text/plain, Size: 170 bytes --]

_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

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

* Re: [PATCH 3/5] dt-bindings: media: rockchip-vpu: Add PX30 compatible
@ 2021-01-11 17:20       ` Paul Kocialkowski
  0 siblings, 0 replies; 57+ messages in thread
From: Paul Kocialkowski @ 2021-01-11 17:20 UTC (permalink / raw)
  To: Philipp Zabel
  Cc: devicetree, Heiko Stuebner, Greg Kroah-Hartman, linux-kernel,
	Rob Herring, linux-rockchip, Jacob Chen, Thomas Petazzoni,
	Mauro Carvalho Chehab, Ezequiel Garcia, linux-arm-kernel,
	linux-media


[-- Attachment #1.1: Type: text/plain, Size: 2567 bytes --]

Hi Philipp,

On Thu 07 Jan 21, 15:55, Philipp Zabel wrote:
> Hi Paul,
> 
> On Thu, 2021-01-07 at 14:40 +0100, Paul Kocialkowski wrote:
> > The Rockchip PX30 SoC has a Hantro VPU that features a decoder (VDPU2)
> > and an encoder (VEPU2). It is similar to the RK3399's VPU but takes an
> > extra clock (SCLK).
> > 
> > Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
> > ---
> >  .../bindings/media/rockchip-vpu.yaml          | 25 +++++++++++++------
> >  1 file changed, 17 insertions(+), 8 deletions(-)
> > 
> > diff --git a/Documentation/devicetree/bindings/media/rockchip-vpu.yaml b/Documentation/devicetree/bindings/media/rockchip-vpu.yaml
> > index c81dbc3e8960..c446b9ead21b 100644
> > --- a/Documentation/devicetree/bindings/media/rockchip-vpu.yaml
> > +++ b/Documentation/devicetree/bindings/media/rockchip-vpu.yaml
> > @@ -15,10 +15,13 @@ description:
> >  
> >  properties:
> >    compatible:
> > -    enum:
> > -      - rockchip,rk3288-vpu
> > -      - rockchip,rk3328-vpu
> > -      - rockchip,rk3399-vpu
> > +    oneOf:
> > +      - const: rockchip,rk3288-vpu
> > +      - const: rockchip,rk3328-vpu
> > +      - const: rockchip,rk3399-vpu
> > +      - items:
> > +        - const: rockchip,px30-vpu
> > +        - const: rockchip,rk3399-vpu
> >  
> >    reg:
> >      maxItems: 1
> > @@ -35,12 +38,18 @@ properties:
> >            - const: vdpu
> >  
> >    clocks:
> > -    maxItems: 2
> > +    minItems: 2
> > +    maxItems: 3
> >  
> >    clock-names:
> > -    items:
> > -      - const: aclk
> > -      - const: hclk
> > +    oneOf:
> > +      - items:
> > +        - const: aclk
> > +        - const: hclk
> > +      - items:
> > +        - const: aclk
> > +        - const: hclk
> > +        - const: sclk
> 
> You could make this:
> 
>     clock-names:
>       minItems: 2
>       items:
>         - const: aclk
>         - const: hclk
>         - const: sclk
> 
> And then:
> 
> allOf:
>   - if:
>       properties:
>         compatible:
>           contains:
>             const: rockchip,px30-vpu
>     then:
>       properties:
>         clock-names:
>           minItems: 3
> 
> to make sure each variant has the correct clocks set.

Thanks for the suggestion! That's a finer grain that my proposal.

Rob, is there a preference for how this case should be handled?
Here, we want to specify an extra clock for the PX30 case.

Cheers,

Paul

-- 
Paul Kocialkowski, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com

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

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 5/5] media: hantro: Add support for the Rockchip PX30
  2021-01-08 13:13         ` Ezequiel Garcia
  (?)
@ 2021-01-11 17:23           ` Paul Kocialkowski
  -1 siblings, 0 replies; 57+ messages in thread
From: Paul Kocialkowski @ 2021-01-11 17:23 UTC (permalink / raw)
  To: Ezequiel Garcia
  Cc: linux-media, linux-rockchip, devicetree, linux-arm-kernel,
	linux-kernel, Jacob Chen, Mauro Carvalho Chehab, Rob Herring,
	Heiko Stuebner, Philipp Zabel, Greg Kroah-Hartman,
	Thomas Petazzoni

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

Hi,

On Fri 08 Jan 21, 10:13, Ezequiel Garcia wrote:
> On Fri, 2021-01-08 at 10:05 +0100, Paul Kocialkowski wrote:
> > Hi Ezequiel,
> > 
> > On Thu 07 Jan 21, 16:08, Ezequiel Garcia wrote:
> > > Happy to see this patch. It was on my TODO list,
> > > but I hadn't had time to bringup my rk3326 device.
> > 
> > Same here, I just had an occasion to use it again these days so I jumped
> > on it!
> > 
> > > A few comments.
> > > 
> > > On Thu, 2021-01-07 at 14:41 +0100, Paul Kocialkowski wrote:
> > > > The PX30 SoC includes both the VDPU2 and VEPU2 blocks which are similar
> > > > to the RK3399 (Hantro G1/H1 with shuffled registers).
> > > > 
> > > > Besides taking an extra clock, it also shares an interrupt with the IOMMU
> > > > so it's necessary to request the interrupt shared.
> > > > 
> > > 
> [..]
> > > > diff --git a/drivers/staging/media/hantro/hantro_hw.h b/drivers/staging/media/hantro/hantro_hw.h
> > > > index 34c9e4649a25..07f516fd7a2e 100644
> > > > --- a/drivers/staging/media/hantro/hantro_hw.h
> > > > +++ b/drivers/staging/media/hantro/hantro_hw.h
> > > > @@ -148,6 +148,7 @@ enum hantro_enc_fmt {
> > > >         RK3288_VPU_ENC_FMT_UYVY422 = 3,
> > > >  };
> > > >  
> > > > +extern const struct hantro_variant px30_vpu_variant;
> > > >  extern const struct hantro_variant rk3399_vpu_variant;
> > > >  extern const struct hantro_variant rk3328_vpu_variant;
> > > >  extern const struct hantro_variant rk3288_vpu_variant;
> > > > diff --git a/drivers/staging/media/hantro/rk3399_vpu_hw.c b/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > > > index 7a7962cf771e..4112f98baa60 100644
> > > > --- a/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > > > +++ b/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > > 
> > > Perhaps it's time to rename this to rockchip_vpu_hw.c,
> > > and merge rk3288 and rk3399? It's a nitpick, though.
> > 
> > Haha, I was thinking the exact same thing but wasn't sure it would be welcome!
> > 
> > I was thinking of rockchip_vpu2_hw.c or rockchip_vdpu2_hw.c since that's
> > apparently how it's called in Rockchip terminology: VDPU2 and VEPU2 for the
> > Hantro G1 and H1 with the shuffled register layout. The rk3288 stuff is
> > probably VDPU1/VEPU1 and we might want to rename it accordingly as well.
> > 
> 
> I'd rather keep it simple as rockchip_vpu_hw.c and just throw in there
> all the rockchip stuff.

Do you also mean merging all the rk*_vpu_hw.c files into one or just covering
the general helpers (and not the platform-specific structures)?

Cheers,

Paul

-- 
Paul Kocialkowski, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com

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

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

* Re: [PATCH 5/5] media: hantro: Add support for the Rockchip PX30
@ 2021-01-11 17:23           ` Paul Kocialkowski
  0 siblings, 0 replies; 57+ messages in thread
From: Paul Kocialkowski @ 2021-01-11 17:23 UTC (permalink / raw)
  To: Ezequiel Garcia
  Cc: devicetree, Heiko Stuebner, Thomas Petazzoni, Greg Kroah-Hartman,
	linux-kernel, Rob Herring, linux-rockchip, Jacob Chen,
	Philipp Zabel, Mauro Carvalho Chehab, linux-arm-kernel,
	linux-media


[-- Attachment #1.1: Type: text/plain, Size: 2689 bytes --]

Hi,

On Fri 08 Jan 21, 10:13, Ezequiel Garcia wrote:
> On Fri, 2021-01-08 at 10:05 +0100, Paul Kocialkowski wrote:
> > Hi Ezequiel,
> > 
> > On Thu 07 Jan 21, 16:08, Ezequiel Garcia wrote:
> > > Happy to see this patch. It was on my TODO list,
> > > but I hadn't had time to bringup my rk3326 device.
> > 
> > Same here, I just had an occasion to use it again these days so I jumped
> > on it!
> > 
> > > A few comments.
> > > 
> > > On Thu, 2021-01-07 at 14:41 +0100, Paul Kocialkowski wrote:
> > > > The PX30 SoC includes both the VDPU2 and VEPU2 blocks which are similar
> > > > to the RK3399 (Hantro G1/H1 with shuffled registers).
> > > > 
> > > > Besides taking an extra clock, it also shares an interrupt with the IOMMU
> > > > so it's necessary to request the interrupt shared.
> > > > 
> > > 
> [..]
> > > > diff --git a/drivers/staging/media/hantro/hantro_hw.h b/drivers/staging/media/hantro/hantro_hw.h
> > > > index 34c9e4649a25..07f516fd7a2e 100644
> > > > --- a/drivers/staging/media/hantro/hantro_hw.h
> > > > +++ b/drivers/staging/media/hantro/hantro_hw.h
> > > > @@ -148,6 +148,7 @@ enum hantro_enc_fmt {
> > > >         RK3288_VPU_ENC_FMT_UYVY422 = 3,
> > > >  };
> > > >  
> > > > +extern const struct hantro_variant px30_vpu_variant;
> > > >  extern const struct hantro_variant rk3399_vpu_variant;
> > > >  extern const struct hantro_variant rk3328_vpu_variant;
> > > >  extern const struct hantro_variant rk3288_vpu_variant;
> > > > diff --git a/drivers/staging/media/hantro/rk3399_vpu_hw.c b/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > > > index 7a7962cf771e..4112f98baa60 100644
> > > > --- a/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > > > +++ b/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > > 
> > > Perhaps it's time to rename this to rockchip_vpu_hw.c,
> > > and merge rk3288 and rk3399? It's a nitpick, though.
> > 
> > Haha, I was thinking the exact same thing but wasn't sure it would be welcome!
> > 
> > I was thinking of rockchip_vpu2_hw.c or rockchip_vdpu2_hw.c since that's
> > apparently how it's called in Rockchip terminology: VDPU2 and VEPU2 for the
> > Hantro G1 and H1 with the shuffled register layout. The rk3288 stuff is
> > probably VDPU1/VEPU1 and we might want to rename it accordingly as well.
> > 
> 
> I'd rather keep it simple as rockchip_vpu_hw.c and just throw in there
> all the rockchip stuff.

Do you also mean merging all the rk*_vpu_hw.c files into one or just covering
the general helpers (and not the platform-specific structures)?

Cheers,

Paul

-- 
Paul Kocialkowski, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com

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

[-- Attachment #2: Type: text/plain, Size: 170 bytes --]

_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

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

* Re: [PATCH 5/5] media: hantro: Add support for the Rockchip PX30
@ 2021-01-11 17:23           ` Paul Kocialkowski
  0 siblings, 0 replies; 57+ messages in thread
From: Paul Kocialkowski @ 2021-01-11 17:23 UTC (permalink / raw)
  To: Ezequiel Garcia
  Cc: devicetree, Heiko Stuebner, Thomas Petazzoni, Greg Kroah-Hartman,
	linux-kernel, Rob Herring, linux-rockchip, Jacob Chen,
	Philipp Zabel, Mauro Carvalho Chehab, linux-arm-kernel,
	linux-media


[-- Attachment #1.1: Type: text/plain, Size: 2689 bytes --]

Hi,

On Fri 08 Jan 21, 10:13, Ezequiel Garcia wrote:
> On Fri, 2021-01-08 at 10:05 +0100, Paul Kocialkowski wrote:
> > Hi Ezequiel,
> > 
> > On Thu 07 Jan 21, 16:08, Ezequiel Garcia wrote:
> > > Happy to see this patch. It was on my TODO list,
> > > but I hadn't had time to bringup my rk3326 device.
> > 
> > Same here, I just had an occasion to use it again these days so I jumped
> > on it!
> > 
> > > A few comments.
> > > 
> > > On Thu, 2021-01-07 at 14:41 +0100, Paul Kocialkowski wrote:
> > > > The PX30 SoC includes both the VDPU2 and VEPU2 blocks which are similar
> > > > to the RK3399 (Hantro G1/H1 with shuffled registers).
> > > > 
> > > > Besides taking an extra clock, it also shares an interrupt with the IOMMU
> > > > so it's necessary to request the interrupt shared.
> > > > 
> > > 
> [..]
> > > > diff --git a/drivers/staging/media/hantro/hantro_hw.h b/drivers/staging/media/hantro/hantro_hw.h
> > > > index 34c9e4649a25..07f516fd7a2e 100644
> > > > --- a/drivers/staging/media/hantro/hantro_hw.h
> > > > +++ b/drivers/staging/media/hantro/hantro_hw.h
> > > > @@ -148,6 +148,7 @@ enum hantro_enc_fmt {
> > > >         RK3288_VPU_ENC_FMT_UYVY422 = 3,
> > > >  };
> > > >  
> > > > +extern const struct hantro_variant px30_vpu_variant;
> > > >  extern const struct hantro_variant rk3399_vpu_variant;
> > > >  extern const struct hantro_variant rk3328_vpu_variant;
> > > >  extern const struct hantro_variant rk3288_vpu_variant;
> > > > diff --git a/drivers/staging/media/hantro/rk3399_vpu_hw.c b/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > > > index 7a7962cf771e..4112f98baa60 100644
> > > > --- a/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > > > +++ b/drivers/staging/media/hantro/rk3399_vpu_hw.c
> > > 
> > > Perhaps it's time to rename this to rockchip_vpu_hw.c,
> > > and merge rk3288 and rk3399? It's a nitpick, though.
> > 
> > Haha, I was thinking the exact same thing but wasn't sure it would be welcome!
> > 
> > I was thinking of rockchip_vpu2_hw.c or rockchip_vdpu2_hw.c since that's
> > apparently how it's called in Rockchip terminology: VDPU2 and VEPU2 for the
> > Hantro G1 and H1 with the shuffled register layout. The rk3288 stuff is
> > probably VDPU1/VEPU1 and we might want to rename it accordingly as well.
> > 
> 
> I'd rather keep it simple as rockchip_vpu_hw.c and just throw in there
> all the rockchip stuff.

Do you also mean merging all the rk*_vpu_hw.c files into one or just covering
the general helpers (and not the platform-specific structures)?

Cheers,

Paul

-- 
Paul Kocialkowski, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com

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

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 0/5] Rockchip PX30 RGA and VPU support
  2021-01-07 13:40 ` Paul Kocialkowski
  (?)
@ 2021-06-21  2:57   ` Ezequiel Garcia
  -1 siblings, 0 replies; 57+ messages in thread
From: Ezequiel Garcia @ 2021-06-21  2:57 UTC (permalink / raw)
  To: Paul Kocialkowski, linux-media, linux-rockchip, devicetree,
	linux-arm-kernel, linux-kernel
  Cc: Jacob Chen, Mauro Carvalho Chehab, Rob Herring, Heiko Stuebner,
	Philipp Zabel, Greg Kroah-Hartman, Thomas Petazzoni, Alex Bee,
	Chris Healy

Hi Paul,

On Thu, 2021-01-07 at 14:40 +0100, Paul Kocialkowski wrote:
> This series adds the required bits for RGA and VPU support on the
> Rockchip PX30 SoC.
> 

Do you plan to resend this series?

Alex recently renamed [1] things so some tweaking will be needed,
but it shouldn't be complicated.

[1] https://lore.kernel.org/linux-media/20210614213215.99389-1-knaerzche@gmail.com/

It would be great to have support RK3326 and PX30 :)

Kindly,
Ezequiel




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

* Re: [PATCH 0/5] Rockchip PX30 RGA and VPU support
@ 2021-06-21  2:57   ` Ezequiel Garcia
  0 siblings, 0 replies; 57+ messages in thread
From: Ezequiel Garcia @ 2021-06-21  2:57 UTC (permalink / raw)
  To: Paul Kocialkowski, linux-media, linux-rockchip, devicetree,
	linux-arm-kernel, linux-kernel
  Cc: Jacob Chen, Mauro Carvalho Chehab, Rob Herring, Heiko Stuebner,
	Philipp Zabel, Greg Kroah-Hartman, Thomas Petazzoni, Alex Bee,
	Chris Healy

Hi Paul,

On Thu, 2021-01-07 at 14:40 +0100, Paul Kocialkowski wrote:
> This series adds the required bits for RGA and VPU support on the
> Rockchip PX30 SoC.
> 

Do you plan to resend this series?

Alex recently renamed [1] things so some tweaking will be needed,
but it shouldn't be complicated.

[1] https://lore.kernel.org/linux-media/20210614213215.99389-1-knaerzche@gmail.com/

It would be great to have support RK3326 and PX30 :)

Kindly,
Ezequiel




_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

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

* Re: [PATCH 0/5] Rockchip PX30 RGA and VPU support
@ 2021-06-21  2:57   ` Ezequiel Garcia
  0 siblings, 0 replies; 57+ messages in thread
From: Ezequiel Garcia @ 2021-06-21  2:57 UTC (permalink / raw)
  To: Paul Kocialkowski, linux-media, linux-rockchip, devicetree,
	linux-arm-kernel, linux-kernel
  Cc: Jacob Chen, Mauro Carvalho Chehab, Rob Herring, Heiko Stuebner,
	Philipp Zabel, Greg Kroah-Hartman, Thomas Petazzoni, Alex Bee,
	Chris Healy

Hi Paul,

On Thu, 2021-01-07 at 14:40 +0100, Paul Kocialkowski wrote:
> This series adds the required bits for RGA and VPU support on the
> Rockchip PX30 SoC.
> 

Do you plan to resend this series?

Alex recently renamed [1] things so some tweaking will be needed,
but it shouldn't be complicated.

[1] https://lore.kernel.org/linux-media/20210614213215.99389-1-knaerzche@gmail.com/

It would be great to have support RK3326 and PX30 :)

Kindly,
Ezequiel




_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

* Re: [PATCH 0/5] Rockchip PX30 RGA and VPU support
  2021-06-21  2:57   ` Ezequiel Garcia
  (?)
@ 2021-10-16 15:15     ` Michael Nazzareno Trimarchi
  -1 siblings, 0 replies; 57+ messages in thread
From: Michael Nazzareno Trimarchi @ 2021-10-16 15:15 UTC (permalink / raw)
  To: Ezequiel Garcia
  Cc: Paul Kocialkowski, linux-media, open list:ARM/Rockchip SoC...,
	devicetree, linux-arm-kernel, LKML, Jacob Chen,
	Mauro Carvalho Chehab, Rob Herring, Heiko Stuebner,
	Philipp Zabel, Greg Kroah-Hartman, Thomas Petazzoni, Alex Bee,
	Chris Healy

Hi all

On Mon, Jun 21, 2021 at 5:00 AM Ezequiel Garcia <ezequiel@collabora.com> wrote:
>
> Hi Paul,
>
> On Thu, 2021-01-07 at 14:40 +0100, Paul Kocialkowski wrote:
> > This series adds the required bits for RGA and VPU support on the
> > Rockchip PX30 SoC.
> >
>
> Do you plan to resend this series?
>
> Alex recently renamed [1] things so some tweaking will be needed,
> but it shouldn't be complicated.
>
> [1] https://lore.kernel.org/linux-media/20210614213215.99389-1-knaerzche@gmail.com/
>
> It would be great to have support RK3326 and PX30 :)

I can re-spin and test it, but I don't find the whole thread

Michael

>
> Kindly,
> Ezequiel
>
>
>
>
> _______________________________________________
> Linux-rockchip mailing list
> Linux-rockchip@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-rockchip



-- 
Michael Nazzareno Trimarchi
Co-Founder & Chief Executive Officer
M. +39 347 913 2170
michael@amarulasolutions.com
__________________________________

Amarula Solutions BV
Joop Geesinkweg 125, 1114 AB, Amsterdam, NL
T. +31 (0)85 111 9172
info@amarulasolutions.com
www.amarulasolutions.com

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

* Re: [PATCH 0/5] Rockchip PX30 RGA and VPU support
@ 2021-10-16 15:15     ` Michael Nazzareno Trimarchi
  0 siblings, 0 replies; 57+ messages in thread
From: Michael Nazzareno Trimarchi @ 2021-10-16 15:15 UTC (permalink / raw)
  To: Ezequiel Garcia
  Cc: Paul Kocialkowski, linux-media, open list:ARM/Rockchip SoC...,
	devicetree, linux-arm-kernel, LKML, Jacob Chen,
	Mauro Carvalho Chehab, Rob Herring, Heiko Stuebner,
	Philipp Zabel, Greg Kroah-Hartman, Thomas Petazzoni, Alex Bee,
	Chris Healy

Hi all

On Mon, Jun 21, 2021 at 5:00 AM Ezequiel Garcia <ezequiel@collabora.com> wrote:
>
> Hi Paul,
>
> On Thu, 2021-01-07 at 14:40 +0100, Paul Kocialkowski wrote:
> > This series adds the required bits for RGA and VPU support on the
> > Rockchip PX30 SoC.
> >
>
> Do you plan to resend this series?
>
> Alex recently renamed [1] things so some tweaking will be needed,
> but it shouldn't be complicated.
>
> [1] https://lore.kernel.org/linux-media/20210614213215.99389-1-knaerzche@gmail.com/
>
> It would be great to have support RK3326 and PX30 :)

I can re-spin and test it, but I don't find the whole thread

Michael

>
> Kindly,
> Ezequiel
>
>
>
>
> _______________________________________________
> Linux-rockchip mailing list
> Linux-rockchip@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-rockchip



-- 
Michael Nazzareno Trimarchi
Co-Founder & Chief Executive Officer
M. +39 347 913 2170
michael@amarulasolutions.com
__________________________________

Amarula Solutions BV
Joop Geesinkweg 125, 1114 AB, Amsterdam, NL
T. +31 (0)85 111 9172
info@amarulasolutions.com
www.amarulasolutions.com

_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

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

* Re: [PATCH 0/5] Rockchip PX30 RGA and VPU support
@ 2021-10-16 15:15     ` Michael Nazzareno Trimarchi
  0 siblings, 0 replies; 57+ messages in thread
From: Michael Nazzareno Trimarchi @ 2021-10-16 15:15 UTC (permalink / raw)
  To: Ezequiel Garcia
  Cc: Paul Kocialkowski, linux-media, open list:ARM/Rockchip SoC...,
	devicetree, linux-arm-kernel, LKML, Jacob Chen,
	Mauro Carvalho Chehab, Rob Herring, Heiko Stuebner,
	Philipp Zabel, Greg Kroah-Hartman, Thomas Petazzoni, Alex Bee,
	Chris Healy

Hi all

On Mon, Jun 21, 2021 at 5:00 AM Ezequiel Garcia <ezequiel@collabora.com> wrote:
>
> Hi Paul,
>
> On Thu, 2021-01-07 at 14:40 +0100, Paul Kocialkowski wrote:
> > This series adds the required bits for RGA and VPU support on the
> > Rockchip PX30 SoC.
> >
>
> Do you plan to resend this series?
>
> Alex recently renamed [1] things so some tweaking will be needed,
> but it shouldn't be complicated.
>
> [1] https://lore.kernel.org/linux-media/20210614213215.99389-1-knaerzche@gmail.com/
>
> It would be great to have support RK3326 and PX30 :)

I can re-spin and test it, but I don't find the whole thread

Michael

>
> Kindly,
> Ezequiel
>
>
>
>
> _______________________________________________
> Linux-rockchip mailing list
> Linux-rockchip@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-rockchip



-- 
Michael Nazzareno Trimarchi
Co-Founder & Chief Executive Officer
M. +39 347 913 2170
michael@amarulasolutions.com
__________________________________

Amarula Solutions BV
Joop Geesinkweg 125, 1114 AB, Amsterdam, NL
T. +31 (0)85 111 9172
info@amarulasolutions.com
www.amarulasolutions.com

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

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

end of thread, other threads:[~2021-10-16 15:16 UTC | newest]

Thread overview: 57+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-07 13:40 [PATCH 0/5] Rockchip PX30 RGA and VPU support Paul Kocialkowski
2021-01-07 13:40 ` Paul Kocialkowski
2021-01-07 13:40 ` Paul Kocialkowski
2021-01-07 13:40 ` [PATCH 1/5] dt-bindings: media: rockchip-rga: Add PX30 compatible Paul Kocialkowski
2021-01-07 13:40   ` Paul Kocialkowski
2021-01-07 13:40   ` Paul Kocialkowski
2021-01-07 15:47   ` Rob Herring
2021-01-07 15:47     ` Rob Herring
2021-01-07 15:47     ` Rob Herring
2021-01-07 13:40 ` [PATCH 2/5] arm64: dts: rockchip: Add RGA support to the PX30 Paul Kocialkowski
2021-01-07 13:40   ` Paul Kocialkowski
2021-01-07 13:40   ` Paul Kocialkowski
2021-01-07 14:24   ` Paul Kocialkowski
2021-01-07 14:24     ` Paul Kocialkowski
2021-01-07 14:24     ` Paul Kocialkowski
2021-01-07 13:40 ` [PATCH 3/5] dt-bindings: media: rockchip-vpu: Add PX30 compatible Paul Kocialkowski
2021-01-07 13:40   ` Paul Kocialkowski
2021-01-07 13:40   ` Paul Kocialkowski
2021-01-07 14:55   ` Philipp Zabel
2021-01-07 14:55     ` Philipp Zabel
2021-01-07 14:55     ` Philipp Zabel
2021-01-11 17:20     ` Paul Kocialkowski
2021-01-11 17:20       ` Paul Kocialkowski
2021-01-11 17:20       ` Paul Kocialkowski
2021-01-07 15:47   ` Rob Herring
2021-01-07 15:47     ` Rob Herring
2021-01-07 15:47     ` Rob Herring
2021-01-07 13:41 ` [PATCH 4/5] arm64: dts: rockchip: Add VPU support for the PX30 Paul Kocialkowski
2021-01-07 13:41   ` Paul Kocialkowski
2021-01-07 13:41   ` Paul Kocialkowski
2021-01-07 13:41 ` [PATCH 5/5] media: hantro: Add support for the Rockchip PX30 Paul Kocialkowski
2021-01-07 13:41   ` Paul Kocialkowski
2021-01-07 13:41   ` Paul Kocialkowski
2021-01-07 19:08   ` Ezequiel Garcia
2021-01-07 19:08     ` Ezequiel Garcia
2021-01-07 19:08     ` Ezequiel Garcia
2021-01-08  9:05     ` Paul Kocialkowski
2021-01-08  9:05       ` Paul Kocialkowski
2021-01-08  9:05       ` Paul Kocialkowski
2021-01-08 10:48       ` Heiko Stübner
2021-01-08 10:48         ` Heiko Stübner
2021-01-08 10:48         ` Heiko Stübner
2021-01-08 10:49         ` Heiko Stübner
2021-01-08 10:49           ` Heiko Stübner
2021-01-08 10:49           ` Heiko Stübner
2021-01-08 13:13       ` Ezequiel Garcia
2021-01-08 13:13         ` Ezequiel Garcia
2021-01-08 13:13         ` Ezequiel Garcia
2021-01-11 17:23         ` Paul Kocialkowski
2021-01-11 17:23           ` Paul Kocialkowski
2021-01-11 17:23           ` Paul Kocialkowski
2021-06-21  2:57 ` [PATCH 0/5] Rockchip PX30 RGA and VPU support Ezequiel Garcia
2021-06-21  2:57   ` Ezequiel Garcia
2021-06-21  2:57   ` Ezequiel Garcia
2021-10-16 15:15   ` Michael Nazzareno Trimarchi
2021-10-16 15:15     ` Michael Nazzareno Trimarchi
2021-10-16 15:15     ` Michael Nazzareno Trimarchi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.