NTXBUF
u_long xmit_cmds[NTXBUF];
u_long xmit_buffs[NTXBUF];
u_long xmit_cbuffs[NTXBUF];
if (sc->xmit_free == NTXBUF)
sc->xchead = (sc->xchead + 1) % NTXBUF;
sc->xctail = (sc->xctail + 1 ) % NTXBUF;
if ( sc->xmit_free<NTXBUF )
((NRXBUF*IE_RXBUF_SIZE)+(NTXBUF*IE_TXBUF_SIZE))/1024 );
for ( n=0; n<NTXBUF; n++ ) {
for ( n=0; n<NTXBUF; n++ ) {
sc->xmit_free = NTXBUF;
#define NEXT_TXBUF(x) (((x) + 1) & (NTXBUF - 1))
struct desc txd[NTXBUF];
for (i = 0; i < NTXBUF; i++) {
p = malloc((NRXBUF + NTXBUF) * 2048 + 3 * 0x800, M_DEVBUF, M_WAITOK);
memset(p, 0, 2048 * (NRXBUF + NTXBUF) + 2 * 0x800);
for (i = 0; i < NTXBUF; i++) {
if (i == NTXBUF)
if (i == NTXBUF)
void *sc_txbuf[NTXBUF];
volatile struct ie_xmit_cmd im_xc[NTXBUF];
volatile struct ie_xmit_buf im_xd[NTXBUF];
volatile u_char im_txbuf[NTXBUF * ETHER_MAX_LEN];
for (i = 0; i < NTXBUF; i++) {
for (i = 0; i < NTXBUF; i++) {
for (i = 0; i < NTXBUF; i++) {
sc->ntxbuf = NTXBUF; /* XXX - Fix me... */
sc->xctail = (sc->xctail + 1) % NTXBUF;
volatile struct ie_xmit_cmd *xmit_cmds[NTXBUF];
volatile struct ie_xmit_buf *xmit_buffs[NTXBUF];
char *xmit_cbuffs[NTXBUF];
va = ALLOC(NTXBUF * 512);
for (i = 0; i < NTXBUF; i++) {
idx = NTXBUF + i;
#define NBDESCS (NTXBUF + NRXBUF)
ni_getpgs(sc, NTXBUF * 512, &va, 0);
for (i = 0; i < NTXBUF; i++) {
idx = NTXBUF * NTXFRAGS + i;
#define NBDESCS (NTXBUF * NTXFRAGS + NRXBUF)
prev = (cur + NTXBUF - 1) % NTXBUF;
while (sc->xmit_busy < NTXBUF) {
if (++head == NTXBUF)
ptr += NTXBUF * IE_CMD_NOP_SZ;
ptr += NTXBUF * IE_CMD_XMIT_SZ;
ptr += NTXBUF * IE_XBD_SZ;
ptr += NTXBUF * IE_TBUF_SIZE;
for (n = 0; n < NTXBUF; n++) {
if (NTXBUF < 2)
(sc->xctail + NTXBUF - 1) % NTXBUF));
sc->xctail = (sc->xctail + 1) % NTXBUF;