* [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.