Lines Matching refs: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()
395 static inline void smc_wr_rx_demultiplex(struct ib_wc *wc) in smc_wr_rx_demultiplex() argument
397 struct smc_link *link = (struct smc_link *)wc->qp->qp_context; in smc_wr_rx_demultiplex()
403 if (wc->byte_len < sizeof(*wr_rx)) in smc_wr_rx_demultiplex()
405 temp_wr_id = wc->wr_id; in smc_wr_rx_demultiplex()
410 handler->handler(wc, wr_rx); in smc_wr_rx_demultiplex()
414 static inline void smc_wr_rx_process_cqes(struct ib_wc wc[], int num) in smc_wr_rx_process_cqes() argument
420 link = wc[i].qp->qp_context; in smc_wr_rx_process_cqes()
421 if (wc[i].status == IB_WC_SUCCESS) { in smc_wr_rx_process_cqes()
423 smc_wr_rx_demultiplex(&wc[i]); in smc_wr_rx_process_cqes()
427 switch (wc[i].status) { in smc_wr_rx_process_cqes()
444 struct ib_wc wc[SMC_WR_MAX_POLL_CQE]; in smc_wr_rx_tasklet_fn() local
451 memset(&wc, 0, sizeof(wc)); in smc_wr_rx_tasklet_fn()
452 rc = ib_poll_cq(dev->roce_cq_recv, SMC_WR_MAX_POLL_CQE, wc); in smc_wr_rx_tasklet_fn()
460 smc_wr_rx_process_cqes(&wc[0], rc); in smc_wr_rx_tasklet_fn()