On Thu, Aug 31, 2017 at 11:49:37AM +0100, Marc Zyngier wrote:
> [Fixing Mark's address...]

Thanks!

> On 31/08/17 11:41, Bharat Bhushan wrote:
> > 
> >> -----Original Message-----
> >> From: Marc Zyngier [mailto:[email protected]]
> >> Sent: Thursday, August 31, 2017 3:02 PM
> >> To: Bharat Bhushan <[email protected]>; [email protected];
> >> [email protected]; [email protected]; [email protected]; Gang Liu
> >> <[email protected]>; [email protected]; linux-arm-
> >> [email protected]; [email protected];
> >> [email protected]
> >> 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 <[email protected]>
> >>> ---
> >>>  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.

Indeed.

Either the property should be valid (and correctly representing the HW),
or it shouldn't be present. Relying on kernel implementation details is
*not* OK.

Thanks,
Mark.

Reply via email to