• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/net/ibm_newemac/

Lines Matching refs:slot

389 		int slot, reg, mask;
392 slot = EMAC_XAHT_CRC_TO_SLOT(dev,
394 reg = EMAC_XAHT_SLOT_TO_REG(dev, slot);
395 mask = EMAC_XAHT_SLOT_TO_MASK(dev, slot);
1084 static inline int emac_alloc_rx_skb(struct emac_instance *dev, int slot,
1091 dev->rx_skb[slot] = skb;
1092 dev->rx_desc[slot].data_len = 0;
1095 dev->rx_desc[slot].data_ptr =
1099 dev->rx_desc[slot].ctrl = MAL_RX_CTRL_EMPTY |
1100 (slot == (NUM_RX_BUFF - 1) ? MAL_RX_CTRL_WRAP : 0);
1319 int slot;
1324 slot = dev->tx_slot++;
1330 DBG2(dev, "xmit(%u) %d" NL, len, slot);
1332 dev->tx_skb[slot] = skb;
1333 dev->tx_desc[slot].data_ptr = dma_map_single(&dev->ofdev->dev,
1336 dev->tx_desc[slot].data_len = (u16) len;
1338 dev->tx_desc[slot].ctrl = ctrl;
1343 static inline int emac_xmit_split(struct emac_instance *dev, int slot,
1351 slot = (slot + 1) % NUM_TX_BUFF;
1355 if (slot == NUM_TX_BUFF - 1)
1358 dev->tx_skb[slot] = NULL;
1359 dev->tx_desc[slot].data_ptr = pd;
1360 dev->tx_desc[slot].data_len = (u16) chunk;
1361 dev->tx_desc[slot].ctrl = ctrl;
1369 return slot;
1378 int slot, i;
1397 slot = dev->tx_slot;
1400 dev->tx_skb[slot] = NULL;
1402 dev->tx_desc[slot].data_ptr = pd =
1404 dev->tx_desc[slot].data_len = (u16) chunk;
1407 slot = emac_xmit_split(dev, slot, pd + chunk, len, !nr_frags,
1420 slot = emac_xmit_split(dev, slot, pd, len, i == nr_frags - 1,
1424 DBG2(dev, "xmit_sg(%u) %d - %d" NL, skb->len, dev->tx_slot, slot);
1426 /* Attach skb to the last slot so we don't release it too early */
1427 dev->tx_skb[slot] = skb;
1434 dev->tx_slot = (slot + 1) % NUM_TX_BUFF;
1442 while (slot != dev->tx_slot) {
1443 dev->tx_desc[slot].ctrl = 0;
1445 if (--slot < 0)
1446 slot = NUM_TX_BUFF - 1;
1499 int slot = dev->ack_slot, n = 0;
1501 ctrl = dev->tx_desc[slot].ctrl;
1503 struct sk_buff *skb = dev->tx_skb[slot];
1508 dev->tx_skb[slot] = NULL;
1510 slot = (slot + 1) % NUM_TX_BUFF;
1519 dev->ack_slot = slot;
1530 static inline void emac_recycle_rx_skb(struct emac_instance *dev, int slot,
1533 struct sk_buff *skb = dev->rx_skb[slot];
1535 DBG2(dev, "recycle %d %d" NL, slot, len);
1541 dev->rx_desc[slot].data_len = 0;
1543 dev->rx_desc[slot].ctrl = MAL_RX_CTRL_EMPTY |
1544 (slot == (NUM_RX_BUFF - 1) ? MAL_RX_CTRL_WRAP : 0);
1585 static inline int emac_rx_sg_append(struct emac_instance *dev, int slot)
1588 int len = dev->rx_desc[slot].data_len;
1597 dev->rx_skb[slot]->data, len);
1599 emac_recycle_rx_skb(dev, slot, len);
1603 emac_recycle_rx_skb(dev, slot, 0);
1611 int slot = dev->rx_slot, received = 0;
1619 u16 ctrl = dev->rx_desc[slot].ctrl;
1624 skb = dev->rx_skb[slot];
1626 len = dev->rx_desc[slot].data_len;
1635 emac_recycle_rx_skb(dev, slot, 0);
1642 emac_recycle_rx_skb(dev, slot, len);
1655 emac_recycle_rx_skb(dev, slot, len);
1657 } else if (unlikely(emac_alloc_rx_skb(dev, slot, GFP_ATOMIC)))
1671 slot = (slot + 1) % NUM_RX_BUFF;
1678 if (unlikely(emac_alloc_rx_skb(dev, slot, GFP_ATOMIC))) {
1679 DBG(dev, "rx OOM %d" NL, slot);
1681 emac_recycle_rx_skb(dev, slot, 0);
1686 } else if (!emac_rx_sg_append(dev, slot) &&
1703 DBG(dev, "rx OOM %d" NL, slot);
1706 emac_recycle_rx_skb(dev, slot, 0);
1712 dev->rx_slot = slot;
1717 if (!(dev->rx_desc[slot].ctrl & MAL_RX_CTRL_EMPTY)) {
1751 int slot = dev->rx_slot;
1753 u16 ctrl = dev->rx_desc[slot].ctrl;
1759 slot = (slot + 1) % NUM_RX_BUFF;
1762 if (unlikely(slot == dev->rx_slot))