Re: [PATCH] arm64: dts: fsd: Change the reg properties from 64-bit to 32-bit

From: Robin Murphy
Date: Wed Nov 16 2022 - 07:45:05 EST


On 2022-11-16 12:38, Robin Murphy wrote:
On 2022-11-16 11:16, Arnd Bergmann wrote:
On Wed, Nov 16, 2022, at 10:12, Vivek Yadav wrote:
Change the reg properties from 64-bit to 32-bit for all IPs, as none of
the nodes are above 32-bit range in the fsd SoC.

Since dma-ranges length does not fit into 32-bit size, keep it 64-bit
and move it to specific node where it is used instead of SoC section.

I don't think that works, the dma-ranges property is part of the
bus, not a particular device:

          mdma0: dma-controller@10100000 {
              compatible = "arm,pl330", "arm,primecell";
-            reg = <0x0 0x10100000 0x0 0x1000>;
+            reg = <0x10100000 0x1000>;
              interrupts = <GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>;
              #dma-cells = <1>;
              clocks = <&clock_imem IMEM_DMA0_IPCLKPORT_ACLK>;
              clock-names = "apb_pclk";
              iommus = <&smmu_imem 0x800 0x0>;
+            #address-cells = <2>;
+            #size-cells = <2>;
+            dma-ranges = <0x0 0x0 0x0 0x10 0x0>;
          };

Since the dma-controller has no children, I don't see how this has
any effect. Also, translating a 36-bit address into a 32-bit
address just means it gets truncated anyway, so there is no
point in making it appear to have a larger address range.

Yes, this is definitely bogus on both counts.

Oh, and also that PL330 can only do 32-bit DMA anyway :)

Thanks,
Robin.