Lines Matching refs:ne_pci_dev
49 struct ne_pci_dev *ne_pci_dev = pci_get_drvdata(pdev); in ne_submit_request() local
51 memcpy_toio(ne_pci_dev->iomem_base + NE_SEND_DATA, cmd_request, cmd_request_size); in ne_submit_request()
53 iowrite32(cmd_type, ne_pci_dev->iomem_base + NE_COMMAND); in ne_submit_request()
67 struct ne_pci_dev *ne_pci_dev = pci_get_drvdata(pdev); in ne_retrieve_reply() local
69 memcpy_fromio(cmd_reply, ne_pci_dev->iomem_base + NE_RECV_DATA, cmd_reply_size); in ne_retrieve_reply()
83 struct ne_pci_dev *ne_pci_dev = pci_get_drvdata(pdev); in ne_wait_for_reply() local
90 rc = wait_event_timeout(ne_pci_dev->cmd_reply_wait_q, in ne_wait_for_reply()
91 atomic_read(&ne_pci_dev->cmd_reply_avail) != 0, in ne_wait_for_reply()
103 struct ne_pci_dev *ne_pci_dev = pci_get_drvdata(pdev); in ne_do_request() local
144 mutex_lock(&ne_pci_dev->pci_dev_mutex); in ne_do_request()
146 atomic_set(&ne_pci_dev->cmd_reply_avail, 0); in ne_do_request()
160 atomic_set(&ne_pci_dev->cmd_reply_avail, 0); in ne_do_request()
174 mutex_unlock(&ne_pci_dev->pci_dev_mutex); in ne_do_request()
192 struct ne_pci_dev *ne_pci_dev = (struct ne_pci_dev *)args; in ne_reply_handler() local
194 atomic_set(&ne_pci_dev->cmd_reply_avail, 1); in ne_reply_handler()
197 wake_up(&ne_pci_dev->cmd_reply_wait_q); in ne_reply_handler()
218 struct ne_pci_dev *ne_pci_dev = in ne_event_work_handler() local
219 container_of(work, struct ne_pci_dev, notify_work); in ne_event_work_handler()
220 struct pci_dev *pdev = ne_pci_dev->pdev; in ne_event_work_handler()
224 mutex_lock(&ne_pci_dev->enclaves_list_mutex); in ne_event_work_handler()
231 list_for_each_entry(ne_enclave, &ne_pci_dev->enclaves_list, enclave_list_entry) { in ne_event_work_handler()
262 mutex_unlock(&ne_pci_dev->enclaves_list_mutex); in ne_event_work_handler()
279 struct ne_pci_dev *ne_pci_dev = (struct ne_pci_dev *)args; in ne_event_handler() local
281 queue_work(ne_pci_dev->event_wq, &ne_pci_dev->notify_work); in ne_event_handler()
297 struct ne_pci_dev *ne_pci_dev = pci_get_drvdata(pdev); in ne_setup_msix() local
323 0, "enclave_cmd", ne_pci_dev); in ne_setup_msix()
330 ne_pci_dev->event_wq = create_singlethread_workqueue("ne_pci_dev_wq"); in ne_setup_msix()
331 if (!ne_pci_dev->event_wq) { in ne_setup_msix()
339 INIT_WORK(&ne_pci_dev->notify_work, ne_event_work_handler); in ne_setup_msix()
347 0, "enclave_evt", ne_pci_dev); in ne_setup_msix()
357 destroy_workqueue(ne_pci_dev->event_wq); in ne_setup_msix()
359 free_irq(pci_irq_vector(pdev, NE_VEC_REPLY), ne_pci_dev); in ne_setup_msix()
374 struct ne_pci_dev *ne_pci_dev = pci_get_drvdata(pdev); in ne_teardown_msix() local
376 free_irq(pci_irq_vector(pdev, NE_VEC_EVENT), ne_pci_dev); in ne_teardown_msix()
378 flush_work(&ne_pci_dev->notify_work); in ne_teardown_msix()
379 destroy_workqueue(ne_pci_dev->event_wq); in ne_teardown_msix()
381 free_irq(pci_irq_vector(pdev, NE_VEC_REPLY), ne_pci_dev); in ne_teardown_msix()
399 struct ne_pci_dev *ne_pci_dev = pci_get_drvdata(pdev); in ne_pci_dev_enable() local
401 iowrite16(NE_VERSION_MAX, ne_pci_dev->iomem_base + NE_VERSION); in ne_pci_dev_enable()
403 dev_version_reply = ioread16(ne_pci_dev->iomem_base + NE_VERSION); in ne_pci_dev_enable()
410 iowrite8(NE_ENABLE_ON, ne_pci_dev->iomem_base + NE_ENABLE); in ne_pci_dev_enable()
412 dev_enable_reply = ioread8(ne_pci_dev->iomem_base + NE_ENABLE); in ne_pci_dev_enable()
431 struct ne_pci_dev *ne_pci_dev = pci_get_drvdata(pdev); in ne_pci_dev_disable() local
435 iowrite8(NE_ENABLE_OFF, ne_pci_dev->iomem_base + NE_ENABLE); in ne_pci_dev_disable()
443 dev_disable_reply = ioread8(ne_pci_dev->iomem_base + NE_ENABLE); in ne_pci_dev_disable()
451 dev_disable_reply = ioread8(ne_pci_dev->iomem_base + NE_ENABLE); in ne_pci_dev_disable()
468 struct ne_pci_dev *ne_pci_dev = NULL; in ne_pci_probe() local
471 ne_pci_dev = kzalloc(sizeof(*ne_pci_dev), GFP_KERNEL); in ne_pci_probe()
472 if (!ne_pci_dev) in ne_pci_probe()
491 ne_pci_dev->iomem_base = pci_iomap(pdev, PCI_BAR_NE, 0); in ne_pci_probe()
492 if (!ne_pci_dev->iomem_base) { in ne_pci_probe()
500 pci_set_drvdata(pdev, ne_pci_dev); in ne_pci_probe()
518 atomic_set(&ne_pci_dev->cmd_reply_avail, 0); in ne_pci_probe()
519 init_waitqueue_head(&ne_pci_dev->cmd_reply_wait_q); in ne_pci_probe()
520 INIT_LIST_HEAD(&ne_pci_dev->enclaves_list); in ne_pci_probe()
521 mutex_init(&ne_pci_dev->enclaves_list_mutex); in ne_pci_probe()
522 mutex_init(&ne_pci_dev->pci_dev_mutex); in ne_pci_probe()
523 ne_pci_dev->pdev = pdev; in ne_pci_probe()
525 ne_devs.ne_pci_dev = ne_pci_dev; in ne_pci_probe()
537 ne_devs.ne_pci_dev = NULL; in ne_pci_probe()
543 pci_iounmap(pdev, ne_pci_dev->iomem_base); in ne_pci_probe()
549 kfree(ne_pci_dev); in ne_pci_probe()
562 struct ne_pci_dev *ne_pci_dev = pci_get_drvdata(pdev); in ne_pci_remove() local
566 ne_devs.ne_pci_dev = NULL; in ne_pci_remove()
574 pci_iounmap(pdev, ne_pci_dev->iomem_base); in ne_pci_remove()
580 kfree(ne_pci_dev); in ne_pci_remove()
591 struct ne_pci_dev *ne_pci_dev = pci_get_drvdata(pdev); in ne_pci_shutdown() local
593 if (!ne_pci_dev) in ne_pci_shutdown()
598 ne_devs.ne_pci_dev = NULL; in ne_pci_shutdown()
606 pci_iounmap(pdev, ne_pci_dev->iomem_base); in ne_pci_shutdown()
612 kfree(ne_pci_dev); in ne_pci_shutdown()