Lines Matching refs:func
102 struct mcast_member func[MAX_VFS]; member
128 int func; member
341 sa_data->scope_join_state |= (group->func[slave].join_state & 0x0f); in send_reply_to_slave()
497 join_state = join_mask & (~group->func[slave].join_state); in join_group()
499 group->func[slave].join_state |= join_state; in join_group()
500 if (group->func[slave].state != MCAST_MEMBER && join_state) { in join_group()
501 group->func[slave].state = MCAST_MEMBER; in join_group()
512 group->func[slave].join_state &= ~leave_state; in leave_group()
513 if (!group->func[slave].join_state) { in leave_group()
514 group->func[slave].state = MCAST_NOT_MEMBER; in leave_group()
522 if (group->func[slave].state != MCAST_MEMBER) in check_leave()
526 if (~group->func[slave].join_state & leave_mask) in check_leave()
549 --group->func[req->func].num_pend_reqs; in mlx4_ib_mcg_timeout_handler()
586 leave_mask = group->func[req->func].join_state; in handle_leave_req()
588 status = check_leave(group, req->func, leave_mask); in handle_leave_req()
590 leave_group(group, req->func, leave_mask); in handle_leave_req()
593 send_reply_to_slave(req->func, group, &req->sa_mad, status); in handle_leave_req()
594 --group->func[req->func].num_pend_reqs; in handle_leave_req()
613 join_group(group, req->func, join_mask); in handle_join_req()
615 --group->func[req->func].num_pend_reqs; in handle_join_req()
616 send_reply_to_slave(req->func, group, &req->sa_mad, status); in handle_join_req()
625 --group->func[req->func].num_pend_reqs; in handle_join_req()
674 send_reply_to_slave(req->func, group, &req->sa_mad, status); in mlx4_ib_mcg_work_handler()
675 --group->func[req->func].num_pend_reqs; in mlx4_ib_mcg_work_handler()
767 --group->func[req->func].num_pend_reqs; in search_relocate_mgid0_group()
836 INIT_LIST_HEAD(&group->func[i].pending); in acquire_group()
876 list_add_tail(&req->func_list, &group->func[req->func].pending); in queue_req()
952 req->func = slave; in mlx4_ib_mcg_multiplex_handler()
963 if (group->func[slave].num_pend_reqs > MAX_PEND_REQS_PER_FUNC) { in mlx4_ib_mcg_multiplex_handler()
971 ++group->func[slave].num_pend_reqs; in mlx4_ib_mcg_multiplex_handler()
1020 if (group->func[f].state == MCAST_MEMBER) in sysfs_show_group()
1022 f, group->func[f].join_state); in sysfs_show_group()
1171 list_for_each_entry_safe(req, tmp, &group->func[vf].pending, func_list) { in clear_pending_reqs()
1181 --group->func[vf].num_pend_reqs; in clear_pending_reqs()
1189 if (!pend && (!list_empty(&group->func[vf].pending) || group->func[vf].num_pend_reqs)) { in clear_pending_reqs()
1191 list_empty(&group->func[vf].pending), group->func[vf].num_pend_reqs); in clear_pending_reqs()
1200 if (!group->func[slave].join_state) in push_deleteing_req()
1209 if (!list_empty(&group->func[slave].pending)) { in push_deleteing_req()
1210 pend_req = list_entry(group->func[slave].pending.prev, struct mcast_req, group_list); in push_deleteing_req()
1218 req->func = slave; in push_deleteing_req()
1220 ++group->func[slave].num_pend_reqs; in push_deleteing_req()