2023-04-17 15:01:15

by Sebastian Reichel

[permalink] [raw]
Subject: [PATCH v2 2/2] arm64: dts: rockchip: rk3588: add MSI support

Add the two Interrupt Translation Service (ITS) IPs that are part of the
GIC-600, which are required for message signalled interrupts (MSI). This
is required for PCIe, which fully relies on MSI for interrupts.

Enabling the ITS nodes requires an operating system, that has a
workaround for Rockchip errata #3588001 (GIC600 can not support
shareable attribute).

Co-developed-by: Kever Yang <[email protected]>
Signed-off-by: Kever Yang <[email protected]>
Signed-off-by: Sebastian Reichel <[email protected]>
---
arch/arm64/boot/dts/rockchip/rk3588s.dtsi | 17 +++++++++++++++++
1 file changed, 17 insertions(+)

diff --git a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
index 2124c654f665..62204b96b0b4 100644
--- a/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3588s.dtsi
@@ -1741,7 +1741,24 @@ gic: interrupt-controller@fe600000 {
mbi-alias = <0x0 0xfe610000>;
mbi-ranges = <424 56>;
msi-controller;
+ ranges;
+ #address-cells = <2>;
#interrupt-cells = <4>;
+ #size-cells = <2>;
+
+ its0: msi-controller@fe640000 {
+ compatible = "arm,gic-v3-its";
+ msi-controller;
+ #msi-cells = <1>;
+ reg = <0x0 0xfe640000 0x0 0x20000>;
+ };
+
+ its1: msi-controller@fe660000 {
+ compatible = "arm,gic-v3-its";
+ msi-controller;
+ #msi-cells = <1>;
+ reg = <0x0 0xfe660000 0x0 0x20000>;
+ };

ppi-partitions {
ppi_partition0: interrupt-partition-0 {
--
2.39.2


2023-04-17 16:40:58

by Marc Zyngier

[permalink] [raw]
Subject: Re: [PATCH v2 2/2] arm64: dts: rockchip: rk3588: add MSI support

On Mon, 17 Apr 2023 16:00:38 +0100,
Sebastian Reichel <[email protected]> wrote:
>
> Add the two Interrupt Translation Service (ITS) IPs that are part of the
> GIC-600, which are required for message signalled interrupts (MSI). This
> is required for PCIe, which fully relies on MSI for interrupts.
>
> Enabling the ITS nodes requires an operating system, that has a
> workaround for Rockchip errata #3588001 (GIC600 can not support
> shareable attribute).

$SUBJECT is inaccurate. This adds the descriptions of the ITSs, but
doesn't wire any MSI support at all (nobody even refers these
nodes, so the whole thing is pretty pointless).

M.

--
Without deviation from the norm, progress is not possible.