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()
331 static inline void smc_wr_rx_demultiplex(struct ib_wc *wc) in smc_wr_rx_demultiplex() argument
333 struct smc_link *link = (struct smc_link *)wc->qp->qp_context; in smc_wr_rx_demultiplex()
339 if (wc->byte_len < sizeof(*wr_rx)) in smc_wr_rx_demultiplex()
341 temp_wr_id = wc->wr_id; in smc_wr_rx_demultiplex()
346 handler->handler(wc, wr_rx); in smc_wr_rx_demultiplex()
350 static inline void smc_wr_rx_process_cqes(struct ib_wc wc[], int num) in smc_wr_rx_process_cqes() argument
356 link = wc[i].qp->qp_context; in smc_wr_rx_process_cqes()
357 if (wc[i].status == IB_WC_SUCCESS) { in smc_wr_rx_process_cqes()
359 smc_wr_rx_demultiplex(&wc[i]); in smc_wr_rx_process_cqes()
363 switch (wc[i].status) { in smc_wr_rx_process_cqes()
383 struct ib_wc wc[SMC_WR_MAX_POLL_CQE]; in smc_wr_rx_tasklet_fn() local
390 memset(&wc, 0, sizeof(wc)); in smc_wr_rx_tasklet_fn()
391 rc = ib_poll_cq(dev->roce_cq_recv, SMC_WR_MAX_POLL_CQE, wc); in smc_wr_rx_tasklet_fn()
399 smc_wr_rx_process_cqes(&wc[0], rc); in smc_wr_rx_tasklet_fn()