Lines Matching defs:smc
19 #include "smc.h"
53 static int smc_rx_update_consumer(struct smc_sock *smc,
56 struct smc_connection *conn = &smc->conn;
57 struct sock *sk = &smc->sk;
94 static void smc_rx_update_cons(struct smc_sock *smc, size_t len)
96 struct smc_connection *conn = &smc->conn;
100 smc_rx_update_consumer(smc, cons, len);
104 struct smc_sock *smc;
112 struct smc_sock *smc = priv->smc;
114 struct sock *sk = &smc->sk;
120 conn = &smc->conn;
122 smc_rx_update_cons(smc, priv->len);
144 struct smc_sock *smc)
155 priv->smc = smc;
156 partial.offset = src - (char *)smc->conn.rmb_desc->cpu_addr;
162 spd.pages = &smc->conn.rmb_desc->pages;
169 sock_hold(&smc->sk);
170 get_page(smc->conn.rmb_desc->pages);
171 atomic_add(bytes, &smc->conn.splice_pending);
184 * @smc smc socket
191 int smc_rx_wait(struct smc_sock *smc, long *timeo,
195 struct smc_connection *conn = &smc->conn;
198 struct sock *sk = &smc->sk;
217 static int smc_rx_recv_urg(struct smc_sock *smc, struct msghdr *msg, int len,
220 struct smc_connection *conn = &smc->conn;
222 struct sock *sk = &smc->sk;
232 smc->conn.urg_state = SMC_URG_READ;
246 smc_rx_update_consumer(smc, cons, 0);
260 static bool smc_rx_recvmsg_data_available(struct smc_sock *smc)
262 struct smc_connection *conn = &smc->conn;
268 smc_rx_update_cons(smc, 0);
279 int smc_rx_recvmsg(struct smc_sock *smc, struct msghdr *msg,
284 struct smc_connection *conn = &smc->conn;
298 sk = &smc->sk;
302 return smc_rx_recv_urg(smc, msg, len, flags);
316 if (smc_rx_recvmsg_data_available(smc))
323 if (smc_rx_recvmsg_data_available(smc))
358 smc_rx_wait(smc, &timeo, smc_rx_data_available);
372 smc_rx_wait(smc, &timeo, func);
381 sock_flag(&smc->sk, SOCK_URGINLINE) &&
402 smc);
430 if (msg && smc_rx_update_consumer(smc, cons, copylen))
439 void smc_rx_init(struct smc_sock *smc)
441 smc->sk.sk_data_ready = smc_rx_wake_up;
442 atomic_set(&smc->conn.splice_pending, 0);
443 smc->conn.urg_state = SMC_URG_READ;