diff options
author | Kishon Vijay Abraham I <kishon@ti.com> | 2017-03-13 09:43:23 -0400 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2017-04-04 09:40:12 -0400 |
commit | 2ed6cc71e6f726c131fb8675eb64cc0519c26ae8 (patch) | |
tree | 3b7df82a2c37f71593bce116e1ad8d03b6b4f8aa | |
parent | a660083eb06c5bb0ad049377dbd2522e4b1551d6 (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.c | 11 |
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 | ||
91 | static u64 dra7xx_pcie_cpu_addr_fixup(u64 pci_addr) | ||
92 | { | ||
93 | return pci_addr & DRA7XX_CPU_TO_BUS_ADDR; | ||
94 | } | ||
95 | |||
91 | static int dra7xx_pcie_link_up(struct dw_pcie *pci) | 96 | static 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 | ||
331 | static const struct dw_pcie_ops dw_pcie_ops = { | 331 | static 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 | ||