• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-WNDR4500v2-V1.0.0.60_1.0.38/src/linux/linux-2.6/drivers/net/myri10ge/

Lines Matching refs:tx

158 	struct myri10ge_tx_buf tx;	/* transmit ring        */
616 if (mgp->tx.boundary == 4096) {
627 mgp->tx.boundary = 2048;
745 len = mgp->tx.boundary;
834 mgp->tx.req = 0;
835 mgp->tx.done = 0;
836 mgp->tx.pkt_start = 0;
837 mgp->tx.pkt_done = 0;
1059 struct myri10ge_tx_buf *tx = &mgp->tx;
1064 while (tx->pkt_done != mcp_index) {
1065 idx = tx->done & tx->mask;
1066 skb = tx->info[idx].skb;
1069 tx->info[idx].skb = NULL;
1070 if (tx->info[idx].last) {
1071 tx->pkt_done++;
1072 tx->info[idx].last = 0;
1074 tx->done++;
1075 len = pci_unmap_len(&tx->info[idx], len);
1076 pci_unmap_len_set(&tx->info[idx], len, 0);
1083 pci_unmap_addr(&tx->info[idx],
1089 pci_unmap_addr(&tx->info[idx],
1095 * 2 full tx rings per call */
1096 if (unlikely(++limit > 2 * tx->mask))
1101 && tx->req - tx->done < (tx->mask >> 1)) {
1222 struct myri10ge_tx_buf *tx = &mgp->tx;
1249 if (send_done_count != tx->pkt_done)
1418 data[i++] = (unsigned int)mgp->tx.boundary;
1426 data[i++] = (unsigned int)mgp->tx.pkt_start;
1427 data[i++] = (unsigned int)mgp->tx.pkt_done;
1428 data[i++] = (unsigned int)mgp->tx.req;
1429 data[i++] = (unsigned int)mgp->tx.done;
1512 mgp->tx.mask = tx_ring_entries - 1;
1520 * sizeof(*mgp->tx.req_list);
1521 mgp->tx.req_bytes = kzalloc(bytes, GFP_KERNEL);
1522 if (mgp->tx.req_bytes == NULL)
1526 mgp->tx.req_list = (struct mcp_kreq_ether_send *)
1527 ALIGN((unsigned long)mgp->tx.req_bytes, 8);
1541 bytes = tx_ring_entries * sizeof(*mgp->tx.info);
1542 mgp->tx.info = kzalloc(bytes, GFP_KERNEL);
1543 if (mgp->tx.info == NULL)
1605 kfree(mgp->tx.info);
1614 kfree(mgp->tx.req_bytes);
1615 mgp->tx.req_bytes = NULL;
1616 mgp->tx.req_list = NULL;
1626 struct myri10ge_tx_buf *tx;
1649 tx = &mgp->tx;
1650 while (tx->done != tx->req) {
1651 idx = tx->done & tx->mask;
1652 skb = tx->info[idx].skb;
1655 tx->info[idx].skb = NULL;
1656 tx->done++;
1657 len = pci_unmap_len(&tx->info[idx], len);
1658 pci_unmap_len_set(&tx->info[idx], len, 0);
1664 pci_unmap_addr(&tx->info[idx],
1670 pci_unmap_addr(&tx->info[idx],
1679 kfree(mgp->tx.info);
1685 kfree(mgp->tx.req_bytes);
1686 mgp->tx.req_bytes = NULL;
1687 mgp->tx.req_list = NULL;
1769 mgp->tx.lanai =
1790 mgp->tx.wc_fifo = (u8 __iomem *) mgp->sram + MXGEFW_ETH_SEND_4;
1796 mgp->tx.wc_fifo = NULL;
1899 if (mgp->tx.req_bytes == NULL)
1930 myri10ge_submit_req_backwards(struct myri10ge_tx_buf *tx,
1934 starting_slot = tx->req;
1937 idx = (starting_slot + cnt) & tx->mask;
1938 myri10ge_pio_copy(&tx->lanai[idx], &src[cnt], sizeof(*src));
1951 myri10ge_submit_req(struct myri10ge_tx_buf *tx, struct mcp_kreq_ether_send *src,
1959 idx = tx->req & tx->mask;
1964 dst = dstp = &tx->lanai[idx];
1967 if ((idx + cnt) < tx->mask) {
1977 myri10ge_submit_req_backwards(tx, src, cnt);
1989 tx->req += cnt;
1994 myri10ge_submit_req_wc(struct myri10ge_tx_buf *tx,
1997 tx->req += cnt;
2000 myri10ge_pio_copy(tx->wc_fifo, src, 64);
2008 myri10ge_pio_copy(tx->wc_fifo + MXGEFW_ETH_SEND_OFFSET(cnt),
2016 * segment does not cross myri10ge->tx.boundary, so this makes segment
2028 struct myri10ge_tx_buf *tx = &mgp->tx;
2040 req = tx->req_list;
2041 avail = tx->mask - 1 - (tx->req - tx->done);
2116 idx = tx->req & tx->mask;
2117 tx->info[idx].skb = skb;
2119 pci_unmap_addr_set(&tx->info[idx], bus, bus);
2120 pci_unmap_len_set(&tx->info[idx], len, len);
2147 * do not cross mgp->tx.boundary */
2157 boundary = (low + tx->boundary) & ~(tx->boundary - 1);
2214 idx = (count + tx->req) & tx->mask;
2220 pci_unmap_addr_set(&tx->info[idx], bus, bus);
2221 pci_unmap_len_set(&tx->info[idx], len, len);
2231 idx = ((count - 1) + tx->req) & tx->mask;
2232 tx->info[idx].last = 1;
2233 if (tx->wc_fifo == NULL)
2234 myri10ge_submit_req(tx, tx->req_list, count);
2236 myri10ge_submit_req_wc(tx, tx->req_list, count);
2237 tx->pkt_start++;
2250 last_idx = (idx + 1) & tx->mask;
2251 idx = tx->req & tx->mask;
2252 tx->info[idx].skb = NULL;
2254 len = pci_unmap_len(&tx->info[idx], len);
2256 if (tx->info[idx].skb != NULL)
2258 pci_unmap_addr(&tx->info[idx],
2263 pci_unmap_addr(&tx->info[idx],
2266 pci_unmap_len_set(&tx->info[idx], len, 0);
2267 tx->info[idx].skb = NULL;
2269 idx = (idx + 1) & tx->mask;
2512 * larger than 2KB by setting the tx.boundary to 2KB. If ECRC is
2514 * firmware image, and set tx.boundary to 4KB.
2524 mgp->tx.boundary = 4096;
2541 mgp->tx.boundary = 2048;
2574 mgp->tx.boundary = 2048;
2595 mgp->tx.boundary = 4096;
2604 mgp->tx.boundary = 4096;
2609 mgp->tx.boundary = 2048;
2778 mgp->dev->name, mgp->tx.req, mgp->tx.done,
2779 mgp->tx.pkt_start, mgp->tx.pkt_done,
2783 mgp->dev->name, mgp->tx.req, mgp->tx.done,
2784 mgp->tx.pkt_start, mgp->tx.pkt_done,
2825 if (mgp->tx.req != mgp->tx.done &&
2826 mgp->tx.done == mgp->watchdog_tx_done &&
2835 mgp->watchdog_tx_done = mgp->tx.done;
2836 mgp->watchdog_tx_req = mgp->tx.req;
3025 dev_info(dev, "%s IRQ %d, tx bndry %d, fw %s, WC %s\n",
3027 netdev->irq, mgp->tx.boundary, mgp->fw_name,