TX_BD_NUM
struct buffer_state tx_buff[TX_BD_NUM];
#define TX_RING_SZ (TX_BD_NUM * sizeof(struct arc_emac_bd))
for (i = 0; i < TX_BD_NUM; i++) {
*txbd_dirty = (*txbd_dirty + 1) % TX_BD_NUM;
return (priv->txbd_dirty + TX_BD_NUM - priv->txbd_curr - 1) % TX_BD_NUM;
(TX_BD_NUM << 16) | /* TX BD table length */
for (i = 0; i < TX_BD_NUM; i++) {
*txbd_curr = (*txbd_curr + 1) % TX_BD_NUM;
ethoc_write(dev, TX_BD_NUM, dev->num_tx);
sizeof(*priv->tx_bd_v) * TX_BD_NUM,
sizeof(*priv->tx_bd_v) * TX_BD_NUM,
TX_BD_NUM, sizeof(*priv->tx_skb),
for (i = 0; i < TX_BD_NUM; i++) {
((i + 1) % TX_BD_NUM));
priv->tx_bd_ci %= TX_BD_NUM;
cur_p = &priv->tx_bd_v[(priv->tx_bd_tail + num_frag) % TX_BD_NUM];
priv->tx_bd_tail %= TX_BD_NUM;
priv->tx_bd_tail %= TX_BD_NUM;
priv->tx_bd_tail = TX_BD_NUM - 1;
for (i = 0; i < TX_BD_NUM; i++) {