2022-07-12 17:07:51

by Marek Behún

[permalink] [raw]
Subject: [PATCH v2 00/10] ARM: dts: mvebu: Add definitions for PCIe legacy INTx interrupts

As suggested by Gregory [1] (although he suggested it only for armada
380), add definitions for PCIe legacy INTx interrupts into every DTS
file used by the pci-mvebu.c controller driver.

It was tested on 88F6820 (A385) and 88F6281 (Kirkwood) SoCs.

[1] https://lore.kernel.org/linux-arm-kernel/87wnhxjxlq.fsf@BL-laptop/

Changes since v1:
- dropped armada-385 patch, which was already applied
- added commit messages

Pali Rohár (10):
ARM: dts: kirkwood: Add definitions for PCIe legacy INTx interrupts
ARM: dts: dove: Add definitions for PCIe legacy INTx interrupts
ARM: dts: armada-370.dtsi: Add definitions for PCIe legacy INTx
interrupts
ARM: dts: armada-xp-98dx3236.dtsi: Add definitions for PCIe legacy
INTx interrupts
ARM: dts: armada-xp-mv78230.dtsi: Add definitions for PCIe legacy INTx
interrupts
ARM: dts: armada-xp-mv78260.dtsi: Add definitions for PCIe legacy INTx
interrupts
ARM: dts: armada-xp-mv78460.dtsi: Add definitions for PCIe legacy INTx
interrupts
ARM: dts: armada-375.dtsi: Add definitions for PCIe legacy INTx
interrupts
ARM: dts: armada-380.dtsi: Add definitions for PCIe legacy INTx
interrupts
ARM: dts: armada-39x.dtsi: Add definitions for PCIe legacy INTx
interrupts

arch/arm/boot/dts/armada-370.dtsi | 28 ++++-
arch/arm/boot/dts/armada-375.dtsi | 28 ++++-
arch/arm/boot/dts/armada-380.dtsi | 42 ++++++-
arch/arm/boot/dts/armada-39x.dtsi | 56 +++++++--
arch/arm/boot/dts/armada-xp-98dx3236.dtsi | 14 ++-
arch/arm/boot/dts/armada-xp-mv78230.dtsi | 70 +++++++++--
arch/arm/boot/dts/armada-xp-mv78260.dtsi | 126 ++++++++++++++++---
arch/arm/boot/dts/armada-xp-mv78460.dtsi | 140 ++++++++++++++++++----
arch/arm/boot/dts/dove.dtsi | 28 ++++-
arch/arm/boot/dts/kirkwood-6192.dtsi | 14 ++-
arch/arm/boot/dts/kirkwood-6281.dtsi | 14 ++-
arch/arm/boot/dts/kirkwood-6282.dtsi | 28 ++++-
arch/arm/boot/dts/kirkwood-98dx4122.dtsi | 14 ++-
13 files changed, 516 insertions(+), 86 deletions(-)

--
2.35.1


2022-07-12 17:27:36

by Marek Behún

[permalink] [raw]
Subject: [PATCH v2 06/10] ARM: dts: armada-xp-mv78260.dtsi: Add definitions for PCIe legacy INTx interrupts

From: Pali Rohár <[email protected]>

Add definitions for PCIe legacy INTx interrupts.

This is required for example in a scenario where a driver requests only
one of the legacy interrupts (INTA). Without this, the driver would be
notified on events on all 4 (INTA, INTB, INTC, INTD), even if it
requested only one of them.

Signed-off-by: Pali Rohár <[email protected]>
Signed-off-by: Marek Behún <[email protected]>
---
arch/arm/boot/dts/armada-xp-mv78260.dtsi | 126 +++++++++++++++++++----
1 file changed, 108 insertions(+), 18 deletions(-)

diff --git a/arch/arm/boot/dts/armada-xp-mv78260.dtsi b/arch/arm/boot/dts/armada-xp-mv78260.dtsi
index 2d85fe8ac327..0714af52e607 100644
--- a/arch/arm/boot/dts/armada-xp-mv78260.dtsi
+++ b/arch/arm/boot/dts/armada-xp-mv78260.dtsi
@@ -98,16 +98,26 @@ pcie1: pcie@1,0 {
reg = <0x0800 0 0 0 0>;
#address-cells = <3>;
#size-cells = <2>;
+ interrupt-names = "intx";
+ interrupts-extended = <&mpic 58>;
#interrupt-cells = <1>;
ranges = <0x82000000 0 0 0x82000000 0x1 0 1 0
0x81000000 0 0 0x81000000 0x1 0 1 0>;
bus-range = <0x00 0xff>;
- interrupt-map-mask = <0 0 0 0>;
- interrupt-map = <0 0 0 0 &mpic 58>;
+ interrupt-map-mask = <0 0 0 7>;
+ interrupt-map = <0 0 0 1 &pcie1_intc 0>,
+ <0 0 0 2 &pcie1_intc 1>,
+ <0 0 0 3 &pcie1_intc 2>,
+ <0 0 0 4 &pcie1_intc 3>;
marvell,pcie-port = <0>;
marvell,pcie-lane = <0>;
clocks = <&gateclk 5>;
status = "disabled";
+
+ pcie1_intc: interrupt-controller {
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ };
};

