Lines Matching refs:pp

32 	struct pcie_port	pp;  member
144 #define to_spear13xx_pcie(x) container_of(x, struct spear13xx_pcie, pp)
146 static int spear13xx_pcie_establish_link(struct pcie_port *pp) in spear13xx_pcie_establish_link() argument
150 struct spear13xx_pcie *spear13xx_pcie = to_spear13xx_pcie(pp); in spear13xx_pcie_establish_link()
154 if (dw_pcie_link_up(pp)) { in spear13xx_pcie_establish_link()
155 dev_err(pp->dev, "link already up\n"); in spear13xx_pcie_establish_link()
159 dw_pcie_setup_rc(pp); in spear13xx_pcie_establish_link()
166 dw_pcie_cfg_read(pp->dbi_base, exp_cap_off + PCI_EXP_DEVCTL, 4, &val); in spear13xx_pcie_establish_link()
168 dw_pcie_cfg_write(pp->dbi_base, exp_cap_off + PCI_EXP_DEVCTL, 4, val); in spear13xx_pcie_establish_link()
170 dw_pcie_cfg_write(pp->dbi_base, PCI_VENDOR_ID, 2, 0x104A); in spear13xx_pcie_establish_link()
171 dw_pcie_cfg_write(pp->dbi_base, PCI_DEVICE_ID, 2, 0xCD80); in spear13xx_pcie_establish_link()
178 dw_pcie_cfg_read(pp->dbi_base, exp_cap_off + PCI_EXP_LNKCAP, 4, in spear13xx_pcie_establish_link()
183 dw_pcie_cfg_write(pp->dbi_base, exp_cap_off + in spear13xx_pcie_establish_link()
187 dw_pcie_cfg_read(pp->dbi_base, exp_cap_off + PCI_EXP_LNKCTL2, 4, in spear13xx_pcie_establish_link()
192 dw_pcie_cfg_write(pp->dbi_base, exp_cap_off + in spear13xx_pcie_establish_link()
204 while (!dw_pcie_link_up(pp)) { in spear13xx_pcie_establish_link()
208 dev_err(pp->dev, "link Fail\n"); in spear13xx_pcie_establish_link()
212 dev_info(pp->dev, "link up\n"); in spear13xx_pcie_establish_link()
219 struct pcie_port *pp = arg; in spear13xx_pcie_irq_handler() local
220 struct spear13xx_pcie *spear13xx_pcie = to_spear13xx_pcie(pp); in spear13xx_pcie_irq_handler()
229 dw_handle_msi_irq(pp); in spear13xx_pcie_irq_handler()
237 static void spear13xx_pcie_enable_interrupts(struct pcie_port *pp) in spear13xx_pcie_enable_interrupts() argument
239 struct spear13xx_pcie *spear13xx_pcie = to_spear13xx_pcie(pp); in spear13xx_pcie_enable_interrupts()
244 dw_pcie_msi_init(pp); in spear13xx_pcie_enable_interrupts()
250 static int spear13xx_pcie_link_up(struct pcie_port *pp) in spear13xx_pcie_link_up() argument
252 struct spear13xx_pcie *spear13xx_pcie = to_spear13xx_pcie(pp); in spear13xx_pcie_link_up()
261 static void spear13xx_pcie_host_init(struct pcie_port *pp) in spear13xx_pcie_host_init() argument
263 spear13xx_pcie_establish_link(pp); in spear13xx_pcie_host_init()
264 spear13xx_pcie_enable_interrupts(pp); in spear13xx_pcie_host_init()
272 static int spear13xx_add_pcie_port(struct pcie_port *pp, in spear13xx_add_pcie_port() argument
278 pp->irq = platform_get_irq(pdev, 0); in spear13xx_add_pcie_port()
279 if (!pp->irq) { in spear13xx_add_pcie_port()
283 ret = devm_request_irq(dev, pp->irq, spear13xx_pcie_irq_handler, in spear13xx_add_pcie_port()
285 "spear1340-pcie", pp); in spear13xx_add_pcie_port()
287 dev_err(dev, "failed to request irq %d\n", pp->irq); in spear13xx_add_pcie_port()
291 pp->root_bus_nr = -1; in spear13xx_add_pcie_port()
292 pp->ops = &spear13xx_pcie_host_ops; in spear13xx_add_pcie_port()
294 ret = dw_pcie_host_init(pp); in spear13xx_add_pcie_port()
306 struct pcie_port *pp; in spear13xx_pcie_probe() local
339 pp = &spear13xx_pcie->pp; in spear13xx_pcie_probe()
341 pp->dev = dev; in spear13xx_pcie_probe()
344 pp->dbi_base = devm_ioremap_resource(dev, dbi_base); in spear13xx_pcie_probe()
345 if (IS_ERR(pp->dbi_base)) { in spear13xx_pcie_probe()
347 ret = PTR_ERR(pp->dbi_base); in spear13xx_pcie_probe()
350 spear13xx_pcie->app_base = pp->dbi_base + 0x2000; in spear13xx_pcie_probe()
355 ret = spear13xx_add_pcie_port(pp, pdev); in spear13xx_pcie_probe()