[PATCH] RM64: dts: ls208xa: Add iommu-map property for pci
From: mark.rutland@arm.com (Mark Rutland)
Date: 2017-08-31 11:31:59
Also in:
linux-devicetree, lkml
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:quoted
quoted
-----Original Message----- From: Marc Zyngier [mailto:marc.zyngier at arm.com] Sent: Thursday, August 31, 2017 3:02 PM To: Bharat Bhushan <redacted>; robh+dt at kernel.org; ark.rutland at arm.com; will.deacon at arm.com; oss at buserror.net; Gang Liu [off-list ref]; 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:quoted
This patch adds iommu-map property for PCIe, which enables SMMU for these devices on LS208xA devices. Signed-off-by: Bharat Bhushan <redacted> --- arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsi | 4 ++++ 1 file changed, 4 insertions(+)diff --git a/arch/arm64/boot/dts/freescale/fsl-ls208xa.dtsib/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 byu-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.