Thread (10 messages) flat view 10 messages, 4 authors, 2017-09-27

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

From: Bharat Bhushan <hidden>
Date: 2017-08-31 11:22:36
Also in: linux-devicetree, lkml

-----Original Message-----
From: Marc Zyngier [mailto:marc.zyngier at arm.com]
Sent: Thursday, August 31, 2017 4:20 PM
To: Bharat Bhushan <redacted>; robh+dt at kernel.org;
Mark Rutland [off-list ref]; 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

[Fixing Mark's address...]

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
quoted
quoted
[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.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...
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help