Skip to content

Commit 8546cfd

Browse files
bluerisemmind
authored andcommitted
arm64: dts: rockchip: adjust SMMU interrupt type on rk3588
The SMMU architecture requires wired interrupts to be edge triggered, which does not align with the DT description for the RK3588. This leads to interrupt storms, as the SMMU continues to hold the pin high and only pulls it down for a short amount when issuing an IRQ. Update the DT description to be in line with the spec and perceived reality. Signed-off-by: Patrick Wildt <patrick@blueri.se> Fixes: cd81d3a ("arm64: dts: rockchip: add rk3588 pcie and php IOMMUs") Reviewed-by: Niklas Cassel <cassel@kernel.org> Link: https://lore.kernel.org/r/Z6pxme2Chmf3d3uK@windev.fritz.box Signed-off-by: Heiko Stuebner <heiko@sntech.de>
1 parent 7d1163f commit 8546cfd

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

arch/arm64/boot/dts/rockchip/rk3588-base.dtsi

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -549,21 +549,21 @@
549549
mmu600_pcie: iommu@fc900000 {
550550
compatible = "arm,smmu-v3";
551551
reg = <0x0 0xfc900000 0x0 0x200000>;
552-
interrupts = <GIC_SPI 369 IRQ_TYPE_LEVEL_HIGH 0>,
553-
<GIC_SPI 371 IRQ_TYPE_LEVEL_HIGH 0>,
554-
<GIC_SPI 374 IRQ_TYPE_LEVEL_HIGH 0>,
555-
<GIC_SPI 367 IRQ_TYPE_LEVEL_HIGH 0>;
552+
interrupts = <GIC_SPI 369 IRQ_TYPE_EDGE_RISING 0>,
553+
<GIC_SPI 371 IRQ_TYPE_EDGE_RISING 0>,
554+
<GIC_SPI 374 IRQ_TYPE_EDGE_RISING 0>,
555+
<GIC_SPI 367 IRQ_TYPE_EDGE_RISING 0>;
556556
interrupt-names = "eventq", "gerror", "priq", "cmdq-sync";
557557
#iommu-cells = <1>;
558558
};
559559

560560
mmu600_php: iommu@fcb00000 {
561561
compatible = "arm,smmu-v3";
562562
reg = <0x0 0xfcb00000 0x0 0x200000>;
563-
interrupts = <GIC_SPI 381 IRQ_TYPE_LEVEL_HIGH 0>,
564-
<GIC_SPI 383 IRQ_TYPE_LEVEL_HIGH 0>,
565-
<GIC_SPI 386 IRQ_TYPE_LEVEL_HIGH 0>,
566-
<GIC_SPI 379 IRQ_TYPE_LEVEL_HIGH 0>;
563+
interrupts = <GIC_SPI 381 IRQ_TYPE_EDGE_RISING 0>,
564+
<GIC_SPI 383 IRQ_TYPE_EDGE_RISING 0>,
565+
<GIC_SPI 386 IRQ_TYPE_EDGE_RISING 0>,
566+
<GIC_SPI 379 IRQ_TYPE_EDGE_RISING 0>;
567567
interrupt-names = "eventq", "gerror", "priq", "cmdq-sync";
568568
#iommu-cells = <1>;
569569
status = "disabled";

0 commit comments

Comments
 (0)