Lines Matching refs:wc
64 static inline void smc_wr_tx_process_cqe(struct ib_wc *wc) in smc_wr_tx_process_cqe() argument
71 link = wc->qp->qp_context; in smc_wr_tx_process_cqe()
73 if (wc->opcode == IB_WC_REG_MR) { in smc_wr_tx_process_cqe()
74 if (wc->status) in smc_wr_tx_process_cqe()
82 pnd_snd_idx = smc_wr_tx_find_pending_index(link, wc->wr_id); in smc_wr_tx_process_cqe()
85 link->wr_tx_pends[pnd_snd_idx].wc_status = wc->status; in smc_wr_tx_process_cqe()
94 if (wc->status) { in smc_wr_tx_process_cqe()
107 pnd_snd.handler(&pnd_snd.priv, link, wc->status); in smc_wr_tx_process_cqe()
114 struct ib_wc wc[SMC_WR_MAX_POLL_CQE]; in smc_wr_tx_tasklet_fn() local
121 memset(&wc, 0, sizeof(wc)); in smc_wr_tx_tasklet_fn()
122 rc = ib_poll_cq(dev->roce_cq_send, SMC_WR_MAX_POLL_CQE, wc); in smc_wr_tx_tasklet_fn()
131 smc_wr_tx_process_cqe(&wc[i]); in smc_wr_tx_tasklet_fn()
337 static inline void smc_wr_rx_demultiplex(struct ib_wc *wc) in smc_wr_rx_demultiplex() argument
339 struct smc_link *link = (struct smc_link *)wc->qp->qp_context; in smc_wr_rx_demultiplex()
345 if (wc->byte_len < sizeof(*wr_rx)) in smc_wr_rx_demultiplex()
347 temp_wr_id = wc->wr_id; in smc_wr_rx_demultiplex()
352 handler->handler(wc, wr_rx); in smc_wr_rx_demultiplex()
356 static inline void smc_wr_rx_process_cqes(struct ib_wc wc[], int num) in smc_wr_rx_process_cqes() argument
362 link = wc[i].qp->qp_context; in smc_wr_rx_process_cqes()
363 if (wc[i].status == IB_WC_SUCCESS) { in smc_wr_rx_process_cqes()
365 smc_wr_rx_demultiplex(&wc[i]); in smc_wr_rx_process_cqes()
369 switch (wc[i].status) { in smc_wr_rx_process_cqes()
389 struct ib_wc wc[SMC_WR_MAX_POLL_CQE]; in smc_wr_rx_tasklet_fn() local
396 memset(&wc, 0, sizeof(wc)); in smc_wr_rx_tasklet_fn()
397 rc = ib_poll_cq(dev->roce_cq_recv, SMC_WR_MAX_POLL_CQE, wc); in smc_wr_rx_tasklet_fn()
405 smc_wr_rx_process_cqes(&wc[0], rc); in smc_wr_rx_tasklet_fn()