layerscape: add 64b/32b target for ls1043ardb device
[openwrt/staging/yousong.git] / target / linux / layerscape / patches-4.4 / 0054-PCI-designware-Explain-why-we-don-t-program-ATU-for-.patch
diff --git a/target/linux/layerscape/patches-4.4/0054-PCI-designware-Explain-why-we-don-t-program-ATU-for-.patch b/target/linux/layerscape/patches-4.4/0054-PCI-designware-Explain-why-we-don-t-program-ATU-for-.patch
new file mode 100644 (file)
index 0000000..f48150d
--- /dev/null
@@ -0,0 +1,34 @@
+From 481b1bc4ce0d58107887558342e50d6323a9601d Mon Sep 17 00:00:00 2001
+From: Jisheng Zhang <jszhang@marvell.com>
+Date: Thu, 7 Jan 2016 14:12:38 +0800
+Subject: [PATCH 54/70] PCI: designware: Explain why we don't program ATU for
+ some platforms
+
+Some platforms don't support ATU, e.g., pci-keystone.c.  These platforms
+use their own address translation component rather than ATU, and they
+provide the rd_other_conf and wr_other_conf methods to program the
+translation component and perform the access.
+
+Add a comment to explain why we don't program the ATU for these platforms.
+
+[bhelgaas: changelog]
+Signed-off-by: Jisheng Zhang <jszhang@marvell.com>
+Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
+---
+ drivers/pci/host/pcie-designware.c |    5 +++++
+ 1 file changed, 5 insertions(+)
+
+--- a/drivers/pci/host/pcie-designware.c
++++ b/drivers/pci/host/pcie-designware.c
+@@ -517,6 +517,11 @@ int dw_pcie_host_init(struct pcie_port *
+       if (pp->ops->host_init)
+               pp->ops->host_init(pp);
++      /*
++       * If the platform provides ->rd_other_conf, it means the platform
++       * uses its own address translation component rather than ATU, so
++       * we should not program the ATU here.
++       */
+       if (!pp->ops->rd_other_conf)
+               dw_pcie_prog_outbound_atu(pp, PCIE_ATU_REGION_INDEX1,
+                                         PCIE_ATU_TYPE_MEM, pp->mem_base,