Lines Matching defs:epf_test
85 struct pci_epf_test *epf_test = param;
87 complete(&epf_test->transfer_complete);
93 * @epf_test: the EPF test device that performs the data transfer operation
106 static int pci_epf_test_data_transfer(struct pci_epf_test *epf_test,
111 struct dma_chan *chan = epf_test->dma_chan;
112 struct pci_epf *epf = epf_test->epf;
130 tx->callback_param = epf_test;
132 reinit_completion(&epf_test->transfer_complete);
141 ret = wait_for_completion_interruptible(&epf_test->transfer_complete);
153 * @epf_test: the EPF test device that performs data transfer operation
157 static int pci_epf_test_init_dma_chan(struct pci_epf_test *epf_test)
159 struct pci_epf *epf = epf_test->epf;
175 init_completion(&epf_test->transfer_complete);
177 epf_test->dma_chan = dma_chan;
184 * @epf_test: the EPF test device that performs data transfer operation
188 static void pci_epf_test_clean_dma_chan(struct pci_epf_test *epf_test)
190 if (!epf_test->dma_supported)
193 dma_release_channel(epf_test->dma_chan);
194 epf_test->dma_chan = NULL;
227 static int pci_epf_test_copy(struct pci_epf_test *epf_test)
236 struct pci_epf *epf = epf_test->epf;
239 enum pci_barno test_reg_bar = epf_test->test_reg_bar;
240 struct pci_epf_test_reg *reg = epf_test->reg[test_reg_bar];
277 if (!epf_test->dma_supported) {
283 ret = pci_epf_test_data_transfer(epf_test, dst_phys_addr,
319 static int pci_epf_test_read(struct pci_epf_test *epf_test)
329 struct pci_epf *epf = epf_test->epf;
333 enum pci_barno test_reg_bar = epf_test->test_reg_bar;
334 struct pci_epf_test_reg *reg = epf_test->reg[test_reg_bar];
360 if (!epf_test->dma_supported) {
375 ret = pci_epf_test_data_transfer(epf_test, dst_phys_addr,
408 static int pci_epf_test_write(struct pci_epf_test *epf_test)
417 struct pci_epf *epf = epf_test->epf;
421 enum pci_barno test_reg_bar = epf_test->test_reg_bar;
422 struct pci_epf_test_reg *reg = epf_test->reg[test_reg_bar];
451 if (!epf_test->dma_supported) {
466 ret = pci_epf_test_data_transfer(epf_test, phys_addr,
501 static void pci_epf_test_raise_irq(struct pci_epf_test *epf_test, u8 irq_type,
504 struct pci_epf *epf = epf_test->epf;
507 enum pci_barno test_reg_bar = epf_test->test_reg_bar;
508 struct pci_epf_test_reg *reg = epf_test->reg[test_reg_bar];
533 struct pci_epf_test *epf_test = container_of(work, struct pci_epf_test,
535 struct pci_epf *epf = epf_test->epf;
538 enum pci_barno test_reg_bar = epf_test->test_reg_bar;
539 struct pci_epf_test_reg *reg = epf_test->reg[test_reg_bar];
560 ret = pci_epf_test_write(epf_test);
565 pci_epf_test_raise_irq(epf_test, reg->irq_type,
571 ret = pci_epf_test_read(epf_test);
576 pci_epf_test_raise_irq(epf_test, reg->irq_type,
582 ret = pci_epf_test_copy(epf_test);
587 pci_epf_test_raise_irq(epf_test, reg->irq_type,
613 queue_delayed_work(kpcitest_workqueue, &epf_test->cmd_handler,
619 struct pci_epf_test *epf_test = epf_get_drvdata(epf);
624 cancel_delayed_work(&epf_test->cmd_handler);
625 pci_epf_test_clean_dma_chan(epf_test);
629 if (epf_test->reg[bar]) {
631 pci_epf_free_space(epf, epf_test->reg[bar], bar);
643 struct pci_epf_test *epf_test = epf_get_drvdata(epf);
644 enum pci_barno test_reg_bar = epf_test->test_reg_bar;
647 epc_features = epf_test->epc_features;
663 pci_epf_free_space(epf, epf_test->reg[bar], bar);
675 struct pci_epf_test *epf_test = epf_get_drvdata(epf);
710 epf_test->test_reg_bar,
711 epf_test->msix_table_offset);
725 struct pci_epf_test *epf_test = epf_get_drvdata(epf);
736 queue_delayed_work(kpcitest_workqueue, &epf_test->cmd_handler,
750 struct pci_epf_test *epf_test = epf_get_drvdata(epf);
759 enum pci_barno test_reg_bar = epf_test->test_reg_bar;
763 epc_features = epf_test->epc_features;
770 epf_test->msix_table_offset = test_reg_bar_size;
788 epf_test->reg[test_reg_bar] = base;
805 epf_test->reg[bar] = base;
831 struct pci_epf_test *epf_test = epf_get_drvdata(epf);
854 epf_test->test_reg_bar = test_reg_bar;
855 epf_test->epc_features = epc_features;
867 epf_test->dma_supported = true;
869 ret = pci_epf_test_init_dma_chan(epf_test);
871 epf_test->dma_supported = false;
877 queue_work(kpcitest_workqueue, &epf_test->cmd_handler.work);
892 struct pci_epf_test *epf_test;
895 epf_test = devm_kzalloc(dev, sizeof(*epf_test), GFP_KERNEL);
896 if (!epf_test)
900 epf_test->epf = epf;
902 INIT_DELAYED_WORK(&epf_test->cmd_handler, pci_epf_test_cmd_handler);
904 epf_set_drvdata(epf, epf_test);