siw_qp
#define rx_qp(rx) container_of(rx, struct siw_qp, rx_stream)
#define tx_qp(tx) container_of(tx, struct siw_qp, tx_ctx)
int (*rx_data)(struct siw_qp *qp);
int siw_qp_modify(struct siw_qp *qp, struct siw_qp_attrs *attr,
int siw_qp_mpa_rts(struct siw_qp *qp, enum mpa_v2_ctrl ctrl);
void siw_qp_llp_close(struct siw_qp *qp);
void siw_qp_cm_drop(struct siw_qp *qp, int schedule);
void siw_send_terminate(struct siw_qp *qp);
int siw_qp_add(struct siw_device *sdev, struct siw_qp *qp);
void siw_init_terminate(struct siw_qp *qp, enum term_elayer layer,
int siw_sqe_complete(struct siw_qp *qp, struct siw_sqe *sqe, u32 bytes,
int siw_rqe_complete(struct siw_qp *qp, struct siw_rqe *rqe, u32 bytes,
int siw_qp_sq_process(struct siw_qp *qp);
int siw_sq_start(struct siw_qp *qp);
int siw_activate_tx(struct siw_qp *qp);
int siw_proc_send(struct siw_qp *qp);
int siw_proc_rreq(struct siw_qp *qp);
int siw_proc_rresp(struct siw_qp *qp);
int siw_proc_write(struct siw_qp *qp);
int siw_proc_terminate(struct siw_qp *qp);
static inline void set_rx_fpdu_context(struct siw_qp *qp, u8 opcode)
static inline struct siw_qp *to_siw_qp(struct ib_qp *base_qp)
return container_of(base_qp, struct siw_qp, base_qp);
static inline struct siw_qp *siw_qp_id2obj(struct siw_device *sdev, int id)
struct siw_qp *qp;
static inline u32 qp_id(struct siw_qp *qp)
static inline void siw_qp_get(struct siw_qp *qp)
static inline void siw_qp_put(struct siw_qp *qp)
static inline int siw_sq_empty(struct siw_qp *qp)
static inline struct siw_sqe *sq_get_next(struct siw_qp *qp)
static inline struct siw_sqe *orq_get_current(struct siw_qp *qp)
static inline struct siw_sqe *orq_get_free(struct siw_qp *qp)
static inline int siw_orq_empty(struct siw_qp *qp)
static inline struct siw_sqe *irq_alloc_free(struct siw_qp *qp)
void siw_sq_flush(struct siw_qp *qp);
void siw_rq_flush(struct siw_qp *qp);
static void siw_qp_socket_assoc(struct siw_cep *cep, struct siw_qp *qp)
struct siw_qp *qp = cep->qp;
struct siw_qp *qp;
struct siw_qp *qp = NULL;
struct siw_qp *qp;
void siw_qp_cm_drop(struct siw_qp *qp, int schedule)
struct siw_qp *qp = cep->qp;
struct siw_qp *qp;
struct siw_qp *qp = siw_qp_id2obj(to_siw_dev(base_dev), id);
INIT_RDMA_OBJ_SIZE(ib_qp, siw_qp, base_qp),
int siw_sqe_complete(struct siw_qp *qp, struct siw_sqe *sqe, u32 bytes,
int siw_rqe_complete(struct siw_qp *qp, struct siw_rqe *rqe, u32 bytes,
void siw_sq_flush(struct siw_qp *qp)
void siw_rq_flush(struct siw_qp *qp)
int siw_qp_add(struct siw_device *sdev, struct siw_qp *qp)
void siw_qp_llp_close(struct siw_qp *qp)
struct siw_qp *found, *qp = container_of(ref, struct siw_qp, ref);
static int siw_qp_readq_init(struct siw_qp *qp, int irq_size, int orq_size)
int siw_qp_mpa_rts(struct siw_qp *qp, enum mpa_v2_ctrl ctrl)
void siw_init_terminate(struct siw_qp *qp, enum term_elayer layer, u8 etype,
void siw_send_terminate(struct siw_qp *qp)
static void siw_qp_modify_nonstate(struct siw_qp *qp,
static int siw_qp_nextstate_from_idle(struct siw_qp *qp,
static int siw_qp_nextstate_from_rts(struct siw_qp *qp,
static void siw_qp_nextstate_from_term(struct siw_qp *qp,
static int siw_qp_nextstate_from_close(struct siw_qp *qp,
int siw_qp_modify(struct siw_qp *qp, struct siw_qp_attrs *attrs,
static int siw_activate_tx_from_sq(struct siw_qp *qp)
int siw_activate_tx(struct siw_qp *qp)
struct siw_qp *qp;
static int siw_check_tx_fence(struct siw_qp *qp)
static int siw_rdmap_complete(struct siw_qp *qp, int error)
struct siw_qp *qp = rd_desc->arg.data;
static struct siw_wqe *siw_rqe_get(struct siw_qp *qp)
int siw_proc_send(struct siw_qp *qp)
int siw_proc_write(struct siw_qp *qp)
int siw_proc_rreq(struct siw_qp *qp)
static int siw_init_rresp(struct siw_qp *qp, struct siw_rx_stream *srx)
static int siw_orqe_start_rx(struct siw_qp *qp)
int siw_proc_rresp(struct siw_qp *qp)
int siw_proc_terminate(struct siw_qp *qp)
static int siw_get_trailer(struct siw_qp *qp, struct siw_rx_stream *srx)
struct siw_qp *qp = rx_qp(srx);
int siw_qp_sq_process(struct siw_qp *qp)
static void siw_sq_resume(struct siw_qp *qp)
struct siw_qp *qp;
qp = container_of(fifo_list, struct siw_qp, tx_list);
int siw_sq_start(struct siw_qp *qp)
static void siw_prepare_fpdu(struct siw_qp *qp, struct siw_wqe *wqe)
static int siw_qp_sq_proc_tx(struct siw_qp *qp, struct siw_wqe *wqe)
static int siw_qp_sq_proc_local(struct siw_qp *qp, struct siw_wqe *wqe)
struct siw_qp *qp = to_siw_qp(base_qp);
void siw_qp_event(struct siw_qp *qp, enum ib_event_type etype)
struct siw_qp *qp = to_siw_qp(ibqp);
struct siw_qp *qp;
struct siw_qp *qp = to_siw_qp(base_qp);
struct siw_qp *qp = to_siw_qp(base_qp);
static int siw_sq_flush_wr(struct siw_qp *qp, const struct ib_send_wr *wr,
static int siw_rq_flush_wr(struct siw_qp *qp, const struct ib_recv_wr *wr,
struct siw_qp *qp = to_siw_qp(base_qp);
void siw_qp_event(struct siw_qp *qp, enum ib_event_type type);