Lines Matching refs:ep

128 	struct rockchip_pcie_ep *ep = epc_get_drvdata(epc);  in rockchip_pcie_ep_write_header()  local
129 struct rockchip_pcie *rockchip = &ep->rockchip; in rockchip_pcie_ep_write_header()
166 struct rockchip_pcie_ep *ep = epc_get_drvdata(epc); in rockchip_pcie_ep_set_bar() local
167 struct rockchip_pcie *rockchip = &ep->rockchip; in rockchip_pcie_ep_set_bar()
234 struct rockchip_pcie_ep *ep = epc_get_drvdata(epc); in rockchip_pcie_ep_clear_bar() local
235 struct rockchip_pcie *rockchip = &ep->rockchip; in rockchip_pcie_ep_clear_bar()
264 struct rockchip_pcie_ep *ep = epc_get_drvdata(epc); in rockchip_pcie_ep_map_addr() local
265 struct rockchip_pcie *pcie = &ep->rockchip; in rockchip_pcie_ep_map_addr()
268 r = find_first_zero_bit(&ep->ob_region_map, BITS_PER_LONG); in rockchip_pcie_ep_map_addr()
273 if (r >= ep->max_regions - 1) { in rockchip_pcie_ep_map_addr()
281 set_bit(r, &ep->ob_region_map); in rockchip_pcie_ep_map_addr()
282 ep->ob_addr[r] = addr; in rockchip_pcie_ep_map_addr()
290 struct rockchip_pcie_ep *ep = epc_get_drvdata(epc); in rockchip_pcie_ep_unmap_addr() local
291 struct rockchip_pcie *rockchip = &ep->rockchip; in rockchip_pcie_ep_unmap_addr()
294 for (r = 0; r < ep->max_regions - 1; r++) in rockchip_pcie_ep_unmap_addr()
295 if (ep->ob_addr[r] == addr) in rockchip_pcie_ep_unmap_addr()
302 if (r == ep->max_regions - 1) in rockchip_pcie_ep_unmap_addr()
307 ep->ob_addr[r] = 0; in rockchip_pcie_ep_unmap_addr()
308 clear_bit(r, &ep->ob_region_map); in rockchip_pcie_ep_unmap_addr()
314 struct rockchip_pcie_ep *ep = epc_get_drvdata(epc); in rockchip_pcie_ep_set_msi() local
315 struct rockchip_pcie *rockchip = &ep->rockchip; in rockchip_pcie_ep_set_msi()
334 struct rockchip_pcie_ep *ep = epc_get_drvdata(epc); in rockchip_pcie_ep_get_msi() local
335 struct rockchip_pcie *rockchip = &ep->rockchip; in rockchip_pcie_ep_get_msi()
348 static void rockchip_pcie_ep_assert_intx(struct rockchip_pcie_ep *ep, u8 fn, in rockchip_pcie_ep_assert_intx() argument
351 struct rockchip_pcie *rockchip = &ep->rockchip; in rockchip_pcie_ep_assert_intx()
356 ep->irq_pending |= BIT(intx); in rockchip_pcie_ep_assert_intx()
362 ep->irq_pending &= ~BIT(intx); in rockchip_pcie_ep_assert_intx()
370 static int rockchip_pcie_ep_send_legacy_irq(struct rockchip_pcie_ep *ep, u8 fn, in rockchip_pcie_ep_send_legacy_irq() argument
375 cmd = rockchip_pcie_read(&ep->rockchip, in rockchip_pcie_ep_send_legacy_irq()
387 rockchip_pcie_ep_assert_intx(ep, fn, intx, true); in rockchip_pcie_ep_send_legacy_irq()
389 rockchip_pcie_ep_assert_intx(ep, fn, intx, false); in rockchip_pcie_ep_send_legacy_irq()
393 static int rockchip_pcie_ep_send_msi_irq(struct rockchip_pcie_ep *ep, u8 fn, in rockchip_pcie_ep_send_msi_irq() argument
396 struct rockchip_pcie *rockchip = &ep->rockchip; in rockchip_pcie_ep_send_msi_irq()
402 flags = rockchip_pcie_read(&ep->rockchip, in rockchip_pcie_ep_send_msi_irq()
436 if (unlikely(ep->irq_pci_addr != (pci_addr & ~pci_addr_mask) || in rockchip_pcie_ep_send_msi_irq()
437 ep->irq_pci_fn != fn)) { in rockchip_pcie_ep_send_msi_irq()
438 rockchip_pcie_prog_ep_ob_atu(rockchip, fn, ep->max_regions - 1, in rockchip_pcie_ep_send_msi_irq()
440 ep->irq_phys_addr, in rockchip_pcie_ep_send_msi_irq()
443 ep->irq_pci_addr = (pci_addr & ~pci_addr_mask); in rockchip_pcie_ep_send_msi_irq()
444 ep->irq_pci_fn = fn; in rockchip_pcie_ep_send_msi_irq()
447 writew(data, ep->irq_cpu_addr + (pci_addr & pci_addr_mask)); in rockchip_pcie_ep_send_msi_irq()
455 struct rockchip_pcie_ep *ep = epc_get_drvdata(epc); in rockchip_pcie_ep_raise_irq() local
459 return rockchip_pcie_ep_send_legacy_irq(ep, fn, 0); in rockchip_pcie_ep_raise_irq()
461 return rockchip_pcie_ep_send_msi_irq(ep, fn, interrupt_num); in rockchip_pcie_ep_raise_irq()
469 struct rockchip_pcie_ep *ep = epc_get_drvdata(epc); in rockchip_pcie_ep_start() local
470 struct rockchip_pcie *rockchip = &ep->rockchip; in rockchip_pcie_ep_start()
499 struct rockchip_pcie_ep *ep) in rockchip_pcie_parse_ep_dt() argument
514 &ep->max_regions); in rockchip_pcie_parse_ep_dt()
515 if (err < 0 || ep->max_regions > MAX_REGION_LIMIT) in rockchip_pcie_parse_ep_dt()
516 ep->max_regions = MAX_REGION_LIMIT; in rockchip_pcie_parse_ep_dt()
519 &ep->epc->max_functions); in rockchip_pcie_parse_ep_dt()
521 ep->epc->max_functions = 1; in rockchip_pcie_parse_ep_dt()
534 struct rockchip_pcie_ep *ep; in rockchip_pcie_ep_probe() local
540 ep = devm_kzalloc(dev, sizeof(*ep), GFP_KERNEL); in rockchip_pcie_ep_probe()
541 if (!ep) in rockchip_pcie_ep_probe()
544 rockchip = &ep->rockchip; in rockchip_pcie_ep_probe()
554 ep->epc = epc; in rockchip_pcie_ep_probe()
555 epc_set_drvdata(epc, ep); in rockchip_pcie_ep_probe()
557 err = rockchip_pcie_parse_ep_dt(rockchip, ep); in rockchip_pcie_ep_probe()
573 max_regions = ep->max_regions; in rockchip_pcie_ep_probe()
574 ep->ob_addr = devm_kcalloc(dev, max_regions, sizeof(*ep->ob_addr), in rockchip_pcie_ep_probe()
577 if (!ep->ob_addr) { in rockchip_pcie_ep_probe()
592 ep->irq_cpu_addr = pci_epc_mem_alloc_addr(epc, &ep->irq_phys_addr, in rockchip_pcie_ep_probe()
594 if (!ep->irq_cpu_addr) { in rockchip_pcie_ep_probe()
600 ep->irq_pci_addr = ROCKCHIP_PCIE_EP_DUMMY_IRQ_ADDR; in rockchip_pcie_ep_probe()