Lines Matching full:wc

85 static inline void smc_wr_tx_process_cqe(struct ib_wc *wc)  in smc_wr_tx_process_cqe()  argument
92 link = wc->qp->qp_context; in smc_wr_tx_process_cqe()
94 if (wc->opcode == IB_WC_REG_MR) { in smc_wr_tx_process_cqe()
95 if (wc->status) in smc_wr_tx_process_cqe()
103 pnd_snd_idx = smc_wr_tx_find_pending_index(link, wc->wr_id); in smc_wr_tx_process_cqe()
106 link->wr_tx_pends[pnd_snd_idx].wc_status = wc->status; in smc_wr_tx_process_cqe()
117 if (wc->status) { in smc_wr_tx_process_cqe()
130 pnd_snd.handler(&pnd_snd.priv, link, wc->status); in smc_wr_tx_process_cqe()
137 struct ib_wc wc[SMC_WR_MAX_POLL_CQE]; in smc_wr_tx_tasklet_fn() local
144 memset(&wc, 0, sizeof(wc)); in smc_wr_tx_tasklet_fn()
145 rc = ib_poll_cq(dev->roce_cq_send, SMC_WR_MAX_POLL_CQE, wc); in smc_wr_tx_tasklet_fn()
154 smc_wr_tx_process_cqe(&wc[i]); in smc_wr_tx_tasklet_fn()
392 static inline void smc_wr_rx_demultiplex(struct ib_wc *wc) in smc_wr_rx_demultiplex() argument
394 struct smc_link *link = (struct smc_link *)wc->qp->qp_context; in smc_wr_rx_demultiplex()
400 if (wc->byte_len < sizeof(*wr_rx)) in smc_wr_rx_demultiplex()
402 temp_wr_id = wc->wr_id; in smc_wr_rx_demultiplex()
407 handler->handler(wc, wr_rx); in smc_wr_rx_demultiplex()
411 static inline void smc_wr_rx_process_cqes(struct ib_wc wc[], int num) in smc_wr_rx_process_cqes() argument
417 link = wc[i].qp->qp_context; in smc_wr_rx_process_cqes()
418 if (wc[i].status == IB_WC_SUCCESS) { in smc_wr_rx_process_cqes()
420 smc_wr_rx_demultiplex(&wc[i]); in smc_wr_rx_process_cqes()
424 switch (wc[i].status) { in smc_wr_rx_process_cqes()
441 struct ib_wc wc[SMC_WR_MAX_POLL_CQE]; in smc_wr_rx_tasklet_fn() local
448 memset(&wc, 0, sizeof(wc)); in smc_wr_rx_tasklet_fn()
449 rc = ib_poll_cq(dev->roce_cq_recv, SMC_WR_MAX_POLL_CQE, wc); in smc_wr_rx_tasklet_fn()
457 smc_wr_rx_process_cqes(&wc[0], rc); in smc_wr_rx_tasklet_fn()