pcie2: pcie@2,0 {
@@ -116,16 +126,26 @@ pcie2: pcie@2,0 {
reg = <0x1000 0 0 0 0>;
#address-cells = <3>;
#size-cells = <2>;
+ interrupt-names = "intx";
+ interrupts-extended = <&mpic 59>;
#interrupt-cells = <1>;
ranges = <0x82000000 0 0 0x82000000 0x2 0 1 0
0x81000000 0 0 0x81000000 0x2 0 1 0>;
bus-range = <0x00 0xff>;
- interrupt-map-mask = <0 0 0 0>;
- interrupt-map = <0 0 0 0 &mpic 59>;
+ interrupt-map-mask = <0 0 0 7>;
+ interrupt-map = <0 0 0 1 &pcie2_intc 0>,
+ <0 0 0 2 &pcie2_intc 1>,
+ <0 0 0 3 &pcie2_intc 2>,
+ <0 0 0 4 &pcie2_intc 3>;
marvell,pcie-port = <0>;
marvell,pcie-lane = <1>;
clocks = <&gateclk 6>;
status = "disabled";
+
+ pcie2_intc: interrupt-controller {
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ };
};

pcie3: pcie@3,0 {
@@ -134,16 +154,26 @@ pcie3: pcie@3,0 {
reg = <0x1800 0 0 0 0>;
#address-cells = <3>;
#size-cells = <2>;
+ interrupt-names = "intx";
+ interrupts-extended = <&mpic 60>;
#interrupt-cells = <1>;
ranges = <0x82000000 0 0 0x82000000 0x3 0 1 0
0x81000000 0 0 0x81000000 0x3 0 1 0>;
bus-range = <0x00 0xff>;
- interrupt-map-mask = <0 0 0 0>;
- interrupt-map = <0 0 0 0 &mpic 60>;
+ interrupt-map-mask = <0 0 0 7>;
+ interrupt-map = <0 0 0 1 &pcie3_intc 0>,
+ <0 0 0 2 &pcie3_intc 1>,
+ <0 0 0 3 &pcie3_intc 2>,
+ <0 0 0 4 &pcie3_intc 3>;
marvell,pcie-port = <0>;
marvell,pcie-lane = <2>;
clocks = <&gateclk 7>;
status = "disabled";
+
+ pcie3_intc: interrupt-controller {
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ };
};

pcie4: pcie@4,0 {
@@ -152,16 +182,26 @@ pcie4: pcie@4,0 {
reg = <0x2000 0 0 0 0>;
#address-cells = <3>;
#size-cells = <2>;
+ interrupt-names = "intx";
+ interrupts-extended = <&mpic 61>;
#interrupt-cells = <1>;
ranges = <0x82000000 0 0 0x82000000 0x4 0 1 0
0x81000000 0 0 0x81000000 0x4 0 1 0>;
bus-range = <0x00 0xff>;
- interrupt-map-mask = <0 0 0 0>;
- interrupt-map = <0 0 0 0 &mpic 61>;
+ interrupt-map-mask = <0 0 0 7>;
+ interrupt-map = <0 0 0 1 &pcie4_intc 0>,
+ <0 0 0 2 &pcie4_intc 1>,
+ <0 0 0 3 &pcie4_intc 2>,
+ <0 0 0 4 &pcie4_intc 3>;
marvell,pcie-port = <0>;
marvell,pcie-lane = <3>;
clocks = <&gateclk 8>;
status = "disabled";
+
+ pcie4_intc: interrupt-controller {
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ };
};

pcie5: pcie@5,0 {
@@ -170,16 +210,26 @@ pcie5: pcie@5,0 {
reg = <0x2800 0 0 0 0>;
#address-cells = <3>;
#size-cells = <2>;
+ interrupt-names = "intx";
+ interrupts-extended = <&mpic 62>;
#interrupt-cells = <1>;
ranges = <0x82000000 0 0 0x82000000 0x5 0 1 0
0x81000000 0 0 0x81000000 0x5 0 1 0>;
bus-range = <0x00 0xff>;
- interrupt-map-mask = <0 0 0 0>;
- interrupt-map = <0 0 0 0 &mpic 62>;
+ interrupt-map-mask = <0 0 0 7>;
+ interrupt-map = <0 0 0 1 &pcie5_intc 0>,
+ <0 0 0 2 &pcie5_intc 1>,
+ <0 0 0 3 &pcie5_intc 2>,
+ <0 0 0 4 &pcie5_intc 3>;
marvell,pcie-port = <1>;
marvell,pcie-lane = <0>;
clocks = <&gateclk 9>;
status = "disabled";
+
+ pcie5_intc: interrupt-controller {
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ };
};

pcie6: pcie@6,0 {
@@ -188,16 +238,26 @@ pcie6: pcie@6,0 {
reg = <0x3000 0 0 0 0>;
#address-cells = <3>;
#size-cells = <2>;
+ interrupt-names = "intx";
+ interrupts-extended = <&mpic 63>;
#interrupt-cells = <1>;
ranges = <0x82000000 0 0 0x82000000 0x6 0 1 0
0x81000000 0 0 0x81000000 0x6 0 1 0>;
bus-range = <0x00 0xff>;
- interrupt-map-mask = <0 0 0 0>;
- interrupt-map = <0 0 0 0 &mpic 63>;
+ interrupt-map-mask = <0 0 0 7>;
+ interrupt-map = <0 0 0 1 &pcie6_intc 0>,
+ <0 0 0 2 &pcie6_intc 1>,
+ <0 0 0 3 &pcie6_intc 2>,
+ <0 0 0 4 &pcie6_intc 3>;
marvell,pcie-port = <1>;
marvell,pcie-lane = <1>;
clocks = <&gateclk 10>;
status = "disabled";
+
+ pcie6_intc: interrupt-controller {
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ };
};

pcie7: pcie@7,0 {
@@ -206,16 +266,26 @@ pcie7: pcie@7,0 {
reg = <0x3800 0 0 0 0>;
#address-cells = <3>;
#size-cells = <2>;
+ interrupt-names = "intx";
+ interrupts-extended = <&mpic 64>;
#interrupt-cells = <1>;
ranges = <0x82000000 0 0 0x82000000 0x7 0 1 0
0x81000000 0 0 0x81000000 0x7 0 1 0>;
bus-range = <0x00 0xff>;
- interrupt-map-mask = <0 0 0 0>;
- interrupt-map = <0 0 0 0 &mpic 64>;
+ interrupt-map-mask = <0 0 0 7>;
+ interrupt-map = <0 0 0 1 &pcie7_intc 0>,
+ <0 0 0 2 &pcie7_intc 1>,
+ <0 0 0 3 &pcie7_intc 2>,
+ <0 0 0 4 &pcie7_intc 3>;
marvell,pcie-port = <1>;
marvell,pcie-lane = <2>;
clocks = <&gateclk 11>;
status = "disabled";
+
+ pcie7_intc: interrupt-controller {
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ };
};

pcie8: pcie@8,0 {
@@ -224,16 +294,26 @@ pcie8: pcie@8,0 {
reg = <0x4000 0 0 0 0>;
#address-cells = <3>;
#size-cells = <2>;
+ interrupt-names = "intx";
+ interrupts-extended = <&mpic 65>;
#interrupt-cells = <1>;
ranges = <0x82000000 0 0 0x82000000 0x8 0 1 0
0x81000000 0 0 0x81000000 0x8 0 1 0>;
bus-range = <0x00 0xff>;
- interrupt-map-mask = <0 0 0 0>;
- interrupt-map = <0 0 0 0 &mpic 65>;
+ interrupt-map-mask = <0 0 0 7>;
+ interrupt-map = <0 0 0 1 &pcie8_intc 0>,
+ <0 0 0 2 &pcie8_intc 1>,
+ <0 0 0 3 &pcie8_intc 2>,
+ <0 0 0 4 &pcie8_intc 3>;
marvell,pcie-port = <1>;
marvell,pcie-lane = <3>;
clocks = <&gateclk 12>;
status = "disabled";
+
+ pcie8_intc: interrupt-controller {
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ };
};

pcie9: pcie@9,0 {
@@ -242,16 +322,26 @@ pcie9: pcie@9,0 {
reg = <0x4800 0 0 0 0>;
#address-cells = <3>;
#size-cells = <2>;
+ interrupt-names = "intx";
+ interrupts-extended = <&mpic 99>;
#interrupt-cells = <1>;
ranges = <0x82000000 0 0 0x82000000 0x9 0 1 0
0x81000000 0 0 0x81000000 0x9 0 1 0>;
bus-range = <0x00 0xff>;
- interrupt-map-mask = <0 0 0 0>;
- interrupt-map = <0 0 0 0 &mpic 99>;
+ interrupt-map-mask = <0 0 0 7>;
+ interrupt-map = <0 0 0 1 &pcie9_intc 0>,
+ <0 0 0 2 &pcie9_intc 1>,
+ <0 0 0 3 &pcie9_intc 2>,
+ <0 0 0 4 &pcie9_intc 3>;
marvell,pcie-port = <2>;
marvell,pcie-lane = <0>;
clocks = <&gateclk 26>;
status = "disabled";
+
+ pcie9_intc: interrupt-controller {
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ };
};
};

--
2.35.1

2022-07-12 17:29:28

by Andrew Lunn

[permalink] [raw]
Subject: Re: [PATCH v2 00/10] ARM: dts: mvebu: Add definitions for PCIe legacy INTx interrupts

On Tue, Jul 12, 2022 at 06:40:58PM +0200, Marek Beh?n wrote:
> As suggested by Gregory [1] (although he suggested it only for armada
> 380), add definitions for PCIe legacy INTx interrupts into every DTS
> file used by the pci-mvebu.c controller driver.
>
> It was tested on 88F6820 (A385) and 88F6281 (Kirkwood) SoCs.
>
> [1] https://lore.kernel.org/linux-arm-kernel/87wnhxjxlq.fsf@BL-laptop/
>
> Changes since v1:
> - dropped armada-385 patch, which was already applied
> - added commit messages

Thanks for updating the commit message.

I don't see any Fixes: tags here. So from that, can i assume that
there are no known broken devices? We don't need to involve stable.

Andrew

2022-07-12 17:30:14

by Marek Behún

[permalink] [raw]
Subject: [PATCH v2 08/10] ARM: dts: armada-375.dtsi: Add definitions for PCIe legacy INTx interrupts

From: Pali Rohár <[email protected]>

Add definitions for PCIe legacy INTx interrupts.

This is required for example in a scenario where a driver requests only
one of the legacy interrupts (INTA). Without this, the driver would be
notified on events on all 4 (INTA, INTB, INTC, INTD), even if it
requested only one of them.

Signed-off-by: Pali Rohár <[email protected]>
Signed-off-by: Marek Behún <[email protected]>
---
arch/arm/boot/dts/armada-375.dtsi | 28 ++++++++++++++++++++++++----
1 file changed, 24 insertions(+), 4 deletions(-)

diff --git a/arch/arm/boot/dts/armada-375.dtsi b/arch/arm/boot/dts/armada-375.dtsi
index 7f2f24a29e6c..929deaf312a5 100644
--- a/arch/arm/boot/dts/armada-375.dtsi
+++ b/arch/arm/boot/dts/armada-375.dtsi
@@ -568,16 +568,26 @@ pcie0: pcie@1,0 {
reg = <0x0800 0 0 0 0>;
#address-cells = <3>;
#size-cells = <2>;
+ interrupt-names = "intx";
+ interrupts-extended = <&gic GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
#interrupt-cells = <1>;
ranges = <0x82000000 0 0 0x82000000 0x1 0 1 0
0x81000000 0 0 0x81000000 0x1 0 1 0>;
bus-range = <0x00 0xff>;
- interrupt-map-mask = <0 0 0 0>;
- interrupt-map = <0 0 0 0 &gic GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-map-mask = <0 0 0 7>;
+ interrupt-map = <0 0 0 1 &pcie0_intc 0>,
+ <0 0 0 2 &pcie0_intc 1>,
+ <0 0 0 3 &pcie0_intc 2>,
+ <0 0 0 4 &pcie0_intc 3>;
marvell,pcie-port = <0>;
marvell,pcie-lane = <0>;
clocks = <&gateclk 5>;
status = "disabled";
+
+ pcie0_intc: interrupt-controller {
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ };
};

pcie1: pcie@2,0 {
@@ -586,16 +596,26 @@ pcie1: pcie@2,0 {
reg = <0x1000 0 0 0 0>;
#address-cells = <3>;
#size-cells = <2>;
+ interrupt-names = "intx";
+ interrupts-extended = <&gic GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
#interrupt-cells = <1>;
ranges = <0x82000000 0 0 0x82000000 0x2 0 1 0
0x81000000 0 0 0x81000000 0x2 0 1 0>;
bus-range = <0x00 0xff>;
- interrupt-map-mask = <0 0 0 0>;
- interrupt-map = <0 0 0 0 &gic GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-map-mask = <0 0 0 7>;
+ interrupt-map = <0 0 0 1 &pcie1_intc 0>,
+ <0 0 0 2 &pcie1_intc 1>,
+ <0 0 0 3 &pcie1_intc 2>,
+ <0 0 0 4 &pcie1_intc 3>;
marvell,pcie-port = <0>;
marvell,pcie-lane = <1>;
clocks = <&gateclk 6>;
status = "disabled";
+
+ pcie1_intc: interrupt-controller {
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ };
};

};
--
2.35.1

2022-07-12 17:30:25

by Marek Behún

[permalink] [raw]
Subject: [PATCH v2 01/10] ARM: dts: kirkwood: Add definitions for PCIe legacy INTx interrupts

From: Pali Rohár <[email protected]>

Add definitions for PCIe legacy INTx interrupts.

This is required for example in a scenario where a driver requests only
one of the legacy interrupts (INTA). Without this, the driver would be
notified on events on all 4 (INTA, INTB, INTC, INTD), even if it
requested only one of them.

Signed-off-by: Pali Rohár <[email protected]>
Signed-off-by: Marek Behún <[email protected]>
---
arch/arm/boot/dts/kirkwood-6192.dtsi | 14 ++++++++++--
arch/arm/boot/dts/kirkwood-6281.dtsi | 14 ++++++++++--
arch/arm/boot/dts/kirkwood-6282.dtsi | 28 ++++++++++++++++++++----
arch/arm/boot/dts/kirkwood-98dx4122.dtsi | 14 ++++++++++--
4 files changed, 60 insertions(+), 10 deletions(-)

diff --git a/arch/arm/boot/dts/kirkwood-6192.dtsi b/arch/arm/boot/dts/kirkwood-6192.dtsi
index 396bcba08adb..07f4f7f98c0c 100644
--- a/arch/arm/boot/dts/kirkwood-6192.dtsi
+++ b/arch/arm/boot/dts/kirkwood-6192.dtsi
@@ -26,12 +26,22 @@ pcie0: pcie@1,0 {
ranges = <0x82000000 0 0 0x82000000 0x1 0 1 0
0x81000000 0 0 0x81000000 0x1 0 1 0>;
bus-range = <0x00 0xff>;
- interrupt-map-mask = <0 0 0 0>;
- interrupt-map = <0 0 0 0 &intc 9>;
+ interrupt-names = "intx";
+ interrupts = <9>;
+ interrupt-map-mask = <0 0 0 7>;
+ interrupt-map = <0 0 0 1 &pcie_intc 0>,
+ <0 0 0 2 &pcie_intc 1>,
+ <0 0 0 3 &pcie_intc 2>,
+ <0 0 0 4 &pcie_intc 3>;
marvell,pcie-port = <0>;
marvell,pcie-lane = <0>;
clocks = <&gate_clk 2>;
status = "disabled";
+
+ pcie_intc: interrupt-controller {
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ };
};
};
};
diff --git a/arch/arm/boot/dts/kirkwood-6281.dtsi b/arch/arm/boot/dts/kirkwood-6281.dtsi
index faa05849a40d..d08a9a5ecc26 100644
--- a/arch/arm/boot/dts/kirkwood-6281.dtsi
+++ b/arch/arm/boot/dts/kirkwood-6281.dtsi
@@ -26,12 +26,22 @@ pcie0: pcie@1,0 {
ranges = <0x82000000 0 0 0x82000000 0x1 0 1 0
0x81000000 0 0 0x81000000 0x1 0 1 0>;
bus-range = <0x00 0xff>;
- interrupt-map-mask = <0 0 0 0>;
- interrupt-map = <0 0 0 0 &intc 9>;
+ interrupt-names = "intx";
+ interrupts = <9>;
+ interrupt-map-mask = <0 0 0 7>;
+ interrupt-map = <0 0 0 1 &pcie_intc 0>,
+ <0 0 0 2 &pcie_intc 1>,
+ <0 0 0 3 &pcie_intc 2>,
+ <0 0 0 4 &pcie_intc 3>;
marvell,pcie-port = <0>;
marvell,pcie-lane = <0>;
clocks = <&gate_clk 2>;
status = "disabled";
+
+ pcie_intc: interrupt-controller {
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ };
};
};
};
diff --git a/arch/arm/boot/dts/kirkwood-6282.dtsi b/arch/arm/boot/dts/kirkwood-6282.dtsi
index e84c54b77dea..2eea5b304f47 100644
--- a/arch/arm/boot/dts/kirkwood-6282.dtsi
+++ b/arch/arm/boot/dts/kirkwood-6282.dtsi
@@ -30,12 +30,22 @@ pcie0: pcie@1,0 {
ranges = <0x82000000 0 0 0x82000000 0x1 0 1 0
0x81000000 0 0 0x81000000 0x1 0 1 0>;
bus-range = <0x00 0xff>;
- interrupt-map-mask = <0 0 0 0>;
- interrupt-map = <0 0 0 0 &intc 9>;
+ interrupt-names = "intx";
+ interrupts = <9>;
+ interrupt-map-mask = <0 0 0 7>;
+ interrupt-map = <0 0 0 1 &pcie0_intc 0>,
+ <0 0 0 2 &pcie0_intc 1>,
+ <0 0 0 3 &pcie0_intc 2>,
+ <0 0 0 4 &pcie0_intc 3>;
marvell,pcie-port = <0>;
marvell,pcie-lane = <0>;
clocks = <&gate_clk 2>;
status = "disabled";
+
+ pcie0_intc: interrupt-controller {
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ };
};

pcie1: pcie@2,0 {
@@ -48,12 +58,22 @@ pcie1: pcie@2,0 {
ranges = <0x82000000 0 0 0x82000000 0x2 0 1 0
0x81000000 0 0 0x81000000 0x2 0 1 0>;
bus-range = <0x00 0xff>;
- interrupt-map-mask = <0 0 0 0>;
- interrupt-map = <0 0 0 0 &intc 10>;
+ interrupt-names = "intx";
+ interrupts = <10>;
+ interrupt-map-mask = <0 0 0 7>;
+ interrupt-map = <0 0 0 1 &pcie1_intc 0>,
+ <0 0 0 2 &pcie1_intc 1>,
+ <0 0 0 3 &pcie1_intc 2>,
+ <0 0 0 4 &pcie1_intc 3>;
marvell,pcie-port = <1>;
marvell,pcie-lane = <0>;
clocks = <&gate_clk 18>;
status = "disabled";
+
+ pcie1_intc: interrupt-controller {
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ };
};
};
};
diff --git a/arch/arm/boot/dts/kirkwood-98dx4122.dtsi b/arch/arm/boot/dts/kirkwood-98dx4122.dtsi
index 299c147298c3..070bc13242b8 100644
--- a/arch/arm/boot/dts/kirkwood-98dx4122.dtsi
+++ b/arch/arm/boot/dts/kirkwood-98dx4122.dtsi
@@ -26,12 +26,22 @@ pcie0: pcie@1,0 {
ranges = <0x82000000 0 0 0x82000000 0x1 0 1 0
0x81000000 0 0 0x81000000 0x1 0 1 0>;
bus-range = <0x00 0xff>;
- interrupt-map-mask = <0 0 0 0>;
- interrupt-map = <0 0 0 0 &intc 9>;
+ interrupt-names = "intx";
+ interrupts = <9>;
+ interrupt-map-mask = <0 0 0 7>;
+ interrupt-map = <0 0 0 1 &pcie_intc 0>,
+ <0 0 0 2 &pcie_intc 1>,
+ <0 0 0 3 &pcie_intc 2>,
+ <0 0 0 4 &pcie_intc 3>;
marvell,pcie-port = <0>;
marvell,pcie-lane = <0>;
clocks = <&gate_clk 2>;
status = "disabled";
+
+ pcie_intc: interrupt-controller {
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ };
};
};
};
--
2.35.1

