ibt_wc_t
(*DAPL_CQ_POLL)(ib_cq_handle_t, ibt_wc_t *, uint_t, uint_t *);
typedef DAT_RETURN (*DAPL_CQ_POLL_ONE)(ib_cq_handle_t, ibt_wc_t *);
dapli_arbel_cq_poll(ib_cq_handle_t cq, ibt_wc_t *wc_p, uint_t num_wc,
dapli_arbel_cq_poll_one(ib_cq_handle_t cq, ibt_wc_t *wc_p)
ibt_wc_t *wc)
ibt_wc_t *wc)
ibt_wc_t *);
ibt_wc_t *);
dapli_hermon_cq_poll(ib_cq_handle_t cq, ibt_wc_t *wc_p, uint_t num_wc,
dapli_hermon_cq_poll_one(ib_cq_handle_t cq, ibt_wc_t *wc_p)
ibt_wc_t *wc)
ibt_wc_t *wc)
static int dapli_hermon_cq_cqe_consume(ib_cq_handle_t, uint32_t *, ibt_wc_t *);
ibt_wc_t *);
ibt_wc_t *wc)
ibt_wc_t *);
ibt_wc_t *);
dapli_tavor_cq_poll(ib_cq_handle_t cq, ibt_wc_t *wc_p, uint_t num_wc,
dapli_tavor_cq_poll_one(ib_cq_handle_t cq, ibt_wc_t *wc_p)
ibt_wc_t *wc)
typedef ibt_wc_t ib_work_completion_t;
ibt_wc_t wc;
ibt_wc_t wc[SRPT_SEND_WC_POLL_SIZE];
ibt_wc_t *wcp;
ibt_wc_t wc[SRPT_RECV_WC_POLL_SIZE];
ibt_wc_t *wcp;
ibt_wc_t *, uint_t, uint_t *);
hermon_ci_poll_cq(ibc_hca_hdl_t hca, ibc_cq_hdl_t cq, ibt_wc_t *wc_p,
hermon_hw_cqe_t *cqe, ibt_wc_t *wc)
hermon_hw_cqe_t *cqe, ibt_wc_t *wc)
hermon_hw_cqe_t *cqe, ibt_wc_t *wc);
hermon_hw_cqe_t *cqe, ibt_wc_t *wc);
hermon_cq_poll(hermon_state_t *state, hermon_cqhdl_t cq, ibt_wc_t *wc_p,
ibt_wc_t *, uint_t, uint_t *);
tavor_ci_poll_cq(ibc_hca_hdl_t hca, ibc_cq_hdl_t cq, ibt_wc_t *wc_p,
tavor_hw_cqe_t *cqe, ibt_wc_t *wc)
tavor_hw_cqe_t *cqe, ibt_wc_t *wc)
tavor_hw_cqe_t *cqe, ibt_wc_t *wc);
tavor_hw_cqe_t *cqe, ibt_wc_t *wc);
tavor_cq_poll(tavor_state_t *state, tavor_cqhdl_t cq, ibt_wc_t *wc_p,
ibt_wc_t *wc;
chan->ch_wc = kmem_zalloc(sizeof (ibt_wc_t) * sz, KM_SLEEP);
eib_adm_err_comp(eib_t *ss, eib_wqe_t *wqe, ibt_wc_t *wc)
kmem_free(chan->ch_wc, sizeof (ibt_wc_t) * chan->ch_cq_sz);
static void eib_adm_err_comp(eib_t *, eib_wqe_t *, ibt_wc_t *);
chan->ch_wc = kmem_zalloc(sizeof (ibt_wc_t) * sz, KM_SLEEP);
eib_ctl_err_comp(eib_vnic_t *vnic, eib_wqe_t *wqe, ibt_wc_t *wc)
kmem_free(chan->ch_wc, sizeof (ibt_wc_t) * chan->ch_cq_sz);
static void eib_ctl_err_comp(eib_vnic_t *, eib_wqe_t *, ibt_wc_t *);
ibt_wc_t *wc;
eib_data_rx_comp(eib_vnic_t *vnic, eib_wqe_t *wqe, ibt_wc_t *wc)
ibt_wc_t *wc;
eib_data_err_comp(eib_vnic_t *vnic, eib_wqe_t *wqe, ibt_wc_t *wc)
sizeof (ibt_wc_t) * chan->ch_rcv_cq_sz);
kmem_free(chan->ch_wc, sizeof (ibt_wc_t) * chan->ch_cq_sz);
ibt_wc_t *wc;
static mblk_t *eib_data_rx_comp(eib_vnic_t *, eib_wqe_t *, ibt_wc_t *);
static void eib_data_err_comp(eib_vnic_t *, eib_wqe_t *, ibt_wc_t *);
chan->ch_wc = kmem_zalloc(sizeof (ibt_wc_t) * snd_sz, KM_SLEEP);
chan->ch_rcv_wc = kmem_zalloc(sizeof (ibt_wc_t) * rcv_sz, KM_SLEEP);
static void eibnx_process_rx(eibnx_thr_info_t *, ibt_wc_t *, eibnx_wqe_t *);
ibt_wc_t *wc;
eibnx_process_rx(eibnx_thr_info_t *info, ibt_wc_t *wc, eibnx_wqe_t *wqe)
info->ti_wc = kmem_zalloc(sizeof (ibt_wc_t) * sz, KM_SLEEP);
kmem_free(info->ti_wc, sizeof (ibt_wc_t) * info->ti_cq_sz);
ibt_wc_t *wc, uint8_t *recv_buf)
eibnx_gw_info_t *new_gwi, ibt_wc_t *wc, uint8_t *recv_buf,
static mblk_t *ibd_process_rx(ibd_state_t *, ibd_rwqe_t *, ibt_wc_t *);
state->id_rxwcs = kmem_alloc(sizeof (ibt_wc_t) *
kmem_free(state->id_rxwcs, sizeof (ibt_wc_t) *
state->id_txwcs = kmem_alloc(sizeof (ibt_wc_t) *
sizeof (ibt_wc_t) * state->id_txwcs_size);
sizeof (ibt_wc_t) * state->id_rxwcs_size);
ibt_wc_t *wcs = state->id_txwcs;
ibt_wc_t *wc;
ibt_wc_t *wcs = state->id_rxwcs;
ibt_wc_t *wc;
ibd_process_rx(ibd_state_t *state, ibd_rwqe_t *rwqe, ibt_wc_t *wc)
static void ibd_rc_process_rx(ibd_rc_chan_t *, ibd_rwqe_t *, ibt_wc_t *);
ibd_rc_process_rx(ibd_rc_chan_t *chan, ibd_rwqe_t *rwqe, ibt_wc_t *wc)
ibt_wc_t *wc, *wcs;
ibt_wc_t *wc, *wcs;
ibt_wc_t *, &wc[i], ibt_wc_status_t, wc[i].wc_status);
buf_wc, sizeof (ibt_wc_t));
sizeof (ibt_wc_t));
ibt_wc_t wc;
bzero(&wc, sizeof (ibt_wc_t));
ibt_wc_t *, &wc, ibt_wc_status_t, wc.wc_status);
ibt_wc_t wc[ISER_IB_SCQ_POLL_MAX];
set_wc(ibt_wc_t *ibt_wc, struct ib_wc *wc)
ibt_wc_t ibt_wc;
bzero(&ibt_wc, sizeof (ibt_wc_t));
ibt_wc_t *completions;
uverbs_convert_wc(uverbs_uctxt_uobj_t *uctxt, ibt_wc_t *ibt_wc,
completions = (ibt_wc_t *)kmem_zalloc(sizeof (ibt_wc_t) * cmd.ne,
kmem_free((void*)completions, sizeof (ibt_wc_t) * cmd.ne);
kmem_free((void *)completions, sizeof (ibt_wc_t) * cmd.ne);
ibt_wc_t wc[RDS_NUM_DATA_SEND_WCS];
ibt_wc_t wc;
bzero(&wc, sizeof (ibt_wc_t));
ibt_wc_t wc;
bzero(&wc, sizeof (ibt_wc_t));
ibt_wc_t wc;
ibt_wc_t wc[RDSV3_IB_WC_POLL_SIZE];
rdsv3_ib_recv_cqe_handler(struct rdsv3_ib_connection *ic, ibt_wc_t *wc,
rdsv3_ib_send_cqe_handler(struct rdsv3_ib_connection *ic, ibt_wc_t *wc)
ib_qkey_t qkey, ibt_wc_t *wc, ib_vaddr_t recv_buf)
ibt_poll_cq(ibt_cq_hdl_t ibt_cq, ibt_wc_t *work_completions, uint_t num_wc,
ibt_wc_t cqe;
static void ibmf_i_process_completion(ibmf_ci_t *cip, ibt_wc_t *wcp);
ibmf_i_process_completion(ibmf_ci_t *cip, ibt_wc_t *wcp)
ibmf_i_dump_wcp(ibmf_ci_t *cip, ibt_wc_t *wcp, ibmf_recv_wqe_t *recv_wqep)
ibt_wc_t *wcp = &recv_wqep->recv_wc;
ibt_wc_t *wcp;
ibmf_i_handle_recv_completion(ibmf_ci_t *cip, ibt_wc_t *wcp)
ibmf_i_handle_send_completion(ibmf_ci_t *cip, ibt_wc_t *wcp)
ibt_wc_t wc;
ibt_wc_t wc;
ibt_wc_t wc;
ibt_wc_t wc;
int hermon_cq_poll(hermon_state_t *state, hermon_cqhdl_t cqhdl, ibt_wc_t *wc_p,
ibt_wc_t hlc_wc;
int tavor_cq_poll(tavor_state_t *state, tavor_cqhdl_t cqhdl, ibt_wc_t *wc_p,
ibt_wc_t tlc_wc;
ibt_wc_t *ch_wc;
ibt_wc_t *ch_rcv_wc;
ibt_wc_t *ti_wc;
ibt_wc_t *, uint8_t *);
eibnx_gw_info_t *, ibt_wc_t *, uint8_t *, boolean_t *);
ibt_wc_t tx_wc[IBD_RC_MAX_CQ_WC];
ibt_wc_t rx_wc[IBD_RC_MAX_CQ_WC];
ibt_wc_t *id_txwcs;
ibt_wc_t *id_rxwcs;
ibt_wc_t buf_wc; /* DEBUG, copy of wc from completion */
void rdsv3_ib_recv_cqe_handler(struct rdsv3_ib_connection *ic, ibt_wc_t *wc,
void rdsv3_ib_send_cqe_handler(struct rdsv3_ib_connection *ic, ibt_wc_t *wc);
ibt_wc_t *wc_p, uint_t num_wc, uint_t *num_polled);
ibt_ud_dest_hdl_t ud_dest, ib_qkey_t qkey, ibt_wc_t *wc,
ibt_status_t ibt_poll_cq(ibt_cq_hdl_t ibt_cq, ibt_wc_t *work_completions,
ibt_wc_t recv_wc; /* corresponding cqe */
void ibmf_i_dump_wcp(ibmf_ci_t *cip, ibt_wc_t *wcp, ibmf_recv_wqe_t *recv_wqep);
void ibmf_i_handle_send_completion(ibmf_ci_t *cip, ibt_wc_t *wcp);
void ibmf_i_handle_recv_completion(ibmf_ci_t *cip, ibt_wc_t *wcp);