Lines Matching refs:ssk

148 #define rx_ring_posted(ssk) ring_posted(ssk->rx_ring)
150 #define tx_ring_posted(ssk) (ring_posted(ssk->tx_ring) + \
151 (ssk->tx_ring.rdma_inflight ? ssk->tx_ring.rdma_inflight->busy : 0))
153 #define tx_ring_posted(ssk) ring_posted(ssk->tx_ring)
263 struct sdp_sock *ssk;
323 #define tx_credits(ssk) (atomic_read(&ssk->tx_ring.credits))
367 #define SDP_TIMEWAIT 0x0001 /* In ssk timewait state. */
412 #define rcv_nxt(ssk) atomic_read(&(ssk->rcv_nxt))
417 #define mseq_ack(ssk) (atomic_read(&ssk->mseq_ack))
424 #define remote_credits(ssk) (atomic_read(&ssk->remote_credits))
451 #define SDP_RLOCK(ssk) rw_rlock(&(ssk)->lock)
452 #define SDP_WLOCK(ssk) rw_wlock(&(ssk)->lock)
453 #define SDP_RUNLOCK(ssk) rw_runlock(&(ssk)->lock)
454 #define SDP_WUNLOCK(ssk) rw_wunlock(&(ssk)->lock)
455 #define SDP_WLOCK_ASSERT(ssk) rw_assert(&(ssk)->lock, RA_WLOCKED)
456 #define SDP_RLOCK_ASSERT(ssk) rw_assert(&(ssk)->lock, RA_RLOCKED)
457 #define SDP_LOCK_ASSERT(ssk) rw_assert(&(ssk)->lock, RA_LOCKED)
487 static inline void sdp_arm_rx_cq(struct sdp_sock *ssk)
489 sdp_prf(ssk->socket, NULL, "Arming RX cq");
490 sdp_dbg_data(ssk->socket, "Arming RX cq\n");
492 ib_req_notify_cq(ssk->rx_ring.cq, IB_CQ_NEXT_COMP);
495 static inline void sdp_arm_tx_cq(struct sdp_sock *ssk)
497 sdp_prf(ssk->socket, NULL, "Arming TX cq");
498 sdp_dbg_data(ssk->socket, "Arming TX cq. credits: %d, posted: %d\n",
499 tx_credits(ssk), tx_ring_posted(ssk));
501 ib_req_notify_cq(ssk->tx_ring.cq, IB_CQ_NEXT_COMP);
508 static inline int tx_slots_free(struct sdp_sock *ssk)
512 min_free = MIN(tx_credits(ssk),
513 SDP_TX_SIZE - tx_ring_posted(ssk));
641 static inline int sdp_tx_ring_slots_left(struct sdp_sock *ssk)
643 return SDP_TX_SIZE - tx_ring_posted(ssk);
646 static inline int credit_update_needed(struct sdp_sock *ssk)
650 c = remote_credits(ssk);
653 return unlikely(c < rx_ring_posted(ssk)) &&
654 likely(tx_credits(ssk) > 0) &&
655 likely(sdp_tx_ring_slots_left(ssk));
666 sdp_cleanup_sdp_buf(struct sdp_sock *ssk, struct sdp_buf *sbuf,
673 dev = ssk->ib_device;
679 void sdp_set_default_moderation(struct sdp_sock *ssk);
681 void sdp_urg(struct sdp_sock *ssk, struct mbuf *mb);
682 void sdp_cancel_dreq_wait_timeout(struct sdp_sock *ssk);
684 struct sdp_sock *sdp_notify(struct sdp_sock *ssk, int error);
691 int sdp_tx_ring_create(struct sdp_sock *ssk, struct ib_device *device);
692 void sdp_tx_ring_destroy(struct sdp_sock *ssk);
693 int sdp_xmit_poll(struct sdp_sock *ssk, int force);
694 void sdp_post_send(struct sdp_sock *ssk, struct mbuf *mb);
695 void sdp_post_sends(struct sdp_sock *ssk, int wait);
696 void sdp_post_keepalive(struct sdp_sock *ssk);
699 void sdp_rx_ring_init(struct sdp_sock *ssk);
700 int sdp_rx_ring_create(struct sdp_sock *ssk, struct ib_device *device);
701 void sdp_rx_ring_destroy(struct sdp_sock *ssk);
702 int sdp_resize_buffers(struct sdp_sock *ssk, u32 new_size);
703 int sdp_init_buffers(struct sdp_sock *ssk, u32 new_size);
704 void sdp_do_posts(struct sdp_sock *ssk);
705 void sdp_rx_comp_full(struct sdp_sock *ssk);
710 int sdp_handle_srcavail(struct sdp_sock *ssk, struct sdp_srcah *srcah);
711 void sdp_handle_sendsm(struct sdp_sock *ssk, u32 mseq_ack);
712 void sdp_handle_rdma_read_compl(struct sdp_sock *ssk, u32 mseq_ack,
714 int sdp_handle_rdma_read_cqe(struct sdp_sock *ssk);
717 int sdp_post_rdma_rd_compl(struct sdp_sock *ssk,
723 int sdp_process_rx(struct sdp_sock *ssk);