Lines Matching refs:epf
19 #include <linux/pci-epf.h>
51 struct pci_epf *epf;
128 struct pci_epf *epf = epf_test->epf;
131 struct device *dev = &epf->dev;
217 struct pci_epf *epf = epf_test->epf;
218 struct device *dev = &epf->dev;
224 filter.dev = epf->epc->dev.parent;
311 dev_info(&epf_test->epf->dev,
326 struct pci_epf *epf = epf_test->epf;
327 struct device *dev = &epf->dev;
328 struct pci_epc *epc = epf->epc;
338 ret = pci_epc_map_addr(epc, epf->func_no, epf->vfunc_no, src_phys_addr,
354 ret = pci_epc_map_addr(epc, epf->func_no, epf->vfunc_no, dst_phys_addr,
393 pci_epc_unmap_addr(epc, epf->func_no, epf->vfunc_no, dst_phys_addr);
399 pci_epc_unmap_addr(epc, epf->func_no, epf->vfunc_no, src_phys_addr);
421 struct pci_epf *epf = epf_test->epf;
422 struct device *dev = &epf->dev;
423 struct pci_epc *epc = epf->epc;
424 struct device *dma_dev = epf->epc->dev.parent;
434 ret = pci_epc_map_addr(epc, epf->func_no, epf->vfunc_no, phys_addr,
484 pci_epc_unmap_addr(epc, epf->func_no, epf->vfunc_no, phys_addr);
505 struct pci_epf *epf = epf_test->epf;
506 struct device *dev = &epf->dev;
507 struct pci_epc *epc = epf->epc;
508 struct device *dma_dev = epf->epc->dev.parent;
518 ret = pci_epc_map_addr(epc, epf->func_no, epf->vfunc_no, phys_addr,
575 pci_epc_unmap_addr(epc, epf->func_no, epf->vfunc_no, phys_addr);
590 struct pci_epf *epf = epf_test->epf;
591 struct device *dev = &epf->dev;
592 struct pci_epc *epc = epf->epc;
604 pci_epc_raise_irq(epc, epf->func_no, epf->vfunc_no,
608 count = pci_epc_get_msi(epc, epf->func_no, epf->vfunc_no);
614 pci_epc_raise_irq(epc, epf->func_no, epf->vfunc_no,
618 count = pci_epc_get_msix(epc, epf->func_no, epf->vfunc_no);
624 pci_epc_raise_irq(epc, epf->func_no, epf->vfunc_no,
638 struct pci_epf *epf = epf_test->epf;
639 struct device *dev = &epf->dev;
689 static void pci_epf_test_unbind(struct pci_epf *epf)
691 struct pci_epf_test *epf_test = epf_get_drvdata(epf);
692 struct pci_epc *epc = epf->epc;
699 epf_bar = &epf->bar[bar];
702 pci_epc_clear_bar(epc, epf->func_no, epf->vfunc_no,
704 pci_epf_free_space(epf, epf_test->reg[bar], bar,
710 static int pci_epf_test_set_bar(struct pci_epf *epf)
715 struct pci_epc *epc = epf->epc;
716 struct device *dev = &epf->dev;
717 struct pci_epf_test *epf_test = epf_get_drvdata(epf);
724 epf_bar = &epf->bar[bar];
735 ret = pci_epc_set_bar(epc, epf->func_no, epf->vfunc_no,
738 pci_epf_free_space(epf, epf_test->reg[bar], bar,
749 static int pci_epf_test_core_init(struct pci_epf *epf)
751 struct pci_epf_test *epf_test = epf_get_drvdata(epf);
752 struct pci_epf_header *header = epf->header;
754 struct pci_epc *epc = epf->epc;
755 struct device *dev = &epf->dev;
760 epc_features = pci_epc_get_features(epc, epf->func_no, epf->vfunc_no);
766 if (epf->vfunc_no <= 1) {
767 ret = pci_epc_write_header(epc, epf->func_no, epf->vfunc_no, header);
774 ret = pci_epf_test_set_bar(epf);
779 ret = pci_epc_set_msi(epc, epf->func_no, epf->vfunc_no,
780 epf->msi_interrupts);
788 ret = pci_epc_set_msix(epc, epf->func_no, epf->vfunc_no,
789 epf->msix_interrupts,
801 static int pci_epf_test_link_up(struct pci_epf *epf)
803 struct pci_epf_test *epf_test = epf_get_drvdata(epf);
816 static int pci_epf_test_alloc_space(struct pci_epf *epf)
818 struct pci_epf_test *epf_test = epf_get_drvdata(epf);
819 struct device *dev = &epf->dev;
837 msix_table_size = PCI_MSIX_ENTRY_SIZE * epf->msix_interrupts;
840 pba_size = ALIGN(DIV_ROUND_UP(epf->msix_interrupts, 8), 8);
850 base = pci_epf_alloc_space(epf, test_reg_size, test_reg_bar,
859 epf_bar = &epf->bar[bar];
868 base = pci_epf_alloc_space(epf, bar_size[bar], bar,
880 static void pci_epf_configure_bar(struct pci_epf *epf,
888 epf_bar = &epf->bar[i];
897 static int pci_epf_test_bind(struct pci_epf *epf)
900 struct pci_epf_test *epf_test = epf_get_drvdata(epf);
903 struct pci_epc *epc = epf->epc;
910 epc_features = pci_epc_get_features(epc, epf->func_no, epf->vfunc_no);
912 dev_err(&epf->dev, "epc_features not implemented\n");
921 pci_epf_configure_bar(epf, epc_features);
926 ret = pci_epf_test_alloc_space(epf);
931 ret = pci_epf_test_core_init(epf);
955 static int pci_epf_test_probe(struct pci_epf *epf,
959 struct device *dev = &epf->dev;
965 epf->header = &test_header;
966 epf_test->epf = epf;
970 epf->event_ops = &pci_epf_test_event_ops;
972 epf_set_drvdata(epf, epf_test);
1003 pr_err("Failed to register pci epf test driver --> %d\n", ret);