Lines Matching refs:func
106 struct mcast_member func[MAX_VFS]; member
132 int func; member
345 sa_data->scope_join_state |= (group->func[slave].join_state & 0x0f); in send_reply_to_slave()
501 join_state = join_mask & (~group->func[slave].join_state); in join_group()
503 group->func[slave].join_state |= join_state; in join_group()
504 if (group->func[slave].state != MCAST_MEMBER && join_state) { in join_group()
505 group->func[slave].state = MCAST_MEMBER; in join_group()
516 group->func[slave].join_state &= ~leave_state; in leave_group()
517 if (!group->func[slave].join_state) { in leave_group()
518 group->func[slave].state = MCAST_NOT_MEMBER; in leave_group()
526 if (group->func[slave].state != MCAST_MEMBER) in check_leave()
530 if (~group->func[slave].join_state & leave_mask) in check_leave()
553 --group->func[req->func].num_pend_reqs; in mlx4_ib_mcg_timeout_handler()
590 leave_mask = group->func[req->func].join_state; in handle_leave_req()
592 status = check_leave(group, req->func, leave_mask); in handle_leave_req()
594 leave_group(group, req->func, leave_mask); in handle_leave_req()
597 send_reply_to_slave(req->func, group, &req->sa_mad, status); in handle_leave_req()
598 --group->func[req->func].num_pend_reqs; in handle_leave_req()
617 join_group(group, req->func, join_mask); in handle_join_req()
619 --group->func[req->func].num_pend_reqs; in handle_join_req()
620 send_reply_to_slave(req->func, group, &req->sa_mad, status); in handle_join_req()
629 --group->func[req->func].num_pend_reqs; in handle_join_req()
678 send_reply_to_slave(req->func, group, &req->sa_mad, status); in mlx4_ib_mcg_work_handler()
679 --group->func[req->func].num_pend_reqs; in mlx4_ib_mcg_work_handler()
771 --group->func[req->func].num_pend_reqs; in search_relocate_mgid0_group()
840 INIT_LIST_HEAD(&group->func[i].pending); in acquire_group()
880 list_add_tail(&req->func_list, &group->func[req->func].pending); in queue_req()
956 req->func = slave; in mlx4_ib_mcg_multiplex_handler()
967 if (group->func[slave].num_pend_reqs > MAX_PEND_REQS_PER_FUNC) { in mlx4_ib_mcg_multiplex_handler()
975 ++group->func[slave].num_pend_reqs; in mlx4_ib_mcg_multiplex_handler()
1024 if (group->func[f].state == MCAST_MEMBER) in sysfs_show_group()
1026 f, group->func[f].join_state); in sysfs_show_group()
1175 list_for_each_entry_safe(req, tmp, &group->func[vf].pending, func_list) { in clear_pending_reqs()
1185 --group->func[vf].num_pend_reqs; in clear_pending_reqs()
1193 if (!pend && (!list_empty(&group->func[vf].pending) || group->func[vf].num_pend_reqs)) { in clear_pending_reqs()
1195 list_empty(&group->func[vf].pending), group->func[vf].num_pend_reqs); in clear_pending_reqs()
1204 if (!group->func[slave].join_state) in push_deleteing_req()
1213 if (!list_empty(&group->func[slave].pending)) { in push_deleteing_req()
1214 pend_req = list_entry(group->func[slave].pending.prev, struct mcast_req, group_list); in push_deleteing_req()
1222 req->func = slave; in push_deleteing_req()
1224 ++group->func[slave].num_pend_reqs; in push_deleteing_req()