Lines Matching +full:wr +full:- +full:active

1 /* SPDX-License-Identifier: GPL-2.0 */
3 * Shared Memory Communications over RDMA (SMC-R) and RoCE
41 SMC_LNK_ACTIVE, /* link is active */
84 struct smc_ib_device *smcibdev; /* ib-device */
85 u8 ibport; /* port - values 1 | 2 */
92 struct smc_wr_buf *wr_tx_bufs; /* WR send payload buffers */
93 struct ib_send_wr *wr_tx_ibs; /* WR send meta data */
94 struct ib_sge *wr_tx_sges; /* WR send gather meta data */
96 struct smc_rdma_wr *wr_tx_rdmas; /* WR RDMA WRITE */
97 struct smc_wr_tx_pend *wr_tx_pends; /* WR send waiting for CQE */
98 struct completion *wr_tx_compl; /* WR send CQE completion */
100 struct ib_send_wr *wr_tx_v2_ib; /* WR send v2 meta data */
101 struct ib_sge *wr_tx_v2_sge; /* WR send v2 gather meta data*/
102 struct smc_wr_tx_pend *wr_tx_v2_pend; /* WR send v2 waiting for CQE */
105 atomic_long_t wr_tx_id; /* seq # of last sent WR */
107 u32 wr_tx_cnt; /* number of WR send buffers */
108 wait_queue_head_t wr_tx_wait; /* wait for free WR send buf */
111 struct smc_wr_buf *wr_rx_bufs; /* WR recv payload buffers */
112 struct ib_recv_wr *wr_rx_ibs; /* WR recv meta data */
113 struct ib_sge *wr_rx_sges; /* WR recv scatter meta data */
117 u64 wr_rx_id; /* seq # of last recv WR */
118 u64 wr_rx_id_compl; /* seq # of last completed WR */
119 u32 wr_rx_cnt; /* number of WR recv buffers */
123 struct ib_reg_wr wr_reg; /* WR register memory region */
170 struct { /* SMC-R */
193 struct { /* SMC-D */
219 SMC_LGR_NONE, /* no active links, lgr to be deleted */
220 SMC_LGR_SINGLE, /* 1 active RNIC on each peer */
221 SMC_LGR_SYMMETRIC, /* 2 active RNICs on each peer */
222 SMC_LGR_ASYMMETRIC_PEER, /* local has 2, peer 1 active RNICs */
223 SMC_LGR_ASYMMETRIC_LOCAL, /* local has 1, peer 2 active RNICs */
226 enum smcr_buf_type { /* types of SMC-R sndbufs and RMBs */
268 bool is_smcd; /* SMC-R or SMC-D */
275 struct { /* SMC-R */
281 /* WR v2 recv payload buffer */
283 /* WR v2 send payload buffer */
316 /* arrived when flow active */
329 struct { /* SMC-D */
376 /* SMC-R */
387 /* SMC-D */
409 node = lgr->conns_all.rb_node; in smc_lgr_find_conn()
414 if (cur->alert_token_local > token) { in smc_lgr_find_conn()
415 node = node->rb_left; in smc_lgr_find_conn()
417 if (cur->alert_token_local < token) { in smc_lgr_find_conn()
418 node = node->rb_right; in smc_lgr_find_conn()
431 return conn->lgr && conn->alert_token_local; in smc_conn_lgr_valid()
443 if (lnk->state == SMC_LNK_UNUSED || lnk->state == SMC_LNK_INACTIVE) in smc_link_usable()
460 lnk->qp_attr.cur_qp_state == IB_QPS_RTS; in smc_link_sendable()
465 return lnk->state == SMC_LNK_ACTIVE; in smc_link_active()
492 smc_dev->pci_vendor = pci_dev->vendor; in smc_set_pci_values()
493 smc_dev->pci_device = pci_dev->device; in smc_set_pci_values()
494 snprintf(smc_dev->pci_id, sizeof(smc_dev->pci_id), "%s", in smc_set_pci_values()
501 smc_dev->pci_fid = zdev->fid; in smc_set_pci_values()
502 smc_dev->pci_pchid = zdev->pchid; in smc_set_pci_values()
564 return link->lgr; in smc_get_lgr()