All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/3] Fix mdp device tree
@ 2017-05-23  3:24 ` Minghsiu Tsai
  0 siblings, 0 replies; 28+ messages in thread
From: Minghsiu Tsai @ 2017-05-23  3:24 UTC (permalink / raw)
  To: Hans Verkuil, daniel.thompson, Rob Herring,
	Mauro Carvalho Chehab, Matthias Brugger, Daniel Kurtz,
	Pawel Osciak, Houlong Wei
  Cc: srv_heupstream, Eddie Huang, Yingjoe Chen, Wu-Cheng Li,
	devicetree, linux-kernel, linux-arm-kernel, linux-media,
	linux-mediatek

Changes in v4:
- Add backwards compability if dts is out-of-date

Changes in v3:
- Upload patches again because forget to add v2 in title

Changes in v2:
- Update commit message

If the mdp_* nodes are under an mdp sub-node, their corresponding
platform device does not automatically get its iommu assigned properly.

Fix this by moving the mdp component nodes up a level such that they are
siblings of mdp and all other SoC subsystems.  This also simplifies the
device tree.

Although it fixes iommu assignment issue, it also break compatibility
with old device tree. So, the patch in driver is needed to iterate over
sibling mdp device nodes, not child ones, to keep driver work properly.

Daniel Kurtz (2):
  arm64: dts: mt8173: Fix mdp device tree
  media: mtk-mdp: Fix mdp device tree

Minghsiu Tsai (1):
  dt-bindings: mt8173: Fix mdp device tree

 .../devicetree/bindings/media/mediatek-mdp.txt     |  12 +-
 arch/arm64/boot/dts/mediatek/mt8173.dtsi           | 126 ++++++++++-----------
 drivers/media/platform/mtk-mdp/mtk_mdp_core.c      |  12 +-
 3 files changed, 73 insertions(+), 77 deletions(-)

-- 
1.9.1

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

* [PATCH v4 0/3] Fix mdp device tree
@ 2017-05-23  3:24 ` Minghsiu Tsai
  0 siblings, 0 replies; 28+ messages in thread
From: Minghsiu Tsai @ 2017-05-23  3:24 UTC (permalink / raw)
  To: Hans Verkuil, daniel.thompson, Rob Herring,
	Mauro Carvalho Chehab, Matthias Brugger, Daniel Kurtz,
	Pawel Osciak, Houlong Wei
  Cc: devicetree, srv_heupstream, Wu-Cheng Li, linux-kernel,
	linux-mediatek, Yingjoe Chen, Eddie Huang, linux-arm-kernel,
	linux-media

Changes in v4:
- Add backwards compability if dts is out-of-date

Changes in v3:
- Upload patches again because forget to add v2 in title

Changes in v2:
- Update commit message

If the mdp_* nodes are under an mdp sub-node, their corresponding
platform device does not automatically get its iommu assigned properly.

Fix this by moving the mdp component nodes up a level such that they are
siblings of mdp and all other SoC subsystems.  This also simplifies the
device tree.

Although it fixes iommu assignment issue, it also break compatibility
with old device tree. So, the patch in driver is needed to iterate over
sibling mdp device nodes, not child ones, to keep driver work properly.

Daniel Kurtz (2):
  arm64: dts: mt8173: Fix mdp device tree
  media: mtk-mdp: Fix mdp device tree

Minghsiu Tsai (1):
  dt-bindings: mt8173: Fix mdp device tree

 .../devicetree/bindings/media/mediatek-mdp.txt     |  12 +-
 arch/arm64/boot/dts/mediatek/mt8173.dtsi           | 126 ++++++++++-----------
 drivers/media/platform/mtk-mdp/mtk_mdp_core.c      |  12 +-
 3 files changed, 73 insertions(+), 77 deletions(-)

-- 
1.9.1

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

* [PATCH v4 0/3] Fix mdp device tree
@ 2017-05-23  3:24 ` Minghsiu Tsai
  0 siblings, 0 replies; 28+ messages in thread
From: Minghsiu Tsai @ 2017-05-23  3:24 UTC (permalink / raw)
  To: linux-arm-kernel

Changes in v4:
- Add backwards compability if dts is out-of-date

Changes in v3:
- Upload patches again because forget to add v2 in title

Changes in v2:
- Update commit message

If the mdp_* nodes are under an mdp sub-node, their corresponding
platform device does not automatically get its iommu assigned properly.

Fix this by moving the mdp component nodes up a level such that they are
siblings of mdp and all other SoC subsystems.  This also simplifies the
device tree.

Although it fixes iommu assignment issue, it also break compatibility
with old device tree. So, the patch in driver is needed to iterate over
sibling mdp device nodes, not child ones, to keep driver work properly.

Daniel Kurtz (2):
  arm64: dts: mt8173: Fix mdp device tree
  media: mtk-mdp: Fix mdp device tree

Minghsiu Tsai (1):
  dt-bindings: mt8173: Fix mdp device tree

 .../devicetree/bindings/media/mediatek-mdp.txt     |  12 +-
 arch/arm64/boot/dts/mediatek/mt8173.dtsi           | 126 ++++++++++-----------
 drivers/media/platform/mtk-mdp/mtk_mdp_core.c      |  12 +-
 3 files changed, 73 insertions(+), 77 deletions(-)

-- 
1.9.1

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

* [PATCH v4 1/3] dt-bindings: mt8173: Fix mdp device tree
@ 2017-05-23  3:24   ` Minghsiu Tsai
  0 siblings, 0 replies; 28+ messages in thread
From: Minghsiu Tsai @ 2017-05-23  3:24 UTC (permalink / raw)
  To: Hans Verkuil, daniel.thompson, Rob Herring,
	Mauro Carvalho Chehab, Matthias Brugger, Daniel Kurtz,
	Pawel Osciak, Houlong Wei
  Cc: srv_heupstream, Eddie Huang, Yingjoe Chen, Wu-Cheng Li,
	devicetree, linux-kernel, linux-arm-kernel, linux-media,
	linux-mediatek, Minghsiu Tsai

If the mdp_* nodes are under an mdp sub-node, their corresponding
platform device does not automatically get its iommu assigned properly.

Fix this by moving the mdp component nodes up a level such that they are
siblings of mdp and all other SoC subsystems.  This also simplifies the
device tree.

Although it fixes iommu assignment issue, it also break compatibility
with old device tree. So, the patch in driver is needed to iterate over
sibling mdp device nodes, not child ones, to keep driver work properly.

Signed-off-by: Minghsiu Tsai <minghsiu.tsai@mediatek.com>
Acked-by: Rob Herring <robh@kernel.org>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>

---
 Documentation/devicetree/bindings/media/mediatek-mdp.txt | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)

diff --git a/Documentation/devicetree/bindings/media/mediatek-mdp.txt b/Documentation/devicetree/bindings/media/mediatek-mdp.txt
index 4182063..0d03e3a 100644
--- a/Documentation/devicetree/bindings/media/mediatek-mdp.txt
+++ b/Documentation/devicetree/bindings/media/mediatek-mdp.txt
@@ -2,7 +2,7 @@
 
 Media Data Path is used for scaling and color space conversion.
 
-Required properties (controller (parent) node):
+Required properties (controller node):
 - compatible: "mediatek,mt8173-mdp"
 - mediatek,vpu: the node of video processor unit, see
   Documentation/devicetree/bindings/media/mediatek-vpu.txt for details.
@@ -32,21 +32,16 @@ Required properties (DMA function blocks, child node):
   for details.
 
 Example:
-mdp {
-	compatible = "mediatek,mt8173-mdp";
-	#address-cells = <2>;
-	#size-cells = <2>;
-	ranges;
-	mediatek,vpu = <&vpu>;
-
 	mdp_rdma0: rdma@14001000 {
 		compatible = "mediatek,mt8173-mdp-rdma";
+			     "mediatek,mt8173-mdp";
 		reg = <0 0x14001000 0 0x1000>;
 		clocks = <&mmsys CLK_MM_MDP_RDMA0>,
 			 <&mmsys CLK_MM_MUTEX_32K>;
 		power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
 		iommus = <&iommu M4U_PORT_MDP_RDMA0>;
 		mediatek,larb = <&larb0>;
+		mediatek,vpu = <&vpu>;
 	};
 
 	mdp_rdma1: rdma@14002000 {
@@ -106,4 +101,3 @@ mdp {
 		iommus = <&iommu M4U_PORT_MDP_WROT1>;
 		mediatek,larb = <&larb4>;
 	};
-};
-- 
1.9.1

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

* [PATCH v4 1/3] dt-bindings: mt8173: Fix mdp device tree
@ 2017-05-23  3:24   ` Minghsiu Tsai
  0 siblings, 0 replies; 28+ messages in thread
From: Minghsiu Tsai @ 2017-05-23  3:24 UTC (permalink / raw)
  To: Hans Verkuil, daniel.thompson-QSEj5FYQhm4dnm+yROfE0A,
	Rob Herring, Mauro Carvalho Chehab, Matthias Brugger,
	Daniel Kurtz, Pawel Osciak, Houlong Wei
  Cc: srv_heupstream-NuS5LvNUpcJWk0Htik3J/w, Eddie Huang, Yingjoe Chen,
	Wu-Cheng Li, devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-media-u79uwXL29TY76Z2rM5mHXA,
	linux-mediatek-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Minghsiu Tsai

If the mdp_* nodes are under an mdp sub-node, their corresponding
platform device does not automatically get its iommu assigned properly.

Fix this by moving the mdp component nodes up a level such that they are
siblings of mdp and all other SoC subsystems.  This also simplifies the
device tree.

Although it fixes iommu assignment issue, it also break compatibility
with old device tree. So, the patch in driver is needed to iterate over
sibling mdp device nodes, not child ones, to keep driver work properly.

Signed-off-by: Minghsiu Tsai <minghsiu.tsai-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
Acked-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Acked-by: Hans Verkuil <hans.verkuil-FYB4Gu1CFyUAvxtiuMwx3w@public.gmane.org>

---
 Documentation/devicetree/bindings/media/mediatek-mdp.txt | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)

diff --git a/Documentation/devicetree/bindings/media/mediatek-mdp.txt b/Documentation/devicetree/bindings/media/mediatek-mdp.txt
index 4182063..0d03e3a 100644
--- a/Documentation/devicetree/bindings/media/mediatek-mdp.txt
+++ b/Documentation/devicetree/bindings/media/mediatek-mdp.txt
@@ -2,7 +2,7 @@
 
 Media Data Path is used for scaling and color space conversion.
 
-Required properties (controller (parent) node):
+Required properties (controller node):
 - compatible: "mediatek,mt8173-mdp"
 - mediatek,vpu: the node of video processor unit, see
   Documentation/devicetree/bindings/media/mediatek-vpu.txt for details.
@@ -32,21 +32,16 @@ Required properties (DMA function blocks, child node):
   for details.
 
 Example:
-mdp {
-	compatible = "mediatek,mt8173-mdp";
-	#address-cells = <2>;
-	#size-cells = <2>;
-	ranges;
-	mediatek,vpu = <&vpu>;
-
 	mdp_rdma0: rdma@14001000 {
 		compatible = "mediatek,mt8173-mdp-rdma";
+			     "mediatek,mt8173-mdp";
 		reg = <0 0x14001000 0 0x1000>;
 		clocks = <&mmsys CLK_MM_MDP_RDMA0>,
 			 <&mmsys CLK_MM_MUTEX_32K>;
 		power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
 		iommus = <&iommu M4U_PORT_MDP_RDMA0>;
 		mediatek,larb = <&larb0>;
+		mediatek,vpu = <&vpu>;
 	};
 
 	mdp_rdma1: rdma@14002000 {
@@ -106,4 +101,3 @@ mdp {
 		iommus = <&iommu M4U_PORT_MDP_WROT1>;
 		mediatek,larb = <&larb4>;
 	};
-};
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* [PATCH v4 1/3] dt-bindings: mt8173: Fix mdp device tree
@ 2017-05-23  3:24   ` Minghsiu Tsai
  0 siblings, 0 replies; 28+ messages in thread
From: Minghsiu Tsai @ 2017-05-23  3:24 UTC (permalink / raw)
  To: linux-arm-kernel

If the mdp_* nodes are under an mdp sub-node, their corresponding
platform device does not automatically get its iommu assigned properly.

Fix this by moving the mdp component nodes up a level such that they are
siblings of mdp and all other SoC subsystems.  This also simplifies the
device tree.

Although it fixes iommu assignment issue, it also break compatibility
with old device tree. So, the patch in driver is needed to iterate over
sibling mdp device nodes, not child ones, to keep driver work properly.

Signed-off-by: Minghsiu Tsai <minghsiu.tsai@mediatek.com>
Acked-by: Rob Herring <robh@kernel.org>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>

---
 Documentation/devicetree/bindings/media/mediatek-mdp.txt | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)

