| 6356 | } |
| 6357 | |
| 6358 | static int |
| 6359 | iflib_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 | |
| 6380 | static int |
| 6381 | iflib_rxd_avail(if_ctx_t ctx, iflib_rxq_t rxq, qidx_t cidx, qidx_t budget) |
no test coverage detected