aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKishon Vijay Abraham I <kishon@ti.com>2017-03-13 09:43:23 -0400
committerBjorn Helgaas <bhelgaas@google.com>2017-04-04 09:40:12 -0400
commit2ed6cc71e6f726c131fb8675eb64cc0519c26ae8 (patch)
tree3b7df82a2c37f71593bce116e1ad8d03b6b4f8aa
parenta660083eb06c5bb0ad049377dbd2522e4b1551d6 (diff)
PCI: dwc: dra7xx: Populate cpu_addr_fixup ops
Populate cpu_addr_fixup ops to extract the least 28 bits of the corresponding CPU address. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Acked-by: Joao Pinto <jpinto@synopsys.com>
-rw-r--r--drivers/pci/dwc/pci-dra7xx.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/pci/dwc/pci-dra7xx.c b/drivers/pci/dwc/pci-dra7xx.c
index 0984baff07e3..07c45ec07662 100644
--- a/drivers/pci/dwc/pci-dra7xx.c
+++ b/drivers/pci/dwc/pci-dra7xx.c
@@ -88,6 +88,11 @@ static inline void dra7xx_pcie_writel(struct dra7xx_pcie *pcie, u32 offset,
88 writel(value, pcie->base + offset); 88 writel(value, pcie->base + offset);
89} 89}
90 90
91static u64 dra7xx_pcie_cpu_addr_fixup(u64 pci_addr)
92{
93 return pci_addr & DRA7XX_CPU_TO_BUS_ADDR;
94}
95
91static int dra7xx_pcie_link_up(struct dw_pcie *pci) 96static int dra7xx_pcie_link_up(struct dw_pcie *pci)
92{ 97{
93 struct dra7xx_pcie *dra7xx = to_dra7xx_pcie(pci); 98 struct dra7xx_pcie *dra7xx = to_dra7xx_pcie(pci);
@@ -152,11 +157,6 @@ static void dra7xx_pcie_host_init(struct pcie_port *pp)
152 struct dw_pcie *pci = to_dw_pcie_from_pp(pp); 157 struct dw_pcie *pci = to_dw_pcie_from_pp(pp);
153 struct dra7xx_pcie *dra7xx = to_dra7xx_pcie(pci); 158 struct dra7xx_pcie *dra7xx = to_dra7xx_pcie(pci);
154 159
155 pp->io_base &= DRA7XX_CPU_TO_BUS_ADDR;
156 pp->mem_base &= DRA7XX_CPU_TO_BUS_ADDR;
157 pp->cfg0_base &= DRA7XX_CPU_TO_BUS_ADDR;
158 pp->cfg1_base &= DRA7XX_CPU_TO_BUS_ADDR;
159
160 dw_pcie_setup_rc(pp); 160 dw_pcie_setup_rc(pp);
161 161
162 dra7xx_pcie_establish_link(dra7xx); 162 dra7xx_pcie_establish_link(dra7xx);
@@ -329,6 +329,7 @@ static int __init dra7xx_add_pcie_port(struct dra7xx_pcie *dra7xx,
329} 329}
330 330
331static const struct dw_pcie_ops dw_pcie_ops = { 331static const struct dw_pcie_ops dw_pcie_ops = {
332 .cpu_addr_fixup = dra7xx_pcie_cpu_addr_fixup,
332 .link_up = dra7xx_pcie_link_up, 333 .link_up = dra7xx_pcie_link_up,
333}; 334};
334 335