Lines Matching refs:evt
102 struct lpfc_bsg_event *evt; member
790 struct lpfc_bsg_event *evt = container_of(kref, struct lpfc_bsg_event, in lpfc_bsg_event_free() local
794 list_del(&evt->node); in lpfc_bsg_event_free()
796 while (!list_empty(&evt->events_to_get)) { in lpfc_bsg_event_free()
797 ed = list_entry(evt->events_to_get.next, typeof(*ed), node); in lpfc_bsg_event_free()
803 while (!list_empty(&evt->events_to_see)) { in lpfc_bsg_event_free()
804 ed = list_entry(evt->events_to_see.next, typeof(*ed), node); in lpfc_bsg_event_free()
810 kfree(evt->dd_data); in lpfc_bsg_event_free()
811 kfree(evt); in lpfc_bsg_event_free()
819 lpfc_bsg_event_ref(struct lpfc_bsg_event *evt) in lpfc_bsg_event_ref() argument
821 kref_get(&evt->kref); in lpfc_bsg_event_ref()
829 lpfc_bsg_event_unref(struct lpfc_bsg_event *evt) in lpfc_bsg_event_unref() argument
831 kref_put(&evt->kref, lpfc_bsg_event_free); in lpfc_bsg_event_unref()
843 struct lpfc_bsg_event *evt = kzalloc(sizeof(*evt), GFP_KERNEL); in lpfc_bsg_event_new() local
845 if (!evt) in lpfc_bsg_event_new()
848 INIT_LIST_HEAD(&evt->events_to_get); in lpfc_bsg_event_new()
849 INIT_LIST_HEAD(&evt->events_to_see); in lpfc_bsg_event_new()
850 evt->type_mask = ev_mask; in lpfc_bsg_event_new()
851 evt->req_id = ev_req_id; in lpfc_bsg_event_new()
852 evt->reg_id = ev_reg_id; in lpfc_bsg_event_new()
853 evt->wait_time_stamp = jiffies; in lpfc_bsg_event_new()
854 evt->dd_data = NULL; in lpfc_bsg_event_new()
855 init_waitqueue_head(&evt->wq); in lpfc_bsg_event_new()
856 kref_init(&evt->kref); in lpfc_bsg_event_new()
857 return evt; in lpfc_bsg_event_new()
908 struct lpfc_bsg_event *evt; in lpfc_bsg_ct_unsol_event() local
952 list_for_each_entry(evt, &phba->ct_ev_waiters, node) { in lpfc_bsg_ct_unsol_event()
953 if (!(evt->type_mask & FC_REG_CT_EVENT) || in lpfc_bsg_ct_unsol_event()
954 evt->req_id != evt_req_id) in lpfc_bsg_ct_unsol_event()
957 lpfc_bsg_event_ref(evt); in lpfc_bsg_ct_unsol_event()
962 lpfc_bsg_event_unref(evt); in lpfc_bsg_ct_unsol_event()
989 lpfc_bsg_event_unref(evt); in lpfc_bsg_ct_unsol_event()
1035 lpfc_bsg_event_unref(evt); in lpfc_bsg_ct_unsol_event()
1109 list_add(&evt_dat->node, &evt->events_to_see); in lpfc_bsg_ct_unsol_event()
1111 wake_up_interruptible(&evt->wq); in lpfc_bsg_ct_unsol_event()
1112 lpfc_bsg_event_unref(evt); in lpfc_bsg_ct_unsol_event()
1116 list_move(evt->events_to_see.prev, &evt->events_to_get); in lpfc_bsg_ct_unsol_event()
1118 dd_data = (struct bsg_job_data *)evt->dd_data; in lpfc_bsg_ct_unsol_event()
1121 lpfc_bsg_event_unref(evt); in lpfc_bsg_ct_unsol_event()
1195 struct lpfc_bsg_event *evt; in lpfc_bsg_hba_set_event() local
1215 list_for_each_entry(evt, &phba->ct_ev_waiters, node) { in lpfc_bsg_hba_set_event()
1216 if (evt->reg_id == event_req->ev_reg_id) { in lpfc_bsg_hba_set_event()
1217 lpfc_bsg_event_ref(evt); in lpfc_bsg_hba_set_event()
1218 evt->wait_time_stamp = jiffies; in lpfc_bsg_hba_set_event()
1219 dd_data = (struct bsg_job_data *)evt->dd_data; in lpfc_bsg_hba_set_event()
1225 if (&evt->node == &phba->ct_ev_waiters) { in lpfc_bsg_hba_set_event()
1234 evt = lpfc_bsg_event_new(ev_mask, event_req->ev_reg_id, in lpfc_bsg_hba_set_event()
1236 if (!evt) { in lpfc_bsg_hba_set_event()
1245 dd_data->context_un.evt = evt; in lpfc_bsg_hba_set_event()
1246 evt->dd_data = (void *)dd_data; in lpfc_bsg_hba_set_event()
1248 list_add(&evt->node, &phba->ct_ev_waiters); in lpfc_bsg_hba_set_event()
1249 lpfc_bsg_event_ref(evt); in lpfc_bsg_hba_set_event()
1250 evt->wait_time_stamp = jiffies; in lpfc_bsg_hba_set_event()
1255 evt->waiting = 1; in lpfc_bsg_hba_set_event()
1280 struct lpfc_bsg_event *evt, *evt_next; in lpfc_bsg_hba_get_event() local
1300 list_for_each_entry_safe(evt, evt_next, &phba->ct_ev_waiters, node) { in lpfc_bsg_hba_get_event()
1301 if (evt->reg_id == event_req->ev_reg_id) { in lpfc_bsg_hba_get_event()
1302 if (list_empty(&evt->events_to_get)) in lpfc_bsg_hba_get_event()
1304 lpfc_bsg_event_ref(evt); in lpfc_bsg_hba_get_event()
1305 evt->wait_time_stamp = jiffies; in lpfc_bsg_hba_get_event()
1306 evt_dat = list_entry(evt->events_to_get.prev, in lpfc_bsg_hba_get_event()
1347 lpfc_bsg_event_unref(evt); in lpfc_bsg_hba_get_event()
2535 struct lpfc_bsg_event *evt; in lpfcdiag_loop_get_xri() local
2548 evt = lpfc_bsg_event_new(FC_REG_CT_EVENT, current->pid, in lpfcdiag_loop_get_xri()
2550 if (!evt) in lpfcdiag_loop_get_xri()
2554 list_add(&evt->node, &phba->ct_ev_waiters); in lpfcdiag_loop_get_xri()
2555 lpfc_bsg_event_ref(evt); in lpfcdiag_loop_get_xri()
2631 evt->waiting = 1; in lpfcdiag_loop_get_xri()
2632 evt->wait_time_stamp = jiffies; in lpfcdiag_loop_get_xri()
2634 evt->wq, !list_empty(&evt->events_to_see), in lpfcdiag_loop_get_xri()
2637 if (list_empty(&evt->events_to_see)) in lpfcdiag_loop_get_xri()
2641 list_move(evt->events_to_see.prev, &evt->events_to_get); in lpfcdiag_loop_get_xri()
2643 *rxxri = (list_entry(evt->events_to_get.prev, in lpfcdiag_loop_get_xri()
2647 evt->waiting = 0; in lpfcdiag_loop_get_xri()
2651 lpfc_bsg_event_unref(evt); /* release ref */ in lpfcdiag_loop_get_xri()
2652 lpfc_bsg_event_unref(evt); /* delete */ in lpfcdiag_loop_get_xri()
2989 struct lpfc_bsg_event *evt; in lpfc_bsg_diag_loopback_run() local
3096 evt = lpfc_bsg_event_new(FC_REG_CT_EVENT, current->pid, in lpfc_bsg_diag_loopback_run()
3098 if (!evt) { in lpfc_bsg_diag_loopback_run()
3105 list_add(&evt->node, &phba->ct_ev_waiters); in lpfc_bsg_diag_loopback_run()
3106 lpfc_bsg_event_ref(evt); in lpfc_bsg_diag_loopback_run()
3209 evt->waiting = 1; in lpfc_bsg_diag_loopback_run()
3211 evt->wq, !list_empty(&evt->events_to_see), in lpfc_bsg_diag_loopback_run()
3214 evt->waiting = 0; in lpfc_bsg_diag_loopback_run()
3215 if (list_empty(&evt->events_to_see)) { in lpfc_bsg_diag_loopback_run()
3222 list_move(evt->events_to_see.prev, &evt->events_to_get); in lpfc_bsg_diag_loopback_run()
3223 evdat = list_entry(evt->events_to_get.prev, in lpfc_bsg_diag_loopback_run()
3252 lpfc_bsg_event_unref(evt); /* release ref */ in lpfc_bsg_diag_loopback_run()
3253 lpfc_bsg_event_unref(evt); /* delete */ in lpfc_bsg_diag_loopback_run()