Lines Matching refs:epf_test

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