Lines Matching defs:epf
9 * Based on pci-epf-ntb.c
47 #include <linux/pci-epf.h>
124 struct pci_epf *epf;
218 func_no = ntb->epf->func_no;
219 vfunc_no = ntb->epf->vfunc_no;
221 ret = pci_epc_map_addr(ntb->epf->epc, func_no, vfunc_no, phys_addr, addr, size);
223 dev_err(&ntb->epf->epc->dev,
238 pci_epc_unmap_addr(ntb->epf->epc,
239 ntb->epf->func_no,
240 ntb->epf->vfunc_no,
282 dev = &ntb->epf->dev;
334 if (irq == ntb->epf->db_msg[i].virq) {
365 epf_bar = &ntb->epf->bar[barno];
367 pci_epc_clear_bar(ntb->epf->epc, ntb->epf->func_no, ntb->epf->vfunc_no, epf_bar);
390 dev = &ntb->epf->dev;
391 func_no = ntb->epf->func_no;
392 vfunc_no = ntb->epf->vfunc_no;
394 epf_bar = &ntb->epf->bar[barno];
396 ret = pci_epc_set_bar(ntb->epf->epc, func_no, vfunc_no, epf_bar);
414 pci_epf_free_space(ntb->epf, ntb->reg, barno, 0);
433 struct pci_epf *epf = ntb->epf;
434 struct device *dev = &epf->dev;
438 const struct pci_epc_features *epc_features = pci_epc_get_features(epf->epc,
439 epf->func_no,
440 epf->vfunc_no);
447 base = pci_epf_alloc_space(epf, ctrl_size + spad_size,
489 dev = &ntb->epf->dev;
491 epc_features = pci_epc_get_features(ntb->epf->epc, ntb->epf->func_no, ntb->epf->vfunc_no);
507 ret = pci_epc_set_msi(ntb->epf->epc,
508 ntb->epf->func_no,
509 ntb->epf->vfunc_no,
525 struct pci_epf *epf = ntb->epf;
532 ret = pci_epf_alloc_doorbell(epf, ntb->db_count);
537 ret = request_irq(epf->db_msg[i].virq, epf_ntb_doorbell_handler,
541 dev_err(&epf->dev,
543 epf->db_msg[i].virq);
548 msg = &epf->db_msg[0].msg;
554 struct msi_msg *msg = &epf->db_msg[i].msg;
563 ret = pci_epf_assign_bar_space(epf, sz, barno, epc_features, 0, low);
565 dev_err(&epf->dev, "Failed to assign Doorbell BAR space\n");
569 ret = pci_epc_set_bar(ntb->epf->epc, ntb->epf->func_no,
570 ntb->epf->vfunc_no, db_bar);
572 dev_err(&epf->dev, "Failed to set Doorbell BAR\n");
577 struct msi_msg *msg = &epf->db_msg[i].msg;
581 ret = pci_epf_align_inbound_addr(epf, db_bar->barno,
602 free_irq(epf->db_msg[i].virq, ntb);
604 pci_epf_free_doorbell(ntb->epf);
617 struct device *dev = &ntb->epf->dev;
624 epc_features = pci_epc_get_features(ntb->epf->epc,
625 ntb->epf->func_no,
626 ntb->epf->vfunc_no);
628 epf_bar = &ntb->epf->bar[barno];
633 mw_addr = pci_epf_alloc_space(ntb->epf, size, barno, epc_features, 0);
641 ret = pci_epc_set_bar(ntb->epf->epc, ntb->epf->func_no,
642 ntb->epf->vfunc_no, epf_bar);
651 pci_epf_free_space(ntb->epf, mw_addr, barno, 0);
670 free_irq(ntb->epf->db_msg[i].virq, ntb);
673 if (ntb->epf->db_msg)
674 pci_epf_free_doorbell(ntb->epf);
677 pci_epf_free_space(ntb->epf, ntb->epf_db, barno, 0);
678 pci_epc_clear_bar(ntb->epf->epc,
679 ntb->epf->func_no,
680 ntb->epf->vfunc_no,
681 &ntb->epf->bar[barno]);
696 struct device *dev = &ntb->epf->dev;
702 ntb->epf->bar[barno].barno = barno;
703 ntb->epf->bar[barno].size = size;
704 ntb->epf->bar[barno].addr = NULL;
705 ntb->epf->bar[barno].phys_addr = 0;
706 ntb->epf->bar[barno].flags |= upper_32_bits(size) ?
710 ret = pci_epc_set_bar(ntb->epf->epc,
711 ntb->epf->func_no,
712 ntb->epf->vfunc_no,
713 &ntb->epf->bar[barno]);
720 ntb->vpci_mw_addr[i] = pci_epc_mem_alloc_addr(ntb->epf->epc,
733 pci_epc_clear_bar(ntb->epf->epc,
734 ntb->epf->func_no,
735 ntb->epf->vfunc_no,
736 &ntb->epf->bar[barno]);
754 pci_epc_clear_bar(ntb->epf->epc,
755 ntb->epf->func_no,
756 ntb->epf->vfunc_no,
757 &ntb->epf->bar[barno]);
759 pci_epc_mem_free_addr(ntb->epf->epc,
774 pci_epc_remove_epf(ntb->epf->epc, ntb->epf, 0);
775 pci_epc_put(ntb->epf->epc);
853 dev = &ntb->epf->dev;
854 epc_features = pci_epc_get_features(ntb->epf->epc, ntb->epf->func_no, ntb->epf->vfunc_no);
891 struct pci_epf *epf;
895 epf = ntb->epf;
896 dev = &epf->dev;
897 epc = epf->epc;
898 func_no = ntb->epf->func_no;
899 vfunc_no = ntb->epf->vfunc_no;
926 ret = pci_epc_write_header(epc, func_no, vfunc_no, epf->header);
997 struct device *dev = &ntb->epf->dev; \
1017 struct device *dev = &ntb->epf->dev; \
1166 * @epf: NTB endpoint function device
1175 static struct config_group *epf_ntb_add_cfs(struct pci_epf *epf,
1178 struct epf_ntb *ntb = epf_get_drvdata(epf);
1180 struct device *dev = &epf->dev;
1283 epf_bar = &ntb->epf->bar[barno];
1288 ret = pci_epc_set_bar(ntb->epf->epc, 0, 0, epf_bar);
1375 func_no = ntb->epf->func_no;
1376 vfunc_no = ntb->epf->vfunc_no;
1378 ret = pci_epc_raise_irq(ntb->epf->epc, func_no, vfunc_no,
1505 * @epf: NTB endpoint function device
1514 static int epf_ntb_bind(struct pci_epf *epf)
1516 struct epf_ntb *ntb = epf_get_drvdata(epf);
1517 struct device *dev = &epf->dev;
1520 if (!epf->epc) {
1543 epf_set_drvdata(epf, ntb);
1576 * @epf: NTB endpoint function device
1580 static void epf_ntb_unbind(struct pci_epf *epf)
1582 struct epf_ntb *ntb = epf_get_drvdata(epf);
1600 * @epf: NTB endpoint function device
1608 static int epf_ntb_probe(struct pci_epf *epf,
1615 dev = &epf->dev;
1621 epf->header = &epf_ntb_header;
1622 ntb->epf = epf;
1629 epf_set_drvdata(epf, ntb);
1631 dev_info(dev, "pci-ep epf driver loaded\n");
1659 pr_err("Failed to register pci epf ntb driver --> %d\n", ret);