2022-07-12 17:31:22

by Marek Behún

[permalink] [raw]
Subject: [PATCH v2 04/10] ARM: dts: armada-xp-98dx3236.dtsi: Add definitions for PCIe legacy INTx interrupts

From: Pali Rohár <[email protected]>

Add definitions for PCIe legacy INTx interrupts.

This is required for example in a scenario where a driver requests only
one of the legacy interrupts (INTA). Without this, the driver would be
notified on events on all 4 (INTA, INTB, INTC, INTD), even if it
requested only one of them.

Signed-off-by: Pali Rohár <[email protected]>
Signed-off-by: Marek Behún <[email protected]>
---
arch/arm/boot/dts/armada-xp-98dx3236.dtsi | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/armada-xp-98dx3236.dtsi b/arch/arm/boot/dts/armada-xp-98dx3236.dtsi
index 38a052a0312d..b21ffb819b1d 100644
--- a/arch/arm/boot/dts/armada-xp-98dx3236.dtsi
+++ b/arch/arm/boot/dts/armada-xp-98dx3236.dtsi
@@ -76,16 +76,26 @@ pcie1: pcie@1,0 {
reg = <0x0800 0 0 0 0>;
#address-cells = <3>;
#size-cells = <2>;
+ interrupt-names = "intx";
+ interrupts-extended = <&mpic 58>;
#interrupt-cells = <1>;
ranges = <0x82000000 0 0 0x82000000 0x1 0 1 0
0x81000000 0 0 0x81000000 0x1 0 1 0>;
bus-range = <0x00 0xff>;
- interrupt-map-mask = <0 0 0 0>;
- interrupt-map = <0 0 0 0 &mpic 58>;
+ interrupt-map-mask = <0 0 0 7>;
+ interrupt-map = <0 0 0 1 &pcie1_intc 0>,
+ <0 0 0 2 &pcie1_intc 1>,
+ <0 0 0 3 &pcie1_intc 2>,
+ <0 0 0 4 &pcie1_intc 3>;
marvell,pcie-port = <0>;
marvell,pcie-lane = <0>;
clocks = <&gateclk 5>;
status = "disabled";
+
+ pcie1_intc: interrupt-controller {
+ interrupt-controller;
+ #interrupt-cells = <1>;
+ };
};
};

