Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Jisheng Zhang and committed by
Bjorn Helgaas
dd193929 92e963f5

+5
+5
drivers/pci/host/pcie-designware.c
··· 517 517 if (pp->ops->host_init) 518 518 pp->ops->host_init(pp); 519 519 520 + /* 521 + * If the platform provides ->rd_other_conf, it means the platform 522 + * uses its own address translation component rather than ATU, so 523 + * we should not program the ATU here. 524 + */ 520 525 if (!pp->ops->rd_other_conf) 521 526 dw_pcie_prog_outbound_atu(pp, PCIE_ATU_REGION_INDEX1, 522 527 PCIE_ATU_TYPE_MEM, pp->mem_base,