From 4c1a665b465fa0e9d3369a467fc563ec812a47ce Mon Sep 17 00:00:00 2001 From: Jonathan Bell Date: Fri, 19 Jul 2024 13:07:59 +0100 Subject: [PATCH 1192/1215] dts: rp1: hobble DMA AXI burst lengths Channels 1-2 have a statically configured maximum MSIZE of 8, and channels 3-8 have MSIZE set to 4. The DMAC "helpfully" silently truncates bursts to the hardware supported maximum, so any FIFO read operation with an oversized burst threshold will leave a residue of threshold minus MSIZE rows. As channel allocation is dynamic, this means every client needs to use a maximum of 4 for burst length. AXI AWLEN/ARLEN constraints aren't strictly related to MSIZE, except that bursts won't be issued that are longer than MSIZE beats. Therefore, it's a useful proxy to tell clients of the DMAC the hardware limitations. Signed-off-by: Jonathan Bell --- arch/arm64/boot/dts/broadcom/rp1.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/arch/arm64/boot/dts/broadcom/rp1.dtsi +++ b/arch/arm64/boot/dts/broadcom/rp1.dtsi @@ -1064,7 +1064,7 @@ snps,data-width = <4>; // (8 << 4) == 128 bits snps,block-size = <0x40000 0x40000 0x40000 0x40000 0x40000 0x40000 0x40000 0x40000>; snps,priority = <0 1 2 3 4 5 6 7>; - snps,axi-max-burst-len = <8>; + snps,axi-max-burst-len = <4>; status = "disabled"; };