Lines Matching defs:conn

47  *   @conn   connection to update
56 struct smc_connection *conn = &smc->conn;
61 smc_curs_add(conn->rmb_desc->len, &cons, len);
64 if (conn->urg_state == SMC_URG_VALID || conn->urg_rx_skip_pend) {
65 diff = smc_curs_comp(conn->rmb_desc->len, &cons,
66 &conn->urg_curs);
71 conn->urg_state = SMC_URG_READ;
77 smc_curs_add(conn->rmb_desc->len, &cons, 1);
78 conn->urg_rx_skip_pend = false;
81 conn->urg_state = SMC_URG_READ;
85 smc_curs_copy(&conn->local_tx_ctrl.cons, &cons, conn);
89 smc_tx_consumer_update(conn, force);
96 struct smc_connection *conn = &smc->conn;
99 smc_curs_copy(&cons, &conn->local_tx_ctrl.cons, conn);
113 struct smc_connection *conn;
120 conn = &smc->conn;
124 if (atomic_sub_and_test(priv->len, &conn->splice_pending))
156 partial.offset = src - (char *)smc->conn.rmb_desc->cpu_addr;
162 spd.pages = &smc->conn.rmb_desc->pages;
170 get_page(smc->conn.rmb_desc->pages);
171 atomic_add(bytes, &smc->conn.splice_pending);
177 static int smc_rx_data_available_and_no_splice_pend(struct smc_connection *conn)
179 return atomic_read(&conn->bytes_to_rcv) &&
180 !atomic_read(&conn->splice_pending);
192 int (*fcrit)(struct smc_connection *conn))
195 struct smc_connection *conn = &smc->conn;
197 &conn->local_tx_ctrl.conn_state_flags;
201 if (fcrit(conn))
209 conn->killed ||
210 fcrit(conn),
220 struct smc_connection *conn = &smc->conn;
226 !(conn->urg_state == SMC_URG_VALID) ||
227 conn->urg_state == SMC_URG_READ)
230 if (conn->urg_state == SMC_URG_VALID) {
232 smc->conn.urg_state = SMC_URG_READ;
236 rc = memcpy_to_msg(msg, &conn->urg_rx_byte, 1);
238 smc_curs_copy(&cons, &conn->local_tx_ctrl.cons, conn);
239 if (smc_curs_diff(conn->rmb_desc->len, &cons,
240 &conn->urg_curs) > 1)
241 conn->urg_rx_skip_pend = true;
262 struct smc_connection *conn = &smc->conn;
264 if (smc_rx_data_available(conn))
266 else if (conn->urg_state == SMC_URG_VALID)
284 struct smc_connection *conn = &smc->conn;
285 int (*func)(struct smc_connection *conn);
307 rcvbuf_base = conn->rx_off + conn->rmb_desc->cpu_addr;
313 if (conn->killed)
357 if (!smc_rx_data_available(conn)) {
365 readable = atomic_read(&conn->bytes_to_rcv);
366 splbytes = atomic_read(&conn->splice_pending);
376 smc_curs_copy(&cons, &conn->local_tx_ctrl.cons, conn);
379 smc_curs_add(conn->rmb_desc->len, &cons, splbytes);
380 if (conn->urg_state == SMC_URG_VALID &&
388 chunk_len = min_t(size_t, copylen, conn->rmb_desc->len -
392 smc_rmb_sync_sg_for_cpu(conn);
407 smc_rmb_sync_sg_for_device(conn);
421 smc_rmb_sync_sg_for_device(conn);
427 atomic_sub(copylen, &conn->bytes_to_rcv);
442 atomic_set(&smc->conn.splice_pending, 0);
443 smc->conn.urg_state = SMC_URG_READ;