rxe_qp
struct rxe_qp *qp;
int rxe_av_chk_attr(struct rxe_qp *qp, struct rdma_ah_attr *attr)
struct rxe_qp *qp = timer_container_of(qp, t, retrans_timer);
void rxe_comp_queue_pkt(struct rxe_qp *qp, struct sk_buff *skb)
static inline enum comp_state get_wqe(struct rxe_qp *qp,
static inline void reset_retry_counters(struct rxe_qp *qp)
static inline enum comp_state check_psn(struct rxe_qp *qp,
static inline enum comp_state check_ack(struct rxe_qp *qp,
static inline enum comp_state do_read(struct rxe_qp *qp,
static inline enum comp_state do_atomic(struct rxe_qp *qp,
static void make_send_cqe(struct rxe_qp *qp, struct rxe_send_wqe *wqe,
static void do_complete(struct rxe_qp *qp, struct rxe_send_wqe *wqe)
static void comp_check_sq_drain_done(struct rxe_qp *qp)
static inline enum comp_state complete_ack(struct rxe_qp *qp,
static inline enum comp_state complete_wqe(struct rxe_qp *qp,
static void drain_resp_pkts(struct rxe_qp *qp)
static int flush_send_wqe(struct rxe_qp *qp, struct rxe_send_wqe *wqe)
static void flush_send_queue(struct rxe_qp *qp, bool notify)
struct rxe_qp *qp = pkt->qp;
static void reset_retry_timer(struct rxe_qp *qp)
int rxe_completer(struct rxe_qp *qp)
struct rxe_qp *qp; /* qp that owns packet */
int rxe_xmit_packet(struct rxe_qp *qp, struct rxe_pkt_info *pkt,
int rxe_qp_from_init(struct rxe_dev *rxe, struct rxe_qp *qp, struct rxe_pd *pd,
int rxe_qp_to_init(struct rxe_qp *qp, struct ib_qp_init_attr *init);
int rxe_qp_chk_attr(struct rxe_dev *rxe, struct rxe_qp *qp,
int rxe_qp_from_attr(struct rxe_qp *qp, struct ib_qp_attr *attr,
int rxe_qp_to_attr(struct rxe_qp *qp, struct ib_qp_attr *attr, int mask);
void rxe_qp_error(struct rxe_qp *qp);
int rxe_qp_chk_destroy(struct rxe_qp *qp);
int rxe_av_chk_attr(struct rxe_qp *qp, struct rdma_ah_attr *attr);
static inline int qp_num(struct rxe_qp *qp)
static inline enum ib_qp_type qp_type(struct rxe_qp *qp)
static inline enum ib_qp_state qp_state(struct rxe_qp *qp)
static inline int qp_mtu(struct rxe_qp *qp)
static inline void rxe_advance_resp_resource(struct rxe_qp *qp)
int rxe_completer(struct rxe_qp *qp);
int rxe_requester(struct rxe_qp *qp);
int rxe_sender(struct rxe_qp *qp);
int rxe_receiver(struct rxe_qp *qp);
void rxe_resp_queue_pkt(struct rxe_qp *qp, struct sk_buff *skb);
void rxe_comp_queue_pkt(struct rxe_qp *qp, struct sk_buff *skb);
static inline unsigned int wr_opcode_mask(int opcode, struct rxe_qp *qp)
int rxe_invalidate_mr(struct rxe_qp *qp, u32 key);
int rxe_reg_fast_mr(struct rxe_qp *qp, struct rxe_send_wqe *wqe);
int rxe_bind_mw(struct rxe_qp *qp, struct rxe_send_wqe *wqe);
int rxe_invalidate_mw(struct rxe_qp *qp, u32 rkey);
struct rxe_mw *rxe_lookup_mw(struct rxe_qp *qp, int access, u32 rkey);
static int __rxe_init_mca(struct rxe_qp *qp, struct rxe_mcg *mcg,
static int rxe_attach_mcg(struct rxe_mcg *mcg, struct rxe_qp *qp)
static int rxe_detach_mcg(struct rxe_mcg *mcg, struct rxe_qp *qp)
struct rxe_qp *qp = to_rqp(ibqp);
struct rxe_qp *qp = to_rqp(ibqp);
int rxe_invalidate_mr(struct rxe_qp *qp, u32 key)
int rxe_reg_fast_mr(struct rxe_qp *qp, struct rxe_send_wqe *wqe)
static void rxe_do_bind_mw(struct rxe_qp *qp, struct rxe_send_wqe *wqe,
int rxe_bind_mw(struct rxe_qp *qp, struct rxe_send_wqe *wqe)
static int rxe_check_invalidate_mw(struct rxe_qp *qp, struct rxe_mw *mw)
struct rxe_qp *qp;
int rxe_invalidate_mw(struct rxe_qp *qp, u32 rkey)
struct rxe_mw *rxe_lookup_mw(struct rxe_qp *qp, int access, u32 rkey)
struct rxe_qp *qp = mw->qp;
static int rxe_check_bind_mw(struct rxe_qp *qp, struct rxe_send_wqe *wqe,
static struct dst_entry *rxe_find_route4(struct rxe_qp *qp,
static struct dst_entry *rxe_find_route6(struct rxe_qp *qp,
static struct dst_entry *rxe_find_route6(struct rxe_qp *qp,
struct rxe_qp *qp,
struct rxe_qp *qp = pkt->qp;
struct rxe_qp *qp = pkt->qp;
struct rxe_qp *qp = skb->sk->sk_user_data;
int rxe_xmit_packet(struct rxe_qp *qp, struct rxe_pkt_info *pkt,
.size = sizeof(struct rxe_qp),
.elem_offset = offsetof(struct rxe_qp, elem),
static int alloc_rd_atomic_resources(struct rxe_qp *qp, unsigned int n)
static void free_rd_atomic_resources(struct rxe_qp *qp)
static void cleanup_rd_atomic_resources(struct rxe_qp *qp)
static void rxe_qp_init_misc(struct rxe_dev *rxe, struct rxe_qp *qp,
static int rxe_init_sq(struct rxe_qp *qp, struct ib_qp_init_attr *init,
static int rxe_qp_init_req(struct rxe_dev *rxe, struct rxe_qp *qp,
static int rxe_init_rq(struct rxe_qp *qp, struct ib_qp_init_attr *init,
static int rxe_qp_init_resp(struct rxe_dev *rxe, struct rxe_qp *qp,
int rxe_qp_from_init(struct rxe_dev *rxe, struct rxe_qp *qp, struct rxe_pd *pd,
int rxe_qp_to_init(struct rxe_qp *qp, struct ib_qp_init_attr *init)
int rxe_qp_chk_attr(struct rxe_dev *rxe, struct rxe_qp *qp,
static void rxe_qp_reset(struct rxe_qp *qp)
void rxe_qp_error(struct rxe_qp *qp)
static void rxe_qp_sqd(struct rxe_qp *qp, struct ib_qp_attr *attr,
static int __qp_chk_state(struct rxe_qp *qp, struct ib_qp_attr *attr,
int rxe_qp_from_attr(struct rxe_qp *qp, struct ib_qp_attr *attr, int mask,
int rxe_qp_to_attr(struct rxe_qp *qp, struct ib_qp_attr *attr, int mask)
int rxe_qp_chk_destroy(struct rxe_qp *qp)
struct rxe_qp *qp = container_of(work, typeof(*qp), cleanup_work.work);
struct rxe_qp *qp = container_of(elem, typeof(*qp), elem);
struct rxe_qp *qp)
struct rxe_qp *qp = NULL;
struct rxe_qp *qp)
struct rxe_qp *qp;
u32 qpn, struct rxe_qp *qp)
struct rxe_qp *qp = timer_container_of(qp, t, rnr_nak_timer);
static void req_check_sq_drain_done(struct rxe_qp *qp)
static int next_opcode(struct rxe_qp *qp, struct rxe_send_wqe *wqe,
static inline void retry_first_write_send(struct rxe_qp *qp,
static struct rxe_send_wqe *__req_next_wqe(struct rxe_qp *qp)
static struct rxe_send_wqe *req_next_wqe(struct rxe_qp *qp)
static int rxe_wqe_is_fenced(struct rxe_qp *qp, struct rxe_send_wqe *wqe)
static int next_opcode_rc(struct rxe_qp *qp, u32 opcode, int fits)
static int next_opcode_uc(struct rxe_qp *qp, u32 opcode, int fits)
static int next_opcode(struct rxe_qp *qp, struct rxe_send_wqe *wqe,
static void req_retry(struct rxe_qp *qp)
static inline int check_init_depth(struct rxe_qp *qp, struct rxe_send_wqe *wqe)
static inline int get_mtu(struct rxe_qp *qp)
static struct sk_buff *init_req_packet(struct rxe_qp *qp,
static int finish_packet(struct rxe_qp *qp, struct rxe_av *av,
static void update_wqe_state(struct rxe_qp *qp,
static void update_wqe_psn(struct rxe_qp *qp,
static void update_state(struct rxe_qp *qp, struct rxe_pkt_info *pkt)
static int rxe_do_local_ops(struct rxe_qp *qp, struct rxe_send_wqe *wqe)
int rxe_requester(struct rxe_qp *qp)
int rxe_sender(struct rxe_qp *qp)
static enum resp_states do_complete(struct rxe_qp *qp,
static enum resp_states check_op_seq(struct rxe_qp *qp,
static int send_common_ack(struct rxe_qp *qp, u8 syndrome, u32 psn,
static int send_ack(struct rxe_qp *qp, u8 syndrome, u32 psn)
static int send_atomic_ack(struct rxe_qp *qp, u8 syndrome, u32 psn)
static int send_read_response_ack(struct rxe_qp *qp, u8 syndrome, u32 psn)
static enum resp_states acknowledge(struct rxe_qp *qp,
static enum resp_states cleanup(struct rxe_qp *qp,
static struct resp_res *find_resource(struct rxe_qp *qp, u32 psn)
static enum resp_states duplicate_request(struct rxe_qp *qp,
static void do_class_ac_error(struct rxe_qp *qp, u8 syndrome,
static enum resp_states do_class_d1e_error(struct rxe_qp *qp)
static void drain_req_pkts(struct rxe_qp *qp)
static int flush_recv_wqe(struct rxe_qp *qp, struct rxe_recv_wqe *wqe)
static void flush_recv_queue(struct rxe_qp *qp, bool notify)
int rxe_receiver(struct rxe_qp *qp)
static bool check_qp_attr_access(struct rxe_qp *qp,
static enum resp_states check_op_valid(struct rxe_qp *qp,
static enum resp_states get_srq_wqe(struct rxe_qp *qp)
static enum resp_states check_resource(struct rxe_qp *qp,
static enum resp_states rxe_resp_check_length(struct rxe_qp *qp,
static void qp_resp_from_reth(struct rxe_qp *qp, struct rxe_pkt_info *pkt)
static void qp_resp_from_atmeth(struct rxe_qp *qp, struct rxe_pkt_info *pkt)
static enum resp_states check_rkey(struct rxe_qp *qp,
void rxe_resp_queue_pkt(struct rxe_qp *qp, struct sk_buff *skb)
static inline enum resp_states get_req(struct rxe_qp *qp,
static enum resp_states send_data_in(struct rxe_qp *qp, void *data_addr,
static enum resp_states write_data_in(struct rxe_qp *qp,
static struct resp_res *rxe_prepare_res(struct rxe_qp *qp,
static enum resp_states process_flush(struct rxe_qp *qp,
static enum resp_states atomic_reply(struct rxe_qp *qp,
static enum resp_states check_psn(struct rxe_qp *qp,
static enum resp_states atomic_write_reply(struct rxe_qp *qp,
static struct sk_buff *prepare_ack_packet(struct rxe_qp *qp,
static struct rxe_mr *rxe_recheck_mr(struct rxe_qp *qp, u32 rkey)
static enum resp_states read_reply(struct rxe_qp *qp,
static int invalidate_rkey(struct rxe_qp *qp, u32 rkey)
static enum resp_states execute(struct rxe_qp *qp, struct rxe_pkt_info *pkt)
int rxe_init_task(struct rxe_task *task, struct rxe_qp *qp,
int (*func)(struct rxe_qp *))
struct rxe_qp *qp;
int (*func)(struct rxe_qp *qp);
int rxe_init_task(struct rxe_task *task, struct rxe_qp *qp,
int (*func)(struct rxe_qp *));
struct rxe_qp *qp = to_rqp(ibqp);
INIT_RDMA_OBJ_SIZE(ib_qp, rxe_qp, ibqp),
struct rxe_qp *qp = to_rqp(ibqp);
struct rxe_qp *qp = to_rqp(ibqp);
struct rxe_qp *qp = to_rqp(ibqp);
struct rxe_qp *qp = to_rqp(ibqp);
static int validate_send_wr(struct rxe_qp *qp, const struct ib_send_wr *ibwr,
static int init_send_wr(struct rxe_qp *qp, struct rxe_send_wr *wr,
static int init_send_wqe(struct rxe_qp *qp, const struct ib_send_wr *ibwr,
static int post_one_send(struct rxe_qp *qp, const struct ib_send_wr *ibwr)
static int rxe_post_send_kernel(struct rxe_qp *qp,
struct rxe_qp *qp = to_rqp(ibqp);
struct rxe_qp *qp; /* Type 2 only */
struct rxe_qp *qp;
static inline struct rxe_qp *to_rqp(struct ib_qp *qp)
return qp ? container_of(qp, struct rxe_qp, ibqp) : NULL;