--
2.35.1

2022-07-12 22:49:01

by Marek Behún

[permalink] [raw]
Subject: Re: [PATCH v2 00/10] ARM: dts: mvebu: Add definitions for PCIe legacy INTx interrupts

On Tue, 12 Jul 2022 18:59:20 +0200
Andrew Lunn <[email protected]> wrote:

> On Tue, Jul 12, 2022 at 06:40:58PM +0200, Marek Behún wrote:
> > As suggested by Gregory [1] (although he suggested it only for armada
> > 380), add definitions for PCIe legacy INTx interrupts into every DTS
> > file used by the pci-mvebu.c controller driver.
> >
> > It was tested on 88F6820 (A385) and 88F6281 (Kirkwood) SoCs.
> >
> > [1] https://lore.kernel.org/linux-arm-kernel/87wnhxjxlq.fsf@BL-laptop/
> >
> > Changes since v1:
> > - dropped armada-385 patch, which was already applied
> > - added commit messages
>
> Thanks for updating the commit message.
>
> I don't see any Fixes: tags here. So from that, can i assume that
> there are no known broken devices? We don't need to involve stable.

I don't think so. If it turns out we do, we can just send it to stable
afterwards.

Marek

2022-08-17 17:03:42

by Pali Rohár

[permalink] [raw]
Subject: Re: [PATCH v2 00/10] ARM: dts: mvebu: Add definitions for PCIe legacy INTx interrupts

