• Home
  • Raw
  • Download

Lines Matching refs:tx_ring

106 				    struct e1000_tx_ring *tx_ring);
125 struct e1000_tx_ring *tx_ring);
139 struct e1000_tx_ring *tx_ring);
1246 kfree(adapter->tx_ring); in e1000_probe()
1287 kfree(adapter->tx_ring); in e1000_remove()
1342 adapter->tx_ring = kcalloc(adapter->num_tx_queues, in e1000_alloc_queues()
1344 if (!adapter->tx_ring) in e1000_alloc_queues()
1350 kfree(adapter->tx_ring); in e1000_alloc_queues()
1584 err = e1000_setup_tx_resources(adapter, &adapter->tx_ring[i]); in e1000_setup_all_tx_resources()
1589 &adapter->tx_ring[i]); in e1000_setup_all_tx_resources()
1615 tdba = adapter->tx_ring[0].dma; in e1000_configure_tx()
1616 tdlen = adapter->tx_ring[0].count * in e1000_configure_tx()
1623 adapter->tx_ring[0].tdh = ((hw->mac_type >= e1000_82543) ? in e1000_configure_tx()
1625 adapter->tx_ring[0].tdt = ((hw->mac_type >= e1000_82543) ? in e1000_configure_tx()
1935 struct e1000_tx_ring *tx_ring) in e1000_free_tx_resources() argument
1939 e1000_clean_tx_ring(adapter, tx_ring); in e1000_free_tx_resources()
1941 vfree(tx_ring->buffer_info); in e1000_free_tx_resources()
1942 tx_ring->buffer_info = NULL; in e1000_free_tx_resources()
1944 dma_free_coherent(&pdev->dev, tx_ring->size, tx_ring->desc, in e1000_free_tx_resources()
1945 tx_ring->dma); in e1000_free_tx_resources()
1947 tx_ring->desc = NULL; in e1000_free_tx_resources()
1961 e1000_free_tx_resources(adapter, &adapter->tx_ring[i]); in e1000_free_all_tx_resources()
1992 struct e1000_tx_ring *tx_ring) in e1000_clean_tx_ring() argument
2001 for (i = 0; i < tx_ring->count; i++) { in e1000_clean_tx_ring()
2002 buffer_info = &tx_ring->buffer_info[i]; in e1000_clean_tx_ring()
2007 size = sizeof(struct e1000_tx_buffer) * tx_ring->count; in e1000_clean_tx_ring()
2008 memset(tx_ring->buffer_info, 0, size); in e1000_clean_tx_ring()
2012 memset(tx_ring->desc, 0, tx_ring->size); in e1000_clean_tx_ring()
2014 tx_ring->next_to_use = 0; in e1000_clean_tx_ring()
2015 tx_ring->next_to_clean = 0; in e1000_clean_tx_ring()
2016 tx_ring->last_tx_tso = false; in e1000_clean_tx_ring()
2018 writel(0, hw->hw_addr + tx_ring->tdh); in e1000_clean_tx_ring()
2019 writel(0, hw->hw_addr + tx_ring->tdt); in e1000_clean_tx_ring()
2031 e1000_clean_tx_ring(adapter, &adapter->tx_ring[i]); in e1000_clean_all_tx_rings()
2442 struct e1000_tx_ring *txdr = adapter->tx_ring; in e1000_watchdog()
2707 struct e1000_tx_ring *tx_ring, struct sk_buff *skb, in e1000_tso() argument
2753 i = tx_ring->next_to_use; in e1000_tso()
2754 context_desc = E1000_CONTEXT_DESC(*tx_ring, i); in e1000_tso()
2755 buffer_info = &tx_ring->buffer_info[i]; in e1000_tso()
2770 if (++i == tx_ring->count) in e1000_tso()
2773 tx_ring->next_to_use = i; in e1000_tso()
2781 struct e1000_tx_ring *tx_ring, struct sk_buff *skb, in e1000_tx_csum() argument
2812 i = tx_ring->next_to_use; in e1000_tx_csum()
2813 buffer_info = &tx_ring->buffer_info[i]; in e1000_tx_csum()
2814 context_desc = E1000_CONTEXT_DESC(*tx_ring, i); in e1000_tx_csum()
2827 if (unlikely(++i == tx_ring->count)) in e1000_tx_csum()
2830 tx_ring->next_to_use = i; in e1000_tx_csum()
2839 struct e1000_tx_ring *tx_ring, in e1000_tx_map() argument
2851 i = tx_ring->next_to_use; in e1000_tx_map()
2854 buffer_info = &tx_ring->buffer_info[i]; in e1000_tx_map()
2861 if (!skb->data_len && tx_ring->last_tx_tso && in e1000_tx_map()
2863 tx_ring->last_tx_tso = false; in e1000_tx_map()
2905 if (unlikely(i == tx_ring->count)) in e1000_tx_map()
2920 if (unlikely(i == tx_ring->count)) in e1000_tx_map()
2923 buffer_info = &tx_ring->buffer_info[i]; in e1000_tx_map()
2962 tx_ring->buffer_info[i].skb = skb; in e1000_tx_map()
2963 tx_ring->buffer_info[i].segs = segs; in e1000_tx_map()
2964 tx_ring->buffer_info[i].bytecount = bytecount; in e1000_tx_map()
2965 tx_ring->buffer_info[first].next_to_watch = i; in e1000_tx_map()
2977 i += tx_ring->count; in e1000_tx_map()
2979 buffer_info = &tx_ring->buffer_info[i]; in e1000_tx_map()
2987 struct e1000_tx_ring *tx_ring, int tx_flags, in e1000_tx_queue() argument
3017 i = tx_ring->next_to_use; in e1000_tx_queue()
3020 buffer_info = &tx_ring->buffer_info[i]; in e1000_tx_queue()
3021 tx_desc = E1000_TX_DESC(*tx_ring, i); in e1000_tx_queue()
3026 if (unlikely(++i == tx_ring->count)) in e1000_tx_queue()
3043 tx_ring->next_to_use = i; in e1000_tx_queue()
3086 struct e1000_tx_ring *tx_ring = adapter->tx_ring; in __e1000_maybe_stop_tx() local
3098 if (likely(E1000_DESC_UNUSED(tx_ring) < size)) in __e1000_maybe_stop_tx()
3108 struct e1000_tx_ring *tx_ring, int size) in e1000_maybe_stop_tx() argument
3110 if (likely(E1000_DESC_UNUSED(tx_ring) >= size)) in e1000_maybe_stop_tx()
3121 struct e1000_tx_ring *tx_ring; in e1000_xmit_frame() local
3138 tx_ring = adapter->tx_ring; in e1000_xmit_frame()
3198 if (!skb->data_len && tx_ring->last_tx_tso && !skb_is_gso(skb)) in e1000_xmit_frame()
3223 if (unlikely(e1000_maybe_stop_tx(netdev, tx_ring, count + 2))) in e1000_xmit_frame()
3240 first = tx_ring->next_to_use; in e1000_xmit_frame()
3242 tso = e1000_tso(adapter, tx_ring, skb, protocol); in e1000_xmit_frame()
3250 tx_ring->last_tx_tso = true; in e1000_xmit_frame()
3252 } else if (likely(e1000_tx_csum(adapter, tx_ring, skb, protocol))) in e1000_xmit_frame()
3261 count = e1000_tx_map(adapter, tx_ring, skb, first, max_per_txd, in e1000_xmit_frame()
3277 e1000_tx_queue(adapter, tx_ring, tx_flags, count); in e1000_xmit_frame()
3287 e1000_maybe_stop_tx(netdev, tx_ring, desc_needed); in e1000_xmit_frame()
3291 writel(tx_ring->next_to_use, hw->hw_addr + tx_ring->tdt); in e1000_xmit_frame()
3300 tx_ring->buffer_info[first].time_stamp = 0; in e1000_xmit_frame()
3301 tx_ring->next_to_use = first; in e1000_xmit_frame()
3380 struct e1000_tx_ring *tx_ring = adapter->tx_ring; in e1000_dump() local
3426 for (i = 0; tx_ring->desc && (i < tx_ring->count); i++) { in e1000_dump()
3427 struct e1000_tx_desc *tx_desc = E1000_TX_DESC(*tx_ring, i); in e1000_dump()
3428 struct e1000_tx_buffer *buffer_info = &tx_ring->buffer_info[i]; in e1000_dump()
3433 if (i == tx_ring->next_to_use && i == tx_ring->next_to_clean) in e1000_dump()
3435 else if (i == tx_ring->next_to_use) in e1000_dump()
3437 else if (i == tx_ring->next_to_clean) in e1000_dump()
3840 tx_clean_complete = e1000_clean_tx_irq(adapter, &adapter->tx_ring[0]); in e1000_clean()
3864 struct e1000_tx_ring *tx_ring) in e1000_clean_tx_irq() argument
3875 i = tx_ring->next_to_clean; in e1000_clean_tx_irq()
3876 eop = tx_ring->buffer_info[i].next_to_watch; in e1000_clean_tx_irq()
3877 eop_desc = E1000_TX_DESC(*tx_ring, eop); in e1000_clean_tx_irq()
3880 (count < tx_ring->count)) { in e1000_clean_tx_irq()
3884 tx_desc = E1000_TX_DESC(*tx_ring, i); in e1000_clean_tx_irq()
3885 buffer_info = &tx_ring->buffer_info[i]; in e1000_clean_tx_irq()
3900 if (unlikely(++i == tx_ring->count)) in e1000_clean_tx_irq()
3904 eop = tx_ring->buffer_info[i].next_to_watch; in e1000_clean_tx_irq()
3905 eop_desc = E1000_TX_DESC(*tx_ring, eop); in e1000_clean_tx_irq()
3911 smp_store_release(&tx_ring->next_to_clean, i); in e1000_clean_tx_irq()
3917 E1000_DESC_UNUSED(tx_ring) >= TX_WAKE_THRESHOLD)) { in e1000_clean_tx_irq()
3935 if (tx_ring->buffer_info[eop].time_stamp && in e1000_clean_tx_irq()
3936 time_after(jiffies, tx_ring->buffer_info[eop].time_stamp + in e1000_clean_tx_irq()
3952 (unsigned long)(tx_ring - adapter->tx_ring), in e1000_clean_tx_irq()
3953 readl(hw->hw_addr + tx_ring->tdh), in e1000_clean_tx_irq()
3954 readl(hw->hw_addr + tx_ring->tdt), in e1000_clean_tx_irq()
3955 tx_ring->next_to_use, in e1000_clean_tx_irq()
3956 tx_ring->next_to_clean, in e1000_clean_tx_irq()
3957 tx_ring->buffer_info[eop].time_stamp, in e1000_clean_tx_irq()
3969 return count < tx_ring->count; in e1000_clean_tx_irq()