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()
154 kvfree(ring->tx_info); in mlx4_en_create_tx_ring()
155 ring->tx_info = NULL; in mlx4_en_create_tx_ring()
177 kvfree(ring->tx_info); in mlx4_en_destroy_tx_ring()
178 ring->tx_info = NULL; in mlx4_en_destroy_tx_ring()
194 memset(ring->tx_info, 0, ring->size * sizeof(struct mlx4_en_tx_info)); in mlx4_en_activate_tx_ring()
238 struct mlx4_en_tx_info *tx_info = &ring->tx_info[index]; in mlx4_en_stamp_wqe() local
245 (tx_info->nr_txbb << LOG_TXBB_SIZE) <= end)) { in mlx4_en_stamp_wqe()
247 for (i = 0; i < tx_info->nr_txbb << LOG_TXBB_SIZE; in mlx4_en_stamp_wqe()
254 for (i = 0; i < tx_info->nr_txbb << LOG_TXBB_SIZE; in mlx4_en_stamp_wqe()
276 struct mlx4_en_tx_info *tx_info = &ring->tx_info[index]; in mlx4_en_free_tx_desc() local
278 struct mlx4_wqe_data_seg *data = (void *) tx_desc + tx_info->data_offset; in mlx4_en_free_tx_desc()
280 struct sk_buff *skb = tx_info->skb; in mlx4_en_free_tx_desc()
281 int nr_maps = tx_info->nr_maps; in mlx4_en_free_tx_desc()
296 if (!tx_info->inl) { in mlx4_en_free_tx_desc()
297 if (tx_info->linear) in mlx4_en_free_tx_desc()
299 tx_info->map0_dma, in mlx4_en_free_tx_desc()
300 tx_info->map0_byte_count, 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->nr_txbb << LOG_TXBB_SIZE) <= end)) { in mlx4_en_free_tx_desc()
335 return tx_info->nr_txbb; in mlx4_en_free_tx_desc()
348 struct mlx4_en_tx_info *tx_info = &ring->tx_info[index]; in mlx4_en_recycle_tx_desc() local
350 .page = tx_info->page, in mlx4_en_recycle_tx_desc()
351 .dma = tx_info->map0_dma, in mlx4_en_recycle_tx_desc()
355 dma_unmap_page(priv->ddev, tx_info->map0_dma, in mlx4_en_recycle_tx_desc()
357 put_page(tx_info->page); in mlx4_en_recycle_tx_desc()
360 return tx_info->nr_txbb; in mlx4_en_recycle_tx_desc()
400 struct mlx4_en_tx_info *tx_info; in mlx4_en_handle_err_cqe() local
411 tx_info = &ring->tx_info[wqe_index]; in mlx4_en_handle_err_cqe()
412 desc_size = tx_info->nr_txbb << LOG_TXBB_SIZE; in mlx4_en_handle_err_cqe()
485 if (unlikely(ring->tx_info[ring_index].ts_requested)) in mlx4_en_process_tx_cq()
501 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
939 tx_info = &ring->tx_info[index]; in mlx4_en_xmit()
940 tx_info->skb = skb; in mlx4_en_xmit()
941 tx_info->nr_txbb = nr_txbb; in mlx4_en_xmit()
954 tx_info->data_offset = data_offset; in mlx4_en_xmit()
956 tx_info->inl = inline_ok; in mlx4_en_xmit()
958 tx_info->linear = lso_header_size < skb_headlen(skb) && !inline_ok; in mlx4_en_xmit()
960 tx_info->nr_maps = shinfo->nr_frags + tx_info->linear; in mlx4_en_xmit()
961 data += tx_info->nr_maps - 1; in mlx4_en_xmit()
963 if (!tx_info->inl) in mlx4_en_xmit()
966 tx_info)) in mlx4_en_xmit()
973 tx_info->ts_requested = 0; in mlx4_en_xmit()
977 tx_info->ts_requested = 1; in mlx4_en_xmit()
1023 tx_info->nr_bytes = skb->len + (i - 1) * lso_header_size; in mlx4_en_xmit()
1030 tx_info->nr_bytes = max_t(unsigned int, skb->len, ETH_ZLEN); in mlx4_en_xmit()
1033 ring->bytes += tx_info->nr_bytes; in mlx4_en_xmit()
1035 if (tx_info->inl) in mlx4_en_xmit()
1072 tx_info->nr_bytes, in mlx4_en_xmit()
1120 struct mlx4_en_tx_info *tx_info = &ring->tx_info[i]; in mlx4_en_init_tx_xdp_ring_descs() local
1124 tx_info->map0_byte_count = PAGE_SIZE; in mlx4_en_init_tx_xdp_ring_descs()
1125 tx_info->nr_txbb = MLX4_EN_XDP_TX_NRTXBB; in mlx4_en_init_tx_xdp_ring_descs()
1126 tx_info->data_offset = offsetof(struct mlx4_en_tx_desc, data); in mlx4_en_init_tx_xdp_ring_descs()
1127 tx_info->ts_requested = 0; in mlx4_en_init_tx_xdp_ring_descs()
1128 tx_info->nr_maps = 1; in mlx4_en_init_tx_xdp_ring_descs()
1129 tx_info->linear = 1; in mlx4_en_init_tx_xdp_ring_descs()
1130 tx_info->inl = 0; in mlx4_en_init_tx_xdp_ring_descs()
1144 struct mlx4_en_tx_info *tx_info; in mlx4_en_xmit_frame() local
1160 tx_info = &ring->tx_info[index]; in mlx4_en_xmit_frame()
1167 tx_info->page = frame->page; in mlx4_en_xmit_frame()
1169 tx_info->map0_dma = dma; in mlx4_en_xmit_frame()
1170 tx_info->nr_bytes = max_t(unsigned int, length, ETH_ZLEN); in mlx4_en_xmit_frame()