Hello! What is state of these patches? I see no response for more than month.

On Tuesday 12 July 2022 18:40:58 Marek Behún wrote:
> As suggested by Gregory [1] (although he suggested it only for armada
> 380), add definitions for PCIe legacy INTx interrupts into every DTS
> file used by the pci-mvebu.c controller driver.
>
> It was tested on 88F6820 (A385) and 88F6281 (Kirkwood) SoCs.
>
> [1] https://lore.kernel.org/linux-arm-kernel/87wnhxjxlq.fsf@BL-laptop/
>
> Changes since v1:
> - dropped armada-385 patch, which was already applied
> - added commit messages
>
> Pali Rohár (10):
> ARM: dts: kirkwood: Add definitions for PCIe legacy INTx interrupts
> ARM: dts: dove: Add definitions for PCIe legacy INTx interrupts
> ARM: dts: armada-370.dtsi: Add definitions for PCIe legacy INTx
> interrupts
> ARM: dts: armada-xp-98dx3236.dtsi: Add definitions for PCIe legacy
> INTx interrupts
> ARM: dts: armada-xp-mv78230.dtsi: Add definitions for PCIe legacy INTx
> interrupts
> ARM: dts: armada-xp-mv78260.dtsi: Add definitions for PCIe legacy INTx
> interrupts
> ARM: dts: armada-xp-mv78460.dtsi: Add definitions for PCIe legacy INTx
> interrupts
> ARM: dts: armada-375.dtsi: Add definitions for PCIe legacy INTx
> interrupts
> ARM: dts: armada-380.dtsi: Add definitions for PCIe legacy INTx
> interrupts
> ARM: dts: armada-39x.dtsi: Add definitions for PCIe legacy INTx
> interrupts
>
> arch/arm/boot/dts/armada-370.dtsi | 28 ++++-
> arch/arm/boot/dts/armada-375.dtsi | 28 ++++-
> arch/arm/boot/dts/armada-380.dtsi | 42 ++++++-
> arch/arm/boot/dts/armada-39x.dtsi | 56 +++++++--
> arch/arm/boot/dts/armada-xp-98dx3236.dtsi | 14 ++-
> arch/arm/boot/dts/armada-xp-mv78230.dtsi | 70 +++++++++--
> arch/arm/boot/dts/armada-xp-mv78260.dtsi | 126 ++++++++++++++++---
> arch/arm/boot/dts/armada-xp-mv78460.dtsi | 140 ++++++++++++++++++----
> arch/arm/boot/dts/dove.dtsi | 28 ++++-
> arch/arm/boot/dts/kirkwood-6192.dtsi | 14 ++-
> arch/arm/boot/dts/kirkwood-6281.dtsi | 14 ++-
> arch/arm/boot/dts/kirkwood-6282.dtsi | 28 ++++-
> arch/arm/boot/dts/kirkwood-98dx4122.dtsi | 14 ++-
> 13 files changed, 516 insertions(+), 86 deletions(-)
>
> --
> 2.35.1
>