diff --git a/Documentation/devicetree/bindings/media/mediatek-mdp.txt b/Documentation/devicetree/bindings/media/mediatek-mdp.txt
index 4182063..0d03e3a 100644
--- a/Documentation/devicetree/bindings/media/mediatek-mdp.txt
+++ b/Documentation/devicetree/bindings/media/mediatek-mdp.txt
@@ -2,7 +2,7 @@
 
 Media Data Path is used for scaling and color space conversion.
 
-Required properties (controller (parent) node):
+Required properties (controller node):
 - compatible: "mediatek,mt8173-mdp"
 - mediatek,vpu: the node of video processor unit, see
   Documentation/devicetree/bindings/media/mediatek-vpu.txt for details.
@@ -32,21 +32,16 @@ Required properties (DMA function blocks, child node):
   for details.
 
 Example:
-mdp {
-	compatible = "mediatek,mt8173-mdp";
-	#address-cells = <2>;
-	#size-cells = <2>;
-	ranges;
-	mediatek,vpu = <&vpu>;
-
 	mdp_rdma0: rdma at 14001000 {
 		compatible = "mediatek,mt8173-mdp-rdma";
+			     "mediatek,mt8173-mdp";
 		reg = <0 0x14001000 0 0x1000>;
 		clocks = <&mmsys CLK_MM_MDP_RDMA0>,
 			 <&mmsys CLK_MM_MUTEX_32K>;
 		power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
 		iommus = <&iommu M4U_PORT_MDP_RDMA0>;
 		mediatek,larb = <&larb0>;
+		mediatek,vpu = <&vpu>;
 	};
 
 	mdp_rdma1: rdma at 14002000 {
@@ -106,4 +101,3 @@ mdp {
 		iommus = <&iommu M4U_PORT_MDP_WROT1>;
 		mediatek,larb = <&larb4>;
 	};
-};
-- 
1.9.1

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

* [PATCH v4 2/3] arm64: dts: mt8173: Fix mdp device tree
  2017-05-23  3:24 ` Minghsiu Tsai
  (?)
@ 2017-05-23  3:24   ` Minghsiu Tsai
  -1 siblings, 0 replies; 28+ messages in thread
From: Minghsiu Tsai @ 2017-05-23  3:24 UTC (permalink / raw)
  To: Hans Verkuil, daniel.thompson, Rob Herring,
	Mauro Carvalho Chehab, Matthias Brugger, Daniel Kurtz,
	Pawel Osciak, Houlong Wei
  Cc: srv_heupstream, Eddie Huang, Yingjoe Chen, Wu-Cheng Li,
	devicetree, linux-kernel, linux-arm-kernel, linux-media,
	linux-mediatek, Minghsiu Tsai

From: Daniel Kurtz <djkurtz@chromium.org>

If the mdp_* nodes are under an mdp sub-node, their corresponding
platform device does not automatically get its iommu assigned properly.

Fix this by moving the mdp component nodes up a level such that they are
siblings of mdp and all other SoC subsystems.  This also simplifies the
device tree.

Although it fixes iommu assignment issue, it also break compatibility
with old device tree. So, the patch in driver is needed to iterate over
sibling mdp device nodes, not child ones, to keep driver work properly.

Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
Signed-off-by: Minghsiu Tsai <minghsiu.tsai@mediatek.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>

---
 arch/arm64/boot/dts/mediatek/mt8173.dtsi | 126 +++++++++++++++----------------
 1 file changed, 60 insertions(+), 66 deletions(-)

diff --git a/arch/arm64/boot/dts/mediatek/mt8173.dtsi b/arch/arm64/boot/dts/mediatek/mt8173.dtsi
index 6922252..d28a363 100644
--- a/arch/arm64/boot/dts/mediatek/mt8173.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8173.dtsi
@@ -792,80 +792,74 @@
 			#clock-cells = <1>;
 		};
 
