Lines Matching defs:ia_ptr

61  * 	ia_ptr
70 DAPL_IA * ia_ptr;
73 ia_ptr = (DAPL_IA *) dapl_os_alloc(sizeof (DAPL_IA));
74 if (ia_ptr == NULL) {
79 (void) dapl_os_memzero(ia_ptr, sizeof (DAPL_IA));
84 ia_ptr->header.provider = provider;
85 ia_ptr->header.magic = DAPL_MAGIC_IA;
86 ia_ptr->header.handle_type = DAT_HANDLE_TYPE_IA;
87 ia_ptr->header.owner_ia = ia_ptr;
88 ia_ptr->header.user_context.as_64 = 0;
89 ia_ptr->header.user_context.as_ptr = NULL;
90 dapl_llist_init_entry(&ia_ptr->header.ia_list_entry);
91 dapl_os_lock_init(&ia_ptr->header.lock);
96 ia_ptr->hca_ptr = hca_ptr;
97 ia_ptr->async_error_evd = NULL;
98 ia_ptr->cleanup_async_error_evd = DAT_FALSE;
99 dapl_llist_init_entry(&ia_ptr->hca_ia_list_entry);
100 dapl_llist_init_head(&ia_ptr->ep_list_head);
101 dapl_llist_init_head(&ia_ptr->lmr_list_head);
102 dapl_llist_init_head(&ia_ptr->rmr_list_head);
103 dapl_llist_init_head(&ia_ptr->pz_list_head);
104 dapl_llist_init_head(&ia_ptr->evd_list_head);
105 dapl_llist_init_head(&ia_ptr->cno_list_head);
106 dapl_llist_init_head(&ia_ptr->rsp_list_head);
107 dapl_llist_init_head(&ia_ptr->psp_list_head);
112 ia_ptr->dapl_flags = 0;
114 dapl_hca_link_ia(hca_ptr, ia_ptr);
116 return (ia_ptr);
126 * ia_ptr
138 IN DAPL_IA *ia_ptr)
162 rmr_ptr = (dapl_llist_is_empty(&ia_ptr->rmr_list_head)
163 ? NULL : dapl_llist_peek_head(&ia_ptr->rmr_list_head));
165 next_rmr_ptr = dapl_llist_next_entry(&ia_ptr->rmr_list_head,
177 sp_ptr = (dapl_llist_is_empty(&ia_ptr->rsp_list_head)
178 ? NULL : dapl_llist_peek_head(&ia_ptr->rsp_list_head));
180 next_sp_ptr = dapl_llist_next_entry(&ia_ptr->rsp_list_head,
192 ep_ptr = (dapl_llist_is_empty(&ia_ptr->ep_list_head)
193 ? NULL : dapl_llist_peek_head(&ia_ptr->ep_list_head));
195 next_ep_ptr = dapl_llist_next_entry(&ia_ptr->ep_list_head,
214 lmr_ptr = (dapl_llist_is_empty(&ia_ptr->lmr_list_head)
215 ? NULL : dapl_llist_peek_head(&ia_ptr->lmr_list_head));
217 next_lmr_ptr = dapl_llist_next_entry(&ia_ptr->lmr_list_head,
229 sp_ptr = (dapl_llist_is_empty(&ia_ptr->psp_list_head)
230 ? NULL : dapl_llist_peek_head(&ia_ptr->psp_list_head));
232 next_sp_ptr = dapl_llist_next_entry(&ia_ptr->psp_list_head,
244 pz_ptr = (dapl_llist_is_empty(&ia_ptr->pz_list_head)
245 ? NULL : dapl_llist_peek_head(&ia_ptr->pz_list_head));
247 next_pz_ptr = dapl_llist_next_entry(&ia_ptr->pz_list_head,
265 evd_ptr = (dapl_llist_is_empty(&ia_ptr->evd_list_head)
266 ? NULL : dapl_llist_peek_head(&ia_ptr->evd_list_head));
268 next_evd_ptr = dapl_llist_next_entry(&ia_ptr->evd_list_head,
270 if (evd_ptr == ia_ptr->async_error_evd) {
292 cno_ptr = (dapl_llist_is_empty(&ia_ptr->cno_list_head)
293 ? NULL : dapl_llist_peek_head(&ia_ptr->cno_list_head));
295 next_cno_ptr = dapl_llist_next_entry(&ia_ptr->cno_list_head,
307 hca_ptr = ia_ptr->hca_ptr;
312 if (ia_ptr->async_error_evd &&
313 (DAT_TRUE == ia_ptr->cleanup_async_error_evd)) {
314 dat_status = dapls_ia_teardown_callbacks(ia_ptr);
318 dapl_os_atomic_dec(& ia_ptr->async_error_evd->evd_ref_count);
319 dat_status = dapl_evd_free(ia_ptr->async_error_evd);
324 ia_ptr->async_error_evd,
328 ia_ptr->async_error_evd = NULL;
337 dapls_ia_free(ia_ptr);
349 * ia_ptr
361 IN DAPL_IA *ia_ptr)
371 if (!dapl_llist_is_empty(&ia_ptr->rmr_list_head) ||
372 !dapl_llist_is_empty(&ia_ptr->rsp_list_head) ||
373 !dapl_llist_is_empty(&ia_ptr->ep_list_head) ||
374 !dapl_llist_is_empty(&ia_ptr->lmr_list_head) ||
375 !dapl_llist_is_empty(&ia_ptr->psp_list_head) ||
376 !dapl_llist_is_empty(&ia_ptr->pz_list_head)) {
385 if (DAT_FALSE == ia_ptr->cleanup_async_error_evd) {
386 if (!dapl_llist_is_empty(&ia_ptr->evd_list_head)) {
395 dapl_llist_peek_head(&ia_ptr->evd_list_head);
403 entry = ia_ptr->evd_list_head;
429 hca_ptr = ia_ptr->hca_ptr;
432 if (ia_ptr->async_error_evd &&
433 (DAT_TRUE == ia_ptr->cleanup_async_error_evd)) {
434 cur_dat_status = dapls_ia_teardown_callbacks(ia_ptr);
439 dapl_os_atomic_dec(& ia_ptr->async_error_evd->evd_ref_count);
440 cur_dat_status = dapl_evd_free(ia_ptr->async_error_evd);
445 ia_ptr->async_error_evd = NULL;
450 dapls_ia_free(ia_ptr);
494 * ia_ptr
504 dapls_ia_free(DAPL_IA *ia_ptr)
506 dapl_os_assert(ia_ptr->header.magic == DAPL_MAGIC_IA);
508 dapl_os_assert(ia_ptr->async_error_evd == NULL);
509 dapl_os_assert(dapl_llist_is_empty(&ia_ptr->lmr_list_head));
510 dapl_os_assert(dapl_llist_is_empty(&ia_ptr->rmr_list_head));
511 dapl_os_assert(dapl_llist_is_empty(&ia_ptr->ep_list_head));
512 dapl_os_assert(dapl_llist_is_empty(&ia_ptr->evd_list_head));
513 dapl_os_assert(dapl_llist_is_empty(&ia_ptr->cno_list_head));
514 dapl_os_assert(dapl_llist_is_empty(&ia_ptr->psp_list_head));
515 dapl_os_assert(dapl_llist_is_empty(&ia_ptr->rsp_list_head));
520 dapl_hca_unlink_ia(ia_ptr->hca_ptr, ia_ptr);
522 ia_ptr->header.magic = DAPL_MAGIC_INVALID;
523 dapl_os_lock_destroy(&ia_ptr->header.lock);
525 dapl_os_free(ia_ptr, sizeof (DAPL_IA));
534 * ia_ptr
546 IN DAPL_IA *ia_ptr,
549 dapl_os_lock(&ia_ptr->header.lock);
550 dapl_llist_add_head(&ia_ptr->ep_list_head,
553 dapl_os_unlock(&ia_ptr->header.lock);
562 * ia_ptr
574 IN DAPL_IA *ia_ptr,
577 dapl_os_lock(&ia_ptr->header.lock);
578 (void) dapl_llist_remove_entry(&ia_ptr->ep_list_head,
580 dapl_os_unlock(&ia_ptr->header.lock);
589 * ia_ptr
601 IN DAPL_IA *ia_ptr,
604 dapl_os_lock(&ia_ptr->header.lock);
605 dapl_llist_add_head(&ia_ptr->lmr_list_head,
608 dapl_os_unlock(&ia_ptr->header.lock);
617 * ia_ptr
629 IN DAPL_IA *ia_ptr,
632 dapl_os_lock(&ia_ptr->header.lock);
633 (void) dapl_llist_remove_entry(&ia_ptr->lmr_list_head,
635 dapl_os_unlock(&ia_ptr->header.lock);
644 * ia_ptr
656 IN DAPL_IA *ia_ptr,
659 dapl_os_lock(&ia_ptr->header.lock);
660 dapl_llist_add_head(&ia_ptr->rmr_list_head,
663 dapl_os_unlock(&ia_ptr->header.lock);
672 * ia_ptr
684 IN DAPL_IA *ia_ptr,
687 dapl_os_lock(&ia_ptr->header.lock);
688 (void) dapl_llist_remove_entry(&ia_ptr->rmr_list_head,
690 dapl_os_unlock(&ia_ptr->header.lock);
699 * ia_ptr
711 IN DAPL_IA *ia_ptr,
714 dapl_os_lock(&ia_ptr->header.lock);
715 dapl_llist_add_head(&ia_ptr->pz_list_head,
718 dapl_os_unlock(&ia_ptr->header.lock);
727 * ia_ptr
739 IN DAPL_IA *ia_ptr,
742 dapl_os_lock(&ia_ptr->header.lock);
743 (void) dapl_llist_remove_entry(&ia_ptr->pz_list_head,
745 dapl_os_unlock(&ia_ptr->header.lock);
754 * ia_ptr
766 IN DAPL_IA *ia_ptr,
769 dapl_os_lock(&ia_ptr->header.lock);
770 dapl_llist_add_head(&ia_ptr->evd_list_head,
773 dapl_os_unlock(&ia_ptr->header.lock);
782 * ia_ptr
794 IN DAPL_IA *ia_ptr,
797 dapl_os_lock(&ia_ptr->header.lock);
798 (void) dapl_llist_remove_entry(&ia_ptr->evd_list_head,
800 dapl_os_unlock(&ia_ptr->header.lock);
809 * ia_ptr
821 IN DAPL_IA *ia_ptr,
824 dapl_os_lock(&ia_ptr->header.lock);
825 dapl_llist_add_head(&ia_ptr->cno_list_head,
828 dapl_os_unlock(&ia_ptr->header.lock);
837 * ia_ptr
849 IN DAPL_IA *ia_ptr,
852 dapl_os_lock(&ia_ptr->header.lock);
853 (void) dapl_llist_remove_entry(&ia_ptr->cno_list_head,
855 dapl_os_unlock(&ia_ptr->header.lock);
864 * ia_ptr
876 IN DAPL_IA *ia_ptr,
879 dapl_os_lock(&ia_ptr->header.lock);
880 dapl_llist_add_head(&ia_ptr->psp_list_head,
883 dapl_os_unlock(&ia_ptr->header.lock);
892 * ia_ptr
904 IN DAPL_IA *ia_ptr,
910 list_head = &ia_ptr->psp_list_head;
914 list_head = &ia_ptr->rsp_list_head;
917 dapl_os_lock(&ia_ptr->header.lock);
920 dapl_os_unlock(&ia_ptr->header.lock);
929 * ia_ptr
941 IN DAPL_IA *ia_ptr,
949 list_head = &ia_ptr->psp_list_head;
951 list_head = &ia_ptr->rsp_list_head;
954 dapl_os_lock(&ia_ptr->header.lock);
967 dapl_os_unlock(&ia_ptr->header.lock);
979 * ia_ptr
991 IN DAPL_IA *ia_ptr,
994 dapl_os_lock(&ia_ptr->header.lock);
995 dapl_llist_add_head(&ia_ptr->rsp_list_head,
998 dapl_os_unlock(&ia_ptr->header.lock);
1007 * ia_ptr
1019 IN DAPL_IA *ia_ptr,
1022 dapl_os_lock(&ia_ptr->header.lock);
1023 dapl_llist_add_head(&ia_ptr->srq_list_head,
1026 dapl_os_unlock(&ia_ptr->header.lock);
1035 * ia_ptr
1047 IN DAPL_IA *ia_ptr,
1050 dapl_os_lock(&ia_ptr->header.lock);
1051 (void) dapl_llist_remove_entry(&ia_ptr->srq_list_head,
1053 dapl_os_unlock(&ia_ptr->header.lock);
1058 IN DAPL_IA *ia_ptr,
1066 ia_ptr,
1081 ia_ptr,
1096 ia_ptr,
1100 ia_ptr);
1114 IN DAPL_IA *ia_ptr)
1121 ia_ptr,
1136 ia_ptr,
1151 ia_ptr,