Lines Matching refs:ep

96 	struct rockchip_pcie_ep *ep = epc_get_drvdata(epc);
97 struct rockchip_pcie *rockchip = &ep->rockchip;
134 struct rockchip_pcie_ep *ep = epc_get_drvdata(epc);
135 struct rockchip_pcie *rockchip = &ep->rockchip;
202 struct rockchip_pcie_ep *ep = epc_get_drvdata(epc);
203 struct rockchip_pcie *rockchip = &ep->rockchip;
237 struct rockchip_pcie_ep *ep = epc_get_drvdata(epc);
238 struct rockchip_pcie *pcie = &ep->rockchip;
243 set_bit(r, &ep->ob_region_map);
244 ep->ob_addr[r] = addr;
252 struct rockchip_pcie_ep *ep = epc_get_drvdata(epc);
253 struct rockchip_pcie *rockchip = &ep->rockchip;
256 for (r = 0; r < ep->max_regions; r++)
257 if (ep->ob_addr[r] == addr)
260 if (r == ep->max_regions)
265 ep->ob_addr[r] = 0;
266 clear_bit(r, &ep->ob_region_map);
272 struct rockchip_pcie_ep *ep = epc_get_drvdata(epc);
273 struct rockchip_pcie *rockchip = &ep->rockchip;
292 struct rockchip_pcie_ep *ep = epc_get_drvdata(epc);
293 struct rockchip_pcie *rockchip = &ep->rockchip;
306 static void rockchip_pcie_ep_assert_intx(struct rockchip_pcie_ep *ep, u8 fn,
309 struct rockchip_pcie *rockchip = &ep->rockchip;
314 ep->irq_pending |= BIT(intx);
320 ep->irq_pending &= ~BIT(intx);
328 static int rockchip_pcie_ep_send_intx_irq(struct rockchip_pcie_ep *ep, u8 fn,
333 cmd = rockchip_pcie_read(&ep->rockchip,
345 rockchip_pcie_ep_assert_intx(ep, fn, intx, true);
347 rockchip_pcie_ep_assert_intx(ep, fn, intx, false);
351 static int rockchip_pcie_ep_send_msi_irq(struct rockchip_pcie_ep *ep, u8 fn,
354 struct rockchip_pcie *rockchip = &ep->rockchip;
361 flags = rockchip_pcie_read(&ep->rockchip,
394 if (unlikely(ep->irq_pci_addr != (pci_addr & PCIE_ADDR_MASK) ||
395 ep->irq_pci_fn != fn)) {
396 r = rockchip_ob_region(ep->irq_phys_addr);
398 ep->irq_phys_addr,
401 ep->irq_pci_addr = (pci_addr & PCIE_ADDR_MASK);
402 ep->irq_pci_fn = fn;
405 writew(data, ep->irq_cpu_addr + (pci_addr & ~PCIE_ADDR_MASK));
412 struct rockchip_pcie_ep *ep = epc_get_drvdata(epc);
416 return rockchip_pcie_ep_send_intx_irq(ep, fn, 0);
418 return rockchip_pcie_ep_send_msi_irq(ep, fn, interrupt_num);
426 struct rockchip_pcie_ep *ep = epc_get_drvdata(epc);
427 struct rockchip_pcie *rockchip = &ep->rockchip;
467 struct rockchip_pcie_ep *ep)
482 &ep->max_regions);
483 if (err < 0 || ep->max_regions > MAX_REGION_LIMIT)
484 ep->max_regions = MAX_REGION_LIMIT;
486 ep->ob_region_map = 0;
489 &ep->epc->max_functions);
491 ep->epc->max_functions = 1;
497 { .compatible = "rockchip,rk3399-pcie-ep"},
504 struct rockchip_pcie_ep *ep;
512 ep = devm_kzalloc(dev, sizeof(*ep), GFP_KERNEL);
513 if (!ep)
516 rockchip = &ep->rockchip;
526 ep->epc = epc;
527 epc_set_drvdata(epc, ep);
529 err = rockchip_pcie_parse_ep_dt(rockchip, ep);
545 max_regions = ep->max_regions;
546 ep->ob_addr = devm_kcalloc(dev, max_regions, sizeof(*ep->ob_addr),
549 if (!ep->ob_addr) {
557 windows = devm_kcalloc(dev, ep->max_regions,
563 for (i = 0; i < ep->max_regions; i++) {
568 err = pci_epc_multi_mem_init(epc, windows, ep->max_regions);
576 ep->irq_cpu_addr = pci_epc_mem_alloc_addr(epc, &ep->irq_phys_addr,
578 if (!ep->irq_cpu_addr) {
584 ep->irq_pci_addr = ROCKCHIP_PCIE_EP_DUMMY_IRQ_ADDR;
624 .name = "rockchip-pcie-ep",