Lines Matching refs:srq

641 		       struct ibv_srq *srq, struct ibv_srq_init_attr *attr,  in ibv_cmd_create_srq()  argument
646 cmd->user_handle = (uintptr_t) srq; in ibv_cmd_create_srq()
657 srq->handle = resp->srq_handle; in ibv_cmd_create_srq()
658 srq->context = pd->context; in ibv_cmd_create_srq()
676 struct verbs_srq *srq, int vsrq_sz, in ibv_cmd_create_srq_ex() argument
692 cmd->user_handle = (uintptr_t) srq; in ibv_cmd_create_srq_ex()
709 ret = pthread_mutex_init(&srq->srq.mutex, NULL); in ibv_cmd_create_srq_ex()
712 ret = pthread_cond_init(&srq->srq.cond, NULL); in ibv_cmd_create_srq_ex()
723 srq->srq.handle = resp->srq_handle; in ibv_cmd_create_srq_ex()
724 srq->srq.context = context; in ibv_cmd_create_srq_ex()
725 srq->srq.srq_context = attr_ex->srq_context; in ibv_cmd_create_srq_ex()
726 srq->srq.pd = attr_ex->pd; in ibv_cmd_create_srq_ex()
727 srq->srq.events_completed = 0; in ibv_cmd_create_srq_ex()
734 srq->comp_mask = IBV_SRQ_INIT_ATTR_TYPE; in ibv_cmd_create_srq_ex()
735 srq->srq_type = (attr_ex->comp_mask & IBV_SRQ_INIT_ATTR_TYPE) ? in ibv_cmd_create_srq_ex()
737 if (srq->srq_type == IBV_SRQT_XRC) { in ibv_cmd_create_srq_ex()
738 srq->comp_mask |= VERBS_SRQ_NUM; in ibv_cmd_create_srq_ex()
739 srq->srq_num = resp->srqn; in ibv_cmd_create_srq_ex()
742 srq->comp_mask |= VERBS_SRQ_XRCD; in ibv_cmd_create_srq_ex()
743 srq->xrcd = vxrcd; in ibv_cmd_create_srq_ex()
746 srq->comp_mask |= VERBS_SRQ_CQ; in ibv_cmd_create_srq_ex()
747 srq->cq = attr_ex->cq; in ibv_cmd_create_srq_ex()
756 pthread_cond_destroy(&srq->srq.cond); in ibv_cmd_create_srq_ex()
758 pthread_mutex_destroy(&srq->srq.mutex); in ibv_cmd_create_srq_ex()
764 static int ibv_cmd_modify_srq_v3(struct ibv_srq *srq, in ibv_cmd_modify_srq_v3() argument
779 cmd->srq_handle = srq->handle; in ibv_cmd_modify_srq_v3()
786 if (write(srq->context->cmd_fd, cmd, cmd_size) != cmd_size) in ibv_cmd_modify_srq_v3()
792 int ibv_cmd_modify_srq(struct ibv_srq *srq, in ibv_cmd_modify_srq() argument
798 return ibv_cmd_modify_srq_v3(srq, srq_attr, srq_attr_mask, in ibv_cmd_modify_srq()
803 cmd->srq_handle = srq->handle; in ibv_cmd_modify_srq()
808 if (write(srq->context->cmd_fd, cmd, cmd_size) != cmd_size) in ibv_cmd_modify_srq()
814 int ibv_cmd_query_srq(struct ibv_srq *srq, struct ibv_srq_attr *srq_attr, in ibv_cmd_query_srq() argument
820 cmd->srq_handle = srq->handle; in ibv_cmd_query_srq()
823 if (write(srq->context->cmd_fd, cmd, cmd_size) != cmd_size) in ibv_cmd_query_srq()
835 int ibv_cmd_destroy_srq(struct ibv_srq *srq) in ibv_cmd_destroy_srq() argument
841 cmd.srq_handle = srq->handle; in ibv_cmd_destroy_srq()
844 if (write(srq->context->cmd_fd, &cmd, sizeof cmd) != sizeof cmd) in ibv_cmd_destroy_srq()
849 pthread_mutex_lock(&srq->mutex); in ibv_cmd_destroy_srq()
850 while (srq->events_completed != resp.events_reported) in ibv_cmd_destroy_srq()
851 pthread_cond_wait(&srq->cond, &srq->mutex); in ibv_cmd_destroy_srq()
852 pthread_mutex_unlock(&srq->mutex); in ibv_cmd_destroy_srq()
854 pthread_cond_destroy(&srq->cond); in ibv_cmd_destroy_srq()
855 pthread_mutex_destroy(&srq->mutex); in ibv_cmd_destroy_srq()
877 cmd->recv_cq_handle || qp_attr->srq) in create_qp_ex_common()
888 cmd->srq_handle = qp_attr->srq ? qp_attr->srq->handle : in create_qp_ex_common()
901 cmd->is_srq = !!qp_attr->srq; in create_qp_ex_common()
954 qp->qp.srq = qp_attr->srq; in create_qp_handle_resp_common()
1111 cmd->srq_handle = attr->srq ? attr->srq->handle : 0; in ibv_cmd_create_qp()
1119 cmd->is_srq = !!attr->srq; in ibv_cmd_create_qp()
1203 qp->qp.srq = NULL; in ibv_cmd_open_qp()
1301 init_attr->srq = qp->srq; in ibv_cmd_query_qp()
1600 int ibv_cmd_post_srq_recv(struct ibv_srq *srq, struct ibv_recv_wr *wr, in ibv_cmd_post_srq_recv() argument
1622 cmd->srq_handle = srq->handle; in ibv_cmd_post_srq_recv()
1644 if (write(srq->context->cmd_fd, cmd, cmd_size) != cmd_size) in ibv_cmd_post_srq_recv()