Lines Matching refs:cidx
406 get_inuse(int size, qidx_t cidx, qidx_t pidx, uint8_t gen) in get_inuse() argument
410 if (pidx > cidx) in get_inuse()
411 used = pidx - cidx; in get_inuse()
412 else if (pidx < cidx) in get_inuse()
413 used = size - cidx + pidx; in get_inuse()
414 else if (gen == 0 && pidx == cidx) in get_inuse()
416 else if (gen == 1 && pidx == cidx) in get_inuse()
710 static int iflib_rxd_avail(if_ctx_t ctx, iflib_rxq_t rxq, qidx_t cidx, qidx_t budget);
1641 int i, cidx, result; in iflib_fast_intr_rxtx() local
1675 cidx = rxq->ifr_cq_cidx; in iflib_fast_intr_rxtx()
1677 cidx = rxq->ifr_fl[0].ifl_cidx; in iflib_fast_intr_rxtx()
1678 if (iflib_rxd_avail(ctx, rxq, cidx, 1)) in iflib_fast_intr_rxtx()
2709 calc_next_rxd(iflib_fl_t fl, int cidx) in calc_next_rxd() argument
2721 cur = start + size*cidx; in calc_next_rxd()
2728 prefetch_pkts(iflib_fl_t fl, int cidx) in prefetch_pkts() argument
2735 nextptr = (cidx + CACHE_PTR_INCREMENT) & (nrxd-1); in prefetch_pkts()
2738 next_rxd = calc_next_rxd(fl, cidx); in prefetch_pkts()
2740 prefetch(fl->ifl_sds.ifsd_m[(cidx + 1) & (nrxd-1)]); in prefetch_pkts()
2741 prefetch(fl->ifl_sds.ifsd_m[(cidx + 2) & (nrxd-1)]); in prefetch_pkts()
2742 prefetch(fl->ifl_sds.ifsd_m[(cidx + 3) & (nrxd-1)]); in prefetch_pkts()
2743 prefetch(fl->ifl_sds.ifsd_m[(cidx + 4) & (nrxd-1)]); in prefetch_pkts()
2744 prefetch(fl->ifl_sds.ifsd_cl[(cidx + 1) & (nrxd-1)]); in prefetch_pkts()
2745 prefetch(fl->ifl_sds.ifsd_cl[(cidx + 2) & (nrxd-1)]); in prefetch_pkts()
2746 prefetch(fl->ifl_sds.ifsd_cl[(cidx + 3) & (nrxd-1)]); in prefetch_pkts()
2747 prefetch(fl->ifl_sds.ifsd_cl[(cidx + 4) & (nrxd-1)]); in prefetch_pkts()
2753 int flid, cidx; in rxd_frag_to_sd() local
2760 cidx = irf->irf_idx; in rxd_frag_to_sd()
2763 sd->ifsd_m = &fl->ifl_sds.ifsd_m[cidx]; in rxd_frag_to_sd()
2764 sd->ifsd_cl = &fl->ifl_sds.ifsd_cl[cidx]; in rxd_frag_to_sd()
2770 prefetch_pkts(fl, cidx); in rxd_frag_to_sd()
2771 next = (cidx + CACHE_PTR_INCREMENT) & (fl->ifl_size-1); in rxd_frag_to_sd()
2773 map = fl->ifl_sds.ifsd_map[cidx]; in rxd_frag_to_sd()
2782 bit_clear(fl->ifl_rx_bitmap, cidx); in rxd_frag_to_sd()
3385 calc_next_txd(iflib_txq_t txq, int cidx, uint8_t qid) in calc_next_txd() argument
3397 cur = start + size*cidx; in calc_next_txd()
3460 int err, nsegs, ndesc, max_segs, pidx, cidx, next, ntxd; in iflib_encap() local
3473 cidx = txq->ift_cidx; in iflib_encap()
3476 next = (cidx + CACHE_PTR_INCREMENT) & (ntxd-1); in iflib_encap()
3478 next_txd = calc_next_txd(txq, cidx, 0); in iflib_encap()
3485 next = (cidx + CACHE_LINE_SIZE) & (ntxd-1); in iflib_encap()
3663 uint32_t qsize, cidx, mask, gen; in iflib_tx_desc_free() local
3667 cidx = txq->ift_cidx; in iflib_tx_desc_free()
3676 prefetch(ifsd_m[(cidx + 3) & mask]); in iflib_tx_desc_free()
3677 prefetch(ifsd_m[(cidx + 4) & mask]); in iflib_tx_desc_free()
3679 if ((m = ifsd_m[cidx]) != NULL) { in iflib_tx_desc_free()
3680 prefetch(&ifsd_m[(cidx + CACHE_PTR_INCREMENT) & mask]); in iflib_tx_desc_free()
3683 txq->ift_sds.ifsd_tso_map[cidx], in iflib_tx_desc_free()
3686 txq->ift_sds.ifsd_tso_map[cidx]); in iflib_tx_desc_free()
3689 txq->ift_sds.ifsd_map[cidx], in iflib_tx_desc_free()
3692 txq->ift_sds.ifsd_map[cidx]); in iflib_tx_desc_free()
3697 ifsd_m[cidx] = NULL; in iflib_tx_desc_free()
3703 if (__predict_false(++cidx == qsize)) { in iflib_tx_desc_free()
3704 cidx = 0; in iflib_tx_desc_free()
3708 txq->ift_cidx = cidx; in iflib_tx_desc_free()
3746 _ring_peek_one(struct ifmp_ring *r, int cidx, int offset, int remaining) in _ring_peek_one() argument
3752 next = (cidx + CACHE_PTR_INCREMENT) & (size-1); in _ring_peek_one()
3755 prefetch(items[(cidx + offset) & (size-1)]); in _ring_peek_one()
3758 prefetch2cachelines(items[(cidx + offset + 1) & (size-1)]); in _ring_peek_one()
3759 prefetch2cachelines(items[(cidx + offset + 2) & (size-1)]); in _ring_peek_one()
3760 prefetch2cachelines(items[(cidx + offset + 3) & (size-1)]); in _ring_peek_one()
3762 return (__DEVOLATILE(struct mbuf **, &r->items[(cidx + offset) & (size-1)])); in _ring_peek_one()
3787 iflib_txq_drain(struct ifmp_ring *r, uint32_t cidx, uint32_t pidx) in iflib_txq_drain() argument
3804 avail = IDXDIFF(pidx, cidx, r->size); in iflib_txq_drain()
3812 if (__predict_true(r->items[(cidx + i) & (r->size-1)] != (void *)txq)) in iflib_txq_drain()
3813 m_freem(r->items[(cidx + i) & (r->size-1)]); in iflib_txq_drain()
3814 r->items[(cidx + i) & (r->size-1)] = NULL; in iflib_txq_drain()
3845 mp = _ring_peek_one(r, cidx, i, rem); in iflib_txq_drain()
3901 iflib_txq_drain_free(struct ifmp_ring *r, uint32_t cidx, uint32_t pidx) in iflib_txq_drain_free() argument
3914 avail = IDXDIFF(pidx, cidx, r->size); in iflib_txq_drain_free()
3916 mp = _ring_peek_one(r, cidx, i, avail - i); in iflib_txq_drain_free()
6558 iflib_rxd_avail(if_ctx_t ctx, iflib_rxq_t rxq, qidx_t cidx, qidx_t budget) in iflib_rxd_avail() argument
6566 return (ctx->isc_rxd_available(ctx->ifc_softc, rxq->ifr_id, cidx, in iflib_rxd_avail()