Lines Matching refs:epc
13 #include <linux/pci-epc.h>
20 struct pci_epc *epc = ep->epc;
22 pci_epc_linkup(epc);
28 struct pci_epc *epc = ep->epc;
30 pci_epc_init_notify(epc);
81 funcs = pci->ep.epc->max_functions;
128 static int dw_pcie_ep_write_header(struct pci_epc *epc, u8 func_no,
131 struct dw_pcie_ep *ep = epc_get_drvdata(epc);
205 static void dw_pcie_ep_clear_bar(struct pci_epc *epc, u8 func_no,
208 struct dw_pcie_ep *ep = epc_get_drvdata(epc);
220 static int dw_pcie_ep_set_bar(struct pci_epc *epc, u8 func_no,
224 struct dw_pcie_ep *ep = epc_get_drvdata(epc);
278 static void dw_pcie_ep_unmap_addr(struct pci_epc *epc, u8 func_no,
283 struct dw_pcie_ep *ep = epc_get_drvdata(epc);
294 static int dw_pcie_ep_map_addr(struct pci_epc *epc, u8 func_no,
299 struct dw_pcie_ep *ep = epc_get_drvdata(epc);
311 static int dw_pcie_ep_get_msi(struct pci_epc *epc, u8 func_no)
313 struct dw_pcie_ep *ep = epc_get_drvdata(epc);
335 static int dw_pcie_ep_set_msi(struct pci_epc *epc, u8 func_no, u8 interrupts)
337 struct dw_pcie_ep *ep = epc_get_drvdata(epc);
360 static int dw_pcie_ep_get_msix(struct pci_epc *epc, u8 func_no)
362 struct dw_pcie_ep *ep = epc_get_drvdata(epc);
384 static int dw_pcie_ep_set_msix(struct pci_epc *epc, u8 func_no, u16 interrupts,
387 struct dw_pcie_ep *ep = epc_get_drvdata(epc);
420 static int dw_pcie_ep_raise_irq(struct pci_epc *epc, u8 func_no,
423 struct dw_pcie_ep *ep = epc_get_drvdata(epc);
431 static void dw_pcie_ep_stop(struct pci_epc *epc)
433 struct dw_pcie_ep *ep = epc_get_drvdata(epc);
442 static int dw_pcie_ep_start(struct pci_epc *epc)
444 struct dw_pcie_ep *ep = epc_get_drvdata(epc);
454 dw_pcie_ep_get_features(struct pci_epc *epc, u8 func_no)
456 struct dw_pcie_ep *ep = epc_get_drvdata(epc);
495 struct pci_epc *epc = ep->epc;
526 aligned_offset = msg_addr_lower & (epc->mem->window.page_size - 1);
529 ret = dw_pcie_ep_map_addr(epc, func_no, ep->msi_mem_phys, msg_addr,
530 epc->mem->window.page_size);
536 dw_pcie_ep_unmap_addr(epc, func_no, ep->msi_mem_phys);
566 struct pci_epc *epc = ep->epc;
596 aligned_offset = msg_addr & (epc->mem->window.page_size - 1);
597 msg_addr = ALIGN_DOWN(msg_addr, epc->mem->window.page_size);
598 ret = dw_pcie_ep_map_addr(epc, func_no, ep->msi_mem_phys, msg_addr,
599 epc->mem->window.page_size);
605 dw_pcie_ep_unmap_addr(epc, func_no, ep->msi_mem_phys);
612 struct pci_epc *epc = ep->epc;
614 pci_epc_mem_free_addr(epc, ep->msi_mem_phys, ep->msi_mem,
615 epc->mem->window.page_size);
617 pci_epc_mem_exit(epc);
681 struct pci_epc *epc;
738 epc = devm_pci_epc_create(dev, &epc_ops);
739 if (IS_ERR(epc)) {
740 dev_err(dev, "Failed to create epc device\n");
741 return PTR_ERR(epc);
744 ep->epc = epc;
745 epc_set_drvdata(epc, ep);
747 ret = of_property_read_u8(np, "max-functions", &epc->max_functions);
749 epc->max_functions = 1;
751 for (func_no = 0; func_no < epc->max_functions; func_no++) {
768 ret = pci_epc_mem_init(epc, ep->phys_base, ep->addr_size,
775 ep->msi_mem = pci_epc_mem_alloc_addr(epc, &ep->msi_mem_phys,
776 epc->mem->window.page_size);
796 pci_epc_mem_free_addr(epc, ep->msi_mem_phys, ep->msi_mem,
797 epc->mem->window.page_size);
800 pci_epc_mem_exit(epc);