> -----Original Message----- > From: Marc Zyngier [mailto:marc.zyngier@xxxxxxx] > Sent: Thursday, August 31, 2017 4:20 PM > To: Bharat Bhushan <bharat.bhushan@xxxxxxx>; robh+dt@xxxxxxxxxx; > Mark Rutland <mark.rutland@xxxxxxx>; will.deacon@xxxxxxx; > oss@xxxxxxxxxxxx; Gang Liu <gang.liu@xxxxxxx>; > devicetree@xxxxxxxxxxxxxxx; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; linux- > kernel@xxxxxxxxxxxxxxx; catalin.marinas@xxxxxxx > 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@xxxxxxx] > >> Sent: Thursday, August 31, 2017 3:02 PM > >> To: Bharat Bhushan <bharat.bhushan@xxxxxxx>; robh+dt@xxxxxxxxxx; > >> ark.rutland@xxxxxxx; will.deacon@xxxxxxx; oss@xxxxxxxxxxxx; Gang > Liu > >> <gang.liu@xxxxxxx>; devicetree@xxxxxxxxxxxxxxx; linux-arm- > >> kernel@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; > >> catalin.marinas@xxxxxxx > >> 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@xxxxxxx> > >>> --- > >>> 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... ��.n��������+%������w��{.n����z�{��ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f