Symbol: xfer_state
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
107
xfer_trans->xfer_state = xfer_state;
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
110
xfer_trans->transaction.conn = xfer_state->xfer->conn;
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
112
xfer_trans->transaction.direction = xfer_state->xfer->direction;
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
115
xfer_state->start_count++;
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
116
xfer_state->inflight_count++;
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
117
mlx5_fpga_dbg(xfer_state->xfer->conn->fdev, "Starting %zu bytes at %p done; %u started %u inflight %u done %u error\n",
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
120
xfer_state->start_count,
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
121
xfer_state->inflight_count,
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
122
xfer_state->done_count,
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
123
xfer_state->error_count);
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
126
xfer_state->start_count--;
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
127
xfer_state->inflight_count--;
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
132
mlx5_fpga_warn(xfer_state->xfer->conn->fdev, "Transfer failed to start transaction: %d. %u started %u done %u error\n",
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
133
ret, xfer_state->start_count,
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
134
xfer_state->done_count,
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
135
xfer_state->error_count);
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
136
xfer_state->status = IB_WC_GENERAL_ERR;
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
141
xfer_state->pos += cur_size;
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
142
if (xfer_state->inflight_count >= xfer_state->budget)
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
153
struct xfer_state *xfer_state;
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
160
xfer_state = xfer_trans->xfer_state;
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
164
xfer_state->start_count, xfer_state->inflight_count,
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
165
xfer_state->done_count, xfer_state->error_count);
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
168
spin_lock_irqsave(&xfer_state->lock, flags);
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
171
xfer_state->error_count++;
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
173
xfer_state->start_count,
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
174
xfer_state->inflight_count,
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
175
xfer_state->done_count, xfer_state->error_count);
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
176
if (xfer_state->status == IB_WC_SUCCESS)
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
177
xfer_state->status = status;
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
179
xfer_state->done_count++;
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
181
ret = exec_more(xfer_state);
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
183
xfer_state->inflight_count--;
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
184
if (!xfer_state->inflight_count)
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
187
spin_unlock_irqrestore(&xfer_state->lock, flags);
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
190
xfer_complete(xfer_state);
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
197
struct xfer_state *xfer_state;
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
226
xfer_state = kzalloc(sizeof(*xfer_state), GFP_KERNEL);
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
227
xfer_state->xfer = xfer;
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
228
xfer_state->status = IB_WC_SUCCESS;
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
229
xfer_state->budget = 7;
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
230
spin_lock_init(&xfer_state->lock);
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
231
spin_lock_irqsave(&xfer_state->lock, flags);
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
233
ret = exec_more(xfer_state);
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
234
if (ret && (xfer_state->start_count == 0))
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
237
spin_unlock_irqrestore(&xfer_state->lock, flags);
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
240
xfer_complete(xfer_state);
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
52
struct xfer_state *xfer_state;
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
59
static void xfer_complete(struct xfer_state *xfer_state)
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
61
const struct mlx5_fpga_transaction *xfer = xfer_state->xfer;
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
62
u8 status = xfer_state->status;
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
64
kfree(xfer_state);
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
69
static int exec_more(struct xfer_state *xfer_state)
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
77
ddr_base = mlx5_fpga_ddr_base_get(xfer_state->xfer->conn->fdev);
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
78
page_size = (xfer_state->xfer->addr + xfer_state->pos < ddr_base) ?
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
82
if (xfer_state->status != IB_WC_SUCCESS) {
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
87
left = xfer_state->xfer->size - xfer_state->pos;
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
97
pos_addr = xfer_state->xfer->addr + xfer_state->pos;
sys/dev/mlx5/mlx5_fpga/mlx5fpga_xfer.c
98
pos_data = xfer_state->xfer->data + xfer_state->pos;