Lines Matching refs:rq

84 static inline unsigned int vnic_rq_desc_avail(struct vnic_rq *rq)
87 return rq->ring.desc_avail;
90 static inline unsigned int vnic_rq_desc_used(struct vnic_rq *rq)
93 return rq->ring.desc_count - rq->ring.desc_avail - 1;
96 static inline void *vnic_rq_next_desc(struct vnic_rq *rq)
98 return rq->to_use->desc;
101 static inline unsigned int vnic_rq_next_index(struct vnic_rq *rq)
103 return rq->to_use->index;
106 static inline void vnic_rq_post(struct vnic_rq *rq,
111 struct vnic_rq_buf *buf = rq->to_use;
120 rq->to_use = buf;
121 rq->ring.desc_avail--;
137 iowrite32(buf->index, &rq->ctrl->posted_index);
141 static inline void vnic_rq_return_descs(struct vnic_rq *rq, unsigned int count)
143 rq->ring.desc_avail += count;
151 static inline void vnic_rq_service(struct vnic_rq *rq,
153 int desc_return, void (*buf_service)(struct vnic_rq *rq,
160 buf = rq->to_clean;
165 (*buf_service)(rq, cq_desc, buf, skipped, opaque);
168 rq->ring.desc_avail++;
170 rq->to_clean = buf->next;
175 buf = rq->to_clean;
179 static inline int vnic_rq_fill(struct vnic_rq *rq,
180 int (*buf_fill)(struct vnic_rq *rq))
184 while (vnic_rq_desc_avail(rq) > 0) {
186 err = (*buf_fill)(rq);
194 void vnic_rq_free(struct vnic_rq *rq);
195 int vnic_rq_alloc(struct vnic_dev *vdev, struct vnic_rq *rq, unsigned int index,
197 void vnic_rq_init(struct vnic_rq *rq, unsigned int cq_index,
200 unsigned int vnic_rq_error_status(struct vnic_rq *rq);
201 void vnic_rq_enable(struct vnic_rq *rq);
202 int vnic_rq_disable(struct vnic_rq *rq);
203 void vnic_rq_clean(struct vnic_rq *rq,
204 void (*buf_clean)(struct vnic_rq *rq, struct vnic_rq_buf *buf));