Lines Matching refs:ss

48 eib_adm_setup_qp(eib_t *ss, int *err)  in eib_adm_setup_qp()  argument
57 ret = ibt_pkey2index(ss->ei_hca_hdl, ss->ei_props->ep_port_num, in eib_adm_setup_qp()
60 EIB_DPRINTF_ERR(ss->ei_instance, "eib_adm_setup_qp: " in eib_adm_setup_qp()
62 "pkey=0x%x, ret=%d", ss->ei_props->ep_port_num, in eib_adm_setup_qp()
72 ss->ei_admin_chan = eib_chan_init(); in eib_adm_setup_qp()
74 chan = ss->ei_admin_chan; in eib_adm_setup_qp()
82 if (eib_adm_setup_cq(ss) != EIB_E_SUCCESS) { in eib_adm_setup_qp()
83 EIB_DPRINTF_ERR(ss->ei_instance, "eib_adm_setup_qp: " in eib_adm_setup_qp()
92 if (eib_adm_setup_ud_channel(ss) != EIB_E_SUCCESS) { in eib_adm_setup_qp()
93 EIB_DPRINTF_ERR(ss->ei_instance, "eib_adm_setup_qp: " in eib_adm_setup_qp()
102 if (eib_chan_post_rx(ss, chan, NULL) != EIB_E_SUCCESS) { in eib_adm_setup_qp()
103 EIB_DPRINTF_ERR(ss->ei_instance, "eib_adm_setup_qp: " in eib_adm_setup_qp()
112 eib_rb_adm_setup_qp(ss); in eib_adm_setup_qp()
120 eib_t *ss = (eib_t *)(void *)arg1; in eib_adm_comp_handler() local
121 eib_chan_t *chan = ss->ei_admin_chan; in eib_adm_comp_handler()
135 EIB_DPRINTF_WARN(ss->ei_instance, "eib_adm_comp_handler: " in eib_adm_comp_handler()
147 eib_adm_err_comp(ss, wqe, wc); in eib_adm_comp_handler()
149 eib_adm_rx_comp(ss, wqe); in eib_adm_comp_handler()
151 eib_adm_tx_comp(ss, wqe); in eib_adm_comp_handler()
160 eib_rb_adm_setup_qp(eib_t *ss) in eib_rb_adm_setup_qp() argument
162 eib_rb_adm_setup_ud_channel(ss); in eib_rb_adm_setup_qp()
164 eib_rb_adm_setup_cq(ss); in eib_rb_adm_setup_qp()
166 eib_chan_fini(ss->ei_admin_chan); in eib_rb_adm_setup_qp()
167 ss->ei_admin_chan = NULL; in eib_rb_adm_setup_qp()
171 eib_adm_setup_cq(eib_t *ss) in eib_adm_setup_cq() argument
173 eib_chan_t *chan = ss->ei_admin_chan; in eib_adm_setup_cq()
185 if (ss->ei_hca_attrs->hca_max_cq_sz < EIB_ADMIN_CQ_SIZE) in eib_adm_setup_cq()
186 cq_attr.cq_size = ss->ei_hca_attrs->hca_max_cq_sz; in eib_adm_setup_cq()
190 ret = ibt_alloc_cq(ss->ei_hca_hdl, &cq_attr, &chan->ch_cq_hdl, &sz); in eib_adm_setup_cq()
192 EIB_DPRINTF_ERR(ss->ei_instance, "eib_adm_setup_cq: " in eib_adm_setup_cq()
208 if ((rv = ddi_intr_add_softint(ss->ei_dip, &ss->ei_admin_si_hdl, in eib_adm_setup_cq()
209 EIB_SOFTPRI_ADM, eib_adm_comp_handler, ss)) != DDI_SUCCESS) { in eib_adm_setup_cq()
210 EIB_DPRINTF_ERR(ss->ei_instance, "eib_adm_setup_cq: " in eib_adm_setup_cq()
218 ibt_set_cq_handler(chan->ch_cq_hdl, eib_adm_comp_intr, ss); in eib_adm_setup_cq()
222 EIB_DPRINTF_ERR(ss->ei_instance, "eib_adm_setup_cq: " in eib_adm_setup_cq()
230 eib_rb_adm_setup_cq(ss); in eib_adm_setup_cq()
235 eib_adm_setup_ud_channel(eib_t *ss) in eib_adm_setup_ud_channel() argument
237 eib_chan_t *chan = ss->ei_admin_chan; in eib_adm_setup_ud_channel()
246 alloc_attr.ud_hca_port_num = ss->ei_props->ep_port_num; in eib_adm_setup_ud_channel()
257 alloc_attr.ud_pd = ss->ei_pd_hdl; in eib_adm_setup_ud_channel()
259 ret = ibt_alloc_ud_channel(ss->ei_hca_hdl, IBT_ACHAN_NO_FLAGS, in eib_adm_setup_ud_channel()
262 EIB_DPRINTF_ERR(ss->ei_instance, "eib_adm_setup_ud_channel: " in eib_adm_setup_ud_channel()
271 EIB_DPRINTF_ERR(ss->ei_instance, "eib_adm_setup_ud_channel: " in eib_adm_setup_ud_channel()
288 eib_rb_adm_setup_ud_channel(ss); in eib_adm_setup_ud_channel()
295 eib_t *ss = arg; in eib_adm_comp_intr() local
296 eib_chan_t *chan = ss->ei_admin_chan; in eib_adm_comp_intr()
299 EIB_DPRINTF_DEBUG(ss->ei_instance, "eib_adm_comp_intr: " in eib_adm_comp_intr()
305 ASSERT(ss->ei_admin_si_hdl != NULL); in eib_adm_comp_intr()
307 (void) ddi_intr_trigger_softint(ss->ei_admin_si_hdl, NULL); in eib_adm_comp_intr()
311 eib_adm_rx_comp(eib_t *ss, eib_wqe_t *wqe) in eib_adm_rx_comp() argument
313 eib_chan_t *chan = ss->ei_admin_chan; in eib_adm_rx_comp()
321 if (eib_fip_parse_login_ack(ss, pkt + EIB_GRH_SZ, &ld) == EIB_E_SUCCESS) in eib_adm_rx_comp()
322 eib_vnic_login_ack(ss, &ld); in eib_adm_rx_comp()
333 eib_rsrc_return_rwqe(ss, wqe, chan); in eib_adm_rx_comp()
337 EIB_DPRINTF_ERR(ss->ei_instance, "eib_adm_rx_comp: " in eib_adm_rx_comp()
339 eib_rsrc_return_rwqe(ss, wqe, chan); in eib_adm_rx_comp()
345 eib_adm_tx_comp(eib_t *ss, eib_wqe_t *wqe) in eib_adm_tx_comp() argument
347 eib_rsrc_return_swqe(ss, wqe, ss->ei_admin_chan); in eib_adm_tx_comp()
352 eib_adm_err_comp(eib_t *ss, eib_wqe_t *wqe, ibt_wc_t *wc) in eib_adm_err_comp() argument
362 EIB_DPRINTF_ERR(ss->ei_instance, "eib_adm_err_comp: " in eib_adm_err_comp()
368 EIB_DPRINTF_ERR(ss->ei_instance, "eib_adm_err_comp: " in eib_adm_err_comp()
379 eib_rsrc_return_rwqe(ss, wqe, ss->ei_admin_chan); in eib_adm_err_comp()
381 eib_rsrc_return_swqe(ss, wqe, ss->ei_admin_chan); in eib_adm_err_comp()
385 eib_rb_adm_setup_cq(eib_t *ss) in eib_rb_adm_setup_cq() argument
387 eib_chan_t *chan = ss->ei_admin_chan; in eib_rb_adm_setup_cq()
402 if (ss->ei_admin_si_hdl) { in eib_rb_adm_setup_cq()
403 (void) ddi_intr_remove_softint(ss->ei_admin_si_hdl); in eib_rb_adm_setup_cq()
404 ss->ei_admin_si_hdl = NULL; in eib_rb_adm_setup_cq()
422 EIB_DPRINTF_WARN(ss->ei_instance, in eib_rb_adm_setup_cq()
431 eib_rb_adm_setup_ud_channel(eib_t *ss) in eib_rb_adm_setup_ud_channel() argument
433 eib_chan_t *chan = ss->ei_admin_chan; in eib_rb_adm_setup_ud_channel()
446 EIB_DPRINTF_WARN(ss->ei_instance, in eib_rb_adm_setup_ud_channel()
473 EIB_DPRINTF_WARN(ss->ei_instance, in eib_rb_adm_setup_ud_channel()