Lines Matching refs:trans_priv
93 struct mlx5_fpga_trans_priv *trans_priv) in free_tid() argument
98 list_add_tail(&trans_priv->list_item, &fdev->trans->free_queue); in free_tid()
103 struct mlx5_fpga_trans_priv *trans_priv, u8 status) in trans_complete() argument
109 trans_priv->tid, status); in trans_complete()
112 trans_priv->state = TRANS_STATE_COMPLETE; in trans_complete()
113 trans_priv->status = status; in trans_complete()
116 user_trans = trans_priv->user_trans; in trans_complete()
117 free_tid(fdev, trans_priv); in trans_complete()
128 struct mlx5_fpga_trans_priv *trans_priv; in trans_send_complete() local
130 trans_priv = container_of(buf, struct mlx5_fpga_trans_priv, buf); in trans_send_complete()
132 trans_priv->tid, status); in trans_send_complete()
134 trans_complete(fdev, trans_priv, status); in trans_send_complete()
139 if (trans_priv->state == TRANS_STATE_SEND) in trans_send_complete()
140 trans_priv->state = TRANS_STATE_WAIT; in trans_send_complete()
185 struct mlx5_fpga_trans_priv *trans_priv; in mlx5_fpga_trans_exec() local
199 trans_priv = alloc_tid(conn->fdev); in mlx5_fpga_trans_exec()
200 if (!trans_priv) { in mlx5_fpga_trans_exec()
204 trans_priv->user_trans = trans; in mlx5_fpga_trans_exec()
205 header = trans_priv->header; in mlx5_fpga_trans_exec()
207 memset(header, 0, sizeof(trans_priv->header)); in mlx5_fpga_trans_exec()
208 memset(&trans_priv->buf, 0, sizeof(trans_priv->buf)); in mlx5_fpga_trans_exec()
213 MLX5_SET(fpga_shell_qp_packet, header, tid, trans_priv->tid); in mlx5_fpga_trans_exec()
217 trans_priv->buf.sg[0].data = header; in mlx5_fpga_trans_exec()
218 trans_priv->buf.sg[0].size = sizeof(trans_priv->header); in mlx5_fpga_trans_exec()
220 trans_priv->buf.sg[1].data = trans->data; in mlx5_fpga_trans_exec()
221 trans_priv->buf.sg[1].size = trans->size; in mlx5_fpga_trans_exec()
224 trans_priv->buf.complete = trans_send_complete; in mlx5_fpga_trans_exec()
225 trans_priv->state = TRANS_STATE_SEND; in mlx5_fpga_trans_exec()
229 err = mlx5_fpga_conn_send(conn->fdev->shell_conn, &trans_priv->buf); in mlx5_fpga_trans_exec()
238 free_tid(conn->fdev, trans_priv); in mlx5_fpga_trans_exec()
246 struct mlx5_fpga_trans_priv *trans_priv; in mlx5_fpga_trans_recv() local
262 trans_priv = find_tid(fdev, tid); in mlx5_fpga_trans_recv()
263 if (!trans_priv) in mlx5_fpga_trans_recv()
269 if (trans_priv->user_trans->direction != MLX5_FPGA_READ) { in mlx5_fpga_trans_recv()
271 type, trans_priv->user_trans->direction); in mlx5_fpga_trans_recv()
275 if (payload_len != trans_priv->user_trans->size) { in mlx5_fpga_trans_recv()
278 trans_priv->user_trans->size); in mlx5_fpga_trans_recv()
281 memcpy(trans_priv->user_trans->data, in mlx5_fpga_trans_recv()
286 if (trans_priv->user_trans->direction != MLX5_FPGA_WRITE) { in mlx5_fpga_trans_recv()
288 type, trans_priv->user_trans->direction); in mlx5_fpga_trans_recv()
301 trans_complete(fdev, trans_priv, status); in mlx5_fpga_trans_recv()