• Home
  • Raw
  • Download

Lines Matching full:conn

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