Lines Matching refs:epf
19 #include <linux/pci-epf.h>
51 struct pci_epf *epf;
112 struct pci_epf *epf = epf_test->epf;
114 struct device *dev = &epf->dev;
159 struct pci_epf *epf = epf_test->epf;
160 struct device *dev = &epf->dev;
236 struct pci_epf *epf = epf_test->epf;
237 struct device *dev = &epf->dev;
238 struct pci_epc *epc = epf->epc;
250 ret = pci_epc_map_addr(epc, epf->func_no, src_phys_addr, reg->src_addr,
266 ret = pci_epc_map_addr(epc, epf->func_no, dst_phys_addr, reg->dst_addr,
304 pci_epc_unmap_addr(epc, epf->func_no, dst_phys_addr);
310 pci_epc_unmap_addr(epc, epf->func_no, src_phys_addr);
329 struct pci_epf *epf = epf_test->epf;
330 struct device *dev = &epf->dev;
331 struct pci_epc *epc = epf->epc;
332 struct device *dma_dev = epf->epc->dev.parent;
344 ret = pci_epc_map_addr(epc, epf->func_no, phys_addr, reg->src_addr,
399 pci_epc_unmap_addr(epc, epf->func_no, phys_addr);
417 struct pci_epf *epf = epf_test->epf;
418 struct device *dev = &epf->dev;
419 struct pci_epc *epc = epf->epc;
420 struct device *dma_dev = epf->epc->dev.parent;
432 ret = pci_epc_map_addr(epc, epf->func_no, phys_addr, reg->dst_addr,
492 pci_epc_unmap_addr(epc, epf->func_no, phys_addr);
504 struct pci_epf *epf = epf_test->epf;
505 struct device *dev = &epf->dev;
506 struct pci_epc *epc = epf->epc;
514 pci_epc_raise_irq(epc, epf->func_no, PCI_EPC_IRQ_LEGACY, 0);
517 pci_epc_raise_irq(epc, epf->func_no, PCI_EPC_IRQ_MSI, irq);
520 pci_epc_raise_irq(epc, epf->func_no, PCI_EPC_IRQ_MSIX, irq);
535 struct pci_epf *epf = epf_test->epf;
536 struct device *dev = &epf->dev;
537 struct pci_epc *epc = epf->epc;
555 pci_epc_raise_irq(epc, epf->func_no, PCI_EPC_IRQ_LEGACY, 0);
593 count = pci_epc_get_msi(epc, epf->func_no);
597 pci_epc_raise_irq(epc, epf->func_no, PCI_EPC_IRQ_MSI,
603 count = pci_epc_get_msix(epc, epf->func_no);
607 pci_epc_raise_irq(epc, epf->func_no, PCI_EPC_IRQ_MSIX,
617 static void pci_epf_test_unbind(struct pci_epf *epf)
619 struct pci_epf_test *epf_test = epf_get_drvdata(epf);
620 struct pci_epc *epc = epf->epc;
627 epf_bar = &epf->bar[bar];
630 pci_epc_clear_bar(epc, epf->func_no, epf_bar);
631 pci_epf_free_space(epf, epf_test->reg[bar], bar);
636 static int pci_epf_test_set_bar(struct pci_epf *epf)
641 struct pci_epc *epc = epf->epc;
642 struct device *dev = &epf->dev;
643 struct pci_epf_test *epf_test = epf_get_drvdata(epf);
650 epf_bar = &epf->bar[bar];
661 ret = pci_epc_set_bar(epc, epf->func_no, epf_bar);
663 pci_epf_free_space(epf, epf_test->reg[bar], bar);
673 static int pci_epf_test_core_init(struct pci_epf *epf)
675 struct pci_epf_test *epf_test = epf_get_drvdata(epf);
676 struct pci_epf_header *header = epf->header;
678 struct pci_epc *epc = epf->epc;
679 struct device *dev = &epf->dev;
684 epc_features = pci_epc_get_features(epc, epf->func_no);
690 ret = pci_epc_write_header(epc, epf->func_no, header);
696 ret = pci_epf_test_set_bar(epf);
701 ret = pci_epc_set_msi(epc, epf->func_no, epf->msi_interrupts);
709 ret = pci_epc_set_msix(epc, epf->func_no, epf->msix_interrupts,
724 struct pci_epf *epf = container_of(nb, struct pci_epf, nb);
725 struct pci_epf_test *epf_test = epf_get_drvdata(epf);
730 ret = pci_epf_test_core_init(epf);
741 dev_err(&epf->dev, "Invalid EPF test notifier event\n");
748 static int pci_epf_test_alloc_space(struct pci_epf *epf)
750 struct pci_epf_test *epf_test = epf_get_drvdata(epf);
751 struct device *dev = &epf->dev;
769 msix_table_size = PCI_MSIX_ENTRY_SIZE * epf->msix_interrupts;
772 pba_size = ALIGN(DIV_ROUND_UP(epf->msix_interrupts, 8), 8);
782 base = pci_epf_alloc_space(epf, test_reg_size, test_reg_bar,
791 epf_bar = &epf->bar[bar];
800 base = pci_epf_alloc_space(epf, bar_size[bar], bar,
811 static void pci_epf_configure_bar(struct pci_epf *epf,
819 epf_bar = &epf->bar[i];
828 static int pci_epf_test_bind(struct pci_epf *epf)
831 struct pci_epf_test *epf_test = epf_get_drvdata(epf);
834 struct pci_epc *epc = epf->epc;
841 epc_features = pci_epc_get_features(epc, epf->func_no);
843 dev_err(&epf->dev, "epc_features not implemented\n");
852 pci_epf_configure_bar(epf, epc_features);
857 ret = pci_epf_test_alloc_space(epf);
862 ret = pci_epf_test_core_init(epf);
874 epf->nb.notifier_call = pci_epf_test_notifier;
875 pci_epc_register_notifier(epc, &epf->nb);
890 static int pci_epf_test_probe(struct pci_epf *epf)
893 struct device *dev = &epf->dev;
899 epf->header = &test_header;
900 epf_test->epf = epf;
904 epf_set_drvdata(epf, epf_test);
935 pr_err("Failed to register pci epf test driver --> %d\n", ret);