MCPcopy Create free account
hub / github.com/F-Stack/f-stack / iflib_tx_credits_update

Function iflib_tx_credits_update

freebsd/net/iflib.c:6358–6378  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6356}
6357
6358static int
6359iflib_tx_credits_update(if_ctx_t ctx, iflib_txq_t txq)
6360{
6361 int credits;
6362#ifdef INVARIANTS
6363 int credits_pre = txq->ift_cidx_processed;
6364#endif
6365
6366 bus_dmamap_sync(txq->ift_ifdi->idi_tag, txq->ift_ifdi->idi_map,
6367 BUS_DMASYNC_POSTREAD);
6368 if ((credits = ctx->isc_txd_credits_update(ctx->ifc_softc, txq->ift_id, true)) == 0)
6369 return (0);
6370
6371 txq->ift_processed += credits;
6372 txq->ift_cidx_processed += credits;
6373
6374 MPASS(credits_pre + credits == txq->ift_cidx_processed);
6375 if (txq->ift_cidx_processed >= txq->ift_size)
6376 txq->ift_cidx_processed -= txq->ift_size;
6377 return (credits);
6378}
6379
6380static int
6381iflib_rxd_avail(if_ctx_t ctx, iflib_rxq_t rxq, qidx_t cidx, qidx_t budget)

Callers 2

iflib_netmap_txsyncFunction · 0.85

Calls 1

bus_dmamap_syncFunction · 0.50

Tested by

no test coverage detected