Lines Matching defs:smc_link
94 struct smc_link { struct
95 struct smc_ib_device *smcibdev; /* ib-device */
96 u8 ibport; /* port - values 1 | 2 */
97 struct ib_pd *roce_pd; /* IB protection domain,
100 struct ib_qp *roce_qp; /* IB queue pair */
101 struct ib_qp_attr qp_attr; /* IB queue pair attributes */
103 struct smc_wr_buf *wr_tx_bufs; /* WR send payload buffers */
104 struct ib_send_wr *wr_tx_ibs; /* WR send meta data */
105 struct ib_sge *wr_tx_sges; /* WR send gather meta data */
106 struct smc_rdma_sges *wr_tx_rdma_sges;/*RDMA WRITE gather meta data*/
107 struct smc_rdma_wr *wr_tx_rdmas; /* WR RDMA WRITE */
108 struct smc_wr_tx_pend *wr_tx_pends; /* WR send waiting for CQE */
109 struct completion *wr_tx_compl; /* WR send CQE completion */
111 struct ib_send_wr *wr_tx_v2_ib; /* WR send v2 meta data */
112 struct ib_sge *wr_tx_v2_sge; /* WR send v2 gather meta data*/
113 struct smc_wr_tx_pend *wr_tx_v2_pend; /* WR send v2 waiting for CQE */
114 dma_addr_t wr_tx_dma_addr; /* DMA address of wr_tx_bufs */
115 dma_addr_t wr_tx_v2_dma_addr; /* DMA address of v2 tx buf*/
116 atomic_long_t wr_tx_id; /* seq # of last sent WR */
117 unsigned long *wr_tx_mask; /* bit mask of used indexes */
118 u32 wr_tx_cnt; /* number of WR send buffers */
119 wait_queue_head_t wr_tx_wait; /* wait for free WR send buf */
120 struct {
122 } ____cacheline_aligned_in_smp;
123 struct completion tx_ref_comp;
125 u8 *wr_rx_bufs; /* WR recv payload buffers */
126 struct ib_recv_wr *wr_rx_ibs; /* WR recv meta data */
127 struct ib_sge *wr_rx_sges; /* WR recv scatter meta data */
129 int wr_rx_sge_cnt; /* rx sge, V1 is 1, V2 is either 2 or 1 */
130 int wr_rx_buflen; /* buffer len for the first sge, len for the
133 dma_addr_t wr_rx_dma_addr; /* DMA address of wr_rx_bufs */
134 dma_addr_t wr_rx_v2_dma_addr; /* DMA address of v2 rx buf*/
135 u64 wr_rx_id; /* seq # of last recv WR */
136 u64 wr_rx_id_compl; /* seq # of last completed WR */
137 u32 wr_rx_cnt; /* number of WR recv buffers */
138 unsigned long wr_rx_tstamp; /* jiffies when last buf rx */
139 wait_queue_head_t wr_rx_empty_wait; /* wait for RQ empty */
141 struct ib_reg_wr wr_reg; /* WR register memory region */
165 struct smc_link_group *lgr; /* parent link group */ argument
170 enum smc_link_state state; /* state of link */ argument
171 struct delayed_work llc_testlink_wrk; /* testlink worker */
172 struct completion llc_testlink_resp; /* wait for rx of testlink */
173 int llc_testlink_time; /* testlink interval */
174 atomic_t conn_cnt; /* connections on this link */