Lines Matching refs:pp

70 	struct pcie_port	pp;  member
73 #define to_dra7xx_pcie(x) container_of((x), struct dra7xx_pcie, pp)
86 static int dra7xx_pcie_link_up(struct pcie_port *pp) in dra7xx_pcie_link_up() argument
88 struct dra7xx_pcie *dra7xx = to_dra7xx_pcie(pp); in dra7xx_pcie_link_up()
94 static int dra7xx_pcie_establish_link(struct pcie_port *pp) in dra7xx_pcie_establish_link() argument
98 struct dra7xx_pcie *dra7xx = to_dra7xx_pcie(pp); in dra7xx_pcie_establish_link()
100 if (dw_pcie_link_up(pp)) { in dra7xx_pcie_establish_link()
101 dev_err(pp->dev, "link is already up\n"); in dra7xx_pcie_establish_link()
117 dev_err(pp->dev, "link is not up\n"); in dra7xx_pcie_establish_link()
124 static void dra7xx_pcie_enable_interrupts(struct pcie_port *pp) in dra7xx_pcie_enable_interrupts() argument
126 struct dra7xx_pcie *dra7xx = to_dra7xx_pcie(pp); in dra7xx_pcie_enable_interrupts()
144 static void dra7xx_pcie_host_init(struct pcie_port *pp) in dra7xx_pcie_host_init() argument
146 dw_pcie_setup_rc(pp); in dra7xx_pcie_host_init()
147 dra7xx_pcie_establish_link(pp); in dra7xx_pcie_host_init()
149 dw_pcie_msi_init(pp); in dra7xx_pcie_host_init()
150 dra7xx_pcie_enable_interrupts(pp); in dra7xx_pcie_host_init()
172 static int dra7xx_pcie_init_irq_domain(struct pcie_port *pp) in dra7xx_pcie_init_irq_domain() argument
174 struct device *dev = pp->dev; in dra7xx_pcie_init_irq_domain()
183 pp->irq_domain = irq_domain_add_linear(pcie_intc_node, 4, in dra7xx_pcie_init_irq_domain()
184 &intx_domain_ops, pp); in dra7xx_pcie_init_irq_domain()
185 if (!pp->irq_domain) { in dra7xx_pcie_init_irq_domain()
187 return PTR_ERR(pp->irq_domain); in dra7xx_pcie_init_irq_domain()
195 struct pcie_port *pp = arg; in dra7xx_pcie_msi_irq_handler() local
196 struct dra7xx_pcie *dra7xx = to_dra7xx_pcie(pp); in dra7xx_pcie_msi_irq_handler()
203 dw_handle_msi_irq(pp); in dra7xx_pcie_msi_irq_handler()
209 generic_handle_irq(irq_find_mapping(pp->irq_domain, ffs(reg))); in dra7xx_pcie_msi_irq_handler()
277 struct pcie_port *pp; in dra7xx_add_pcie_port() local
281 pp = &dra7xx->pp; in dra7xx_add_pcie_port()
282 pp->dev = dev; in dra7xx_add_pcie_port()
283 pp->ops = &dra7xx_pcie_host_ops; in dra7xx_add_pcie_port()
285 pp->irq = platform_get_irq(pdev, 1); in dra7xx_add_pcie_port()
286 if (pp->irq < 0) { in dra7xx_add_pcie_port()
291 ret = devm_request_irq(&pdev->dev, pp->irq, in dra7xx_add_pcie_port()
294 "dra7-pcie-msi", pp); in dra7xx_add_pcie_port()
301 ret = dra7xx_pcie_init_irq_domain(pp); in dra7xx_add_pcie_port()
307 pp->dbi_base = devm_ioremap(dev, res->start, resource_size(res)); in dra7xx_add_pcie_port()
308 if (!pp->dbi_base) in dra7xx_add_pcie_port()
311 ret = dw_pcie_host_init(pp); in dra7xx_add_pcie_port()
424 struct pcie_port *pp = &dra7xx->pp; in dra7xx_pcie_remove() local
428 if (pp->irq_domain) in dra7xx_pcie_remove()
429 irq_domain_remove(pp->irq_domain); in dra7xx_pcie_remove()