summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorJisheng Zhang <jszhang@marvell.com>2016-01-07 07:12:38 +0100
committerBjorn Helgaas <bhelgaas@google.com>2016-02-09 19:38:51 +0100
commitdd193929d91e1b44b90f81509feeff10c94ddc4d (patch)
treec0bacadae9b24950f18968d7cc646524e6e7c9e3 /drivers
parentLinux 4.5-rc1 (diff)
downloadlinux-dd193929d91e1b44b90f81509feeff10c94ddc4d.tar.xz
linux-dd193929d91e1b44b90f81509feeff10c94ddc4d.zip
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>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/pci/host/pcie-designware.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/pci/host/pcie-designware.c b/drivers/pci/host/pcie-designware.c
index 21716827847a..8bcaed18f0dd 100644
--- 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 *pp)
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,