Lines Matching refs:rdma_info
29 edev->rdma_info.exp_recovery = false; in _qede_rdma_dev_add()
30 edev->rdma_info.qedr_dev = qedr_drv->add(edev->cdev, edev->pdev, in _qede_rdma_dev_add()
36 INIT_LIST_HEAD(&edev->rdma_info.rdma_event_list); in qede_rdma_create_wq()
37 kref_init(&edev->rdma_info.refcnt); in qede_rdma_create_wq()
38 init_completion(&edev->rdma_info.event_comp); in qede_rdma_create_wq()
40 edev->rdma_info.rdma_wq = create_singlethread_workqueue("rdma_wq"); in qede_rdma_create_wq()
41 if (!edev->rdma_info.rdma_wq) { in qede_rdma_create_wq()
51 struct list_head *head = &edev->rdma_info.rdma_event_list; in qede_rdma_cleanup_event()
54 flush_workqueue(edev->rdma_info.rdma_wq); in qede_rdma_cleanup_event()
78 kref_put(&edev->rdma_info.refcnt, qede_rdma_complete_event); in qede_rdma_destroy_wq()
79 wait_for_completion(&edev->rdma_info.event_comp); in qede_rdma_destroy_wq()
82 destroy_workqueue(edev->rdma_info.rdma_wq); in qede_rdma_destroy_wq()
83 edev->rdma_info.rdma_wq = NULL; in qede_rdma_destroy_wq()
101 INIT_LIST_HEAD(&edev->rdma_info.entry); in qede_rdma_dev_add()
103 list_add_tail(&edev->rdma_info.entry, &qedr_dev_list); in qede_rdma_dev_add()
112 if (qedr_drv && qedr_drv->remove && edev->rdma_info.qedr_dev) in _qede_rdma_dev_remove()
113 qedr_drv->remove(edev->rdma_info.qedr_dev); in _qede_rdma_dev_remove()
125 if (!edev->rdma_info.exp_recovery) in qede_rdma_dev_remove()
127 edev->rdma_info.qedr_dev = NULL; in qede_rdma_dev_remove()
128 list_del(&edev->rdma_info.entry); in qede_rdma_dev_remove()
131 if (!edev->rdma_info.exp_recovery) { in qede_rdma_dev_remove()
136 edev->rdma_info.exp_recovery = true; in qede_rdma_dev_remove()
142 if (qedr_drv && edev->rdma_info.qedr_dev && qedr_drv->notify) in _qede_rdma_dev_open()
143 qedr_drv->notify(edev->rdma_info.qedr_dev, QEDE_UP); in _qede_rdma_dev_open()
158 if (qedr_drv && edev->rdma_info.qedr_dev && qedr_drv->notify) in _qede_rdma_dev_close()
159 qedr_drv->notify(edev->rdma_info.qedr_dev, QEDE_DOWN); in _qede_rdma_dev_close()
178 if (qedr_drv && edev->rdma_info.qedr_dev && qedr_drv->notify) in qede_rdma_dev_shutdown()
179 qedr_drv->notify(edev->rdma_info.qedr_dev, QEDE_CLOSE); in qede_rdma_dev_shutdown()
195 list_for_each_entry(edev, &qedr_dev_list, rdma_info.entry) { in qede_rdma_register_driver()
218 list_for_each_entry(edev, &qedr_dev_list, rdma_info.entry) { in qede_rdma_unregister_driver()
220 if (edev->rdma_info.qedr_dev && !edev->rdma_info.exp_recovery) in qede_rdma_unregister_driver()
233 if (qedr_drv && edev->rdma_info.qedr_dev && qedr_drv->notify) in qede_rdma_changeaddr()
234 qedr_drv->notify(edev->rdma_info.qedr_dev, QEDE_CHANGE_ADDR); in qede_rdma_changeaddr()
240 if (qedr_drv && edev->rdma_info.qedr_dev && qedr_drv->notify) in qede_rdma_change_mtu()
241 qedr_drv->notify(edev->rdma_info.qedr_dev, in qede_rdma_change_mtu()
252 list_for_each_entry(event_node, &edev->rdma_info.rdma_event_list, in qede_rdma_get_free_event_node()
268 &edev->rdma_info.rdma_event_list); in qede_rdma_get_free_event_node()
311 if (edev->rdma_info.exp_recovery) in qede_rdma_add_event()
314 if (!edev->rdma_info.qedr_dev || !edev->rdma_info.rdma_wq) in qede_rdma_add_event()
320 if (!kref_get_unless_zero(&edev->rdma_info.refcnt)) in qede_rdma_add_event()
331 queue_work(edev->rdma_info.rdma_wq, &event_node->work); in qede_rdma_add_event()
334 kref_put(&edev->rdma_info.refcnt, qede_rdma_complete_event); in qede_rdma_add_event()