Lines Matching refs:tx_info

71 	ring->tx_info = kvmalloc_node(tmp, GFP_KERNEL, node);  in mlx4_en_create_tx_ring()
72 if (!ring->tx_info) { in mlx4_en_create_tx_ring()
78 ring->tx_info, tmp); in mlx4_en_create_tx_ring()
153 kvfree(ring->tx_info); in mlx4_en_create_tx_ring()
154 ring->tx_info = NULL; in mlx4_en_create_tx_ring()
176 kvfree(ring->tx_info); in mlx4_en_destroy_tx_ring()
177 ring->tx_info = NULL; in mlx4_en_destroy_tx_ring()
193 memset(ring->tx_info, 0, ring->size * sizeof(struct mlx4_en_tx_info)); in mlx4_en_activate_tx_ring()
237 struct mlx4_en_tx_info *tx_info = &ring->tx_info[index]; in mlx4_en_stamp_wqe() local
244 (tx_info->nr_txbb << LOG_TXBB_SIZE) <= end)) { in mlx4_en_stamp_wqe()
246 for (i = 0; i < tx_info->nr_txbb << LOG_TXBB_SIZE; in mlx4_en_stamp_wqe()
253 for (i = 0; i < tx_info->nr_txbb << LOG_TXBB_SIZE; in mlx4_en_stamp_wqe()
275 struct mlx4_en_tx_info *tx_info = &ring->tx_info[index]; in mlx4_en_free_tx_desc() local
277 struct mlx4_wqe_data_seg *data = (void *) tx_desc + tx_info->data_offset; in mlx4_en_free_tx_desc()
279 struct sk_buff *skb = tx_info->skb; in mlx4_en_free_tx_desc()
280 int nr_maps = tx_info->nr_maps; in mlx4_en_free_tx_desc()
295 if (!tx_info->inl) { in mlx4_en_free_tx_desc()
296 if (tx_info->linear) in mlx4_en_free_tx_desc()
298 tx_info->map0_dma, in mlx4_en_free_tx_desc()
299 tx_info->map0_byte_count, in mlx4_en_free_tx_desc()
303 tx_info->map0_dma, in mlx4_en_free_tx_desc()
304 tx_info->map0_byte_count, in mlx4_en_free_tx_desc()
308 (tx_info->nr_txbb << LOG_TXBB_SIZE) <= end)) { in mlx4_en_free_tx_desc()
334 return tx_info->nr_txbb; in mlx4_en_free_tx_desc()
347 struct mlx4_en_tx_info *tx_info = &ring->tx_info[index]; in mlx4_en_recycle_tx_desc() local
349 .page = tx_info->page, in mlx4_en_recycle_tx_desc()
350 .dma = tx_info->map0_dma, in mlx4_en_recycle_tx_desc()
354 dma_unmap_page(priv->ddev, tx_info->map0_dma, in mlx4_en_recycle_tx_desc()
356 put_page(tx_info->page); in mlx4_en_recycle_tx_desc()
359 return tx_info->nr_txbb; in mlx4_en_recycle_tx_desc()
399 struct mlx4_en_tx_info *tx_info; in mlx4_en_handle_err_cqe() local
410 tx_info = &ring->tx_info[wqe_index]; in mlx4_en_handle_err_cqe()
411 desc_size = tx_info->nr_txbb << LOG_TXBB_SIZE; in mlx4_en_handle_err_cqe()
484 if (unlikely(ring->tx_info[ring_index].ts_requested)) in mlx4_en_process_tx_cq()
500 bytes += ring->tx_info[ring_index].nr_bytes; in mlx4_en_process_tx_cq()
804 struct mlx4_en_tx_info *tx_info) in mlx4_en_build_dma_wqe() argument
829 if (tx_info->linear) { in mlx4_en_build_dma_wqe()
844 tx_info->map0_dma = dma; in mlx4_en_build_dma_wqe()
845 tx_info->map0_byte_count = byte_count; in mlx4_en_build_dma_wqe()
870 struct mlx4_en_tx_info *tx_info; in mlx4_en_xmit() local
946 tx_info = &ring->tx_info[index]; in mlx4_en_xmit()
947 tx_info->skb = skb; in mlx4_en_xmit()
948 tx_info->nr_txbb = nr_txbb; in mlx4_en_xmit()
961 tx_info->data_offset = data_offset; in mlx4_en_xmit()
963 tx_info->inl = inline_ok; in mlx4_en_xmit()
965 tx_info->linear = lso_header_size < skb_headlen(skb) && !inline_ok; in mlx4_en_xmit()
967 tx_info->nr_maps = shinfo->nr_frags + tx_info->linear; in mlx4_en_xmit()
968 data += tx_info->nr_maps - 1; in mlx4_en_xmit()
970 if (!tx_info->inl) in mlx4_en_xmit()
973 tx_info)) in mlx4_en_xmit()
980 tx_info->ts_requested = 0; in mlx4_en_xmit()
984 tx_info->ts_requested = 1; in mlx4_en_xmit()
1030 tx_info->nr_bytes = skb->len + (i - 1) * lso_header_size; in mlx4_en_xmit()
1037 tx_info->nr_bytes = max_t(unsigned int, skb->len, ETH_ZLEN); in mlx4_en_xmit()
1040 ring->bytes += tx_info->nr_bytes; in mlx4_en_xmit()
1043 if (tx_info->inl) in mlx4_en_xmit()
1080 tx_info->nr_bytes, in mlx4_en_xmit()
1128 struct mlx4_en_tx_info *tx_info = &ring->tx_info[i]; in mlx4_en_init_tx_xdp_ring_descs() local
1132 tx_info->map0_byte_count = PAGE_SIZE; in mlx4_en_init_tx_xdp_ring_descs()
1133 tx_info->nr_txbb = MLX4_EN_XDP_TX_NRTXBB; in mlx4_en_init_tx_xdp_ring_descs()
1134 tx_info->data_offset = offsetof(struct mlx4_en_tx_desc, data); in mlx4_en_init_tx_xdp_ring_descs()
1135 tx_info->ts_requested = 0; in mlx4_en_init_tx_xdp_ring_descs()
1136 tx_info->nr_maps = 1; in mlx4_en_init_tx_xdp_ring_descs()
1137 tx_info->linear = 1; in mlx4_en_init_tx_xdp_ring_descs()
1138 tx_info->inl = 0; in mlx4_en_init_tx_xdp_ring_descs()
1152 struct mlx4_en_tx_info *tx_info; in mlx4_en_xmit_frame() local
1168 tx_info = &ring->tx_info[index]; in mlx4_en_xmit_frame()
1179 tx_info->page = frame->page; in mlx4_en_xmit_frame()
1181 tx_info->map0_dma = dma; in mlx4_en_xmit_frame()
1182 tx_info->nr_bytes = max_t(unsigned int, length, ETH_ZLEN); in mlx4_en_xmit_frame()