| 3323 | } |
| 3324 | |
| 3325 | static inline caddr_t |
| 3326 | calc_next_txd(iflib_txq_t txq, int cidx, uint8_t qid) |
| 3327 | { |
| 3328 | qidx_t size; |
| 3329 | int ntxd; |
| 3330 | caddr_t start, end, cur, next; |
| 3331 | |
| 3332 | ntxd = txq->ift_size; |
| 3333 | size = txq->ift_txd_size[qid]; |
| 3334 | start = txq->ift_ifdi[qid].idi_vaddr; |
| 3335 | |
| 3336 | if (__predict_false(size == 0)) |
| 3337 | return (start); |
| 3338 | cur = start + size*cidx; |
| 3339 | end = start + size*ntxd; |
| 3340 | next = CACHE_PTR_NEXT(cur); |
| 3341 | return (next < end ? next : start); |
| 3342 | } |
| 3343 | |
| 3344 | /* |
| 3345 | * Pad an mbuf to ensure a minimum ethernet frame size. |