Lines Matching refs:iqueue
1150 extern int gxio_mpipe_iqueue_init(gxio_mpipe_iqueue_t *iqueue,
1163 static inline void gxio_mpipe_iqueue_advance(gxio_mpipe_iqueue_t *iqueue, in gxio_mpipe_iqueue_advance() argument
1167 int head = iqueue->head + count; in gxio_mpipe_iqueue_advance()
1168 iqueue->head = in gxio_mpipe_iqueue_advance()
1169 (head & iqueue->mask_num_entries) + in gxio_mpipe_iqueue_advance()
1170 (head >> iqueue->log2_num_entries); in gxio_mpipe_iqueue_advance()
1174 iqueue->swapped -= count; in gxio_mpipe_iqueue_advance()
1198 static inline void gxio_mpipe_iqueue_release(gxio_mpipe_iqueue_t *iqueue, in gxio_mpipe_iqueue_release() argument
1201 gxio_mpipe_credit(iqueue->context, iqueue->ring, idesc->bucket_id, 1); in gxio_mpipe_iqueue_release()
1227 static inline void gxio_mpipe_iqueue_consume(gxio_mpipe_iqueue_t *iqueue, in gxio_mpipe_iqueue_consume() argument
1230 gxio_mpipe_iqueue_advance(iqueue, 1); in gxio_mpipe_iqueue_consume()
1231 gxio_mpipe_iqueue_release(iqueue, idesc); in gxio_mpipe_iqueue_consume()
1250 static inline int gxio_mpipe_iqueue_try_peek(gxio_mpipe_iqueue_t *iqueue, in gxio_mpipe_iqueue_try_peek() argument
1255 uint64_t head = iqueue->head; in gxio_mpipe_iqueue_try_peek()
1256 uint64_t tail = __gxio_mmio_read(iqueue->idescs); in gxio_mpipe_iqueue_try_peek()
1260 (tail >= head) ? (tail - head) : (iqueue->num_entries - head); in gxio_mpipe_iqueue_try_peek()
1267 next = &iqueue->idescs[head]; in gxio_mpipe_iqueue_try_peek()
1276 for (i = iqueue->swapped; i < avail; i++) { in gxio_mpipe_iqueue_try_peek()
1281 iqueue->swapped = avail; in gxio_mpipe_iqueue_try_peek()
1298 static inline void gxio_mpipe_iqueue_drop(gxio_mpipe_iqueue_t *iqueue, in gxio_mpipe_iqueue_drop() argument
1305 gxio_mpipe_push_buffer(iqueue->context, idesc->stack_idx, va); in gxio_mpipe_iqueue_drop()