diff mbox series

[RFC] arm: dts: integratorap: Remove top level dma-ranges

Message ID 20190920153622.14616-1-robh@kernel.org
State Accepted
Commit 40d39c1a7cacd8db29f298f14e4e0617e8ca65bd
Headers show
Series [RFC] arm: dts: integratorap: Remove top level dma-ranges | expand

Commit Message

Rob Herring Sept. 20, 2019, 3:36 p.m. UTC
'dma-ranges' at the top level doesn't make sense. 'dma-ranges' implies
there is a parent bus node with '#address-cells' and '#size-cells' which
is impossible here.

Likely this translation needs to be moved down to sub-nodes that need
it.

Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: linux-arm-kernel@lists.infradead.org
Signed-off-by: Rob Herring <robh@kernel.org>

---
This probably worked due to bugs in dma-ranges address translations (or 
lack of).

AFAICT, only PCI needs dma-ranges. The TRM says inbound PCI addresses 
are 1:1. So a translation from child address 0x80000000 to cpu address 
0x0 seems wrong. The v3 PCI driver also fails to look at parent nodes 
for dma-ranges.

 arch/arm/boot/dts/integratorap.dts | 1 -
 1 file changed, 1 deletion(-)

-- 
2.20.1

Comments

Linus Walleij Oct. 4, 2019, 9:12 p.m. UTC | #1
On Fri, Sep 20, 2019 at 5:36 PM Rob Herring <robh@kernel.org> wrote:

> 'dma-ranges' at the top level doesn't make sense. 'dma-ranges' implies

> there is a parent bus node with '#address-cells' and '#size-cells' which

> is impossible here.

>

> Likely this translation needs to be moved down to sub-nodes that need

> it.

>

> Cc: Linus Walleij <linus.walleij@linaro.org>

> Cc: linux-arm-kernel@lists.infradead.org

> Signed-off-by: Rob Herring <robh@kernel.org>


Patch applied! I'll get this to ARM SoC with some
other stuff.

Yours,
Linus Walleij
diff mbox series

Patch

diff --git a/arch/arm/boot/dts/integratorap.dts b/arch/arm/boot/dts/integratorap.dts
index 94d2ff9836d0..198d66181c50 100644
--- a/arch/arm/boot/dts/integratorap.dts
+++ b/arch/arm/boot/dts/integratorap.dts
@@ -9,7 +9,6 @@ 
 / {
 	model = "ARM Integrator/AP";
 	compatible = "arm,integrator-ap";
-	dma-ranges = <0x80000000 0x0 0x80000000>;
 
 	cpus {
 		#address-cells = <1>;