[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <167993102075.3908904.11641161105077047331.robh@kernel.org>
Date: Mon, 27 Mar 2023 10:30:21 -0500
From: Rob Herring <robh@...nel.org>
To: Cristian Ciocaltea <cristian.ciocaltea@...labora.com>
Cc: linux-arm-kernel@...ts.infradead.org, devicetree@...r.kernel.org,
Jernej Skrabec <jernej.skrabec@...il.com>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
linux-sunxi@...ts.linux.dev, Conor Dooley <conor@...nel.org>,
linux-rockchip@...ts.infradead.org,
Nicolas Frattaroli <frattaroli.nicolas@...il.com>,
kernel@...labora.com, Palmer Dabbelt <palmer@...belt.com>,
Albert Ou <aou@...s.berkeley.edu>,
Samuel Holland <samuel@...lland.org>,
linux-kernel@...r.kernel.org, Chen-Yu Tsai <wens@...e.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Heiko Stuebner <heiko@...ech.de>,
Rob Herring <robh+dt@...nel.org>, linux-serial@...r.kernel.org,
Paul Walmsley <paul.walmsley@...ive.com>,
linux-riscv@...ts.infradead.org
Subject: Re: [PATCH v2 01/10] dt-bindings: serial: snps-dw-apb-uart: Switch
dma-names order
On Tue, 21 Mar 2023 23:56:15 +0200, Cristian Ciocaltea wrote:
> Commit 370f696e4474 ("dt-bindings: serial: snps-dw-apb-uart: add dma &
> dma-names properties") documented dma-names property to handle Allwinner
> D1 dtbs_check warnings, but relies on the rx->tx ordering, which is the
> reverse of what a different board expects:
>
> rk3326-odroid-go2.dtb: serial@...30000: dma-names:0: 'rx' was expected
>
> A quick and incomplete check shows the inconsistency is present in many
> other DTS files:
>
> $ git grep -A10 snps,dw-apb-uart | grep dma-names | sort -u
> arch/arm64/boot/dts/rockchip/px30.dtsi- dma-names = "tx", "rx";
> arch/arm64/boot/dts/rockchip/rk3328.dtsi- dma-names = "tx", "rx";
> arch/arm64/boot/dts/rockchip/rk3588s.dtsi- dma-names = "tx", "rx";
> arch/arm/boot/dts/rk3066a.dtsi- dma-names = "tx", "rx";
> arch/arm/boot/dts/rk3128.dtsi- dma-names = "tx", "rx";
> arch/arm/boot/dts/rk3288.dtsi- dma-names = "tx", "rx";
> arch/arm/boot/dts/rv1126.dtsi- dma-names = "tx", "rx";
> arch/arm/boot/dts/socfpga.dtsi- dma-names = "tx", "rx";
> arch/arm/boot/dts/sun6i-a31.dtsi- dma-names = "rx", "tx";
> arch/arm/boot/dts/sun8i-a23-a33.dtsi- dma-names = "rx", "tx";
> arch/arm/boot/dts/sun8i-v3s.dtsi- dma-names = "rx", "tx";
> arch/arm/boot/dts/sunxi-h3-h5.dtsi- dma-names = "rx", "tx";
> arch/riscv/boot/dts/allwinner/sunxi-d1s-t113.dtsi- dma-names = "rx", "tx";
>
> The initial proposed solution was to allow a flexible dma-names order in
> the binding, due to potential ABI breakage concerns after fixing the DTS
> files. But luckily the Allwinner boards are not really affected, since
> all of them are using a shared DMA channel for rx and tx:
>
> $ git grep -A10 snps,dw-apb-uart | grep 'sun.*dmas' | sort -u
> arch/arm/boot/dts/sun6i-a31.dtsi- dmas = <&dma 10>, <&dma 10>;
> arch/arm/boot/dts/sun6i-a31.dtsi- dmas = <&dma 22>, <&dma 22>;
> arch/arm/boot/dts/sun6i-a31.dtsi- dmas = <&dma 6>, <&dma 6>;
> arch/arm/boot/dts/sun6i-a31.dtsi- dmas = <&dma 7>, <&dma 7>;
> arch/arm/boot/dts/sun6i-a31.dtsi- dmas = <&dma 8>, <&dma 8>;
> arch/arm/boot/dts/sun6i-a31.dtsi- dmas = <&dma 9>, <&dma 9>;
> arch/arm/boot/dts/sun8i-a23-a33.dtsi- dmas = <&dma 10>, <&dma 10>;
> arch/arm/boot/dts/sun8i-a23-a33.dtsi- dmas = <&dma 6>, <&dma 6>;
> arch/arm/boot/dts/sun8i-a23-a33.dtsi- dmas = <&dma 7>, <&dma 7>;
> arch/arm/boot/dts/sun8i-a23-a33.dtsi- dmas = <&dma 8>, <&dma 8>;
> arch/arm/boot/dts/sun8i-a23-a33.dtsi- dmas = <&dma 9>, <&dma 9>;
> arch/arm/boot/dts/sun8i-v3s.dtsi- dmas = <&dma 6>, <&dma 6>;
> arch/arm/boot/dts/sun8i-v3s.dtsi- dmas = <&dma 7>, <&dma 7>;
> arch/arm/boot/dts/sun8i-v3s.dtsi- dmas = <&dma 8>, <&dma 8>;
> arch/arm/boot/dts/sunxi-h3-h5.dtsi- dmas = <&dma 6>, <&dma 6>;
> arch/arm/boot/dts/sunxi-h3-h5.dtsi- dmas = <&dma 7>, <&dma 7>;
> arch/arm/boot/dts/sunxi-h3-h5.dtsi- dmas = <&dma 8>, <&dma 8>;
> arch/arm/boot/dts/sunxi-h3-h5.dtsi- dmas = <&dma 9>, <&dma 9>;
> arch/riscv/boot/dts/allwinner/sunxi-d1s-t113.dtsi- dmas = <&dma 14>, <&dma 14>;
> arch/riscv/boot/dts/allwinner/sunxi-d1s-t113.dtsi- dmas = <&dma 15>, <&dma 15>;
> arch/riscv/boot/dts/allwinner/sunxi-d1s-t113.dtsi- dmas = <&dma 16>, <&dma 16>;
> arch/riscv/boot/dts/allwinner/sunxi-d1s-t113.dtsi- dmas = <&dma 17>, <&dma 17>;
> arch/riscv/boot/dts/allwinner/sunxi-d1s-t113.dtsi- dmas = <&dma 18>, <&dma 18>;
> arch/riscv/boot/dts/allwinner/sunxi-d1s-t113.dtsi- dmas = <&dma 19>, <&dma 19>;
>
> Switch dma-names order to tx->rx as the first step in fixing the
> inconsistency. The remaining DTS fixes will be handled by separate
> patches.
>
> Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea@...labora.com>
> ---
> Documentation/devicetree/bindings/serial/snps-dw-apb-uart.yaml | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
Reviewed-by: Rob Herring <robh@...nel.org>
Powered by blists - more mailing lists