cq_desc
struct cqe_rx_t *cq_desc;
cq_desc = (struct cqe_rx_t *)GET_CQ_DESC(cq, cqe_head);
(cq_desc->cqe_type != CQE_TYPE_SEND)) {
switch (cq_desc->cqe_type) {
nicvf_rcv_pkt_handler(netdev, napi, cq_desc, sq, rq);
nicvf_snd_pkt_handler(netdev, (void *)cq_desc,
nicvf_snd_ptp_handler(netdev, (void *)cq_desc);
static void enic_rq_cq_desc_dec(void *cq_desc, u8 cq_desc_size, u8 *type,
struct vnic_rq_buf *buf, void *cq_desc,
(struct cq_enet_rq_desc *)cq_desc;
cq_enet_rq_desc_dec((struct cq_enet_rq_desc *)cq_desc, &ingress_port,
static void enic_rq_service(struct enic *enic, void *cq_desc, u8 type,
enic_rq_indicate_buf(enic, vrq, vrq_buf, cq_desc, type,
void *cq_desc = vnic_cq_to_clean(cq);
enic_rq_cq_desc_dec(cq_desc, enic->ext_cq, &type, &color, &q_number,
enic_rq_service(enic, cq_desc, type, q_number, completed_index);
cq_desc = vnic_cq_to_clean(cq);
enic_rq_cq_desc_dec(cq_desc, enic->ext_cq, &type, &color,
(struct cq_enet_rq_desc_32 *)cq_desc;
(struct cq_enet_rq_desc_64 *)cq_desc;
enic_wq_service(cq->vdev, cq_desc, type, q_number,
cq_desc = (struct cq_desc *)vnic_cq_to_clean(cq);
enic_wq_cq_desc_dec(cq_desc, ext_wq, &type, &color,
static void enic_wq_cq_desc_dec(const struct cq_desc *desc_arg, bool ext_wq,
const struct cq_desc *desc = desc_arg;
static void enic_wq_free_buf(struct vnic_wq *wq, struct cq_desc *cq_desc,
static void enic_wq_service(struct vnic_dev *vdev, struct cq_desc *cq_desc,
vnic_wq_service(&enic->wq[q_number].vwq, cq_desc,
struct cq_desc *cq_desc;
cq_desc = (struct cq_desc *)vnic_cq_to_clean(cq);
enic_wq_cq_desc_dec(cq_desc, ext_wq, &type, &color,
struct cq_desc *cq_desc, u16 completed_index,
struct cq_desc *cq_desc, struct vnic_rq_buf *buf,
(*buf_service)(rq, cq_desc, buf, skipped, opaque);
struct cq_desc *cq_desc, u16 completed_index,
struct cq_desc *cq_desc, struct vnic_wq_buf *buf, void *opaque),
(*buf_service)(wq, cq_desc, buf, opaque);
struct libie_aq_desc *cq_desc = desc;
datalen = le16_to_cpu(cq_desc->datalen);
flags = le16_to_cpu(cq_desc->flags);
le16_to_cpu(cq_desc->opcode), flags, datalen,
le16_to_cpu(cq_desc->retval),
le32_to_cpu(cq_desc->cookie_high),
le32_to_cpu(cq_desc->cookie_low),
le32_to_cpu(cq_desc->params.generic.param0),
le32_to_cpu(cq_desc->params.generic.param1),
le32_to_cpu(cq_desc->params.generic.addr_high),
le32_to_cpu(cq_desc->params.generic.addr_low));
if (buf && cq_desc->datalen &&
le32_to_cpu(cq_desc->params.generic.addr_high),
le32_to_cpu(cq_desc->params.generic.addr_low));
static inline void cq_desc_dec(const struct cq_desc *desc_arg,
const struct cq_desc *desc = desc_arg;
cq_desc_dec((struct cq_desc *)desc, type,
cq_desc_dec((struct cq_desc *)desc, type,
cq_desc_dec((struct cq_desc *)desc_ptr, type, color, q_number,
cq_desc_dec((struct cq_desc *)desc_ptr, type,
cq_desc_dec((struct cq_desc *)desc_ptr, type,
static void fnic_rq_cmpl_frame_recv(struct vnic_rq *rq, struct cq_desc
*cq_desc, struct vnic_rq_buf *buf,
cq_desc_dec(cq_desc, &type, &color, &q_number, &completed_index);
cq_fcp_rq_desc_dec((struct cq_fcp_rq_desc *) cq_desc, &type,
cq_enet_rq_desc_dec((struct cq_enet_rq_desc *) cq_desc, &type,
struct cq_desc *cq_desc, u8 type,
vnic_rq_service(&fnic->rq[q_number], cq_desc, completed_index,
struct cq_desc *cq_desc,
struct cq_desc *cq_desc, u8 type,
vnic_wq_service(&fnic->wq[q_number], cq_desc, completed_index,
int (*q_service)(struct vnic_dev *vdev, struct cq_desc *cq_desc,
struct cq_desc *cq_desc;
cq_desc = (struct cq_desc *)((u8 *)cq->ring.descs +
cq_desc_dec(cq_desc, &type, &color,
if ((*q_service)(cq->vdev, cq_desc, type,
cq_desc = (struct cq_desc *)((u8 *)cq->ring.descs +
cq_desc_dec(cq_desc, &type, &color,
struct cq_desc *cq_desc, u16 completed_index,
struct cq_desc *cq_desc, struct vnic_rq_buf *buf,
(*buf_service)(rq, cq_desc, buf, skipped, opaque);
struct cq_desc *cq_desc, u16 completed_index,
struct cq_desc *cq_desc, struct vnic_wq_buf *buf, void *opaque),
(*buf_service)(wq, cq_desc, buf, opaque);
static inline void cq_desc_dec(const struct cq_desc *desc_arg,
const struct cq_desc *desc = desc_arg;
cq_desc_dec((struct cq_desc *)desc, type,
struct cq_desc *cq_desc,
struct cq_desc *cq_desc,
cq_desc,
int (*q_service)(struct vnic_dev *vdev, struct cq_desc *cq_desc,
struct cq_desc *cq_desc;
cq_desc = (struct cq_desc *)((u8 *)cq->ring.descs +
cq_desc_dec(cq_desc, &type, &color,
if ((*q_service)(cq->vdev, cq_desc, type,
cq_desc = (struct cq_desc *)((u8 *)cq->ring.descs +
cq_desc_dec(cq_desc, &type, &color,
struct cq_desc *cq_desc, u16 completed_index,
struct cq_desc *cq_desc, struct vnic_wq_buf *buf, void *opaque),
(*buf_service)(wq, cq_desc, buf, opaque);