Lines Matching refs:wd

1008 	struct send_wid	*wd;  in rib_clnt_scq_handler()  local
1030 wd = (struct send_wid *)(uintptr_t)wc.wc_id; in rib_clnt_scq_handler()
1031 qp = wd->qp; in rib_clnt_scq_handler()
1034 mutex_enter(&wd->sendwait_lock); in rib_clnt_scq_handler()
1037 wd->status = RDMA_SUCCESS; in rib_clnt_scq_handler()
1060 wd->status = RDMA_FAILED; in rib_clnt_scq_handler()
1068 if (wd->cv_sig == 1) { in rib_clnt_scq_handler()
1072 cv_signal(&wd->wait_cv); in rib_clnt_scq_handler()
1073 mutex_exit(&wd->sendwait_lock); in rib_clnt_scq_handler()
1079 for (i = 0; i < wd->nsbufs; i++) { in rib_clnt_scq_handler()
1080 rib_rbuf_free(qptoc(wd->qp), in rib_clnt_scq_handler()
1082 (void *)(uintptr_t)wd->sbufaddr[i]); in rib_clnt_scq_handler()
1088 mutex_exit(&wd->sendwait_lock); in rib_clnt_scq_handler()
1089 (void) rib_free_sendwait(wd); in rib_clnt_scq_handler()
1101 struct send_wid *wd; in rib_svc_scq_handler() local
1123 wd = (struct send_wid *)(uintptr_t)wc.wc_id; in rib_svc_scq_handler()
1124 qp = wd->qp; in rib_svc_scq_handler()
1126 mutex_enter(&wd->sendwait_lock); in rib_svc_scq_handler()
1130 wd->status = RDMA_SUCCESS; in rib_svc_scq_handler()
1138 wd->status = RDMA_FAILED; in rib_svc_scq_handler()
1146 if (wd->cv_sig == 1) { in rib_svc_scq_handler()
1150 cv_signal(&wd->wait_cv); in rib_svc_scq_handler()
1151 mutex_exit(&wd->sendwait_lock); in rib_svc_scq_handler()
1157 for (i = 0; i < wd->nsbufs; i++) { in rib_svc_scq_handler()
1158 rib_rbuf_free(qptoc(wd->qp), in rib_svc_scq_handler()
1160 (void *)(uintptr_t)wd->sbufaddr[i]); in rib_svc_scq_handler()
1166 mutex_exit(&wd->sendwait_lock); in rib_svc_scq_handler()
1167 (void) rib_free_sendwait(wd); in rib_svc_scq_handler()
2178 rib_sendwait(rib_qp_t *qp, struct send_wid *wd) in rib_sendwait() argument
2187 ASSERT(wd != NULL); in rib_sendwait()
2188 mutex_enter(&wd->sendwait_lock); in rib_sendwait()
2189 if (wd->status == (uint_t)SEND_WAIT) { in rib_sendwait()
2194 while ((cv_wait_ret = cv_timedwait(&wd->wait_cv, in rib_sendwait()
2195 &wd->sendwait_lock, timout)) > 0 && in rib_sendwait()
2196 wd->status == (uint_t)SEND_WAIT) in rib_sendwait()
2202 wd->cv_sig = 0; /* no signal needed */ in rib_sendwait()
2209 while ((cv_wait_ret = cv_timedwait_sig(&wd->wait_cv, in rib_sendwait()
2210 &wd->sendwait_lock, timout)) > 0 && in rib_sendwait()
2211 wd->status == (uint_t)SEND_WAIT) in rib_sendwait()
2217 wd->cv_sig = 0; /* no signal needed */ in rib_sendwait()
2223 wd->cv_sig = 0; /* no signal needed */ in rib_sendwait()
2232 if (wd->status != (uint_t)SEND_WAIT) { in rib_sendwait()
2234 if (wd->status != RDMA_SUCCESS) { in rib_sendwait()
2235 switch (wd->status) { in rib_sendwait()
2244 for (i = 0; i < wd->nsbufs; i++) { in rib_sendwait()
2246 (void *)(uintptr_t)wd->sbufaddr[i]); in rib_sendwait()
2251 mutex_exit(&wd->sendwait_lock); in rib_sendwait()
2252 (void) rib_free_sendwait(wd); in rib_sendwait()
2255 mutex_exit(&wd->sendwait_lock); in rib_sendwait()
2263 struct send_wid *wd; in rib_init_sendwait() local
2265 wd = kmem_zalloc(sizeof (struct send_wid), KM_SLEEP); in rib_init_sendwait()
2266 wd->xid = xid; in rib_init_sendwait()
2267 wd->cv_sig = cv_sig; in rib_init_sendwait()
2268 wd->qp = qp; in rib_init_sendwait()
2269 cv_init(&wd->wait_cv, NULL, CV_DEFAULT, NULL); in rib_init_sendwait()
2270 mutex_init(&wd->sendwait_lock, NULL, MUTEX_DRIVER, NULL); in rib_init_sendwait()
2271 wd->status = (uint_t)SEND_WAIT; in rib_init_sendwait()
2273 return (wd); in rib_init_sendwait()
2407 caddr_t wd; in rib_send() local
2410 ret = rib_send_and_wait(conn, cl, msgid, 1, 1, &wd); in rib_send()