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()
156 kvfree(ring->tx_info); in mlx4_en_create_tx_ring()
157 ring->tx_info = NULL; in mlx4_en_create_tx_ring()
179 kvfree(ring->tx_info); in mlx4_en_destroy_tx_ring()
180 ring->tx_info = NULL; in mlx4_en_destroy_tx_ring()
196 memset(ring->tx_info, 0, ring->size * sizeof(struct mlx4_en_tx_info)); in mlx4_en_activate_tx_ring()
242 struct mlx4_en_tx_info *tx_info = &ring->tx_info[index]; in mlx4_en_stamp_wqe() local
249 (tx_info->nr_txbb << LOG_TXBB_SIZE) <= end)) { in mlx4_en_stamp_wqe()
251 for (i = 0; i < tx_info->nr_txbb << LOG_TXBB_SIZE; in mlx4_en_stamp_wqe()
258 for (i = 0; i < tx_info->nr_txbb << LOG_TXBB_SIZE; in mlx4_en_stamp_wqe()
280 struct mlx4_en_tx_info *tx_info = &ring->tx_info[index]; in mlx4_en_free_tx_desc() local
282 struct mlx4_wqe_data_seg *data = (void *) tx_desc + tx_info->data_offset; in mlx4_en_free_tx_desc()
284 struct sk_buff *skb = tx_info->skb; in mlx4_en_free_tx_desc()
285 int nr_maps = tx_info->nr_maps; in mlx4_en_free_tx_desc()
300 if (!tx_info->inl) { in mlx4_en_free_tx_desc()
301 if (tx_info->linear) 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->map0_dma, in mlx4_en_free_tx_desc()
309 tx_info->map0_byte_count, in mlx4_en_free_tx_desc()
313 (tx_info->nr_txbb << LOG_TXBB_SIZE) <= end)) { in mlx4_en_free_tx_desc()
339 return tx_info->nr_txbb; in mlx4_en_free_tx_desc()
352 struct mlx4_en_tx_info *tx_info = &ring->tx_info[index]; in mlx4_en_recycle_tx_desc() local
354 .page = tx_info->page, in mlx4_en_recycle_tx_desc()
355 .dma = tx_info->map0_dma, in mlx4_en_recycle_tx_desc()
359 dma_unmap_page(priv->ddev, tx_info->map0_dma, in mlx4_en_recycle_tx_desc()
361 put_page(tx_info->page); in mlx4_en_recycle_tx_desc()
364 return tx_info->nr_txbb; in mlx4_en_recycle_tx_desc()
404 struct mlx4_en_tx_info *tx_info; in mlx4_en_handle_err_cqe() local
415 tx_info = &ring->tx_info[wqe_index]; in mlx4_en_handle_err_cqe()
416 desc_size = tx_info->nr_txbb << LOG_TXBB_SIZE; in mlx4_en_handle_err_cqe()
489 if (unlikely(ring->tx_info[ring_index].ts_requested)) in mlx4_en_process_tx_cq()
505 bytes += ring->tx_info[ring_index].nr_bytes; in mlx4_en_process_tx_cq()
817 struct mlx4_en_tx_info *tx_info) in mlx4_en_build_dma_wqe() argument
842 if (tx_info->linear) { in mlx4_en_build_dma_wqe()
857 tx_info->map0_dma = dma; in mlx4_en_build_dma_wqe()
858 tx_info->map0_byte_count = byte_count; in mlx4_en_build_dma_wqe()
883 struct mlx4_en_tx_info *tx_info; in mlx4_en_xmit() local
954 tx_info = &ring->tx_info[index]; in mlx4_en_xmit()
955 tx_info->skb = skb; in mlx4_en_xmit()
956 tx_info->nr_txbb = nr_txbb; in mlx4_en_xmit()
969 tx_info->data_offset = data_offset; in mlx4_en_xmit()
971 tx_info->inl = inline_ok; in mlx4_en_xmit()
973 tx_info->linear = lso_header_size < skb_headlen(skb) && !inline_ok; in mlx4_en_xmit()
975 tx_info->nr_maps = shinfo->nr_frags + tx_info->linear; in mlx4_en_xmit()
976 data += tx_info->nr_maps - 1; in mlx4_en_xmit()
978 if (!tx_info->inl) in mlx4_en_xmit()
981 tx_info)) in mlx4_en_xmit()
988 tx_info->ts_requested = 0; in mlx4_en_xmit()
992 tx_info->ts_requested = 1; in mlx4_en_xmit()
1055 tx_info->nr_bytes = skb->len + (i - 1) * lso_header_size; in mlx4_en_xmit()
1062 tx_info->nr_bytes = max_t(unsigned int, skb->len, ETH_ZLEN); in mlx4_en_xmit()
1065 ring->bytes += tx_info->nr_bytes; in mlx4_en_xmit()
1067 if (tx_info->inl) in mlx4_en_xmit()
1104 tx_info->nr_bytes, in mlx4_en_xmit()
1152 struct mlx4_en_tx_info *tx_info = &ring->tx_info[i]; in mlx4_en_init_tx_xdp_ring_descs() local
1156 tx_info->map0_byte_count = PAGE_SIZE; in mlx4_en_init_tx_xdp_ring_descs()
1157 tx_info->nr_txbb = MLX4_EN_XDP_TX_NRTXBB; in mlx4_en_init_tx_xdp_ring_descs()
1158 tx_info->data_offset = offsetof(struct mlx4_en_tx_desc, data); in mlx4_en_init_tx_xdp_ring_descs()
1159 tx_info->ts_requested = 0; in mlx4_en_init_tx_xdp_ring_descs()
1160 tx_info->nr_maps = 1; in mlx4_en_init_tx_xdp_ring_descs()
1161 tx_info->linear = 1; in mlx4_en_init_tx_xdp_ring_descs()
1162 tx_info->inl = 0; in mlx4_en_init_tx_xdp_ring_descs()
1176 struct mlx4_en_tx_info *tx_info; in mlx4_en_xmit_frame() local
1192 tx_info = &ring->tx_info[index]; in mlx4_en_xmit_frame()
1199 tx_info->page = frame->page; in mlx4_en_xmit_frame()
1201 tx_info->map0_dma = dma; in mlx4_en_xmit_frame()
1202 tx_info->nr_bytes = max_t(unsigned int, length, ETH_ZLEN); in mlx4_en_xmit_frame()