siw_sqe
struct siw_sqe sqe;
struct siw_sqe *sendq; /* send queue element array */
struct siw_sqe *orq; /* outbound read queue element array */
struct siw_sqe *irq; /* inbound read queue element array */
void siw_read_to_orq(struct siw_sqe *rreq, struct siw_sqe *sqe);
int siw_sqe_complete(struct siw_qp *qp, struct siw_sqe *sqe, u32 bytes,
struct siw_sqe *sqe = &qp->sendq[qp->sq_get % qp->attrs.sq_size];
static inline struct siw_sqe *sq_get_next(struct siw_qp *qp)
struct siw_sqe *sqe = &qp->sendq[qp->sq_get % qp->attrs.sq_size];
static inline struct siw_sqe *orq_get_current(struct siw_qp *qp)
static inline struct siw_sqe *orq_get_free(struct siw_qp *qp)
struct siw_sqe *orq_e = &qp->orq[qp->orq_put % qp->attrs.orq_size];
static inline struct siw_sqe *irq_alloc_free(struct siw_qp *qp)
struct siw_sqe *irq_e = &qp->irq[qp->irq_put % qp->attrs.irq_size];
int siw_sqe_complete(struct siw_qp *qp, struct siw_sqe *sqe, u32 bytes,
struct siw_sqe *sqe;
qp->irq = vcalloc(irq_size, sizeof(struct siw_sqe));
qp->orq = vcalloc(orq_size, sizeof(struct siw_sqe));
struct siw_sqe *rreq = NULL;
void siw_read_to_orq(struct siw_sqe *rreq, struct siw_sqe *sqe)
struct siw_sqe *sqe;
struct siw_sqe *rreq;
struct siw_sqe *irqe;
struct siw_sqe *rreq;
struct siw_sqe *resp;
struct siw_sqe *orqe;
static int siw_fastreg_mr(struct ib_pd *pd, struct siw_sqe *sqe)
qp->sendq = vmalloc_user(num_sqe * sizeof(struct siw_sqe));
qp->sendq = vcalloc(num_sqe, sizeof(struct siw_sqe));
length = num_sqe * sizeof(struct siw_sqe);
struct siw_sqe *sqe)
struct siw_sqe sqe = {};
struct siw_sqe *sqe = &qp->sendq[idx];