99#define EFA_IO_TX_DESC_NUM_BUFS 2
1010#define EFA_IO_TX_DESC_NUM_RDMA_BUFS 1
1111#define EFA_IO_TX_DESC_INLINE_MAX_SIZE 32
12+ #define EFA_IO_TX_DESC_INLINE_MAX_SIZE_128 80
1213#define EFA_IO_TX_DESC_IMM_DATA_SIZE 4
1314
1415enum efa_io_queue_type {
@@ -164,9 +165,22 @@ struct efa_io_rdma_req {
164165 struct efa_io_tx_buf_desc local_mem [1 ];
165166};
166167
168+ struct efa_io_rdma_req_128 {
169+ /* Remote memory address */
170+ struct efa_io_remote_mem_addr remote_mem ;
171+
172+ union {
173+ /* Local memory address */
174+ struct efa_io_tx_buf_desc local_mem [1 ];
175+
176+ /* inline data for RDMA */
177+ uint8_t inline_data [80 ];
178+ };
179+ };
180+
167181/*
168- * Tx WQE, composed of tx meta descriptors followed by either tx buffer
169- * descriptors or inline data
182+ * 64-byte Tx WQE, composed of tx meta descriptors followed by either tx
183+ * buffer descriptors or inline data
170184 */
171185struct efa_io_tx_wqe {
172186 /* TX meta */
@@ -183,6 +197,25 @@ struct efa_io_tx_wqe {
183197 } data ;
184198};
185199
200+ /*
201+ * 128-byte Tx WQE, composed of tx meta descriptors followed by either tx
202+ * buffer descriptors or inline data
203+ */
204+ struct efa_io_tx_wqe_128 {
205+ /* TX meta */
206+ struct efa_io_tx_meta_desc meta ;
207+
208+ union {
209+ /* Send buffer descriptors */
210+ struct efa_io_tx_buf_desc sgl [2 ];
211+
212+ uint8_t inline_data [80 ];
213+
214+ /* RDMA local and remote memory addresses */
215+ struct efa_io_rdma_req_128 rdma_req ;
216+ } data ;
217+ };
218+
186219/*
187220 * Rx buffer descriptor; RX WQE is composed of one or more RX buffer
188221 * descriptors.
0 commit comments