ocrdma_qp
struct ocrdma_qp **qp_tbl;
static inline struct ocrdma_qp *get_ocrdma_qp(struct ib_qp *ibqp)
return container_of(ibqp, struct ocrdma_qp, ibqp);
bool ocrdma_is_qp_in_sq_flushlist(struct ocrdma_cq *cq, struct ocrdma_qp *qp)
struct ocrdma_qp *tmp;
bool ocrdma_is_qp_in_rq_flushlist(struct ocrdma_cq *cq, struct ocrdma_qp *qp)
struct ocrdma_qp *tmp;
void ocrdma_flush_qp(struct ocrdma_qp *qp)
static void ocrdma_init_hwq_ptr(struct ocrdma_qp *qp)
int ocrdma_qp_state_change(struct ocrdma_qp *qp, enum ib_qp_state new_ib_state,
static u32 ocrdma_set_create_qp_mbx_access_flags(struct ocrdma_qp *qp)
struct ocrdma_qp *qp)
struct ocrdma_qp *qp)
struct ocrdma_qp *qp,
struct ocrdma_qp *qp)
struct ocrdma_qp *qp,
int ocrdma_mbx_create_qp(struct ocrdma_qp *qp, struct ib_qp_init_attr *attrs,
int ocrdma_mbx_query_qp(struct ocrdma_dev *dev, struct ocrdma_qp *qp,
static int ocrdma_set_av_params(struct ocrdma_qp *qp,
static int ocrdma_set_qp_params(struct ocrdma_qp *qp,
int ocrdma_mbx_modify_qp(struct ocrdma_dev *dev, struct ocrdma_qp *qp,
int ocrdma_mbx_destroy_qp(struct ocrdma_dev *dev, struct ocrdma_qp *qp)
struct ocrdma_qp *qp)
struct ocrdma_qp *qp = NULL;
struct ocrdma_qp *qp;
qp = list_entry(cur, struct ocrdma_qp, sq_entry);
qp = list_entry(cur, struct ocrdma_qp, rq_entry);
int ocrdma_mbx_create_qp(struct ocrdma_qp *, struct ib_qp_init_attr *attrs,
int ocrdma_mbx_modify_qp(struct ocrdma_dev *, struct ocrdma_qp *,
int ocrdma_mbx_query_qp(struct ocrdma_dev *, struct ocrdma_qp *,
int ocrdma_mbx_destroy_qp(struct ocrdma_dev *, struct ocrdma_qp *);
int ocrdma_qp_state_change(struct ocrdma_qp *, enum ib_qp_state new_state,
bool ocrdma_is_qp_in_sq_flushlist(struct ocrdma_cq *, struct ocrdma_qp *);
bool ocrdma_is_qp_in_rq_flushlist(struct ocrdma_cq *, struct ocrdma_qp *);
void ocrdma_flush_qp(struct ocrdma_qp *);
INIT_RDMA_OBJ_SIZE(ib_qp, ocrdma_qp, ibqp),
dev->qp_tbl = kzalloc_objs(struct ocrdma_qp *, OCRDMA_MAX_QP);
static int ocrdma_add_qpn_map(struct ocrdma_dev *dev, struct ocrdma_qp *qp)
static void ocrdma_del_qpn_map(struct ocrdma_dev *dev, struct ocrdma_qp *qp)
static int ocrdma_copy_qp_uresp(struct ocrdma_qp *qp,
static void ocrdma_set_qp_db(struct ocrdma_dev *dev, struct ocrdma_qp *qp,
static int ocrdma_alloc_wr_id_tbl(struct ocrdma_qp *qp)
static void ocrdma_set_qp_init_params(struct ocrdma_qp *qp,
struct ocrdma_qp *qp = get_ocrdma_qp(ibqp);
struct ocrdma_qp *qp;
struct ocrdma_qp *qp;
struct ocrdma_qp *qp = get_ocrdma_qp(ibqp);
static int is_hw_sq_empty(struct ocrdma_qp *qp)
static int is_hw_rq_empty(struct ocrdma_qp *qp)
static void ocrdma_discard_cqes(struct ocrdma_qp *qp, struct ocrdma_cq *cq)
void ocrdma_del_flush_qp(struct ocrdma_qp *qp)
struct ocrdma_qp *qp;
static void ocrdma_build_ud_hdr(struct ocrdma_qp *qp,
static int ocrdma_build_inline_sges(struct ocrdma_qp *qp,
static int ocrdma_build_send(struct ocrdma_qp *qp, struct ocrdma_hdr_wqe *hdr,
static int ocrdma_build_write(struct ocrdma_qp *qp, struct ocrdma_hdr_wqe *hdr,
static void ocrdma_build_read(struct ocrdma_qp *qp, struct ocrdma_hdr_wqe *hdr,
static int ocrdma_build_reg(struct ocrdma_qp *qp,
static void ocrdma_ring_sq_db(struct ocrdma_qp *qp)
struct ocrdma_qp *qp = get_ocrdma_qp(ibqp);
static void ocrdma_ring_rq_db(struct ocrdma_qp *qp)
struct ocrdma_qp *qp = get_ocrdma_qp(ibqp);
static void ocrdma_update_wc(struct ocrdma_qp *qp, struct ib_wc *ibwc,
static void ocrdma_set_cqe_status_flushed(struct ocrdma_qp *qp,
struct ocrdma_qp *qp, int status)
struct ocrdma_qp *qp, int status)
struct ocrdma_qp *qp, int status)
static bool ocrdma_poll_err_scqe(struct ocrdma_qp *qp,
static bool ocrdma_poll_success_scqe(struct ocrdma_qp *qp,
static bool ocrdma_poll_scqe(struct ocrdma_qp *qp, struct ocrdma_cqe *cqe,
struct ocrdma_qp *qp)
static bool ocrdma_poll_err_rcqe(struct ocrdma_qp *qp, struct ocrdma_cqe *cqe,
static void ocrdma_poll_success_rcqe(struct ocrdma_qp *qp,
static bool ocrdma_poll_rcqe(struct ocrdma_qp *qp, struct ocrdma_cqe *cqe,
struct ocrdma_qp *qp = NULL;
struct ocrdma_qp *qp, struct ib_wc *ibwc)
struct ocrdma_qp *qp;
void ocrdma_del_flush_qp(struct ocrdma_qp *qp);