Message ID | 20191128154242.1035-1-sudeep.holla@arm.com |
---|---|
State | Accepted |
Commit | 54fb3fe0f211d4729a2551cf9497bd612189af9d |
Headers | show |
Series | Revert "arm64: dts: juno: add dma-ranges property" | expand |
On 28/11/2019 3:42 pm, Sudeep Holla wrote: > This reverts commit 193d00a2b35ee3353813b4006a18131122087205. > > Commit 951d48855d86 ("of: Make of_dma_get_range() work on bus nodes") > reworked the logic such that of_dma_get_range() works correctly > starting from a bus node containing "dma-ranges". > > Since on Juno we don't have a SoC level bus node and "dma-ranges" is > present only in the root node, we get the following error: > > OF: translation of DMA address(0) to CPU address failed node(/sram@2e000000) > OF: translation of DMA address(0) to CPU address failed node(/uart@7ff80000) > ... > OF: translation of DMA address(0) to CPU address failed node(/mhu@2b1f0000) > OF: translation of DMA address(0) to CPU address failed node(/iommu@2b600000) > OF: translation of DMA address(0) to CPU address failed node(/iommu@2b600000) > OF: translation of DMA address(0) to CPU address failed node(/iommu@2b600000) > > So let's fix it by dropping the "dma-ranges" property for now. We can > add it later with a proper SoC bus node and moving all the devices that > belong there along with the "dma-ranges" if required. Acked-by: Robin Murphy <robin.murphy@arm.com> As mentioned before, this is fine since it doesn't represent any kind of device-visible restriction; it was only there for completeness, and we've since given in to the assumption that missing "dma-ranges" implies a 1:1 mapping anyway. Thanks, Robin. > Cc: Rob Herring <robh+dt@kernel.org> > Cc: Liviu Dudau <liviu.dudau@arm.com> > Cc: Robin Murphy <robin.murphy@arm.com> > Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> > Signed-off-by: Sudeep Holla <sudeep.holla@arm.com> > --- > arch/arm64/boot/dts/arm/juno-base.dtsi | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/arch/arm64/boot/dts/arm/juno-base.dtsi b/arch/arm64/boot/dts/arm/juno-base.dtsi > index 9e3e8ce6adfe..1f3c80aafbd7 100644 > --- a/arch/arm64/boot/dts/arm/juno-base.dtsi > +++ b/arch/arm64/boot/dts/arm/juno-base.dtsi > @@ -6,7 +6,6 @@ > /* > * Devices shared by all Juno boards > */ > - dma-ranges = <0 0 0 0 0x100 0>; > > memtimer: timer@2a810000 { > compatible = "arm,armv7-timer-mem"; >
On Thu, Nov 28, 2019 at 03:58:28PM +0000, Robin Murphy wrote: > On 28/11/2019 3:42 pm, Sudeep Holla wrote: > > This reverts commit 193d00a2b35ee3353813b4006a18131122087205. > > > > Commit 951d48855d86 ("of: Make of_dma_get_range() work on bus nodes") > > reworked the logic such that of_dma_get_range() works correctly > > starting from a bus node containing "dma-ranges". > > > > Since on Juno we don't have a SoC level bus node and "dma-ranges" is > > present only in the root node, we get the following error: > > > > OF: translation of DMA address(0) to CPU address failed node(/sram@2e000000) > > OF: translation of DMA address(0) to CPU address failed node(/uart@7ff80000) > > ... > > OF: translation of DMA address(0) to CPU address failed node(/mhu@2b1f0000) > > OF: translation of DMA address(0) to CPU address failed node(/iommu@2b600000) > > OF: translation of DMA address(0) to CPU address failed node(/iommu@2b600000) > > OF: translation of DMA address(0) to CPU address failed node(/iommu@2b600000) > > > > So let's fix it by dropping the "dma-ranges" property for now. We can > > add it later with a proper SoC bus node and moving all the devices that > > belong there along with the "dma-ranges" if required. > > Acked-by: Robin Murphy <robin.murphy@arm.com> > Thanks. > As mentioned before, this is fine since it doesn't represent any kind of > device-visible restriction; it was only there for completeness, and we've > since given in to the assumption that missing "dma-ranges" implies a 1:1 > mapping anyway. > Agreed. -- Regards, Sudeep
diff --git a/arch/arm64/boot/dts/arm/juno-base.dtsi b/arch/arm64/boot/dts/arm/juno-base.dtsi index 9e3e8ce6adfe..1f3c80aafbd7 100644 --- a/arch/arm64/boot/dts/arm/juno-base.dtsi +++ b/arch/arm64/boot/dts/arm/juno-base.dtsi @@ -6,7 +6,6 @@ /* * Devices shared by all Juno boards */ - dma-ranges = <0 0 0 0 0x100 0>; memtimer: timer@2a810000 { compatible = "arm,armv7-timer-mem";
This reverts commit 193d00a2b35ee3353813b4006a18131122087205. Commit 951d48855d86 ("of: Make of_dma_get_range() work on bus nodes") reworked the logic such that of_dma_get_range() works correctly starting from a bus node containing "dma-ranges". Since on Juno we don't have a SoC level bus node and "dma-ranges" is present only in the root node, we get the following error: OF: translation of DMA address(0) to CPU address failed node(/sram@2e000000) OF: translation of DMA address(0) to CPU address failed node(/uart@7ff80000) ... OF: translation of DMA address(0) to CPU address failed node(/mhu@2b1f0000) OF: translation of DMA address(0) to CPU address failed node(/iommu@2b600000) OF: translation of DMA address(0) to CPU address failed node(/iommu@2b600000) OF: translation of DMA address(0) to CPU address failed node(/iommu@2b600000) So let's fix it by dropping the "dma-ranges" property for now. We can add it later with a proper SoC bus node and moving all the devices that belong there along with the "dma-ranges" if required. Cc: Rob Herring <robh+dt@kernel.org> Cc: Liviu Dudau <liviu.dudau@arm.com> Cc: Robin Murphy <robin.murphy@arm.com> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com> --- arch/arm64/boot/dts/arm/juno-base.dtsi | 1 - 1 file changed, 1 deletion(-) -- 2.17.1