Lines Matching refs:tx_info

72 	ring->tx_info = kmalloc_node(tmp, GFP_KERNEL | __GFP_NOWARN, node);  in mlx4_en_create_tx_ring()
73 if (!ring->tx_info) { in mlx4_en_create_tx_ring()
74 ring->tx_info = vmalloc(tmp); in mlx4_en_create_tx_ring()
75 if (!ring->tx_info) { in mlx4_en_create_tx_ring()
82 ring->tx_info, tmp); in mlx4_en_create_tx_ring()
165 kvfree(ring->tx_info); in mlx4_en_create_tx_ring()
166 ring->tx_info = NULL; in mlx4_en_create_tx_ring()
189 kvfree(ring->tx_info); in mlx4_en_destroy_tx_ring()
190 ring->tx_info = NULL; in mlx4_en_destroy_tx_ring()
206 memset(ring->tx_info, 0, ring->size * sizeof(struct mlx4_en_tx_info)); in mlx4_en_activate_tx_ring()
247 struct mlx4_en_tx_info *tx_info = &ring->tx_info[index]; in mlx4_en_stamp_wqe() local
253 if (likely((void *)tx_desc + tx_info->nr_txbb * TXBB_SIZE <= end)) { in mlx4_en_stamp_wqe()
255 for (i = 0; i < tx_info->nr_txbb * TXBB_SIZE; in mlx4_en_stamp_wqe()
262 for (i = 0; i < tx_info->nr_txbb * TXBB_SIZE; in mlx4_en_stamp_wqe()
279 struct mlx4_en_tx_info *tx_info = &ring->tx_info[index]; in mlx4_en_free_tx_desc() local
281 struct mlx4_wqe_data_seg *data = (void *) tx_desc + tx_info->data_offset; in mlx4_en_free_tx_desc()
283 struct sk_buff *skb = tx_info->skb; in mlx4_en_free_tx_desc()
284 int nr_maps = tx_info->nr_maps; in mlx4_en_free_tx_desc()
300 if (likely((void *) tx_desc + tx_info->nr_txbb * TXBB_SIZE <= end)) { in mlx4_en_free_tx_desc()
301 if (!tx_info->inl) { in mlx4_en_free_tx_desc()
302 if (tx_info->linear) in mlx4_en_free_tx_desc()
304 tx_info->map0_dma, in mlx4_en_free_tx_desc()
305 tx_info->map0_byte_count, in mlx4_en_free_tx_desc()
309 tx_info->map0_dma, in mlx4_en_free_tx_desc()
310 tx_info->map0_byte_count, in mlx4_en_free_tx_desc()
321 if (!tx_info->inl) { in mlx4_en_free_tx_desc()
326 if (tx_info->linear) in mlx4_en_free_tx_desc()
328 tx_info->map0_dma, in mlx4_en_free_tx_desc()
329 tx_info->map0_byte_count, in mlx4_en_free_tx_desc()
333 tx_info->map0_dma, in mlx4_en_free_tx_desc()
334 tx_info->map0_byte_count, in mlx4_en_free_tx_desc()
349 return tx_info->nr_txbb; in mlx4_en_free_tx_desc()
447 if (unlikely(ring->tx_info[ring_index].ts_requested)) in mlx4_en_process_tx_cq()
462 bytes += ring->tx_info[ring_index].nr_bytes; in mlx4_en_process_tx_cq()
715 struct mlx4_en_tx_info *tx_info; in mlx4_en_xmit() local
781 tx_info = &ring->tx_info[index]; in mlx4_en_xmit()
782 tx_info->skb = skb; in mlx4_en_xmit()
783 tx_info->nr_txbb = nr_txbb; in mlx4_en_xmit()
791 tx_info->data_offset = (void *)data - (void *)tx_desc; in mlx4_en_xmit()
793 tx_info->inl = inline_ok; in mlx4_en_xmit()
795 tx_info->linear = (lso_header_size < skb_headlen(skb) && in mlx4_en_xmit()
798 tx_info->nr_maps = shinfo->nr_frags + tx_info->linear; in mlx4_en_xmit()
799 data += tx_info->nr_maps - 1; in mlx4_en_xmit()
801 if (!tx_info->inl) { in mlx4_en_xmit()
825 if (tx_info->linear) { in mlx4_en_xmit()
840 tx_info->map0_dma = dma; in mlx4_en_xmit()
841 tx_info->map0_byte_count = byte_count; in mlx4_en_xmit()
848 tx_info->ts_requested = 0; in mlx4_en_xmit()
852 tx_info->ts_requested = 1; in mlx4_en_xmit()
899 tx_info->nr_bytes = skb->len + (i - 1) * lso_header_size; in mlx4_en_xmit()
906 tx_info->nr_bytes = max_t(unsigned int, skb->len, ETH_ZLEN); in mlx4_en_xmit()
909 ring->bytes += tx_info->nr_bytes; in mlx4_en_xmit()
910 netdev_tx_sent_queue(ring->tx_queue, tx_info->nr_bytes); in mlx4_en_xmit()
913 if (tx_info->inl) in mlx4_en_xmit()