• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/ofed/opensm/libvendor/

Lines Matching refs:p_mad_bind_info

122 boolean_t __valid_mad_handle(IN mad_bind_info_t * p_mad_bind_info);
160 mad_bind_info_t *p_mad_bind_info;
165 p_mad_bind_info =
171 p_list_item = cl_qlist_next(&p_mad_bind_info->list_item);
176 osm_vendor_unbind((osm_bind_handle_t) p_mad_bind_info);
177 p_mad_bind_info = (mad_bind_info_t *) p_list_item;
382 mad_bind_info_t *p_mad_bind_info = (mad_bind_info_t *) h_bind;
383 umadt_obj_t *p_umadt_obj = p_mad_bind_info->p_umadt_obj;
389 p_umadt_obj = p_mad_bind_info->p_umadt_obj;
394 CL_ASSERT(__valid_mad_handle(p_mad_bind_info));
399 p_umadt_obj->uMadtInterface.uMadtGetSendMad(p_mad_bind_info->
438 mad_bind_info_t *p_mad_bind_info;
445 p_mad_bind_info = (mad_bind_info_t *) h_bind;
446 p_umadt_obj = p_mad_bind_info->p_umadt_obj;
451 CL_ASSERT(__valid_mad_handle(p_mad_bind_info));
465 uMadtReleaseSendMad(p_mad_bind_info->umadt_handle,
477 uMadtReleaseRecvMad(p_mad_bind_info->umadt_handle,
503 mad_bind_info_t *p_mad_bind_info;
517 p_mad_bind_info = (mad_bind_info_t *) h_bind;
518 p_umadt_obj = p_mad_bind_info->p_umadt_obj;
523 CL_ASSERT(__valid_mad_handle(p_mad_bind_info));
536 if (p_mad_bind_info->umadt_reg_class.ClassId == IB_MCLASS_SUBN_LID ||
537 p_mad_bind_info->umadt_reg_class.ClassId == IB_MCLASS_SUBN_DIR) {
568 cl_spinlock_acquire(&p_mad_bind_info->trans_ctxt_lock);
569 cl_qlist_insert_tail(&p_mad_bind_info->trans_ctxt_list,
571 cl_spinlock_release(&p_mad_bind_info->trans_ctxt_lock);
574 if (p_mad_bind_info->umadt_reg_class.ClassId == IB_MCLASS_SUBN_LID ||
575 p_mad_bind_info->umadt_reg_class.ClassId == IB_MCLASS_SUBN_DIR) {
580 uMadtGetSendMad(p_mad_bind_info->umadt_handle, &mad_count,
593 p_umadt_obj->uMadtInterface.uMadtPostSend(p_mad_bind_info->
605 uMadtReleaseSendMad(p_mad_bind_info->umadt_handle,
629 uMadtGetSendMad(p_mad_bind_info->umadt_handle,
699 uMadtPostSend(p_mad_bind_info->umadt_handle,
710 uMadtReleaseSendMad(p_mad_bind_info->umadt_handle,
736 mad_bind_info_t *p_mad_bind_info;
753 p_mad_bind_info = (mad_bind_info_t *) malloc(sizeof(*p_mad_bind_info));
754 if (p_mad_bind_info) {
755 memset(p_mad_bind_info, 0, sizeof(*p_mad_bind_info));
756 p_umadt_reg_class = &p_mad_bind_info->umadt_reg_class;
769 p_mad_bind_info->p_umadt_obj = p_umadt_obj;
770 p_mad_bind_info->p_mad_pool = p_mad_pool;
771 p_mad_bind_info->mad_recv_callback = mad_recv_callback;
772 p_mad_bind_info->client_context = context;
776 &p_mad_bind_info->
779 free(p_mad_bind_info);
783 CL_ASSERT(p_mad_bind_info->umadt_handle);
787 cl_thread_construct(&p_mad_bind_info->recv_processor_thread);
788 cl_status = cl_thread_init(&p_mad_bind_info->recv_processor_thread,
790 (void *)p_mad_bind_info, "mad_recv_worker");
793 cl_qlist_init(&p_mad_bind_info->trans_ctxt_list);
794 cl_spinlock_construct(&p_mad_bind_info->trans_ctxt_lock);
795 cl_spinlock_init(&p_mad_bind_info->trans_ctxt_lock);
796 cl_spinlock_construct(&p_mad_bind_info->timeout_list_lock);
797 cl_spinlock_init(&p_mad_bind_info->timeout_list_lock);
799 cl_status = cl_timer_init(&p_mad_bind_info->timeout_timer,
801 (void *)p_mad_bind_info);
803 cl_qlist_init(&p_mad_bind_info->timeout_list);
810 &p_mad_bind_info->list_item);
818 cl_timer_start(&p_mad_bind_info->timeout_timer,
823 return ((osm_bind_handle_t) p_mad_bind_info);
828 mad_bind_info_t *p_mad_bind_info;
833 p_mad_bind_info = (mad_bind_info_t *) h_bind;
834 p_umadt_obj = p_mad_bind_info->p_umadt_obj;
839 CL_ASSERT(__valid_mad_handle(p_mad_bind_info));
841 p_umadt_obj->uMadtInterface.uMadtDestroy(&p_mad_bind_info->
843 cl_timer_destroy(&p_mad_bind_info->timeout_timer);
844 cl_thread_destroy(&p_mad_bind_info->recv_processor_thread);
846 cl_spinlock_acquire(&p_mad_bind_info->trans_ctxt_lock);
847 p_list_item = cl_qlist_head(&p_mad_bind_info->trans_ctxt_list);
848 while (p_list_item != cl_qlist_end(&p_mad_bind_info->trans_ctxt_list)) {
850 cl_qlist_remove_item(&p_mad_bind_info->trans_ctxt_list,
855 cl_spinlock_release(&p_mad_bind_info->trans_ctxt_lock);
857 cl_spinlock_acquire(&p_mad_bind_info->timeout_list_lock);
858 p_list_item = cl_qlist_head(&p_mad_bind_info->timeout_list);
859 while (p_list_item != cl_qlist_end(&p_mad_bind_info->timeout_list)) {
861 cl_qlist_remove_item(&p_mad_bind_info->timeout_list,
866 cl_spinlock_release(&p_mad_bind_info->timeout_list_lock);
868 free(p_mad_bind_info);
873 mad_bind_info_t *p_mad_bind_info = (mad_bind_info_t *) context;
887 p_mad_bind_info = (mad_bind_info_t *) context;
888 p_umadt_obj = p_mad_bind_info->p_umadt_obj;
894 uMadtPollForRecvCompletion(p_mad_bind_info->umadt_handle,
899 Status = p_umadt_obj->uMadtInterface.uMadtWaitForAnyCompletion(p_mad_bind_info->umadt_handle, RECV_COMPLETION, 0x5000); /* 5 sec timeout */
908 uMadtPollForRecvCompletion(p_mad_bind_info->
932 uMadtReleaseRecvMad(p_mad_bind_info->umadt_handle,
943 if (p_mad_bind_info->umadt_reg_class.ClassId ==
945 || p_mad_bind_info->umadt_reg_class.ClassId ==
963 osm_mad_pool_get_wrapper(p_mad_bind_info->p_mad_pool,
964 p_mad_bind_info, MAD_BLOCK_SIZE,
973 osm_log(p_mad_bind_info->p_umadt_obj->p_log, OSM_LOG_DEBUG,
982 cl_spinlock_acquire(&p_mad_bind_info->trans_ctxt_lock);
984 cl_qlist_find_from_head(&p_mad_bind_info->trans_ctxt_list,
989 cl_qlist_end(&p_mad_bind_info->trans_ctxt_list)) {
994 cl_qlist_remove_item(&p_mad_bind_info->trans_ctxt_list,
998 cl_spinlock_release(&p_mad_bind_info->trans_ctxt_lock);
1001 osm_log(p_mad_bind_info->p_umadt_obj->p_log, OSM_LOG_DEBUG,
1008 (*(p_mad_bind_info->mad_recv_callback)) (p_osm_madw,
1009 p_mad_bind_info->
1025 boolean_t __valid_mad_handle(IN mad_bind_info_t * p_mad_bind_info)
1030 p_umadt_obj = p_mad_bind_info->p_umadt_obj;
1034 &p_mad_bind_info->list_item)) {
1045 mad_bind_info_t *p_mad_bind_info;
1053 p_mad_bind_info = (mad_bind_info_t *) context;
1054 p_umadt_obj = p_mad_bind_info->p_umadt_obj;
1059 cl_spinlock_acquire(&p_mad_bind_info->trans_ctxt_lock);
1061 p_list_item = cl_qlist_head(&p_mad_bind_info->trans_ctxt_list);
1062 while (p_list_item != cl_qlist_end(&p_mad_bind_info->trans_ctxt_list)) {
1070 cl_qlist_remove_item(&p_mad_bind_info->trans_ctxt_list,
1072 cl_qlist_insert_tail(&p_mad_bind_info->timeout_list,
1079 cl_spinlock_release(&p_mad_bind_info->trans_ctxt_lock);
1081 p_list_item = cl_qlist_head(&p_mad_bind_info->timeout_list);
1082 while (p_list_item != cl_qlist_end(&p_mad_bind_info->timeout_list)) {
1083 osm_log(p_mad_bind_info->p_umadt_obj->p_log, OSM_LOG_DEBUG,
1088 (*(p_mad_bind_info->mad_recv_callback)) (NULL,
1089 p_mad_bind_info->
1096 cl_qlist_remove_item(&p_mad_bind_info->timeout_list,
1102 cl_timer_start(&p_mad_bind_info->timeout_timer,