2022-09-02 15:40:09

by Gregory CLEMENT

[permalink] [raw]
Subject: Re: [PATCH v2 00/10] ARM: dts: mvebu: Add definitions for PCIe legacy INTx interrupts

Hello,

> Hello! What is state of these patches? I see no response for more than
> month.

Actually I didn't received the second version of the series, but I
manged to find it in lore and so I applied it on mvebu/dt

Thanks,

Gregory


>
> On Tuesday 12 July 2022 18:40:58 Marek Behún wrote:
>> As suggested by Gregory [1] (although he suggested it only for armada
>> 380), add definitions for PCIe legacy INTx interrupts into every DTS
>> file used by the pci-mvebu.c controller driver.
>>
>> It was tested on 88F6820 (A385) and 88F6281 (Kirkwood) SoCs.
>>
>> [1] https://lore.kernel.org/linux-arm-kernel/87wnhxjxlq.fsf@BL-laptop/
>>
>> Changes since v1:
>> - dropped armada-385 patch, which was already applied
>> - added commit messages
>>
>> Pali Rohár (10):
>> ARM: dts: kirkwood: Add definitions for PCIe legacy INTx interrupts
>> ARM: dts: dove: Add definitions for PCIe legacy INTx interrupts
>> ARM: dts: armada-370.dtsi: Add definitions for PCIe legacy INTx
>> interrupts
>> ARM: dts: armada-xp-98dx3236.dtsi: Add definitions for PCIe legacy
>> INTx interrupts
>> ARM: dts: armada-xp-mv78230.dtsi: Add definitions for PCIe legacy INTx
>> interrupts
>> ARM: dts: armada-xp-mv78260.dtsi: Add definitions for PCIe legacy INTx
>> interrupts
>> ARM: dts: armada-xp-mv78460.dtsi: Add definitions for PCIe legacy INTx
>> interrupts
>> ARM: dts: armada-375.dtsi: Add definitions for PCIe legacy INTx
>> interrupts
>> ARM: dts: armada-380.dtsi: Add definitions for PCIe legacy INTx
>> interrupts
>> ARM: dts: armada-39x.dtsi: Add definitions for PCIe legacy INTx
>> interrupts
>>
>> arch/arm/boot/dts/armada-370.dtsi | 28 ++++-
>> arch/arm/boot/dts/armada-375.dtsi | 28 ++++-
>> arch/arm/boot/dts/armada-380.dtsi | 42 ++++++-
>> arch/arm/boot/dts/armada-39x.dtsi | 56 +++++++--
>> arch/arm/boot/dts/armada-xp-98dx3236.dtsi | 14 ++-
>> arch/arm/boot/dts/armada-xp-mv78230.dtsi | 70 +++++++++--
>> arch/arm/boot/dts/armada-xp-mv78260.dtsi | 126 ++++++++++++++++---
>> arch/arm/boot/dts/armada-xp-mv78460.dtsi | 140 ++++++++++++++++++----
>> arch/arm/boot/dts/dove.dtsi | 28 ++++-
>> arch/arm/boot/dts/kirkwood-6192.dtsi | 14 ++-
>> arch/arm/boot/dts/kirkwood-6281.dtsi | 14 ++-
>> arch/arm/boot/dts/kirkwood-6282.dtsi | 28 ++++-
>> arch/arm/boot/dts/kirkwood-98dx4122.dtsi | 14 ++-
>> 13 files changed, 516 insertions(+), 86 deletions(-)
>>
>> --
>> 2.35.1
>>

--
Gregory Clement, Bootlin
Embedded Linux and Kernel engineering
http://bootlin.com