-		mdp {
-			compatible = "mediatek,mt8173-mdp";
-			#address-cells = <2>;
-			#size-cells = <2>;
-			ranges;
+		mdp_rdma0: rdma@14001000 {
+			compatible = "mediatek,mt8173-mdp-rdma",
+				     "mediatek,mt8173-mdp";
+			reg = <0 0x14001000 0 0x1000>;
+			clocks = <&mmsys CLK_MM_MDP_RDMA0>,
+				 <&mmsys CLK_MM_MUTEX_32K>;
+			power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
+			iommus = <&iommu M4U_PORT_MDP_RDMA0>;
+			mediatek,larb = <&larb0>;
 			mediatek,vpu = <&vpu>;
+		};
 
-			mdp_rdma0: rdma@14001000 {
-				compatible = "mediatek,mt8173-mdp-rdma";
-				reg = <0 0x14001000 0 0x1000>;
-				clocks = <&mmsys CLK_MM_MDP_RDMA0>,
-					 <&mmsys CLK_MM_MUTEX_32K>;
-				power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
-				iommus = <&iommu M4U_PORT_MDP_RDMA0>;
-				mediatek,larb = <&larb0>;
-			};
-
-			mdp_rdma1: rdma@14002000 {
-				compatible = "mediatek,mt8173-mdp-rdma";
-				reg = <0 0x14002000 0 0x1000>;
-				clocks = <&mmsys CLK_MM_MDP_RDMA1>,
-					 <&mmsys CLK_MM_MUTEX_32K>;
-				power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
-				iommus = <&iommu M4U_PORT_MDP_RDMA1>;
-				mediatek,larb = <&larb4>;
-			};
+		mdp_rdma1: rdma@14002000 {
+			compatible = "mediatek,mt8173-mdp-rdma";
+			reg = <0 0x14002000 0 0x1000>;
+			clocks = <&mmsys CLK_MM_MDP_RDMA1>,
+				 <&mmsys CLK_MM_MUTEX_32K>;
+			power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
+			iommus = <&iommu M4U_PORT_MDP_RDMA1>;
+			mediatek,larb = <&larb4>;
+		};
 
-			mdp_rsz0: rsz@14003000 {
-				compatible = "mediatek,mt8173-mdp-rsz";
-				reg = <0 0x14003000 0 0x1000>;
-				clocks = <&mmsys CLK_MM_MDP_RSZ0>;
-				power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
-			};
+		mdp_rsz0: rsz@14003000 {
+			compatible = "mediatek,mt8173-mdp-rsz";
+			reg = <0 0x14003000 0 0x1000>;
+			clocks = <&mmsys CLK_MM_MDP_RSZ0>;
+			power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
+		};
 
-			mdp_rsz1: rsz@14004000 {
-				compatible = "mediatek,mt8173-mdp-rsz";
-				reg = <0 0x14004000 0 0x1000>;
-				clocks = <&mmsys CLK_MM_MDP_RSZ1>;
-				power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
-			};
+		mdp_rsz1: rsz@14004000 {
+			compatible = "mediatek,mt8173-mdp-rsz";
+			reg = <0 0x14004000 0 0x1000>;
+			clocks = <&mmsys CLK_MM_MDP_RSZ1>;
+			power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
+		};
 
-			mdp_rsz2: rsz@14005000 {
-				compatible = "mediatek,mt8173-mdp-rsz";
-				reg = <0 0x14005000 0 0x1000>;
-				clocks = <&mmsys CLK_MM_MDP_RSZ2>;
-				power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
-			};
+		mdp_rsz2: rsz@14005000 {
+			compatible = "mediatek,mt8173-mdp-rsz";
+			reg = <0 0x14005000 0 0x1000>;
+			clocks = <&mmsys CLK_MM_MDP_RSZ2>;
+			power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
+		};
 
-			mdp_wdma0: wdma@14006000 {
-				compatible = "mediatek,mt8173-mdp-wdma";
-				reg = <0 0x14006000 0 0x1000>;
-				clocks = <&mmsys CLK_MM_MDP_WDMA>;
-				power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
-				iommus = <&iommu M4U_PORT_MDP_WDMA>;
-				mediatek,larb = <&larb0>;
-			};
+		mdp_wdma0: wdma@14006000 {
+			compatible = "mediatek,mt8173-mdp-wdma";
+			reg = <0 0x14006000 0 0x1000>;
+			clocks = <&mmsys CLK_MM_MDP_WDMA>;
+			power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
+			iommus = <&iommu M4U_PORT_MDP_WDMA>;
+			mediatek,larb = <&larb0>;
+		};
 
-			mdp_wrot0: wrot@14007000 {
-				compatible = "mediatek,mt8173-mdp-wrot";
-				reg = <0 0x14007000 0 0x1000>;
-				clocks = <&mmsys CLK_MM_MDP_WROT0>;
-				power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
-				iommus = <&iommu M4U_PORT_MDP_WROT0>;
-				mediatek,larb = <&larb0>;
-			};
+		mdp_wrot0: wrot@14007000 {
+			compatible = "mediatek,mt8173-mdp-wrot";
+			reg = <0 0x14007000 0 0x1000>;
+			clocks = <&mmsys CLK_MM_MDP_WROT0>;
+			power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
+			iommus = <&iommu M4U_PORT_MDP_WROT0>;
+			mediatek,larb = <&larb0>;
+		};
 
-			mdp_wrot1: wrot@14008000 {
-				compatible = "mediatek,mt8173-mdp-wrot";
-				reg = <0 0x14008000 0 0x1000>;
-				clocks = <&mmsys CLK_MM_MDP_WROT1>;
-				power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
-				iommus = <&iommu M4U_PORT_MDP_WROT1>;
-				mediatek,larb = <&larb4>;
-			};
+		mdp_wrot1: wrot@14008000 {
+			compatible = "mediatek,mt8173-mdp-wrot";
+			reg = <0 0x14008000 0 0x1000>;
+			clocks = <&mmsys CLK_MM_MDP_WROT1>;
+			power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
+			iommus = <&iommu M4U_PORT_MDP_WROT1>;
+			mediatek,larb = <&larb4>;
 		};
 
 		ovl0: ovl@1400c000 {
-- 
1.9.1

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

* [PATCH v4 2/3] arm64: dts: mt8173: Fix mdp device tree
@ 2017-05-23  3:24   ` Minghsiu Tsai
  0 siblings, 0 replies; 28+ messages in thread
From: Minghsiu Tsai @ 2017-05-23  3:24 UTC (permalink / raw)
  To: Hans Verkuil, daniel.thompson, Rob Herring,
	Mauro Carvalho Chehab, Matthias Brugger, Daniel Kurtz,
	Pawel Osciak, Houlong Wei
  Cc: srv_heupstream, Eddie Huang, Yingjoe Chen, Wu-Cheng Li,
	devicetree, linux-kernel, linux-arm-kernel, linux-media,
	linux-mediatek, Minghsiu Tsai

From: Daniel Kurtz <djkurtz@chromium.org>

If the mdp_* nodes are under an mdp sub-node, their corresponding
platform device does not automatically get its iommu assigned properly.

Fix this by moving the mdp component nodes up a level such that they are
siblings of mdp and all other SoC subsystems.  This also simplifies the
device tree.

Although it fixes iommu assignment issue, it also break compatibility
with old device tree. So, the patch in driver is needed to iterate over
sibling mdp device nodes, not child ones, to keep driver work properly.

Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
Signed-off-by: Minghsiu Tsai <minghsiu.tsai@mediatek.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>

---
 arch/arm64/boot/dts/mediatek/mt8173.dtsi | 126 +++++++++++++++----------------
 1 file changed, 60 insertions(+), 66 deletions(-)

diff --git a/arch/arm64/boot/dts/mediatek/mt8173.dtsi b/arch/arm64/boot/dts/mediatek/mt8173.dtsi
index 6922252..d28a363 100644
--- a/arch/arm64/boot/dts/mediatek/mt8173.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8173.dtsi
@@ -792,80 +792,74 @@
 			#clock-cells = <1>;
 		};
 
-		mdp {
-			compatible = "mediatek,mt8173-mdp";
-			#address-cells = <2>;
-			#size-cells = <2>;
-			ranges;
+		mdp_rdma0: rdma@14001000 {
+			compatible = "mediatek,mt8173-mdp-rdma",
+				     "mediatek,mt8173-mdp";
+			reg = <0 0x14001000 0 0x1000>;
+			clocks = <&mmsys CLK_MM_MDP_RDMA0>,
+				 <&mmsys CLK_MM_MUTEX_32K>;
+			power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
+			iommus = <&iommu M4U_PORT_MDP_RDMA0>;
+			mediatek,larb = <&larb0>;
 			mediatek,vpu = <&vpu>;
+		};
 
-			mdp_rdma0: rdma@14001000 {
-				compatible = "mediatek,mt8173-mdp-rdma";
-				reg = <0 0x14001000 0 0x1000>;
-				clocks = <&mmsys CLK_MM_MDP_RDMA0>,
-					 <&mmsys CLK_MM_MUTEX_32K>;
-				power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
-				iommus = <&iommu M4U_PORT_MDP_RDMA0>;
-				mediatek,larb = <&larb0>;
-			};
-
-			mdp_rdma1: rdma@14002000 {
-				compatible = "mediatek,mt8173-mdp-rdma";
-				reg = <0 0x14002000 0 0x1000>;
-				clocks = <&mmsys CLK_MM_MDP_RDMA1>,
-					 <&mmsys CLK_MM_MUTEX_32K>;
-				power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
-				iommus = <&iommu M4U_PORT_MDP_RDMA1>;
-				mediatek,larb = <&larb4>;
-			};
+		mdp_rdma1: rdma@14002000 {
+			compatible = "mediatek,mt8173-mdp-rdma";
+			reg = <0 0x14002000 0 0x1000>;
+			clocks = <&mmsys CLK_MM_MDP_RDMA1>,
+				 <&mmsys CLK_MM_MUTEX_32K>;
+			power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
+			iommus = <&iommu M4U_PORT_MDP_RDMA1>;
+			mediatek,larb = <&larb4>;
+		};
 
-			mdp_rsz0: rsz@14003000 {
-				compatible = "mediatek,mt8173-mdp-rsz";
-				reg = <0 0x14003000 0 0x1000>;
-				clocks = <&mmsys CLK_MM_MDP_RSZ0>;
-				power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
-			};
+		mdp_rsz0: rsz@14003000 {
+			compatible = "mediatek,mt8173-mdp-rsz";
+			reg = <0 0x14003000 0 0x1000>;
+			clocks = <&mmsys CLK_MM_MDP_RSZ0>;
+			power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
+		};
 
-			mdp_rsz1: rsz@14004000 {
-				compatible = "mediatek,mt8173-mdp-rsz";
-				reg = <0 0x14004000 0 0x1000>;
-				clocks = <&mmsys CLK_MM_MDP_RSZ1>;
-				power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
-			};
+		mdp_rsz1: rsz@14004000 {
+			compatible = "mediatek,mt8173-mdp-rsz";
+			reg = <0 0x14004000 0 0x1000>;
+			clocks = <&mmsys CLK_MM_MDP_RSZ1>;
+			power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
+		};
 
-			mdp_rsz2: rsz@14005000 {
-				compatible = "mediatek,mt8173-mdp-rsz";
-				reg = <0 0x14005000 0 0x1000>;
-				clocks = <&mmsys CLK_MM_MDP_RSZ2>;
-				power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
-			};
+		mdp_rsz2: rsz@14005000 {
+			compatible = "mediatek,mt8173-mdp-rsz";
+			reg = <0 0x14005000 0 0x1000>;
+			clocks = <&mmsys CLK_MM_MDP_RSZ2>;
+			power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
+		};
 
-			mdp_wdma0: wdma@14006000 {
-				compatible = "mediatek,mt8173-mdp-wdma";
-				reg = <0 0x14006000 0 0x1000>;
-				clocks = <&mmsys CLK_MM_MDP_WDMA>;
-				power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
-				iommus = <&iommu M4U_PORT_MDP_WDMA>;
-				mediatek,larb = <&larb0>;
-			};
+		mdp_wdma0: wdma@14006000 {
+			compatible = "mediatek,mt8173-mdp-wdma";
+			reg = <0 0x14006000 0 0x1000>;
+			clocks = <&mmsys CLK_MM_MDP_WDMA>;
+			power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
+			iommus = <&iommu M4U_PORT_MDP_WDMA>;
+			mediatek,larb = <&larb0>;
+		};
 
-			mdp_wrot0: wrot@14007000 {
-				compatible = "mediatek,mt8173-mdp-wrot";
-				reg = <0 0x14007000 0 0x1000>;
-				clocks = <&mmsys CLK_MM_MDP_WROT0>;
-				power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
-				iommus = <&iommu M4U_PORT_MDP_WROT0>;
-				mediatek,larb = <&larb0>;
-			};
+		mdp_wrot0: wrot@14007000 {
+			compatible = "mediatek,mt8173-mdp-wrot";
+			reg = <0 0x14007000 0 0x1000>;
+			clocks = <&mmsys CLK_MM_MDP_WROT0>;
+			power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
+			iommus = <&iommu M4U_PORT_MDP_WROT0>;
+			mediatek,larb = <&larb0>;
+		};
 
-			mdp_wrot1: wrot@14008000 {
-				compatible = "mediatek,mt8173-mdp-wrot";
-				reg = <0 0x14008000 0 0x1000>;
-				clocks = <&mmsys CLK_MM_MDP_WROT1>;
-				power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
-				iommus = <&iommu M4U_PORT_MDP_WROT1>;
-				mediatek,larb = <&larb4>;
-			};
+		mdp_wrot1: wrot@14008000 {
+			compatible = "mediatek,mt8173-mdp-wrot";
+			reg = <0 0x14008000 0 0x1000>;
+			clocks = <&mmsys CLK_MM_MDP_WROT1>;
+			power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
+			iommus = <&iommu M4U_PORT_MDP_WROT1>;
+			mediatek,larb = <&larb4>;
 		};
 
 		ovl0: ovl@1400c000 {
-- 
1.9.1

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

* [PATCH v4 2/3] arm64: dts: mt8173: Fix mdp device tree
@ 2017-05-23  3:24   ` Minghsiu Tsai
  0 siblings, 0 replies; 28+ messages in thread
From: Minghsiu Tsai @ 2017-05-23  3:24 UTC (permalink / raw)
  To: linux-arm-kernel

From: Daniel Kurtz <djkurtz@chromium.org>

If the mdp_* nodes are under an mdp sub-node, their corresponding
platform device does not automatically get its iommu assigned properly.

Fix this by moving the mdp component nodes up a level such that they are
siblings of mdp and all other SoC subsystems.  This also simplifies the
device tree.

Although it fixes iommu assignment issue, it also break compatibility
with old device tree. So, the patch in driver is needed to iterate over
sibling mdp device nodes, not child ones, to keep driver work properly.

Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
Signed-off-by: Minghsiu Tsai <minghsiu.tsai@mediatek.com>
Acked-by: Hans Verkuil <hans.verkuil@cisco.com>

---
 arch/arm64/boot/dts/mediatek/mt8173.dtsi | 126 +++++++++++++++----------------
 1 file changed, 60 insertions(+), 66 deletions(-)

diff --git a/arch/arm64/boot/dts/mediatek/mt8173.dtsi b/arch/arm64/boot/dts/mediatek/mt8173.dtsi
index 6922252..d28a363 100644
--- a/arch/arm64/boot/dts/mediatek/mt8173.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8173.dtsi
@@ -792,80 +792,74 @@
 			#clock-cells = <1>;
 		};
 
-		mdp {
-			compatible = "mediatek,mt8173-mdp";
-			#address-cells = <2>;
-			#size-cells = <2>;
-			ranges;
+		mdp_rdma0: rdma at 14001000 {
+			compatible = "mediatek,mt8173-mdp-rdma",
+				     "mediatek,mt8173-mdp";
+			reg = <0 0x14001000 0 0x1000>;
+			clocks = <&mmsys CLK_MM_MDP_RDMA0>,
+				 <&mmsys CLK_MM_MUTEX_32K>;
+			power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
+			iommus = <&iommu M4U_PORT_MDP_RDMA0>;
+			mediatek,larb = <&larb0>;
 			mediatek,vpu = <&vpu>;
+		};
 
-			mdp_rdma0: rdma at 14001000 {
-				compatible = "mediatek,mt8173-mdp-rdma";
-				reg = <0 0x14001000 0 0x1000>;
-				clocks = <&mmsys CLK_MM_MDP_RDMA0>,
-					 <&mmsys CLK_MM_MUTEX_32K>;
-				power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
-				iommus = <&iommu M4U_PORT_MDP_RDMA0>;
-				mediatek,larb = <&larb0>;
-			};
-
-			mdp_rdma1: rdma at 14002000 {
-				compatible = "mediatek,mt8173-mdp-rdma";
-				reg = <0 0x14002000 0 0x1000>;
-				clocks = <&mmsys CLK_MM_MDP_RDMA1>,
-					 <&mmsys CLK_MM_MUTEX_32K>;
-				power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
-				iommus = <&iommu M4U_PORT_MDP_RDMA1>;
-				mediatek,larb = <&larb4>;
-			};
+		mdp_rdma1: rdma at 14002000 {
+			compatible = "mediatek,mt8173-mdp-rdma";
+			reg = <0 0x14002000 0 0x1000>;
+			clocks = <&mmsys CLK_MM_MDP_RDMA1>,
+				 <&mmsys CLK_MM_MUTEX_32K>;
+			power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
+			iommus = <&iommu M4U_PORT_MDP_RDMA1>;
+			mediatek,larb = <&larb4>;
+		};
 
-			mdp_rsz0: rsz at 14003000 {
-				compatible = "mediatek,mt8173-mdp-rsz";
-				reg = <0 0x14003000 0 0x1000>;
-				clocks = <&mmsys CLK_MM_MDP_RSZ0>;
-				power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
-			};
+		mdp_rsz0: rsz at 14003000 {
+			compatible = "mediatek,mt8173-mdp-rsz";
+			reg = <0 0x14003000 0 0x1000>;
+			clocks = <&mmsys CLK_MM_MDP_RSZ0>;
+			power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
+		};
 
-			mdp_rsz1: rsz at 14004000 {
-				compatible = "mediatek,mt8173-mdp-rsz";
-				reg = <0 0x14004000 0 0x1000>;
-				clocks = <&mmsys CLK_MM_MDP_RSZ1>;
-				power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
-			};
+		mdp_rsz1: rsz at 14004000 {
+			compatible = "mediatek,mt8173-mdp-rsz";
+			reg = <0 0x14004000 0 0x1000>;
+			clocks = <&mmsys CLK_MM_MDP_RSZ1>;
+			power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
+		};
 
-			mdp_rsz2: rsz at 14005000 {
-				compatible = "mediatek,mt8173-mdp-rsz";
-				reg = <0 0x14005000 0 0x1000>;
-				clocks = <&mmsys CLK_MM_MDP_RSZ2>;
-				power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
-			};
+		mdp_rsz2: rsz at 14005000 {
+			compatible = "mediatek,mt8173-mdp-rsz";
+			reg = <0 0x14005000 0 0x1000>;
+			clocks = <&mmsys CLK_MM_MDP_RSZ2>;
+			power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
+		};
 
-			mdp_wdma0: wdma at 14006000 {
-				compatible = "mediatek,mt8173-mdp-wdma";
-				reg = <0 0x14006000 0 0x1000>;
-				clocks = <&mmsys CLK_MM_MDP_WDMA>;
-				power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
-				iommus = <&iommu M4U_PORT_MDP_WDMA>;
-				mediatek,larb = <&larb0>;
-			};
+		mdp_wdma0: wdma at 14006000 {
+			compatible = "mediatek,mt8173-mdp-wdma";
+			reg = <0 0x14006000 0 0x1000>;
+			clocks = <&mmsys CLK_MM_MDP_WDMA>;
+			power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
+			iommus = <&iommu M4U_PORT_MDP_WDMA>;
+			mediatek,larb = <&larb0>;
+		};
 
-			mdp_wrot0: wrot at 14007000 {
-				compatible = "mediatek,mt8173-mdp-wrot";
-				reg = <0 0x14007000 0 0x1000>;
-				clocks = <&mmsys CLK_MM_MDP_WROT0>;
-				power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
-				iommus = <&iommu M4U_PORT_MDP_WROT0>;
-				mediatek,larb = <&larb0>;
-			};
+		mdp_wrot0: wrot at 14007000 {
+			compatible = "mediatek,mt8173-mdp-wrot";
+			reg = <0 0x14007000 0 0x1000>;
+			clocks = <&mmsys CLK_MM_MDP_WROT0>;
+			power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
+			iommus = <&iommu M4U_PORT_MDP_WROT0>;
+			mediatek,larb = <&larb0>;
+		};
 
-			mdp_wrot1: wrot at 14008000 {
-				compatible = "mediatek,mt8173-mdp-wrot";
-				reg = <0 0x14008000 0 0x1000>;
-				clocks = <&mmsys CLK_MM_MDP_WROT1>;
-				power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
-				iommus = <&iommu M4U_PORT_MDP_WROT1>;
-				mediatek,larb = <&larb4>;
-			};
+		mdp_wrot1: wrot at 14008000 {
+			compatible = "mediatek,mt8173-mdp-wrot";
+			reg = <0 0x14008000 0 0x1000>;
+			clocks = <&mmsys CLK_MM_MDP_WROT1>;
+			power-domains = <&scpsys MT8173_POWER_DOMAIN_MM>;
+			iommus = <&iommu M4U_PORT_MDP_WROT1>;
+			mediatek,larb = <&larb4>;
 		};
 
 		ovl0: ovl at 1400c000 {
-- 
1.9.1

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

* [PATCH v4 3/3] media: mtk-mdp: Fix mdp device tree
@ 2017-05-23  3:24   ` Minghsiu Tsai
  0 siblings, 0 replies; 28+ messages in thread
From: Minghsiu Tsai @ 2017-05-23  3:24 UTC (permalink / raw)
  To: Hans Verkuil, daniel.thompson, Rob Herring,
	Mauro Carvalho Chehab, Matthias Brugger, Daniel Kurtz,
	Pawel Osciak, Houlong Wei
  Cc: srv_heupstream, Eddie Huang, Yingjoe Chen, Wu-Cheng Li,
	devicetree, linux-kernel, linux-arm-kernel, linux-media,
	linux-mediatek, Minghsiu Tsai

From: Daniel Kurtz <djkurtz@chromium.org>

If the mdp_* nodes are under an mdp sub-node, their corresponding
platform device does not automatically get its iommu assigned properly.

Fix this by moving the mdp component nodes up a level such that they are
siblings of mdp and all other SoC subsystems.  This also simplifies the
device tree.

Although it fixes iommu assignment issue, it also break compatibility
with old device tree. So, the patch in driver is needed to iterate over
sibling mdp device nodes, not child ones, to keep driver work properly.

Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
Signed-off-by: Minghsiu Tsai <minghsiu.tsai@mediatek.com>
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>

---
 drivers/media/platform/mtk-mdp/mtk_mdp_core.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/drivers/media/platform/mtk-mdp/mtk_mdp_core.c b/drivers/media/platform/mtk-mdp/mtk_mdp_core.c
index 9e4eb7d..8134755 100644
--- a/drivers/media/platform/mtk-mdp/mtk_mdp_core.c
+++ b/drivers/media/platform/mtk-mdp/mtk_mdp_core.c
@@ -103,7 +103,7 @@ static int mtk_mdp_probe(struct platform_device *pdev)
 {
 	struct mtk_mdp_dev *mdp;
 	struct device *dev = &pdev->dev;
-	struct device_node *node;
+	struct device_node *node, *parent;
 	int i, ret = 0;
 
 	mdp = devm_kzalloc(dev, sizeof(*mdp), GFP_KERNEL);
@@ -117,8 +117,16 @@ static int mtk_mdp_probe(struct platform_device *pdev)
 	mutex_init(&mdp->lock);
 	mutex_init(&mdp->vpulock);
 
+	/* Old dts had the components as child nodes */
+	if (of_get_next_child(dev->of_node, NULL)) {
+		parent = dev->of_node;
+		dev_warn(dev, "device tree is out of date\n");
+	} else {
+		parent = dev->of_node->parent;
+	}
+
 	/* Iterate over sibling MDP function blocks */
-	for_each_child_of_node(dev->of_node, node) {
+	for_each_child_of_node(parent, node) {
 		const struct of_device_id *of_id;
 		enum mtk_mdp_comp_type comp_type;
 		int comp_id;
-- 
1.9.1

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

* [PATCH v4 3/3] media: mtk-mdp: Fix mdp device tree
@ 2017-05-23  3:24   ` Minghsiu Tsai
  0 siblings, 0 replies; 28+ messages in thread
From: Minghsiu Tsai @ 2017-05-23  3:24 UTC (permalink / raw)
  To: Hans Verkuil, daniel.thompson-QSEj5FYQhm4dnm+yROfE0A,
	Rob Herring, Mauro Carvalho Chehab, Matthias Brugger,
	Daniel Kurtz, Pawel Osciak, Houlong Wei
  Cc: srv_heupstream-NuS5LvNUpcJWk0Htik3J/w, Eddie Huang, Yingjoe Chen,
	Wu-Cheng Li, devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-media-u79uwXL29TY76Z2rM5mHXA,
	linux-mediatek-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Minghsiu Tsai

From: Daniel Kurtz <djkurtz-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>

If the mdp_* nodes are under an mdp sub-node, their corresponding
platform device does not automatically get its iommu assigned properly.

Fix this by moving the mdp component nodes up a level such that they are
siblings of mdp and all other SoC subsystems.  This also simplifies the
device tree.

Although it fixes iommu assignment issue, it also break compatibility
with old device tree. So, the patch in driver is needed to iterate over
sibling mdp device nodes, not child ones, to keep driver work properly.

Signed-off-by: Daniel Kurtz <djkurtz-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
Signed-off-by: Minghsiu Tsai <minghsiu.tsai-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
Signed-off-by: Matthias Brugger <matthias.bgg-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>

---
 drivers/media/platform/mtk-mdp/mtk_mdp_core.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/drivers/media/platform/mtk-mdp/mtk_mdp_core.c b/drivers/media/platform/mtk-mdp/mtk_mdp_core.c
index 9e4eb7d..8134755 100644
--- a/drivers/media/platform/mtk-mdp/mtk_mdp_core.c
+++ b/drivers/media/platform/mtk-mdp/mtk_mdp_core.c
@@ -103,7 +103,7 @@ static int mtk_mdp_probe(struct platform_device *pdev)
 {
 	struct mtk_mdp_dev *mdp;
 	struct device *dev = &pdev->dev;
-	struct device_node *node;
+	struct device_node *node, *parent;
 	int i, ret = 0;
 
 	mdp = devm_kzalloc(dev, sizeof(*mdp), GFP_KERNEL);
@@ -117,8 +117,16 @@ static int mtk_mdp_probe(struct platform_device *pdev)
 	mutex_init(&mdp->lock);
 	mutex_init(&mdp->vpulock);
 
+	/* Old dts had the components as child nodes */
+	if (of_get_next_child(dev->of_node, NULL)) {
+		parent = dev->of_node;
+		dev_warn(dev, "device tree is out of date\n");
+	} else {
+		parent = dev->of_node->parent;
+	}
+
 	/* Iterate over sibling MDP function blocks */
-	for_each_child_of_node(dev->of_node, node) {
+	for_each_child_of_node(parent, node) {
 		const struct of_device_id *of_id;
 		enum mtk_mdp_comp_type comp_type;
 		int comp_id;
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* [PATCH v4 3/3] media: mtk-mdp: Fix mdp device tree
@ 2017-05-23  3:24   ` Minghsiu Tsai
  0 siblings, 0 replies; 28+ messages in thread
From: Minghsiu Tsai @ 2017-05-23  3:24 UTC (permalink / raw)
  To: linux-arm-kernel

From: Daniel Kurtz <djkurtz@chromium.org>

If the mdp_* nodes are under an mdp sub-node, their corresponding
platform device does not automatically get its iommu assigned properly.

Fix this by moving the mdp component nodes up a level such that they are
siblings of mdp and all other SoC subsystems.  This also simplifies the
device tree.

Although it fixes iommu assignment issue, it also break compatibility
with old device tree. So, the patch in driver is needed to iterate over
sibling mdp device nodes, not child ones, to keep driver work properly.

Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
Signed-off-by: Minghsiu Tsai <minghsiu.tsai@mediatek.com>
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>

---
 drivers/media/platform/mtk-mdp/mtk_mdp_core.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/drivers/media/platform/mtk-mdp/mtk_mdp_core.c b/drivers/media/platform/mtk-mdp/mtk_mdp_core.c
index 9e4eb7d..8134755 100644
--- a/drivers/media/platform/mtk-mdp/mtk_mdp_core.c
+++ b/drivers/media/platform/mtk-mdp/mtk_mdp_core.c
@@ -103,7 +103,7 @@ static int mtk_mdp_probe(struct platform_device *pdev)
 {
 	struct mtk_mdp_dev *mdp;
 	struct device *dev = &pdev->dev;
-	struct device_node *node;
+	struct device_node *node, *parent;
 	int i, ret = 0;
 
 	mdp = devm_kzalloc(dev, sizeof(*mdp), GFP_KERNEL);
@@ -117,8 +117,16 @@ static int mtk_mdp_probe(struct platform_device *pdev)
 	mutex_init(&mdp->lock);
 	mutex_init(&mdp->vpulock);
 
+	/* Old dts had the components as child nodes */
+	if (of_get_next_child(dev->of_node, NULL)) {
+		parent = dev->of_node;
+		dev_warn(dev, "device tree is out of date\n");
+	} else {
+		parent = dev->of_node->parent;
+	}
+
 	/* Iterate over sibling MDP function blocks */
-	for_each_child_of_node(dev->of_node, node) {
+	for_each_child_of_node(parent, node) {
 		const struct of_device_id *of_id;
 		enum mtk_mdp_comp_type comp_type;
 		int comp_id;
-- 
1.9.1

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

* Re: [PATCH v4 3/3] media: mtk-mdp: Fix mdp device tree
  2017-05-23  3:24   ` Minghsiu Tsai
@ 2017-06-07  8:44     ` Matthias Brugger
  -1 siblings, 0 replies; 28+ messages in thread
From: Matthias Brugger @ 2017-06-07  8:44 UTC (permalink / raw)
  To: Minghsiu Tsai, Hans Verkuil, daniel.thompson, Rob Herring,
	Mauro Carvalho Chehab, Daniel Kurtz, Pawel Osciak, Houlong Wei
  Cc: srv_heupstream, Eddie Huang, Yingjoe Chen, Wu-Cheng Li,
	devicetree, linux-kernel, linux-arm-kernel, linux-media,
	linux-mediatek

Hi Hans, hi Mauro,

On 23/05/17 05:24, Minghsiu Tsai wrote:
> From: Daniel Kurtz <djkurtz@chromium.org>
> 
> If the mdp_* nodes are under an mdp sub-node, their corresponding
> platform device does not automatically get its iommu assigned properly.
> 
> Fix this by moving the mdp component nodes up a level such that they are
> siblings of mdp and all other SoC subsystems.  This also simplifies the
> device tree.
> 
> Although it fixes iommu assignment issue, it also break compatibility
> with old device tree. So, the patch in driver is needed to iterate over
> sibling mdp device nodes, not child ones, to keep driver work properly.
> 
> Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
> Signed-off-by: Minghsiu Tsai <minghsiu.tsai@mediatek.com>
> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
> 

Are you OK to take this patch, or do you have any further comments?

Regards,
Matthias

> ---
>   drivers/media/platform/mtk-mdp/mtk_mdp_core.c | 12 ++++++++++--
>   1 file changed, 10 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/media/platform/mtk-mdp/mtk_mdp_core.c b/drivers/media/platform/mtk-mdp/mtk_mdp_core.c
> index 9e4eb7d..8134755 100644
> --- a/drivers/media/platform/mtk-mdp/mtk_mdp_core.c
> +++ b/drivers/media/platform/mtk-mdp/mtk_mdp_core.c
> @@ -103,7 +103,7 @@ static int mtk_mdp_probe(struct platform_device *pdev)
>   {
>   	struct mtk_mdp_dev *mdp;
>   	struct device *dev = &pdev->dev;
> -	struct device_node *node;
> +	struct device_node *node, *parent;
>   	int i, ret = 0;
>   
>   	mdp = devm_kzalloc(dev, sizeof(*mdp), GFP_KERNEL);
> @@ -117,8 +117,16 @@ static int mtk_mdp_probe(struct platform_device *pdev)
>   	mutex_init(&mdp->lock);
>   	mutex_init(&mdp->vpulock);
>   
> +	/* Old dts had the components as child nodes */
> +	if (of_get_next_child(dev->of_node, NULL)) {
> +		parent = dev->of_node;
> +		dev_warn(dev, "device tree is out of date\n");
> +	} else {
> +		parent = dev->of_node->parent;
> +	}
> +
>   	/* Iterate over sibling MDP function blocks */
> -	for_each_child_of_node(dev->of_node, node) {
> +	for_each_child_of_node(parent, node) {
>   		const struct of_device_id *of_id;
>   		enum mtk_mdp_comp_type comp_type;
>   		int comp_id;
> 

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

* [PATCH v4 3/3] media: mtk-mdp: Fix mdp device tree
@ 2017-06-07  8:44     ` Matthias Brugger
  0 siblings, 0 replies; 28+ messages in thread
From: Matthias Brugger @ 2017-06-07  8:44 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Hans, hi Mauro,

On 23/05/17 05:24, Minghsiu Tsai wrote:
> From: Daniel Kurtz <djkurtz@chromium.org>
> 
> If the mdp_* nodes are under an mdp sub-node, their corresponding
> platform device does not automatically get its iommu assigned properly.
> 
> Fix this by moving the mdp component nodes up a level such that they are
> siblings of mdp and all other SoC subsystems.  This also simplifies the
> device tree.
> 
> Although it fixes iommu assignment issue, it also break compatibility
> with old device tree. So, the patch in driver is needed to iterate over
> sibling mdp device nodes, not child ones, to keep driver work properly.
> 
> Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
> Signed-off-by: Minghsiu Tsai <minghsiu.tsai@mediatek.com>
> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
> 

Are you OK to take this patch, or do you have any further comments?

Regards,
Matthias

> ---
>   drivers/media/platform/mtk-mdp/mtk_mdp_core.c | 12 ++++++++++--
>   1 file changed, 10 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/media/platform/mtk-mdp/mtk_mdp_core.c b/drivers/media/platform/mtk-mdp/mtk_mdp_core.c
> index 9e4eb7d..8134755 100644
> --- a/drivers/media/platform/mtk-mdp/mtk_mdp_core.c
> +++ b/drivers/media/platform/mtk-mdp/mtk_mdp_core.c
> @@ -103,7 +103,7 @@ static int mtk_mdp_probe(struct platform_device *pdev)
>   {
>   	struct mtk_mdp_dev *mdp;
>   	struct device *dev = &pdev->dev;
> -	struct device_node *node;
> +	struct device_node *node, *parent;
>   	int i, ret = 0;
>   
>   	mdp = devm_kzalloc(dev, sizeof(*mdp), GFP_KERNEL);
> @@ -117,8 +117,16 @@ static int mtk_mdp_probe(struct platform_device *pdev)
>   	mutex_init(&mdp->lock);
>   	mutex_init(&mdp->vpulock);
>   
> +	/* Old dts had the components as child nodes */
> +	if (of_get_next_child(dev->of_node, NULL)) {
> +		parent = dev->of_node;
> +		dev_warn(dev, "device tree is out of date\n");
> +	} else {
> +		parent = dev->of_node->parent;
> +	}
> +
>   	/* Iterate over sibling MDP function blocks */
> -	for_each_child_of_node(dev->of_node, node) {
> +	for_each_child_of_node(parent, node) {
>   		const struct of_device_id *of_id;
>   		enum mtk_mdp_comp_type comp_type;
>   		int comp_id;
> 

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

* Re: [PATCH v4 3/3] media: mtk-mdp: Fix mdp device tree
@ 2017-06-07  8:56       ` Hans Verkuil
  0 siblings, 0 replies; 28+ messages in thread
From: Hans Verkuil @ 2017-06-07  8:56 UTC (permalink / raw)
  To: Matthias Brugger, Minghsiu Tsai, Hans Verkuil, daniel.thompson,
	Rob Herring, Mauro Carvalho Chehab, Daniel Kurtz, Pawel Osciak,
	Houlong Wei
  Cc: srv_heupstream, Eddie Huang, Yingjoe Chen, Wu-Cheng Li,
	devicetree, linux-kernel, linux-arm-kernel, linux-media,
	linux-mediatek

On 07/06/17 10:44, Matthias Brugger wrote:
> Hi Hans, hi Mauro,
> 
> On 23/05/17 05:24, Minghsiu Tsai wrote:
>> From: Daniel Kurtz <djkurtz@chromium.org>
>>
>> If the mdp_* nodes are under an mdp sub-node, their corresponding
>> platform device does not automatically get its iommu assigned properly.
>>
>> Fix this by moving the mdp component nodes up a level such that they are
>> siblings of mdp and all other SoC subsystems.  This also simplifies the
>> device tree.
>>
>> Although it fixes iommu assignment issue, it also break compatibility
>> with old device tree. So, the patch in driver is needed to iterate over
>> sibling mdp device nodes, not child ones, to keep driver work properly.
>>
>> Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
>> Signed-off-by: Minghsiu Tsai <minghsiu.tsai@mediatek.com>
>> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
>>
> 
> Are you OK to take this patch, or do you have any further comments?

Nope, it's all good. Queued for 4.13.

Regards,

	Hans

> 
> Regards,
> Matthias
> 
>> ---
>>   drivers/media/platform/mtk-mdp/mtk_mdp_core.c | 12 ++++++++++--
>>   1 file changed, 10 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/media/platform/mtk-mdp/mtk_mdp_core.c b/drivers/media/platform/mtk-mdp/mtk_mdp_core.c
>> index 9e4eb7d..8134755 100644
>> --- a/drivers/media/platform/mtk-mdp/mtk_mdp_core.c
>> +++ b/drivers/media/platform/mtk-mdp/mtk_mdp_core.c
>> @@ -103,7 +103,7 @@ static int mtk_mdp_probe(struct platform_device *pdev)
>>   {
>>       struct mtk_mdp_dev *mdp;
>>       struct device *dev = &pdev->dev;
>> -    struct device_node *node;
>> +    struct device_node *node, *parent;
>>       int i, ret = 0;
>>         mdp = devm_kzalloc(dev, sizeof(*mdp), GFP_KERNEL);
>> @@ -117,8 +117,16 @@ static int mtk_mdp_probe(struct platform_device *pdev)
>>       mutex_init(&mdp->lock);
>>       mutex_init(&mdp->vpulock);
>>   +    /* Old dts had the components as child nodes */
>> +    if (of_get_next_child(dev->of_node, NULL)) {
>> +        parent = dev->of_node;
>> +        dev_warn(dev, "device tree is out of date\n");
>> +    } else {
>> +        parent = dev->of_node->parent;
>> +    }
>> +
>>       /* Iterate over sibling MDP function blocks */
>> -    for_each_child_of_node(dev->of_node, node) {
>> +    for_each_child_of_node(parent, node) {
>>           const struct of_device_id *of_id;
>>           enum mtk_mdp_comp_type comp_type;
>>           int comp_id;
>>

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

* Re: [PATCH v4 3/3] media: mtk-mdp: Fix mdp device tree
@ 2017-06-07  8:56       ` Hans Verkuil
  0 siblings, 0 replies; 28+ messages in thread
From: Hans Verkuil @ 2017-06-07  8:56 UTC (permalink / raw)
  To: Matthias Brugger, Minghsiu Tsai, Hans Verkuil,
	daniel.thompson-QSEj5FYQhm4dnm+yROfE0A, Rob Herring,
	Mauro Carvalho Chehab, Daniel Kurtz, Pawel Osciak, Houlong Wei
  Cc: srv_heupstream-NuS5LvNUpcJWk0Htik3J/w, Eddie Huang, Yingjoe Chen,
	Wu-Cheng Li, devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-media-u79uwXL29TY76Z2rM5mHXA,
	linux-mediatek-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

On 07/06/17 10:44, Matthias Brugger wrote:
> Hi Hans, hi Mauro,
> 
> On 23/05/17 05:24, Minghsiu Tsai wrote:
>> From: Daniel Kurtz <djkurtz-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
>>
>> If the mdp_* nodes are under an mdp sub-node, their corresponding
>> platform device does not automatically get its iommu assigned properly.
>>
>> Fix this by moving the mdp component nodes up a level such that they are
>> siblings of mdp and all other SoC subsystems.  This also simplifies the
>> device tree.
>>
>> Although it fixes iommu assignment issue, it also break compatibility
>> with old device tree. So, the patch in driver is needed to iterate over
>> sibling mdp device nodes, not child ones, to keep driver work properly.
>>
>> Signed-off-by: Daniel Kurtz <djkurtz-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
>> Signed-off-by: Minghsiu Tsai <minghsiu.tsai-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
>> Signed-off-by: Matthias Brugger <matthias.bgg-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
>>
> 
> Are you OK to take this patch, or do you have any further comments?

Nope, it's all good. Queued for 4.13.

Regards,

	Hans

> 
> Regards,
> Matthias
> 
>> ---
>>   drivers/media/platform/mtk-mdp/mtk_mdp_core.c | 12 ++++++++++--
>>   1 file changed, 10 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/media/platform/mtk-mdp/mtk_mdp_core.c b/drivers/media/platform/mtk-mdp/mtk_mdp_core.c
>> index 9e4eb7d..8134755 100644
>> --- a/drivers/media/platform/mtk-mdp/mtk_mdp_core.c
>> +++ b/drivers/media/platform/mtk-mdp/mtk_mdp_core.c
>> @@ -103,7 +103,7 @@ static int mtk_mdp_probe(struct platform_device *pdev)
>>   {
>>       struct mtk_mdp_dev *mdp;
>>       struct device *dev = &pdev->dev;
>> -    struct device_node *node;
>> +    struct device_node *node, *parent;
>>       int i, ret = 0;
>>         mdp = devm_kzalloc(dev, sizeof(*mdp), GFP_KERNEL);
>> @@ -117,8 +117,16 @@ static int mtk_mdp_probe(struct platform_device *pdev)
>>       mutex_init(&mdp->lock);
>>       mutex_init(&mdp->vpulock);
>>   +    /* Old dts had the components as child nodes */
>> +    if (of_get_next_child(dev->of_node, NULL)) {
>> +        parent = dev->of_node;
>> +        dev_warn(dev, "device tree is out of date\n");
>> +    } else {
>> +        parent = dev->of_node->parent;
>> +    }
>> +
>>       /* Iterate over sibling MDP function blocks */
>> -    for_each_child_of_node(dev->of_node, node) {
>> +    for_each_child_of_node(parent, node) {
>>           const struct of_device_id *of_id;
>>           enum mtk_mdp_comp_type comp_type;
>>           int comp_id;
>>

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* [PATCH v4 3/3] media: mtk-mdp: Fix mdp device tree
@ 2017-06-07  8:56       ` Hans Verkuil
  0 siblings, 0 replies; 28+ messages in thread
From: Hans Verkuil @ 2017-06-07  8:56 UTC (permalink / raw)
  To: linux-arm-kernel

On 07/06/17 10:44, Matthias Brugger wrote:
> Hi Hans, hi Mauro,
> 
> On 23/05/17 05:24, Minghsiu Tsai wrote:
>> From: Daniel Kurtz <djkurtz@chromium.org>
>>
>> If the mdp_* nodes are under an mdp sub-node, their corresponding
>> platform device does not automatically get its iommu assigned properly.
>>
>> Fix this by moving the mdp component nodes up a level such that they are
>> siblings of mdp and all other SoC subsystems.  This also simplifies the
>> device tree.
>>
>> Although it fixes iommu assignment issue, it also break compatibility
>> with old device tree. So, the patch in driver is needed to iterate over
>> sibling mdp device nodes, not child ones, to keep driver work properly.
>>
>> Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
>> Signed-off-by: Minghsiu Tsai <minghsiu.tsai@mediatek.com>
>> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
>>
> 
> Are you OK to take this patch, or do you have any further comments?

Nope, it's all good. Queued for 4.13.

Regards,

	Hans

> 
> Regards,
> Matthias
> 
>> ---
>>   drivers/media/platform/mtk-mdp/mtk_mdp_core.c | 12 ++++++++++--
>>   1 file changed, 10 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/media/platform/mtk-mdp/mtk_mdp_core.c b/drivers/media/platform/mtk-mdp/mtk_mdp_core.c
>> index 9e4eb7d..8134755 100644
>> --- a/drivers/media/platform/mtk-mdp/mtk_mdp_core.c
>> +++ b/drivers/media/platform/mtk-mdp/mtk_mdp_core.c
>> @@ -103,7 +103,7 @@ static int mtk_mdp_probe(struct platform_device *pdev)
>>   {
>>       struct mtk_mdp_dev *mdp;
>>       struct device *dev = &pdev->dev;
>> -    struct device_node *node;
>> +    struct device_node *node, *parent;
>>       int i, ret = 0;
>>         mdp = devm_kzalloc(dev, sizeof(*mdp), GFP_KERNEL);
>> @@ -117,8 +117,16 @@ static int mtk_mdp_probe(struct platform_device *pdev)
>>       mutex_init(&mdp->lock);
>>       mutex_init(&mdp->vpulock);
>>   +    /* Old dts had the components as child nodes */
>> +    if (of_get_next_child(dev->of_node, NULL)) {
>> +        parent = dev->of_node;
>> +        dev_warn(dev, "device tree is out of date\n");
>> +    } else {
>> +        parent = dev->of_node->parent;
>> +    }
>> +
>>       /* Iterate over sibling MDP function blocks */
>> -    for_each_child_of_node(dev->of_node, node) {
>> +    for_each_child_of_node(parent, node) {
>>           const struct of_device_id *of_id;
>>           enum mtk_mdp_comp_type comp_type;
>>           int comp_id;
>>

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

* Re: [PATCH v4 3/3] media: mtk-mdp: Fix mdp device tree
@ 2017-06-07  9:07         ` Matthias Brugger
  0 siblings, 0 replies; 28+ messages in thread
From: Matthias Brugger @ 2017-06-07  9:07 UTC (permalink / raw)
  To: Hans Verkuil, Minghsiu Tsai, Hans Verkuil, daniel.thompson,
	Rob Herring, Mauro Carvalho Chehab, Daniel Kurtz, Pawel Osciak,
	Houlong Wei
  Cc: srv_heupstream, Eddie Huang, Yingjoe Chen, Wu-Cheng Li,
	devicetree, linux-kernel, linux-arm-kernel, linux-media,
	linux-mediatek



On 07/06/17 10:56, Hans Verkuil wrote:
> On 07/06/17 10:44, Matthias Brugger wrote:
>> Hi Hans, hi Mauro,
>>
>> On 23/05/17 05:24, Minghsiu Tsai wrote:
>>> From: Daniel Kurtz <djkurtz@chromium.org>
>>>
>>> If the mdp_* nodes are under an mdp sub-node, their corresponding
>>> platform device does not automatically get its iommu assigned properly.
>>>
>>> Fix this by moving the mdp component nodes up a level such that they are
>>> siblings of mdp and all other SoC subsystems.  This also simplifies the
>>> device tree.
>>>
>>> Although it fixes iommu assignment issue, it also break compatibility
>>> with old device tree. So, the patch in driver is needed to iterate over
>>> sibling mdp device nodes, not child ones, to keep driver work properly.
>>>
>>> Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
>>> Signed-off-by: Minghsiu Tsai <minghsiu.tsai@mediatek.com>
>>> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
>>>
>>
>> Are you OK to take this patch, or do you have any further comments?
> 
> Nope, it's all good. Queued for 4.13.
> 

Thanks!

I queued the other two in v4.12-next/dts64

Regards,
Matthias

> Regards,
> 
> 	Hans
> 
>>
>> Regards,
>> Matthias
>>
>>> ---
>>>    drivers/media/platform/mtk-mdp/mtk_mdp_core.c | 12 ++++++++++--
>>>    1 file changed, 10 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/drivers/media/platform/mtk-mdp/mtk_mdp_core.c b/drivers/media/platform/mtk-mdp/mtk_mdp_core.c
>>> index 9e4eb7d..8134755 100644
>>> --- a/drivers/media/platform/mtk-mdp/mtk_mdp_core.c
>>> +++ b/drivers/media/platform/mtk-mdp/mtk_mdp_core.c
>>> @@ -103,7 +103,7 @@ static int mtk_mdp_probe(struct platform_device *pdev)
>>>    {
>>>        struct mtk_mdp_dev *mdp;
>>>        struct device *dev = &pdev->dev;
>>> -    struct device_node *node;
>>> +    struct device_node *node, *parent;
>>>        int i, ret = 0;
>>>          mdp = devm_kzalloc(dev, sizeof(*mdp), GFP_KERNEL);
>>> @@ -117,8 +117,16 @@ static int mtk_mdp_probe(struct platform_device *pdev)
>>>        mutex_init(&mdp->lock);
>>>        mutex_init(&mdp->vpulock);
>>>    +    /* Old dts had the components as child nodes */
>>> +    if (of_get_next_child(dev->of_node, NULL)) {
>>> +        parent = dev->of_node;
>>> +        dev_warn(dev, "device tree is out of date\n");
>>> +    } else {
>>> +        parent = dev->of_node->parent;
>>> +    }
>>> +
>>>        /* Iterate over sibling MDP function blocks */
>>> -    for_each_child_of_node(dev->of_node, node) {
>>> +    for_each_child_of_node(parent, node) {
>>>            const struct of_device_id *of_id;
>>>            enum mtk_mdp_comp_type comp_type;
>>>            int comp_id;
>>>
> 

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

* Re: [PATCH v4 3/3] media: mtk-mdp: Fix mdp device tree
@ 2017-06-07  9:07         ` Matthias Brugger
  0 siblings, 0 replies; 28+ messages in thread
From: Matthias Brugger @ 2017-06-07  9:07 UTC (permalink / raw)
  To: Hans Verkuil, Minghsiu Tsai, Hans Verkuil,
	daniel.thompson-QSEj5FYQhm4dnm+yROfE0A, Rob Herring,
	Mauro Carvalho Chehab, Daniel Kurtz, Pawel Osciak, Houlong Wei
  Cc: srv_heupstream-NuS5LvNUpcJWk0Htik3J/w, Eddie Huang, Yingjoe Chen,
	Wu-Cheng Li, devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-media-u79uwXL29TY76Z2rM5mHXA,
	linux-mediatek-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r



On 07/06/17 10:56, Hans Verkuil wrote:
> On 07/06/17 10:44, Matthias Brugger wrote:
>> Hi Hans, hi Mauro,
>>
>> On 23/05/17 05:24, Minghsiu Tsai wrote:
>>> From: Daniel Kurtz <djkurtz-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
>>>
>>> If the mdp_* nodes are under an mdp sub-node, their corresponding
>>> platform device does not automatically get its iommu assigned properly.
>>>
>>> Fix this by moving the mdp component nodes up a level such that they are
>>> siblings of mdp and all other SoC subsystems.  This also simplifies the
>>> device tree.
>>>
>>> Although it fixes iommu assignment issue, it also break compatibility
>>> with old device tree. So, the patch in driver is needed to iterate over
>>> sibling mdp device nodes, not child ones, to keep driver work properly.
>>>
>>> Signed-off-by: Daniel Kurtz <djkurtz-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
>>> Signed-off-by: Minghsiu Tsai <minghsiu.tsai-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
>>> Signed-off-by: Matthias Brugger <matthias.bgg-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
>>>
>>
>> Are you OK to take this patch, or do you have any further comments?
> 
> Nope, it's all good. Queued for 4.13.
> 

Thanks!

I queued the other two in v4.12-next/dts64

Regards,
Matthias

> Regards,
> 
> 	Hans
> 
>>
>> Regards,
>> Matthias
>>
>>> ---
>>>    drivers/media/platform/mtk-mdp/mtk_mdp_core.c | 12 ++++++++++--
>>>    1 file changed, 10 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/drivers/media/platform/mtk-mdp/mtk_mdp_core.c b/drivers/media/platform/mtk-mdp/mtk_mdp_core.c
>>> index 9e4eb7d..8134755 100644
>>> --- a/drivers/media/platform/mtk-mdp/mtk_mdp_core.c
>>> +++ b/drivers/media/platform/mtk-mdp/mtk_mdp_core.c
>>> @@ -103,7 +103,7 @@ static int mtk_mdp_probe(struct platform_device *pdev)
>>>    {
>>>        struct mtk_mdp_dev *mdp;
>>>        struct device *dev = &pdev->dev;
>>> -    struct device_node *node;
>>> +    struct device_node *node, *parent;
>>>        int i, ret = 0;
>>>          mdp = devm_kzalloc(dev, sizeof(*mdp), GFP_KERNEL);
>>> @@ -117,8 +117,16 @@ static int mtk_mdp_probe(struct platform_device *pdev)
>>>        mutex_init(&mdp->lock);
>>>        mutex_init(&mdp->vpulock);
>>>    +    /* Old dts had the components as child nodes */
>>> +    if (of_get_next_child(dev->of_node, NULL)) {
>>> +        parent = dev->of_node;
>>> +        dev_warn(dev, "device tree is out of date\n");
>>> +    } else {
>>> +        parent = dev->of_node->parent;
>>> +    }
>>> +
>>>        /* Iterate over sibling MDP function blocks */
>>> -    for_each_child_of_node(dev->of_node, node) {
>>> +    for_each_child_of_node(parent, node) {
>>>            const struct of_device_id *of_id;
>>>            enum mtk_mdp_comp_type comp_type;
>>>            int comp_id;
>>>
> 
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* [PATCH v4 3/3] media: mtk-mdp: Fix mdp device tree
@ 2017-06-07  9:07         ` Matthias Brugger
  0 siblings, 0 replies; 28+ messages in thread
From: Matthias Brugger @ 2017-06-07  9:07 UTC (permalink / raw)
  To: linux-arm-kernel



On 07/06/17 10:56, Hans Verkuil wrote:
> On 07/06/17 10:44, Matthias Brugger wrote:
>> Hi Hans, hi Mauro,
>>
>> On 23/05/17 05:24, Minghsiu Tsai wrote:
>>> From: Daniel Kurtz <djkurtz@chromium.org>
>>>
>>> If the mdp_* nodes are under an mdp sub-node, their corresponding
>>> platform device does not automatically get its iommu assigned properly.
>>>
>>> Fix this by moving the mdp component nodes up a level such that they are
>>> siblings of mdp and all other SoC subsystems.  This also simplifies the
>>> device tree.
>>>
>>> Although it fixes iommu assignment issue, it also break compatibility
>>> with old device tree. So, the patch in driver is needed to iterate over
>>> sibling mdp device nodes, not child ones, to keep driver work properly.
>>>
>>> Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
>>> Signed-off-by: Minghsiu Tsai <minghsiu.tsai@mediatek.com>
>>> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
>>>
>>
>> Are you OK to take this patch, or do you have any further comments?
> 
> Nope, it's all good. Queued for 4.13.
> 

Thanks!

I queued the other two in v4.12-next/dts64

Regards,
Matthias

> Regards,
> 
> 	Hans
> 
>>
>> Regards,
>> Matthias
>>
>>> ---
>>>    drivers/media/platform/mtk-mdp/mtk_mdp_core.c | 12 ++++++++++--
>>>    1 file changed, 10 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/drivers/media/platform/mtk-mdp/mtk_mdp_core.c b/drivers/media/platform/mtk-mdp/mtk_mdp_core.c
>>> index 9e4eb7d..8134755 100644
>>> --- a/drivers/media/platform/mtk-mdp/mtk_mdp_core.c
>>> +++ b/drivers/media/platform/mtk-mdp/mtk_mdp_core.c
>>> @@ -103,7 +103,7 @@ static int mtk_mdp_probe(struct platform_device *pdev)
>>>    {
>>>        struct mtk_mdp_dev *mdp;
>>>        struct device *dev = &pdev->dev;
>>> -    struct device_node *node;
>>> +    struct device_node *node, *parent;
>>>        int i, ret = 0;
>>>          mdp = devm_kzalloc(dev, sizeof(*mdp), GFP_KERNEL);
>>> @@ -117,8 +117,16 @@ static int mtk_mdp_probe(struct platform_device *pdev)
>>>        mutex_init(&mdp->lock);
>>>        mutex_init(&mdp->vpulock);
>>>    +    /* Old dts had the components as child nodes */
>>> +    if (of_get_next_child(dev->of_node, NULL)) {
>>> +        parent = dev->of_node;
>>> +        dev_warn(dev, "device tree is out of date\n");
>>> +    } else {
>>> +        parent = dev->of_node->parent;
>>> +    }
>>> +
>>>        /* Iterate over sibling MDP function blocks */
>>> -    for_each_child_of_node(dev->of_node, node) {
>>> +    for_each_child_of_node(parent, node) {
>>>            const struct of_device_id *of_id;
>>>            enum mtk_mdp_comp_type comp_type;
>>>            int comp_id;
>>>
> 

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

* Re: [PATCH v4 3/3] media: mtk-mdp: Fix mdp device tree
  2017-06-07  9:07         ` Matthias Brugger
@ 2017-06-07  9:11           ` Hans Verkuil
  -1 siblings, 0 replies; 28+ messages in thread
From: Hans Verkuil @ 2017-06-07  9:11 UTC (permalink / raw)
  To: Matthias Brugger, Minghsiu Tsai, Hans Verkuil, daniel.thompson,
	Rob Herring, Mauro Carvalho Chehab, Daniel Kurtz, Pawel Osciak,
	Houlong Wei
  Cc: srv_heupstream, Eddie Huang, Yingjoe Chen, Wu-Cheng Li,
	devicetree, linux-kernel, linux-arm-kernel, linux-media,
	linux-mediatek

On 07/06/17 11:07, Matthias Brugger wrote:
> 
> 
> On 07/06/17 10:56, Hans Verkuil wrote:
>> On 07/06/17 10:44, Matthias Brugger wrote:
>>> Hi Hans, hi Mauro,
>>>
>>> On 23/05/17 05:24, Minghsiu Tsai wrote:
>>>> From: Daniel Kurtz <djkurtz@chromium.org>
>>>>
>>>> If the mdp_* nodes are under an mdp sub-node, their corresponding
>>>> platform device does not automatically get its iommu assigned properly.
>>>>
>>>> Fix this by moving the mdp component nodes up a level such that they are
>>>> siblings of mdp and all other SoC subsystems.  This also simplifies the
>>>> device tree.
>>>>
>>>> Although it fixes iommu assignment issue, it also break compatibility
>>>> with old device tree. So, the patch in driver is needed to iterate over
>>>> sibling mdp device nodes, not child ones, to keep driver work properly.
>>>>
>>>> Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
>>>> Signed-off-by: Minghsiu Tsai <minghsiu.tsai@mediatek.com>
>>>> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
>>>>
>>>
>>> Are you OK to take this patch, or do you have any further comments?
>>
>> Nope, it's all good. Queued for 4.13.
>>
> 
> Thanks!
> 
> I queued the other two in v4.12-next/dts64

Media bindings normally go through the media subsystem, but you've taken
that one as well? I need to know, because then I drop it in my tree.

Regards,

	Hans

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

* [PATCH v4 3/3] media: mtk-mdp: Fix mdp device tree
@ 2017-06-07  9:11           ` Hans Verkuil
  0 siblings, 0 replies; 28+ messages in thread
From: Hans Verkuil @ 2017-06-07  9:11 UTC (permalink / raw)
  To: linux-arm-kernel

On 07/06/17 11:07, Matthias Brugger wrote:
> 
> 
> On 07/06/17 10:56, Hans Verkuil wrote:
>> On 07/06/17 10:44, Matthias Brugger wrote:
>>> Hi Hans, hi Mauro,
>>>
>>> On 23/05/17 05:24, Minghsiu Tsai wrote:
>>>> From: Daniel Kurtz <djkurtz@chromium.org>
>>>>
>>>> If the mdp_* nodes are under an mdp sub-node, their corresponding
>>>> platform device does not automatically get its iommu assigned properly.
>>>>
>>>> Fix this by moving the mdp component nodes up a level such that they are
>>>> siblings of mdp and all other SoC subsystems.  This also simplifies the
>>>> device tree.
>>>>
>>>> Although it fixes iommu assignment issue, it also break compatibility
>>>> with old device tree. So, the patch in driver is needed to iterate over
>>>> sibling mdp device nodes, not child ones, to keep driver work properly.
>>>>
>>>> Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
>>>> Signed-off-by: Minghsiu Tsai <minghsiu.tsai@mediatek.com>
>>>> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
>>>>
>>>
>>> Are you OK to take this patch, or do you have any further comments?
>>
>> Nope, it's all good. Queued for 4.13.
>>
> 
> Thanks!
> 
> I queued the other two in v4.12-next/dts64

Media bindings normally go through the media subsystem, but you've taken
that one as well? I need to know, because then I drop it in my tree.

Regards,

	Hans

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

* Re: [PATCH v4 3/3] media: mtk-mdp: Fix mdp device tree
@ 2017-06-07  9:13             ` Matthias Brugger
  0 siblings, 0 replies; 28+ messages in thread
From: Matthias Brugger @ 2017-06-07  9:13 UTC (permalink / raw)
  To: Hans Verkuil, Minghsiu Tsai, Hans Verkuil, daniel.thompson,
	Rob Herring, Mauro Carvalho Chehab, Daniel Kurtz, Pawel Osciak,
	Houlong Wei
  Cc: srv_heupstream, Eddie Huang, Yingjoe Chen, Wu-Cheng Li,
	devicetree, linux-kernel, linux-arm-kernel, linux-media,
	linux-mediatek



On 07/06/17 11:11, Hans Verkuil wrote:
> On 07/06/17 11:07, Matthias Brugger wrote:
>>
>>
>> On 07/06/17 10:56, Hans Verkuil wrote:
>>> On 07/06/17 10:44, Matthias Brugger wrote:
>>>> Hi Hans, hi Mauro,
>>>>
>>>> On 23/05/17 05:24, Minghsiu Tsai wrote:
>>>>> From: Daniel Kurtz <djkurtz@chromium.org>
>>>>>
>>>>> If the mdp_* nodes are under an mdp sub-node, their corresponding
>>>>> platform device does not automatically get its iommu assigned properly.
>>>>>
>>>>> Fix this by moving the mdp component nodes up a level such that they are
>>>>> siblings of mdp and all other SoC subsystems.  This also simplifies the
>>>>> device tree.
>>>>>
>>>>> Although it fixes iommu assignment issue, it also break compatibility
>>>>> with old device tree. So, the patch in driver is needed to iterate over
>>>>> sibling mdp device nodes, not child ones, to keep driver work properly.
>>>>>
>>>>> Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
>>>>> Signed-off-by: Minghsiu Tsai <minghsiu.tsai@mediatek.com>
>>>>> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
>>>>>
>>>>
>>>> Are you OK to take this patch, or do you have any further comments?
>>>
>>> Nope, it's all good. Queued for 4.13.
>>>
>>
>> Thanks!
>>
>> I queued the other two in v4.12-next/dts64
> 
> Media bindings normally go through the media subsystem, but you've taken
> that one as well? I need to know, because then I drop it in my tree.
> 

My fault, I'll drop it from my tree. After that I only queued patch 2/3.

Sorry.
Matthias

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

* Re: [PATCH v4 3/3] media: mtk-mdp: Fix mdp device tree
@ 2017-06-07  9:13             ` Matthias Brugger
  0 siblings, 0 replies; 28+ messages in thread
From: Matthias Brugger @ 2017-06-07  9:13 UTC (permalink / raw)
  To: Hans Verkuil, Minghsiu Tsai, Hans Verkuil,
	daniel.thompson-QSEj5FYQhm4dnm+yROfE0A, Rob Herring,
	Mauro Carvalho Chehab, Daniel Kurtz, Pawel Osciak, Houlong Wei
  Cc: srv_heupstream-NuS5LvNUpcJWk0Htik3J/w, Eddie Huang, Yingjoe Chen,
	Wu-Cheng Li, devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-media-u79uwXL29TY76Z2rM5mHXA,
	linux-mediatek-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r



On 07/06/17 11:11, Hans Verkuil wrote:
> On 07/06/17 11:07, Matthias Brugger wrote:
>>
>>
>> On 07/06/17 10:56, Hans Verkuil wrote:
>>> On 07/06/17 10:44, Matthias Brugger wrote:
>>>> Hi Hans, hi Mauro,
>>>>
>>>> On 23/05/17 05:24, Minghsiu Tsai wrote:
>>>>> From: Daniel Kurtz <djkurtz-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
>>>>>
>>>>> If the mdp_* nodes are under an mdp sub-node, their corresponding
>>>>> platform device does not automatically get its iommu assigned properly.
>>>>>
>>>>> Fix this by moving the mdp component nodes up a level such that they are
>>>>> siblings of mdp and all other SoC subsystems.  This also simplifies the
>>>>> device tree.
>>>>>
>>>>> Although it fixes iommu assignment issue, it also break compatibility
>>>>> with old device tree. So, the patch in driver is needed to iterate over
>>>>> sibling mdp device nodes, not child ones, to keep driver work properly.
>>>>>
>>>>> Signed-off-by: Daniel Kurtz <djkurtz-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
>>>>> Signed-off-by: Minghsiu Tsai <minghsiu.tsai-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
>>>>> Signed-off-by: Matthias Brugger <matthias.bgg-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
>>>>>
>>>>
>>>> Are you OK to take this patch, or do you have any further comments?
>>>
>>> Nope, it's all good. Queued for 4.13.
>>>
>>
>> Thanks!
>>
>> I queued the other two in v4.12-next/dts64
> 
> Media bindings normally go through the media subsystem, but you've taken
> that one as well? I need to know, because then I drop it in my tree.
> 

My fault, I'll drop it from my tree. After that I only queued patch 2/3.

Sorry.
Matthias
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* [PATCH v4 3/3] media: mtk-mdp: Fix mdp device tree
@ 2017-06-07  9:13             ` Matthias Brugger
  0 siblings, 0 replies; 28+ messages in thread
From: Matthias Brugger @ 2017-06-07  9:13 UTC (permalink / raw)
  To: linux-arm-kernel



On 07/06/17 11:11, Hans Verkuil wrote:
> On 07/06/17 11:07, Matthias Brugger wrote:
>>
>>
>> On 07/06/17 10:56, Hans Verkuil wrote:
>>> On 07/06/17 10:44, Matthias Brugger wrote:
>>>> Hi Hans, hi Mauro,
>>>>
>>>> On 23/05/17 05:24, Minghsiu Tsai wrote:
>>>>> From: Daniel Kurtz <djkurtz@chromium.org>
>>>>>
>>>>> If the mdp_* nodes are under an mdp sub-node, their corresponding
>>>>> platform device does not automatically get its iommu assigned properly.
>>>>>
>>>>> Fix this by moving the mdp component nodes up a level such that they are
>>>>> siblings of mdp and all other SoC subsystems.  This also simplifies the
>>>>> device tree.
>>>>>
>>>>> Although it fixes iommu assignment issue, it also break compatibility
>>>>> with old device tree. So, the patch in driver is needed to iterate over
>>>>> sibling mdp device nodes, not child ones, to keep driver work properly.
>>>>>
>>>>> Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
>>>>> Signed-off-by: Minghsiu Tsai <minghsiu.tsai@mediatek.com>
>>>>> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
>>>>>
>>>>
>>>> Are you OK to take this patch, or do you have any further comments?
>>>
>>> Nope, it's all good. Queued for 4.13.
>>>
>>
>> Thanks!
>>
>> I queued the other two in v4.12-next/dts64
> 
> Media bindings normally go through the media subsystem, but you've taken
> that one as well? I need to know, because then I drop it in my tree.
> 

My fault, I'll drop it from my tree. After that I only queued patch 2/3.

Sorry.
Matthias

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

* Re: [PATCH v4 3/3] media: mtk-mdp: Fix mdp device tree
@ 2017-06-07  9:15               ` Hans Verkuil
  0 siblings, 0 replies; 28+ messages in thread
From: Hans Verkuil @ 2017-06-07  9:15 UTC (permalink / raw)
  To: Matthias Brugger, Minghsiu Tsai, Hans Verkuil, daniel.thompson,
	Rob Herring, Mauro Carvalho Chehab, Daniel Kurtz, Pawel Osciak,
	Houlong Wei
  Cc: srv_heupstream, Eddie Huang, Yingjoe Chen, Wu-Cheng Li,
	devicetree, linux-kernel, linux-arm-kernel, linux-media,
	linux-mediatek

On 07/06/17 11:13, Matthias Brugger wrote:
> 
> 
> On 07/06/17 11:11, Hans Verkuil wrote:
>> On 07/06/17 11:07, Matthias Brugger wrote:
>>>
>>>
>>> On 07/06/17 10:56, Hans Verkuil wrote:
>>>> On 07/06/17 10:44, Matthias Brugger wrote:
>>>>> Hi Hans, hi Mauro,
>>>>>
>>>>> On 23/05/17 05:24, Minghsiu Tsai wrote:
>>>>>> From: Daniel Kurtz <djkurtz@chromium.org>
>>>>>>
>>>>>> If the mdp_* nodes are under an mdp sub-node, their corresponding
>>>>>> platform device does not automatically get its iommu assigned properly.
>>>>>>
>>>>>> Fix this by moving the mdp component nodes up a level such that they are
>>>>>> siblings of mdp and all other SoC subsystems.  This also simplifies the
>>>>>> device tree.
>>>>>>
>>>>>> Although it fixes iommu assignment issue, it also break compatibility
>>>>>> with old device tree. So, the patch in driver is needed to iterate over
>>>>>> sibling mdp device nodes, not child ones, to keep driver work properly.
>>>>>>
>>>>>> Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
>>>>>> Signed-off-by: Minghsiu Tsai <minghsiu.tsai@mediatek.com>
>>>>>> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
>>>>>>
>>>>>
>>>>> Are you OK to take this patch, or do you have any further comments?
>>>>
>>>> Nope, it's all good. Queued for 4.13.
>>>>
>>>
>>> Thanks!
>>>
>>> I queued the other two in v4.12-next/dts64
>>
>> Media bindings normally go through the media subsystem, but you've taken
>> that one as well? I need to know, because then I drop it in my tree.
>>
> 
> My fault, I'll drop it from my tree. After that I only queued patch 2/3.

OK, thanks. Then I'll take patch 1/3 and 3/3.

Regards,

	Hans

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

* Re: [PATCH v4 3/3] media: mtk-mdp: Fix mdp device tree
@ 2017-06-07  9:15               ` Hans Verkuil
  0 siblings, 0 replies; 28+ messages in thread
From: Hans Verkuil @ 2017-06-07  9:15 UTC (permalink / raw)
  To: Matthias Brugger, Minghsiu Tsai, Hans Verkuil,
	daniel.thompson-QSEj5FYQhm4dnm+yROfE0A, Rob Herring,
	Mauro Carvalho Chehab, Daniel Kurtz, Pawel Osciak, Houlong Wei
  Cc: srv_heupstream-NuS5LvNUpcJWk0Htik3J/w, Eddie Huang, Yingjoe Chen,
	Wu-Cheng Li, devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	linux-media-u79uwXL29TY76Z2rM5mHXA,
	linux-mediatek-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r

On 07/06/17 11:13, Matthias Brugger wrote:
> 
> 
> On 07/06/17 11:11, Hans Verkuil wrote:
>> On 07/06/17 11:07, Matthias Brugger wrote:
>>>
>>>
>>> On 07/06/17 10:56, Hans Verkuil wrote:
>>>> On 07/06/17 10:44, Matthias Brugger wrote:
>>>>> Hi Hans, hi Mauro,
>>>>>
>>>>> On 23/05/17 05:24, Minghsiu Tsai wrote:
>>>>>> From: Daniel Kurtz <djkurtz-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
>>>>>>
>>>>>> If the mdp_* nodes are under an mdp sub-node, their corresponding
>>>>>> platform device does not automatically get its iommu assigned properly.
>>>>>>
>>>>>> Fix this by moving the mdp component nodes up a level such that they are
>>>>>> siblings of mdp and all other SoC subsystems.  This also simplifies the
>>>>>> device tree.
>>>>>>
>>>>>> Although it fixes iommu assignment issue, it also break compatibility
>>>>>> with old device tree. So, the patch in driver is needed to iterate over
>>>>>> sibling mdp device nodes, not child ones, to keep driver work properly.
>>>>>>
>>>>>> Signed-off-by: Daniel Kurtz <djkurtz-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org>
>>>>>> Signed-off-by: Minghsiu Tsai <minghsiu.tsai-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
>>>>>> Signed-off-by: Matthias Brugger <matthias.bgg-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
>>>>>>
>>>>>
>>>>> Are you OK to take this patch, or do you have any further comments?
>>>>
>>>> Nope, it's all good. Queued for 4.13.
>>>>
>>>
>>> Thanks!
>>>
>>> I queued the other two in v4.12-next/dts64
>>
>> Media bindings normally go through the media subsystem, but you've taken
>> that one as well? I need to know, because then I drop it in my tree.
>>
> 
> My fault, I'll drop it from my tree. After that I only queued patch 2/3.

OK, thanks. Then I'll take patch 1/3 and 3/3.

Regards,

	Hans

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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

* [PATCH v4 3/3] media: mtk-mdp: Fix mdp device tree
@ 2017-06-07  9:15               ` Hans Verkuil
  0 siblings, 0 replies; 28+ messages in thread
From: Hans Verkuil @ 2017-06-07  9:15 UTC (permalink / raw)
  To: linux-arm-kernel

On 07/06/17 11:13, Matthias Brugger wrote:
> 
> 
> On 07/06/17 11:11, Hans Verkuil wrote:
>> On 07/06/17 11:07, Matthias Brugger wrote:
>>>
>>>
>>> On 07/06/17 10:56, Hans Verkuil wrote:
>>>> On 07/06/17 10:44, Matthias Brugger wrote:
>>>>> Hi Hans, hi Mauro,
>>>>>
>>>>> On 23/05/17 05:24, Minghsiu Tsai wrote:
>>>>>> From: Daniel Kurtz <djkurtz@chromium.org>
>>>>>>
>>>>>> If the mdp_* nodes are under an mdp sub-node, their corresponding
>>>>>> platform device does not automatically get its iommu assigned properly.
>>>>>>
>>>>>> Fix this by moving the mdp component nodes up a level such that they are
>>>>>> siblings of mdp and all other SoC subsystems.  This also simplifies the
>>>>>> device tree.
>>>>>>
>>>>>> Although it fixes iommu assignment issue, it also break compatibility
>>>>>> with old device tree. So, the patch in driver is needed to iterate over
>>>>>> sibling mdp device nodes, not child ones, to keep driver work properly.
>>>>>>
>>>>>> Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
>>>>>> Signed-off-by: Minghsiu Tsai <minghsiu.tsai@mediatek.com>
>>>>>> Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
>>>>>>
>>>>>
>>>>> Are you OK to take this patch, or do you have any further comments?
>>>>
>>>> Nope, it's all good. Queued for 4.13.
>>>>
>>>
>>> Thanks!
>>>
>>> I queued the other two in v4.12-next/dts64
>>
>> Media bindings normally go through the media subsystem, but you've taken
>> that one as well? I need to know, because then I drop it in my tree.
>>
> 
> My fault, I'll drop it from my tree. After that I only queued patch 2/3.

OK, thanks. Then I'll take patch 1/3 and 3/3.

Regards,

	Hans

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

end of thread, other threads:[~2017-06-07  9:15 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-23  3:24 [PATCH v4 0/3] Fix mdp device tree Minghsiu Tsai
2017-05-23  3:24 ` Minghsiu Tsai
2017-05-23  3:24 ` Minghsiu Tsai
2017-05-23  3:24 ` [PATCH v4 1/3] dt-bindings: mt8173: " Minghsiu Tsai
2017-05-23  3:24   ` Minghsiu Tsai
2017-05-23  3:24   ` Minghsiu Tsai
2017-05-23  3:24 ` [PATCH v4 2/3] arm64: dts: " Minghsiu Tsai
2017-05-23  3:24   ` Minghsiu Tsai
2017-05-23  3:24   ` Minghsiu Tsai
2017-05-23  3:24 ` [PATCH v4 3/3] media: mtk-mdp: " Minghsiu Tsai
2017-05-23  3:24   ` Minghsiu Tsai
2017-05-23  3:24   ` Minghsiu Tsai
2017-06-07  8:44   ` Matthias Brugger
2017-06-07  8:44     ` Matthias Brugger
2017-06-07  8:56     ` Hans Verkuil
2017-06-07  8:56       ` Hans Verkuil
2017-06-07  8:56       ` Hans Verkuil
2017-06-07  9:07       ` Matthias Brugger
2017-06-07  9:07         ` Matthias Brugger
2017-06-07  9:07         ` Matthias Brugger
2017-06-07  9:11         ` Hans Verkuil
2017-06-07  9:11           ` Hans Verkuil
2017-06-07  9:13           ` Matthias Brugger
2017-06-07  9:13             ` Matthias Brugger
2017-06-07  9:13             ` Matthias Brugger
2017-06-07  9:15             ` Hans Verkuil
2017-06-07  9:15               ` Hans Verkuil
2017-06-07  9:15               ` Hans Verkuil

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.