Skip to contentSkip to conversation

arm64: dts: cavium: Fix GICv3 ITS nodes

PATCH Applied Rob Herring 2 participants 4 messages Feb 8, 2023 – Mar 17, 2023 Device tree bindings

lore
Share & tools
lore

Rob Herring

author maintainer
#0 lore raw

PATCH 1/1 arm64: dts: cavium: Fix GICv3 ITS nodes

The GICv3 ITS is an MSI controller, therefore its node name should be 'msi-controller'. The ITS node is also expected to have '#msi-cells'. Add it on Thunder as there are no users. Thunder2 uses 'msi-parent', but Robin says that should be 'msi-map' instead and I'm not sure what's correct for it.

The unit-addresses of both the ITS and main GIC node on thunder2 are also wrong, so fix them while we're here.

---
 arch/arm64/boot/dts/cavium/thunder-88xx.dtsi  | 3 ++-
 arch/arm64/boot/dts/cavium/thunder2-99xx.dtsi | 4 ++--
 2 files changed, 4 insertions(+), 3 deletions(-)
arch/arm64/boot/dts/cavium/thunder-88xx.dtsi +2 -1
index e0a71795261b..8ad31dee11a3 100644
@@ -389,9 +389,10 @@ gic0: interrupt-controller@8010,00000000 {
 			      <0x8010 0x80000000 0x0 0x600000>; /* GICR */
 			interrupts = <1 9 0xf04>;
 
-			its: gic-its@8010,00020000 {
+			its: msi-controller@801000020000 {
 				compatible = "arm,gic-v3-its";
 				msi-controller;
+				#msi-cells = <1>;
 				reg = <0x8010 0x20000 0x0 0x200000>;
 			};
 		};
arch/arm64/boot/dts/cavium/thunder2-99xx.dtsi +2 -2
index dfb41705a9a9..3419bd252696 100644
@@ -55,7 +55,7 @@ psci {
 		method = "smc";
 	};
 
-	gic: interrupt-controller@400080000 {
+	gic: interrupt-controller@4000080000 {
 		compatible = "arm,gic-v3";
 		#interrupt-cells = <3>;
 		#address-cells = <2>;
@@ -67,7 +67,7 @@ gic: interrupt-controller@400080000 {
 		      <0x04 0x01000000 0x0 0x1000000>;	/* GICR */
 		interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
 
-		gicits: gic-its@40010000 {
+		gicits: msi-controller@4000100000 {
 			compatible = "arm,gic-v3-its";
 			msi-controller;
 			reg = <0x04 0x00100000 0x0 0x20000>;	/* GIC ITS */
Signature · 1 line
2.39.1
author maintainer
#1 lore raw
Quoted 10 lines · Rob Herring

The GICv3 ITS is an MSI controller, therefore its node name should be 'msi-controller'. The ITS node is also expected to have '#msi-cells'. Add it on Thunder as there are no users. Thunder2 uses 'msi-parent', but Robin says that should be 'msi-map' instead and I'm not sure what's correct for it.

The unit-addresses of both the ITS and main GIC node on thunder2 are also wrong, so fix them while we're here.

Quoted 6 lines
---
 arch/arm64/boot/dts/cavium/thunder-88xx.dtsi  | 3 ++-
 arch/arm64/boot/dts/cavium/thunder2-99xx.dtsi | 4 ++--
 2 files changed, 4 insertions(+), 3 deletions(-)

Ping!

Should we remove these platforms instead if they aren't maintained?

Quoted 42 lines
arch/arm64/boot/dts/cavium/thunder-88xx.dtsi +2 -1
index e0a71795261b..8ad31dee11a3 100644
@@ -389,9 +389,10 @@ gic0: interrupt-controller@8010,00000000 {
                              <0x8010 0x80000000 0x0 0x600000>; /* GICR */
                        interrupts = <1 9 0xf04>;
 
-                       its: gic-its@8010,00020000 {
+                       its: msi-controller@801000020000 {
                                compatible = "arm,gic-v3-its";
                                msi-controller;
+                               #msi-cells = <1>;
                                reg = <0x8010 0x20000 0x0 0x200000>;
                        };
                };
arch/arm64/boot/dts/cavium/thunder2-99xx.dtsi +2 -3
index dfb41705a9a9..3419bd252696 100644
@@ -55,7 +55,7 @@ psci {
                method = "smc";
        };
 
-       gic: interrupt-controller@400080000 {
+       gic: interrupt-controller@4000080000 {
                compatible = "arm,gic-v3";
                #interrupt-cells = <3>;
                #address-cells = <2>;
@@ -67,7 +67,7 @@ gic: interrupt-controller@400080000 {
                      <0x04 0x01000000 0x0 0x1000000>;  /* GICR */
                interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH>;
 
-               gicits: gic-its@40010000 {
+               gicits: msi-controller@4000100000 {
                        compatible = "arm,gic-v3-its";
                        msi-controller;
                        reg = <0x04 0x00100000 0x0 0x20000>;    /* GIC ITS */
--

2.39.1

#2 lore raw
Quoted 18 lines · Rob Herring
Quoted 10 lines · Rob Herring

The GICv3 ITS is an MSI controller, therefore its node name should be 'msi-controller'. The ITS node is also expected to have '#msi-cells'. Add it on Thunder as there are no users. Thunder2 uses 'msi-parent', but Robin says that should be 'msi-map' instead and I'm not sure what's correct for it.

The unit-addresses of both the ITS and main GIC node on thunder2 are also wrong, so fix them while we're here.

Quoted 6 lines
---
 arch/arm64/boot/dts/cavium/thunder-88xx.dtsi  | 3 ++-
 arch/arm64/boot/dts/cavium/thunder2-99xx.dtsi | 4 ++--
 2 files changed, 4 insertions(+), 3 deletions(-)
Quoted 3 lines

Ping!

Should we remove these platforms instead if they aren't maintained?

5 weeks should be enough... Applied with my other cleanups.

Best regards,
Krzysztof

#3 lore raw
In reply to Rob Herring
Quoted 10 lines · Rob Herring

The GICv3 ITS is an MSI controller, therefore its node name should be 'msi-controller'. The ITS node is also expected to have '#msi-cells'. Add it on Thunder as there are no users. Thunder2 uses 'msi-parent', but Robin says that should be 'msi-map' instead and I'm not sure what's correct for it.

The unit-addresses of both the ITS and main GIC node on thunder2 are also wrong, so fix them while we're here.

[...]

Applied, thanks! Let me know if someone else wants to take this.

[1/1] arm64: dts: cavium: Fix GICv3 ITS nodes

      https://git.kernel.org/krzk/linux-dt/c/d2e5c16f6c86901040f3bb6b40d1a01ccf1a21b0

Best regards,

Signature · 1 line
Krzysztof Kozlowski <[email protected]>