Lines Matching defs:ss

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