Lines Matching defs:tx_ring

550 	adapter->tx_ring = devm_kzalloc(&adapter->pdev->dev,
551 sizeof(*adapter->tx_ring), GFP_KERNEL);
552 if (!adapter->tx_ring)
783 (unsigned long long)adapter->tx_ring->dma,
784 adapter->tx_ring->size);
787 tdba = adapter->tx_ring->dma;
788 tdlen = adapter->tx_ring->size - 0x10;
899 * @tx_ring: Ring to be cleaned
902 struct pch_gbe_tx_ring *tx_ring)
910 for (i = 0; i < tx_ring->count; i++) {
911 buffer_info = &tx_ring->buffer_info[i];
917 size = (unsigned long)sizeof(struct pch_gbe_buffer) * tx_ring->count;
918 memset(tx_ring->buffer_info, 0, size);
921 memset(tx_ring->desc, 0, tx_ring->size);
922 tx_ring->next_to_use = 0;
923 tx_ring->next_to_clean = 0;
924 iowrite32(tx_ring->dma, &hw->reg->TX_DSC_HW_P);
925 iowrite32((tx_ring->size - 0x10), &hw->reg->TX_DSC_SIZE);
1059 * @tx_ring: Tx descriptor ring structure
1063 struct pch_gbe_tx_ring *tx_ring,
1119 ring_num = tx_ring->next_to_use;
1120 if (unlikely((ring_num + 1) == tx_ring->count))
1121 tx_ring->next_to_use = 0;
1123 tx_ring->next_to_use = ring_num + 1;
1126 buffer_info = &tx_ring->buffer_info[ring_num];
1145 tx_ring->next_to_use = ring_num;
1153 tx_desc = PCH_GBE_TX_DESC(*tx_ring, ring_num);
1160 if (unlikely(++ring_num == tx_ring->count))
1164 iowrite32(tx_ring->dma +
1417 * @tx_ring: Tx descriptor ring
1420 struct pch_gbe_tx_ring *tx_ring)
1431 for (i = 0; i < tx_ring->count; i++) {
1432 buffer_info = &tx_ring->buffer_info[i];
1436 tx_desc = PCH_GBE_TX_DESC(*tx_ring, i);
1445 * @tx_ring: Tx descriptor ring
1452 struct pch_gbe_tx_ring *tx_ring)
1463 tx_ring->next_to_clean);
1465 i = tx_ring->next_to_clean;
1466 tx_desc = PCH_GBE_TX_DESC(*tx_ring, i);
1470 unused = PCH_GBE_DESC_UNUSED(tx_ring);
1471 thresh = tx_ring->count - NAPI_POLL_WEIGHT;
1478 tx_ring->next_to_clean, tx_ring->next_to_use,
1486 tx_desc = PCH_GBE_TX_DESC(*tx_ring, k);
1488 if (++k >= tx_ring->count) k = 0; /*increment, wrap*/
1493 unused, j, i, k, tx_ring->next_to_use,
1502 buffer_info = &tx_ring->buffer_info[i];
1544 if (unlikely(++i == tx_ring->count))
1546 tx_desc = PCH_GBE_TX_DESC(*tx_ring, i);
1567 tx_ring->next_to_clean = i;
1570 tx_ring->next_to_clean);
1695 * @tx_ring: Tx descriptor ring (for a specific queue) to setup
1701 struct pch_gbe_tx_ring *tx_ring)
1708 size = (int)sizeof(struct pch_gbe_buffer) * tx_ring->count;
1709 tx_ring->buffer_info = vzalloc(size);
1710 if (!tx_ring->buffer_info)
1713 tx_ring->size = tx_ring->count * (int)sizeof(struct pch_gbe_tx_desc);
1715 tx_ring->desc = dma_alloc_coherent(&pdev->dev, tx_ring->size,
1716 &tx_ring->dma, GFP_KERNEL);
1717 if (!tx_ring->desc) {
1718 vfree(tx_ring->buffer_info);
1722 tx_ring->next_to_use = 0;
1723 tx_ring->next_to_clean = 0;
1725 for (desNo = 0; desNo < tx_ring->count; desNo++) {
1726 tx_desc = PCH_GBE_TX_DESC(*tx_ring, desNo);
1730 "tx_ring->desc = 0x%p tx_ring->dma = 0x%08llx next_to_clean = 0x%08x next_to_use = 0x%08x\n",
1731 tx_ring->desc, (unsigned long long)tx_ring->dma,
1732 tx_ring->next_to_clean, tx_ring->next_to_use);
1780 * @tx_ring: Tx descriptor ring for a specific queue
1783 struct pch_gbe_tx_ring *tx_ring)
1787 pch_gbe_clean_tx_ring(adapter, tx_ring);
1788 vfree(tx_ring->buffer_info);
1789 tx_ring->buffer_info = NULL;
1790 dma_free_coherent(&pdev->dev, tx_ring->size, tx_ring->desc,
1791 tx_ring->dma);
1792 tx_ring->desc = NULL;
1851 struct pch_gbe_tx_ring *tx_ring = adapter->tx_ring;
1881 pch_gbe_alloc_tx_buffers(adapter, tx_ring);
1927 pch_gbe_clean_tx_ring(adapter, adapter->tx_ring);
1987 err = pch_gbe_setup_tx_resources(adapter, adapter->tx_ring);
2006 pch_gbe_free_tx_resources(adapter, adapter->tx_ring);
2027 pch_gbe_free_tx_resources(adapter, adapter->tx_ring);
2043 struct pch_gbe_tx_ring *tx_ring = adapter->tx_ring;
2045 if (unlikely(!PCH_GBE_DESC_UNUSED(tx_ring))) {
2049 tx_ring->next_to_use, tx_ring->next_to_clean);
2054 pch_gbe_tx_queue(adapter, tx_ring, skb);
2276 cleaned = pch_gbe_clean_tx(adapter, adapter->tx_ring);