Lines Matching defs:cip

41 static void ibmf_i_populate_ud_dest_list(ibmf_ci_t *cip, int kmflag);
52 ibmf_i_init_ud_dest(ibmf_ci_t *cip)
55 IBMF_TNF_TRACE, "", "ibmf_i_init_ud_dest() enter, cip = %p\n",
56 tnf_opaque, cip, cip);
59 mutex_init(&cip->ci_ud_dest_list_mutex, NULL, MUTEX_DRIVER, NULL);
62 ibmf_i_pop_ud_dest_thread(cip);
73 ibmf_i_fini_ud_dest(ibmf_ci_t *cip)
76 IBMF_TNF_TRACE, "", "ibmf_i_fini_ud_dest() enter, cip = %p\n",
77 tnf_opaque, cip, cip);
80 ibmf_i_clean_ud_dest_list(cip, B_TRUE);
91 ibmf_i_get_ud_dest(ibmf_ci_t *cip)
96 IBMF_TNF_TRACE, "", "ibmf_i_get_ud_dest() enter, cip = %p\n",
97 tnf_opaque, cip, cip);
99 mutex_enter(&cip->ci_ud_dest_list_mutex);
100 ibmf_ud_dest = cip->ci_ud_dest_list_head;
102 cip->ci_ud_dest_list_head = ibmf_ud_dest->ud_next;
103 cip->ci_ud_dest_list_count--;
105 mutex_exit(&cip->ci_ud_dest_list_mutex);
117 ibmf_i_put_ud_dest(ibmf_ci_t *cip, ibmf_ud_dest_t *ud_dest)
120 IBMF_TNF_TRACE, "", "ibmf_i_put_ud_dest() enter, cip = %p, "
121 "ud_dest = %p\n", tnf_opaque, cip, cip,
124 mutex_enter(&cip->ci_ud_dest_list_mutex);
125 cip->ci_ud_dest_list_count++;
126 ud_dest->ud_next = cip->ci_ud_dest_list_head;
127 cip->ci_ud_dest_list_head = ud_dest;
128 mutex_exit(&cip->ci_ud_dest_list_mutex);
131 IBMF_TNF_TRACE, "", "ibmf_i_put_ud_dest() exit, cip = %p\n",
132 tnf_opaque, cip, cip);
146 ibmf_i_populate_ud_dest_list(ibmf_ci_t *cip, int kmflag)
155 "ibmf_i_populate_ud_dest_list() enter, cip = %p, kmflag = %d \n",
156 tnf_opaque, cip, cip, tnf_int, kmflag, kmflag);
175 mutex_enter(&cip->ci_ud_dest_list_mutex);
176 count = cip->ci_ud_dest_list_count;
180 mutex_exit(&cip->ci_ud_dest_list_mutex);
202 mutex_exit(&cip->ci_ud_dest_list_mutex);
204 status = ibt_alloc_ah(cip->ci_ci_handle, ud_dest_flags,
205 cip->ci_pd, &adds_vect, &ibmf_ud_dest->ud_dest.ud_ah);
220 mutex_enter(&cip->ci_ud_dest_list_mutex);
222 if (cip->ci_ud_dest_list_head != NULL)
223 ibmf_ud_dest->ud_next = cip->ci_ud_dest_list_head;
227 cip->ci_ud_dest_list_head = ibmf_ud_dest;
228 cip->ci_ud_dest_list_count++;
234 count = cip->ci_ud_dest_list_count;
238 mutex_exit(&cip->ci_ud_dest_list_mutex);
252 ibmf_i_clean_ud_dest_list(ibmf_ci_t *cip, boolean_t all)
261 "cip = %p, all = %d\n", tnf_opaque, cip, cip,
264 mutex_enter(&cip->ci_ud_dest_list_mutex);
268 count = cip->ci_ud_dest_list_count;
269 } else if (cip->ci_ud_dest_list_count > IBMF_UD_DEST_HI_WATER_MARK) {
270 count = cip->ci_ud_dest_list_count -
276 ibmf_ud_dest = cip->ci_ud_dest_list_head;
280 cip->ci_ud_dest_list_head = ibmf_ud_dest->ud_next;
281 cip->ci_ud_dest_list_count--;
282 mutex_exit(&cip->ci_ud_dest_list_mutex);
285 status = ibt_free_ah(cip->ci_ci_handle, ud_dest->ud_ah);
302 mutex_enter(&cip->ci_ud_dest_list_mutex);
306 count = cip->ci_ud_dest_list_count;
307 } else if (cip->ci_ud_dest_list_count >
309 count = cip->ci_ud_dest_list_count -
315 mutex_exit(&cip->ci_ud_dest_list_mutex);
330 ibmf_ci_t *cip;
347 cip = clientp->ic_myci;
352 mutex_enter(&cip->ci_ud_dest_list_mutex);
353 if (cip->ci_ud_dest_list_count < IBMF_UD_DEST_LO_WATER_MARK) {
354 ret = ibmf_ud_dest_tq_disp(cip);
363 mutex_exit(&cip->ci_ud_dest_list_mutex);
419 ibmf_ud_dest = ibmf_i_get_ud_dest(cip);
441 status = ibt_modify_ah(cip->ci_ci_handle, ud_dest->ud_ah, &adds_vec);
498 ibmf_ci_t *cip = (ibmf_ci_t *)argp;
500 ibmf_i_populate_ud_dest_list(cip, KM_SLEEP);
510 ibmf_ud_dest_tq_disp(ibmf_ci_t *cip)
513 ibmf_i_pop_ud_dest_thread, cip, TQ_NOSLEEP));