ET_TX_NDESC
for (i = 0; i < ET_TX_NDESC; i++) {
for (i = 0; i < ET_TX_NDESC; i++) {
if (tbd->tbd_used > (ET_TX_NDESC * 2) / 3)
if (tbd->tbd_used + ET_NSEG_SPARE >= ET_TX_NDESC) {
for (i = 0; i < ET_TX_NDESC; ++i) {
CSR_WRITE_4(sc, ET_TX_RING_CNT, ET_TX_NDESC - 1);
MPASS(tx_ring->tr_ready_index < ET_TX_NDESC);
if (tbd->tbd_used + nsegs > ET_TX_NDESC - 1) {
idx = (first_idx + i) % ET_TX_NDESC;
MPASS(tx_ring->tr_ready_index < ET_TX_NDESC);
if (++tx_ring->tr_ready_index == ET_TX_NDESC) {
MPASS(tbd->tbd_used <= ET_TX_NDESC);
MPASS(tbd->tbd_start_index < ET_TX_NDESC);
if (++tbd->tbd_start_index == ET_TX_NDESC) {
if (tbd->tbd_used + ET_NSEG_SPARE < ET_TX_NDESC)
if_setsendqlen(ifp, ET_TX_NDESC - 1);
struct et_txbuf tbd_buf[ET_TX_NDESC];
#define ET_TX_RING_SIZE (ET_TX_NDESC * sizeof(struct et_txdesc))