[PATCH] RM64: dts: ls208xa: Add iommu-map property for pci

Bharat Bhushan bharat.bhushan at nxp.com
Thu Aug 31 04:22:31 PDT 2017



> -----Original Message-----
> From: Marc Zyngier [mailto:marc.zyngier at arm.com]
> Sent: Thursday, August 31, 2017 4:20 PM
> To: Bharat Bhushan <bharat.bhushan at nxp.com>; robh+dt at kernel.org;
> Mark Rutland <mark.rutland at arm.com>; will.deacon at arm.com;
> oss at buserror.net; Gang Liu <gang.liu at nxp.com>;
> devicetree at vger.kernel.org; linux-arm-kernel at lists.infradead.org; linux-
> kernel at vger.kernel.org; catalin.marinas at arm.com
> Subject: Re: [PATCH] RM64: dts: ls208xa: Add iommu-map property for pci
> 
> [Fixing Mark's address...]
> 
> On 31/08/17 11:41, Bharat Bhushan wrote:
> >
> >> -----Original Message-----
> >> From: Marc Zyngier [mailto:marc.zyngier at arm.com]
> >> Sent: Thursday, August 31, 2017 3:02 PM
> >> To: Bharat Bhushan <bharat.bhushan at nxp.com>; robh+dt at kernel.org;
> >> ark.rutland at arm.com; will.deacon at arm.com; oss at buserror.net; Gang
> Liu
> >> <gang.liu at nxp.com>; devicetree at vger.kernel.org; linux-arm-
> >> kernel at lists.infradead.org; linux-kernel at vger.kernel.org;
> >> catalin.marinas at arm.com
> >> Subject: Re: [PATCH] RM64: dts: ls208xa: Add iommu-map property for
> >> pci
> >>
> >> On 31/08/17 10:23, Bharat Bhushan wrote:
> >>> This patch adds iommu-map property for PCIe, which enables SMMU for
> >>> these devices on LS208xA devices.
> >>>
> >>> Signed-off-by: Bharat Bhushan <Bharat.Bhushan at nxp.com>
> >>> ---
> >>>  arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi | 4 ++++
> >>>  1 file changed, 4 insertions(+)
> >>>
> >>> diff --git a/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
> >>> b/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
> >>> index 94cdd30..67cf605 100644
> >>> --- a/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
> >>> +++ b/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi
> >>> @@ -606,6 +606,7 @@
> >>>  			num-lanes = <4>;
> >>>  			bus-range = <0x0 0xff>;
> >>>  			msi-parent = <&its>;
> >>> +			iommu-map = <0 &smmu 0 1>;	/* This is fixed-up by
> >> u-boot */
> >>
> >> What does this do when your version of u-boot doesn't fill this in for you?
> >
> > Good question, frankly I have not thought of this case before.
> > But if we pass length = 0 in above property then no fixup happen with
> > happen with older u-boot. In this case of_iommu_configure() will
> > return NULL iommu-ops and it switch to swio-tlb. Will that work?
> I really don't like this. You rely on having invalid data in the DT, and that
> seems just wrong.
> 
> Why can't u-boot just generate that property, and we leave the DT alone?

We do not have smmu phandle allowing uboot to generate this.

> Or even better, you provide the right information for the few boards that are
> based on this SoC, not relying on u-boot for anything that is in the kernel
> tree?

On our platforms we have a h/w table which converts RID->Device-Id. I will check what will happen if that table is not initialized, can RID be equal to device-id is that case.
If that will be allowed than we can give right information that will work with u-boot not updating this property.

Will revert after confirming this.

Thanks
-Bharat
> 
> Thanks,
> 
> M.
> --
> Jazz is not dead. It just smells funny...


More information about the linux-arm-kernel mailing list