[07/11] dts: arm64: layerscape: add dma-ranges property to qoric-mc node
Commit Message
qoriq-mc's dpmacs DMA configuration is inherited from their parent node,
which acts a bus in this regard. So far it maked all devices as
dma-coherent but no dma-ranges recommendation is made.
The truth is that the underlying interconnect has DMA constraints, so
add an empty dma-ranges in qoriq-mc's node in order for DT's DMA
configuration code to get the DMA constraints from it.
Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
---
arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi | 1 +
arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi | 1 +
arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi | 1 +
3 files changed, 3 insertions(+)
Comments
On Tue, Sep 24, 2019 at 08:12:38PM +0200, Nicolas Saenz Julienne wrote:
> qoriq-mc's dpmacs DMA configuration is inherited from their parent node,
> which acts a bus in this regard. So far it maked all devices as
> dma-coherent but no dma-ranges recommendation is made.
>
> The truth is that the underlying interconnect has DMA constraints, so
> add an empty dma-ranges in qoriq-mc's node in order for DT's DMA
> configuration code to get the DMA constraints from it.
>
> Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Updated subject prefix as 'arm64: dts: ...', and applied the patch.
Shawn
> ---
>
> arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi | 1 +
> arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi | 1 +
> arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi | 1 +
> 3 files changed, 3 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
> index c676d0771762..f0d0b6145b72 100644
> --- a/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
> +++ b/arch/arm64/boot/dts/freescale/fsl-ls1088a.dtsi
> @@ -698,6 +698,7 @@
> <0x00000000 0x08340000 0 0x40000>; /* MC control reg */
> msi-parent = <&its>;
> iommu-map = <0 &smmu 0 0>; /* This is fixed-up by u-boot */
> + dma-ranges;
> dma-coherent;
> #address-cells = <3>;
> #size-cells = <1>;
> diff --git a/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi b/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
> index 7a0be8eaa84a..fd6036b7865c 100644
> --- a/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
> +++ b/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
> @@ -340,6 +340,7 @@
> <0x00000000 0x08340000 0 0x40000>; /* MC control reg */
> msi-parent = <&its>;
> iommu-map = <0 &smmu 0 0>; /* This is fixed-up by u-boot */
> + dma-ranges;
> dma-coherent;
> #address-cells = <3>;
> #size-cells = <1>;
> diff --git a/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi b/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi
> index 408e0ecdce6a..3735bb139cb2 100644
> --- a/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi
> +++ b/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi
> @@ -868,6 +868,7 @@
> msi-parent = <&its>;
> /* iommu-map property is fixed up by u-boot */
> iommu-map = <0 &smmu 0 0>;
> + dma-ranges;
> dma-coherent;
> #address-cells = <3>;
> #size-cells = <1>;
> --
> 2.23.0
>
On Mon, 2019-10-14 at 16:28 +0800, Shawn Guo wrote:
> On Tue, Sep 24, 2019 at 08:12:38PM +0200, Nicolas Saenz Julienne wrote:
> > qoriq-mc's dpmacs DMA configuration is inherited from their parent node,
> > which acts a bus in this regard. So far it maked all devices as
> > dma-coherent but no dma-ranges recommendation is made.
> >
> > The truth is that the underlying interconnect has DMA constraints, so
> > add an empty dma-ranges in qoriq-mc's node in order for DT's DMA
> > configuration code to get the DMA constraints from it.
> >
> > Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
>
> Updated subject prefix as 'arm64: dts: ...', and applied the patch.
Hi Shawn,
these two patches are no longer needed. This series has been superseded by this
patch[1] 951d48855d ('of: Make of_dma_get_range() work on bus nodes', available
in linux-next) which fixed the issue directly in OF code.
Sorry for the noise.
Regards,
Nicolas
[1] https://lkml.org/lkml/2019/10/8/870
On Mon, Oct 14, 2019 at 12:00:25PM +0200, Nicolas Saenz Julienne wrote:
> On Mon, 2019-10-14 at 16:28 +0800, Shawn Guo wrote:
> > On Tue, Sep 24, 2019 at 08:12:38PM +0200, Nicolas Saenz Julienne wrote:
> > > qoriq-mc's dpmacs DMA configuration is inherited from their parent node,
> > > which acts a bus in this regard. So far it maked all devices as
> > > dma-coherent but no dma-ranges recommendation is made.
> > >
> > > The truth is that the underlying interconnect has DMA constraints, so
> > > add an empty dma-ranges in qoriq-mc's node in order for DT's DMA
> > > configuration code to get the DMA constraints from it.
> > >
> > > Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
> >
> > Updated subject prefix as 'arm64: dts: ...', and applied the patch.
>
> Hi Shawn,
> these two patches are no longer needed. This series has been superseded by this
> patch[1] 951d48855d ('of: Make of_dma_get_range() work on bus nodes', available
> in linux-next) which fixed the issue directly in OF code.
>
> Sorry for the noise.
Okay, thanks for letting me know. Dropped them.
Shawn
@@ -698,6 +698,7 @@
<0x00000000 0x08340000 0 0x40000>; /* MC control reg */
msi-parent = <&its>;
iommu-map = <0 &smmu 0 0>; /* This is fixed-up by u-boot */
+ dma-ranges;
dma-coherent;
#address-cells = <3>;
#size-cells = <1>;
@@ -340,6 +340,7 @@
<0x00000000 0x08340000 0 0x40000>; /* MC control reg */
msi-parent = <&its>;
iommu-map = <0 &smmu 0 0>; /* This is fixed-up by u-boot */
+ dma-ranges;
dma-coherent;
#address-cells = <3>;
#size-cells = <1>;
@@ -868,6 +868,7 @@
msi-parent = <&its>;
/* iommu-map property is fixed up by u-boot */
iommu-map = <0 &smmu 0 0>;
+ dma-ranges;
dma-coherent;
#address-cells = <3>;
#size-cells = <1>;