Lines Matching defs:qp

47 static int tavor_qp_reset2init(tavor_state_t *state, tavor_qphdl_t qp,
49 static int tavor_qp_init2init(tavor_state_t *state, tavor_qphdl_t qp,
51 static int tavor_qp_init2rtr(tavor_state_t *state, tavor_qphdl_t qp,
53 static int tavor_qp_rtr2rts(tavor_state_t *state, tavor_qphdl_t qp,
55 static int tavor_qp_rts2rts(tavor_state_t *state, tavor_qphdl_t qp,
57 static int tavor_qp_rts2sqd(tavor_state_t *state, tavor_qphdl_t qp,
59 static int tavor_qp_sqd2rts(tavor_state_t *state, tavor_qphdl_t qp,
61 static int tavor_qp_sqd2sqd(tavor_state_t *state, tavor_qphdl_t qp,
63 static int tavor_qp_sqerr2rts(tavor_state_t *state, tavor_qphdl_t qp,
65 static int tavor_qp_to_error(tavor_state_t *state, tavor_qphdl_t qp);
66 static int tavor_qp_reset2err(tavor_state_t *state, tavor_qphdl_t qp);
82 tavor_qp_modify(tavor_state_t *state, tavor_qphdl_t qp,
106 mutex_enter(&qp->qp_lock);
120 if (!(TAVOR_QP_TYPE_VALID(info_p->qp_trans, qp->qp_serv_type))) {
121 mutex_exit(&qp->qp_lock);
135 * last modified to or queried as - in "qp->qp_state").
160 mutex_exit(&qp->qp_lock);
168 cur_state = qp->qp_state;
183 mutex_exit(&qp->qp_lock);
197 mutex_exit(&qp->qp_lock);
209 status = tavor_qp_reset2init(state, qp, info_p);
211 mutex_exit(&qp->qp_lock);
216 qp->qp_state = TAVOR_QP_INIT;
223 * and return success. The qp->qp_state should
231 mutex_exit(&qp->qp_lock);
242 status = tavor_qp_reset2err(state, qp);
244 mutex_exit(&qp->qp_lock);
249 qp->qp_state = TAVOR_QP_ERR;
253 mutex_exit(&qp->qp_lock);
269 status = tavor_wrid_from_reset_handling(state, qp);
271 if (tavor_qp_to_reset(state, qp) != DDI_SUCCESS) {
274 qp->qp_state = TAVOR_QP_RESET;
276 mutex_exit(&qp->qp_lock);
296 mutex_exit(&qp->qp_lock);
310 mutex_exit(&qp->qp_lock);
322 status = tavor_qp_init2rtr(state, qp, flags, info_p);
324 mutex_exit(&qp->qp_lock);
329 qp->qp_state = TAVOR_QP_RTR;
336 status = tavor_qp_init2init(state, qp, flags, info_p);
338 mutex_exit(&qp->qp_lock);
343 qp->qp_state = TAVOR_QP_INIT;
350 status = tavor_qp_to_reset(state, qp);
352 mutex_exit(&qp->qp_lock);
357 qp->qp_state = TAVOR_QP_RESET;
364 tavor_wrid_to_reset_handling(state, qp);
371 status = tavor_qp_to_error(state, qp);
373 mutex_exit(&qp->qp_lock);
378 qp->qp_state = TAVOR_QP_ERR;
382 mutex_exit(&qp->qp_lock);
404 mutex_exit(&qp->qp_lock);
418 mutex_exit(&qp->qp_lock);
430 status = tavor_qp_rtr2rts(state, qp, flags, info_p);
432 mutex_exit(&qp->qp_lock);
437 qp->qp_state = TAVOR_QP_RTS;
444 status = tavor_qp_to_reset(state, qp);
446 mutex_exit(&qp->qp_lock);
451 qp->qp_state = TAVOR_QP_RESET;
458 tavor_wrid_to_reset_handling(state, qp);
465 status = tavor_qp_to_error(state, qp);
467 mutex_exit(&qp->qp_lock);
472 qp->qp_state = TAVOR_QP_ERR;
476 mutex_exit(&qp->qp_lock);
496 mutex_exit(&qp->qp_lock);
511 status = tavor_qp_rts2rts(state, qp, flags, info_p);
513 mutex_exit(&qp->qp_lock);
518 /* qp->qp_state = TAVOR_QP_RTS; */
525 status = tavor_qp_rts2sqd(state, qp, flags);
527 mutex_exit(&qp->qp_lock);
532 qp->qp_state = TAVOR_QP_SQD;
539 status = tavor_qp_to_reset(state, qp);
541 mutex_exit(&qp->qp_lock);
546 qp->qp_state = TAVOR_QP_RESET;
553 tavor_wrid_to_reset_handling(state, qp);
560 status = tavor_qp_to_error(state, qp);
562 mutex_exit(&qp->qp_lock);
567 qp->qp_state = TAVOR_QP_ERR;
571 mutex_exit(&qp->qp_lock);
589 mutex_exit(&qp->qp_lock);
604 status = tavor_qp_sqerr2rts(state, qp, flags, info_p);
606 mutex_exit(&qp->qp_lock);
611 qp->qp_state = TAVOR_QP_RTS;
618 status = tavor_qp_to_reset(state, qp);
620 mutex_exit(&qp->qp_lock);
625 qp->qp_state = TAVOR_QP_RESET;
632 tavor_wrid_to_reset_handling(state, qp);
639 status = tavor_qp_to_error(state, qp);
641 mutex_exit(&qp->qp_lock);
646 qp->qp_state = TAVOR_QP_ERR;
650 mutex_exit(&qp->qp_lock);
673 mutex_exit(&qp->qp_lock);
689 status = tavor_qp_sqd2sqd(state, qp, flags, info_p);
691 mutex_exit(&qp->qp_lock);
696 qp->qp_state = TAVOR_QP_SQD;
704 if (qp->qp_sqd_still_draining) {
705 mutex_exit(&qp->qp_lock);
715 status = tavor_qp_sqd2rts(state, qp, flags, info_p);
717 mutex_exit(&qp->qp_lock);
722 qp->qp_state = TAVOR_QP_RTS;
729 status = tavor_qp_to_reset(state, qp);
731 mutex_exit(&qp->qp_lock);
736 qp->qp_state = TAVOR_QP_RESET;
743 tavor_wrid_to_reset_handling(state, qp);
750 status = tavor_qp_to_error(state, qp);
752 mutex_exit(&qp->qp_lock);
757 qp->qp_state = TAVOR_QP_ERR;
761 mutex_exit(&qp->qp_lock);
779 status = tavor_qp_to_reset(state, qp);
781 mutex_exit(&qp->qp_lock);
786 qp->qp_state = TAVOR_QP_RESET;
793 tavor_wrid_to_reset_handling(state, qp);
800 * and return success. The qp->qp_state should
804 mutex_exit(&qp->qp_lock);
812 mutex_exit(&qp->qp_lock);
826 mutex_exit(&qp->qp_lock);
833 mutex_exit(&qp->qp_lock);
850 tavor_qp_reset2init(tavor_state_t *state, tavor_qphdl_t qp,
862 ASSERT(MUTEX_HELD(&qp->qp_lock));
867 qpc = &qp->qpc;
872 if (qp->qp_is_special) {
875 qpc->serv_type = qp->qp_serv_type;
879 qpc->sched_q = TAVOR_QP_SCHEDQ_GET(qp->qp_qpnum);
880 if (qp->qp_is_umap) {
881 qpc->usr_page = qp->qp_uarpg;
885 qpc->pd = qp->qp_pdhdl->pd_pdnum;
887 qpc->wqe_lkey = qp->qp_mrhdl->mr_lkey;
888 qpc->ssc = qp->qp_sq_sigtype;
889 qpc->cqn_snd = qp->qp_sq_cqhdl->cq_cqnum;
891 qpc->cqn_rcv = qp->qp_rq_cqhdl->cq_cqnum;
892 qpc->srq_en = qp->qp_srq_en;
894 if (qp->qp_srq_en == TAVOR_QP_SRQ_ENABLED) {
895 qpc->srq_number = qp->qp_srqhdl->srq_srqnum;
903 if (qp->qp_serv_type == TAVOR_QP_UD) {
924 qp->qp_pkeyindx = pkeyindx;
932 } else if (qp->qp_serv_type == TAVOR_QP_RC) {
962 } else if (qp->qp_serv_type == TAVOR_QP_UC) {
1013 status = tavor_cmn_qp_cmd_post(state, RST2INIT_QP, qpc, qp->qp_qpnum,
1034 tavor_qp_init2init(tavor_state_t *state, tavor_qphdl_t qp,
1047 ASSERT(MUTEX_HELD(&qp->qp_lock));
1052 qpc = &qp->qpc;
1059 if (qp->qp_serv_type == TAVOR_QP_UD) {
1091 qp->qp_pkeyindx = pkeyindx;
1111 } else if (qp->qp_serv_type == TAVOR_QP_RC) {
1159 } else if (qp->qp_serv_type == TAVOR_QP_UC) {
1231 status = tavor_cmn_qp_cmd_post(state, INIT2INIT_QP, qpc, qp->qp_qpnum,
1259 tavor_qp_init2rtr(tavor_state_t *state, tavor_qphdl_t qp,
1275 ASSERT(MUTEX_HELD(&qp->qp_lock));
1280 qpc = &qp->qpc;
1287 if (qp->qp_serv_type == TAVOR_QP_UD) {
1299 if (qp->qp_is_special) {
1311 qp->qp_save_mtu = qpc->mtu;
1323 qp->qp_pkeyindx = pkeyindx;
1343 } else if (qp->qp_serv_type == TAVOR_QP_RC) {
1352 TAVOR_ADDRPATH_QP, qp);
1384 qpc->ric = (qp->qp_srq_en == TAVOR_QP_SRQ_ENABLED) ? 1 : 0;
1399 qp->qp_save_mtu = qpc->mtu;
1425 qpc->ra_buff_indx = qp->qp_rdb_ddraddr >> TAVOR_RDB_SIZE_SHIFT;
1463 TAVOR_ADDRPATH_QP, qp);
1512 } else if (qp->qp_serv_type == TAVOR_QP_UC) {
1521 TAVOR_ADDRPATH_QP, qp);
1552 qp->qp_save_mtu = qpc->mtu;
1594 TAVOR_ADDRPATH_QP, qp);
1654 status = tavor_cmn_qp_cmd_post(state, INIT2RTR_QP, qpc, qp->qp_qpnum,
1682 tavor_qp_rtr2rts(tavor_state_t *state, tavor_qphdl_t qp,
1697 ASSERT(MUTEX_HELD(&qp->qp_lock));
1702 qpc = &qp->qpc;
1712 if (qp->qp_serv_type == TAVOR_QP_UD) {
1728 } else if (qp->qp_serv_type == TAVOR_QP_RC) {
1817 TAVOR_ADDRPATH_QP, qp);
1867 } else if (qp->qp_serv_type == TAVOR_QP_UC) {
1920 TAVOR_ADDRPATH_QP, qp);
1980 status = tavor_cmn_qp_cmd_post(state, RTR2RTS_QP, qpc, qp->qp_qpnum,
2008 tavor_qp_rts2rts(tavor_state_t *state, tavor_qphdl_t qp,
2023 ASSERT(MUTEX_HELD(&qp->qp_lock));
2028 qpc = &qp->qpc;
2035 if (qp->qp_serv_type == TAVOR_QP_UD) {
2048 } else if (qp->qp_serv_type == TAVOR_QP_RC) {
2098 TAVOR_ADDRPATH_QP, qp);
2139 } else if (qp->qp_serv_type == TAVOR_QP_UC) {
2183 TAVOR_ADDRPATH_QP, qp);
2243 status = tavor_cmn_qp_cmd_post(state, RTS2RTS_QP, qpc, qp->qp_qpnum,
2271 tavor_qp_rts2sqd(tavor_state_t *state, tavor_qphdl_t qp,
2278 ASSERT(MUTEX_HELD(&qp->qp_lock));
2287 qp->qp_forward_sqd_event = (flags & IBT_CEP_SET_SQD_EVENT) ? 1 : 0;
2297 status = tavor_cmn_qp_cmd_post(state, RTS2SQD_QP, NULL, qp->qp_qpnum,
2320 qp->qp_sqd_still_draining = 1;
2332 tavor_qp_sqd2rts(tavor_state_t *state, tavor_qphdl_t qp,
2347 ASSERT(MUTEX_HELD(&qp->qp_lock));
2352 qpc = &qp->qpc;
2359 if (qp->qp_serv_type == TAVOR_QP_UD) {
2372 } else if (qp->qp_serv_type == TAVOR_QP_RC) {
2412 TAVOR_ADDRPATH_QP, qp);
2463 } else if (qp->qp_serv_type == TAVOR_QP_UC) {
2507 TAVOR_ADDRPATH_QP, qp);
2567 status = tavor_cmn_qp_cmd_post(state, SQD2RTS_QP, qpc, qp->qp_qpnum,
2595 tavor_qp_sqd2sqd(tavor_state_t *state, tavor_qphdl_t qp,
2611 ASSERT(MUTEX_HELD(&qp->qp_lock));
2616 qpc = &qp->qpc;
2623 if (qp->qp_serv_type == TAVOR_QP_UD) {
2636 qp->qp_pkeyindx = pkeyindx;
2656 } else if (qp->qp_serv_type == TAVOR_QP_RC) {
2676 TAVOR_ADDRPATH_QP, qp);
2692 qpc->mtu = qp->qp_save_mtu;
2767 TAVOR_ADDRPATH_QP, qp);
2846 qpc->ra_buff_indx = qp->qp_rdb_ddraddr >>
2893 } else if (qp->qp_serv_type == TAVOR_QP_UC) {
2917 TAVOR_ADDRPATH_QP, qp);
2930 qpc->mtu = qp->qp_save_mtu;
2984 TAVOR_ADDRPATH_QP, qp);
3044 status = tavor_cmn_qp_cmd_post(state, SQD2SQD_QP, qpc, qp->qp_qpnum,
3072 tavor_qp_sqerr2rts(tavor_state_t *state, tavor_qphdl_t qp,
3082 ASSERT(MUTEX_HELD(&qp->qp_lock));
3087 qpc = &qp->qpc;
3094 if (qp->qp_serv_type == TAVOR_QP_UD) {
3107 } else if (qp->qp_serv_type == TAVOR_QP_UC) {
3140 status = tavor_cmn_qp_cmd_post(state, SQERR2RTS_QP, qpc, qp->qp_qpnum,
3168 tavor_qp_to_error(tavor_state_t *state, tavor_qphdl_t qp)
3174 ASSERT(MUTEX_HELD(&qp->qp_lock));
3184 status = tavor_cmn_qp_cmd_post(state, TOERR_QP, NULL, qp->qp_qpnum,
3205 tavor_qp_to_reset(tavor_state_t *state, tavor_qphdl_t qp)
3212 ASSERT(MUTEX_HELD(&qp->qp_lock));
3217 qpc = &qp->qpc;
3227 status = tavor_cmn_qp_cmd_post(state, TORST_QP, qpc, qp->qp_qpnum,
3248 tavor_qp_reset2err(tavor_state_t *state, tavor_qphdl_t qp)
3255 ASSERT(MUTEX_HELD(&qp->qp_lock));
3271 qpc = &qp->qpc;
3276 if (qp->qp_is_special) {
3279 qpc->serv_type = qp->qp_serv_type;
3283 qpc->sched_q = TAVOR_QP_SCHEDQ_GET(qp->qp_qpnum);
3284 if (qp->qp_is_umap) {
3285 qpc->usr_page = qp->qp_uarpg;
3289 qpc->pd = qp->qp_pdhdl->pd_pdnum;
3291 qpc->wqe_lkey = qp->qp_mrhdl->mr_lkey;
3292 qpc->ssc = qp->qp_sq_sigtype;
3293 qpc->cqn_snd = qp->qp_sq_cqhdl->cq_cqnum;
3295 qpc->cqn_rcv = qp->qp_rq_cqhdl->cq_cqnum;
3296 qpc->srq_en = qp->qp_srq_en;
3298 if (qp->qp_srq_en == TAVOR_QP_SRQ_ENABLED) {
3299 qpc->srq_number = qp->qp_srqhdl->srq_srqnum;
3307 if (qp->qp_serv_type == TAVOR_QP_UD) {
3313 } else if (qp->qp_serv_type == TAVOR_QP_RC) {
3321 } else if (qp->qp_serv_type == TAVOR_QP_UC) {
3348 status = tavor_cmn_qp_cmd_post(state, RST2INIT_QP, qpc, qp->qp_qpnum,
3368 status = tavor_cmn_qp_cmd_post(state, TOERR_QP, NULL, qp->qp_qpnum,
3373 if (tavor_qp_to_reset(state, qp) != DDI_SUCCESS) {