rqe
struct vdc_req_entry *rqe = &port->rq_arr[idx];
req = rqe->req;
rqe->req = NULL;
struct vdc_req_entry *rqe = &port->rq_arr[index];
req = rqe->req;
rqe->req = NULL;
struct vdc_req_entry *rqe;
rqe = &port->rq_arr[dr->prod];
rqe->req = req;
struct erdma_rqe *rqe =
rqe->qe_idx = cpu_to_le16(qp->kern_qp.rq_pi + 1);
rqe->qpn = cpu_to_le32(QP_ID(qp));
rqe->length = 0;
rqe->stag = cpu_to_le32(recv_wr->sg_list[0].lkey);
rqe->to = cpu_to_le64(recv_wr->sg_list[0].addr);
rqe->length = cpu_to_le32(recv_wr->sg_list[0].length);
*(u64 *)qp->kern_qp.rq_dbrec = *(u64 *)rqe;
writeq(*(u64 *)rqe, qp->kern_qp.hw_rq_db);
struct ocrdma_hdr_wqe *rqe;
rqe = (struct ocrdma_hdr_wqe *)(qp->ird_q_va +
rqe->cw = 0;
rqe->cw |= 2;
rqe->cw |= (OCRDMA_TYPE_LKEY << OCRDMA_WQE_TYPE_SHIFT);
rqe->cw |= (8 << OCRDMA_WQE_SIZE_SHIFT);
rqe->cw |= (8 << OCRDMA_WQE_NXT_WQE_SIZE_SHIFT);
static void ocrdma_build_rqe(struct ocrdma_hdr_wqe *rqe,
wqe_size = (wr->num_sge * sizeof(*sge)) + sizeof(*rqe);
wqe_size = sizeof(*sge) + sizeof(*rqe);
rqe->cw = ((wqe_size / OCRDMA_WQE_STRIDE) <<
rqe->cw |= (OCRDMA_FLAG_SIG << OCRDMA_WQE_FLAGS_SHIFT);
rqe->cw |= (OCRDMA_TYPE_LKEY << OCRDMA_WQE_TYPE_SHIFT);
rqe->total_len = 0;
rqe->rsvd_tag = tag;
sge = (struct ocrdma_sge *)(rqe + 1);
ocrdma_build_sges(rqe, sge, wr->num_sge, wr->sg_list);
ocrdma_cpu_to_le32(rqe, wqe_size);
struct ocrdma_hdr_wqe *rqe;
rqe = ocrdma_hwq_head(&qp->rq);
ocrdma_build_rqe(rqe, wr, 0);
struct ocrdma_hdr_wqe *rqe;
rqe = ocrdma_hwq_head(&srq->rq);
ocrdma_build_rqe(rqe, wr, tag);
struct rdma_rq_sge *rqe =
RQ_SGE_SET(rqe, wr->sg_list[i].addr,
struct rdma_rq_sge *rqe =
RQ_SGE_SET(rqe, 0, 0, flags);
struct siw_rqe rqe;
#define rx_type(wqe) ((wqe)->rqe.opcode)
int siw_rqe_complete(struct siw_qp *qp, struct siw_rqe *rqe, u32 bytes,
siw_unref_mem_sgl(wqe->mem, wqe->rqe.num_sge);
int siw_rqe_complete(struct siw_qp *qp, struct siw_rqe *rqe, u32 bytes,
cqe->id = rqe->id;
smp_store_mb(rqe->flags, 0);
smp_store_mb(rqe->flags, 0);
siw_rqe_complete(qp, &wqe->rqe, wqe->bytes,
struct siw_rqe *rqe =
if (!READ_ONCE(rqe->flags))
if (siw_rqe_complete(qp, rqe, 0, 0, SIW_WC_WR_FLUSH_ERR) != 0)
WRITE_ONCE(rqe->flags, 0);
wqe->rqe.flags |= SIW_WQE_SOLICITED;
rv = siw_rqe_complete(qp, &wqe->rqe, wqe->processed,
rv = siw_rqe_complete(qp, &wqe->rqe, wqe->processed,
struct siw_rqe *rqe;
rqe = &srq->recvq[srq->rq_get % srq->num_rqe];
rqe = &qp->recvq[qp->rq_get % qp->attrs.rq_size];
if (likely(rqe->flags == SIW_WQE_VALID)) {
int num_sge = rqe->num_sge;
wqe->rqe.id = rqe->id;
wqe->rqe.num_sge = num_sge;
wqe->rqe.sge[i].laddr = rqe->sge[i].laddr;
wqe->rqe.sge[i].lkey = rqe->sge[i].lkey;
wqe->rqe.sge[i].length = rqe->sge[i].length;
wqe->bytes += wqe->rqe.sge[i].length;
smp_store_mb(rqe->flags, 0);
siw_dbg_qp(qp, "too many sge's: %d\n", rqe->num_sge);
sge = &wqe->rqe.sge[frx->sge_idx];
wqe->rqe.num_sge = 1;
struct siw_rqe *rqe = &qp->recvq[idx];
if (rqe->flags) {
rqe->id = wr->wr_id;
rqe->num_sge = wr->num_sge;
siw_copy_sgl(wr->sg_list, rqe->sge, wr->num_sge);
rqe->flags = SIW_WQE_VALID;
struct siw_rqe *rqe = &srq->recvq[idx];
if (rqe->flags) {
rqe->id = wr->wr_id;
rqe->num_sge = wr->num_sge;
siw_copy_sgl(wr->sg_list, rqe->sge, wr->num_sge);
rqe->flags = SIW_WQE_VALID;
struct siw_rqe rqe = {};
rqe.id = wr->wr_id;
rv = siw_rqe_complete(qp, &rqe, 0, 0, SIW_WC_WR_FLUSH_ERR);
struct rxq_entry_t *rqe;
rqe = wilc_wlan_rxq_remove(wilc);
if (!rqe)
buffer = rqe->buffer;
size = rqe->buffer_size;
kfree(rqe);
struct rxq_entry_t *rqe;
rqe = kmalloc_obj(*rqe);
if (!rqe)
rqe->buffer = buffer;
rqe->buffer_size = size;
wilc_wlan_rxq_add(wilc, rqe);
struct rxq_entry_t *rqe;
while ((rqe = wilc_wlan_rxq_remove(wilc)))
kfree(rqe);
static void wilc_wlan_rxq_add(struct wilc *wilc, struct rxq_entry_t *rqe)
list_add_tail(&rqe->list, &wilc->rxq_head.list);
struct rxq_entry_t *rqe = NULL;
rqe = list_first_entry(&wilc->rxq_head.list, struct rxq_entry_t,
list_del(&rqe->list);
return rqe;
struct rqe *rq_virt;
struct rqe *rq_prod_qe;
struct rqe *rq_cons_qe;
struct rqe *rq_first_qe;
struct rqe *rq_last_qe;
struct io_uring_zcrx_rqe *rqe = io_zcrx_get_rqe(zcrx, mask);
if (!io_parse_rqe(rqe, zcrx, &niov))
static inline bool io_parse_rqe(struct io_uring_zcrx_rqe *rqe,
__u64 off = READ_ONCE(rqe->off);
if (unlikely(rqe->__pad || area_idx))
struct io_uring_zcrx_rqe *rqe = io_zcrx_get_rqe(ifq, mask);
if (!io_parse_rqe(rqe, ifq, &niov))
struct io_uring_zcrx_rqe *rqe;
rqe = &rq_ring.rqes[(rq_ring.rq_tail & rq_mask)];
rqe->off = (rcqe->off & ~IORING_ZCRX_AREA_MASK) | area_token;
rqe->len = cqe->res;