Message ID | ecf3505af1a690ed8b975f60d095331778593339.1735313870.git.dsimic@manjaro.org (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Use "dma-noncoherent" to handle Rockchip RK358x 3588001 errata | expand |
On Fri, 27 Dec 2024 15:42:23 +0000, Dragan Simic <dsimic@manjaro.org> wrote: > > The preferred way to denote hardware with non-coherent DMA is to use the > "dma-noncoherent" DT property, at both the GIC redistributor and the GIC ITS > levels, [1] instead of relying on the compatibles to handle hardware errata, > in this case the Rockchip 3588001 errata. [2] > > Let's have the preferred way employed in the base Rockchip RK3588 SoC dtsi, > which also goes along with adding initial support for the Rockchip RK3582 SoC > variant, with its separate compatible. [2][3] > > [1] Documentation/devicetree/bindings/interrupt-controller/arm,gic-v3.yaml > [2] https://lore.kernel.org/linux-rockchip/86msgoozqa.wl-maz@kernel.org/ > [3] https://lore.kernel.org/linux-rockchip/20241222030355.2246-4-naoki@radxa.com/ > > Cc: Marc Zyngier <maz@kernel.org> > Cc: FUKAUMI Naoki <naoki@radxa.com> > Signed-off-by: Dragan Simic <dsimic@manjaro.org> Acked-by: Marc Zyngier <maz@kernel.org> M.
diff --git a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi index d97d84b88837..bd2385b6bd7f 100644 --- a/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3588-base.dtsi @@ -1972,27 +1972,30 @@ &i2s3_sdi gic: interrupt-controller@fe600000 { compatible = "arm,gic-v3"; + dma-noncoherent; reg = <0x0 0xfe600000 0 0x10000>, /* GICD */ <0x0 0xfe680000 0 0x100000>; /* GICR */ interrupts = <GIC_PPI 9 IRQ_TYPE_LEVEL_HIGH 0>; interrupt-controller; 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"; + dma-noncoherent; reg = <0x0 0xfe640000 0x0 0x20000>; msi-controller; #msi-cells = <1>; }; its1: msi-controller@fe660000 { compatible = "arm,gic-v3-its"; + dma-noncoherent; reg = <0x0 0xfe660000 0x0 0x20000>; msi-controller; #msi-cells = <1>;
The preferred way to denote hardware with non-coherent DMA is to use the "dma-noncoherent" DT property, at both the GIC redistributor and the GIC ITS levels, [1] instead of relying on the compatibles to handle hardware errata, in this case the Rockchip 3588001 errata. [2] Let's have the preferred way employed in the base Rockchip RK3588 SoC dtsi, which also goes along with adding initial support for the Rockchip RK3582 SoC variant, with its separate compatible. [2][3] [1] Documentation/devicetree/bindings/interrupt-controller/arm,gic-v3.yaml [2] https://lore.kernel.org/linux-rockchip/86msgoozqa.wl-maz@kernel.org/ [3] https://lore.kernel.org/linux-rockchip/20241222030355.2246-4-naoki@radxa.com/ Cc: Marc Zyngier <maz@kernel.org> Cc: FUKAUMI Naoki <naoki@radxa.com> Signed-off-by: Dragan Simic <dsimic@manjaro.org> --- arch/arm64/boot/dts/rockchip/rk3588-base.dtsi | 3 +++ 1 file changed, 3 insertions(+)