Home
last modified time | relevance | path

Searched refs:xdp_ring (Results 1 – 25 of 29) sorted by relevance

12

/linux/drivers/net/ethernet/intel/ice/
A Dice_txrx_lib.c251 if (ntc >= xdp_ring->count) in ice_clean_xdp_irq()
256 xdp_ring->next_dd = xdp_ring->next_dd + ICE_TX_THRESH; in ice_clean_xdp_irq()
257 if (xdp_ring->next_dd > xdp_ring->count) in ice_clean_xdp_irq()
259 xdp_ring->next_to_clean = ntc; in ice_clean_xdp_irq()
271 u16 i = xdp_ring->next_to_use; in ice_xmit_xdp_ring()
277 ice_clean_xdp_irq(xdp_ring); in ice_xmit_xdp_ring()
303 if (i == xdp_ring->count) { in ice_xmit_xdp_ring()
305 tx_desc = ICE_TX_DESC(xdp_ring, xdp_ring->next_rs); in ice_xmit_xdp_ring()
310 xdp_ring->next_to_use = i; in ice_xmit_xdp_ring()
312 if (i > xdp_ring->next_rs) { in ice_xmit_xdp_ring()
[all …]
A Dice_xsk.c243 ice_set_ring_xdp(xdp_ring); in ice_qp_ena()
244 xdp_ring->xsk_pool = ice_tx_xsk_pool(xdp_ring); in ice_qp_ena()
517 xdp_ring = rx_ring->xdp_ring; in ice_clean_rx_irq_zc()
637 tx_buf = &xdp_ring->tx_buf[xdp_ring->next_to_use]; in ice_xmit_zc()
648 tx_desc = ICE_TX_DESC(xdp_ring, xdp_ring->next_to_use); in ice_xmit_zc()
653 xdp_ring->next_to_use++; in ice_xmit_zc()
654 if (xdp_ring->next_to_use == xdp_ring->count) in ice_xmit_zc()
698 ntc -= xdp_ring->count; in ice_clean_tx_irq_zc()
721 ntc -= xdp_ring->count; in ice_clean_tx_irq_zc()
730 ntc += xdp_ring->count; in ice_clean_tx_irq_zc()
[all …]
A Dice_txrx_lib.h40 static inline void ice_xdp_ring_update_tail(struct ice_tx_ring *xdp_ring) in ice_xdp_ring_update_tail() argument
46 writel_relaxed(xdp_ring->next_to_use, xdp_ring->tail); in ice_xdp_ring_update_tail()
49 void ice_finalize_xdp_rx(struct ice_tx_ring *xdp_ring, unsigned int xdp_res);
50 int ice_xmit_xdp_buff(struct xdp_buff *xdp, struct ice_tx_ring *xdp_ring);
51 int ice_xmit_xdp_ring(void *data, u16 size, struct ice_tx_ring *xdp_ring);
A Dice_xsk.h15 bool ice_clean_tx_irq_zc(struct ice_tx_ring *xdp_ring, int budget);
20 void ice_xsk_clean_xdp_ring(struct ice_tx_ring *xdp_ring);
38 ice_clean_tx_irq_zc(struct ice_tx_ring __always_unused *xdp_ring, in ice_clean_tx_irq_zc() argument
64 static inline void ice_xsk_clean_xdp_ring(struct ice_tx_ring *xdp_ring) { } in ice_xsk_clean_xdp_ring() argument
A Dice_txrx.c558 spin_lock(&xdp_ring->tx_lock); in ice_run_xdp()
561 spin_unlock(&xdp_ring->tx_lock); in ice_run_xdp()
601 struct ice_tx_ring *xdp_ring; in ice_xdp_xmit() local
615 xdp_ring = vsi->xdp_rings[queue_index]; in ice_xdp_xmit()
616 spin_lock(&xdp_ring->tx_lock); in ice_xdp_xmit()
618 xdp_ring = vsi->xdp_rings[queue_index]; in ice_xdp_xmit()
632 ice_xdp_ring_update_tail(xdp_ring); in ice_xdp_xmit()
635 spin_unlock(&xdp_ring->tx_lock); in ice_xdp_xmit()
1100 struct ice_tx_ring *xdp_ring = NULL; in ice_clean_rx_irq() local
1115 xdp_ring = rx_ring->xdp_ring; in ice_clean_rx_irq()
[all …]
A Dice_main.c2469 struct ice_tx_ring *xdp_ring; in ice_xdp_alloc_setup_rings() local
2471 xdp_ring = kzalloc(sizeof(*xdp_ring), GFP_KERNEL); in ice_xdp_alloc_setup_rings()
2473 if (!xdp_ring) in ice_xdp_alloc_setup_rings()
2476 xdp_ring->q_index = xdp_q_idx; in ice_xdp_alloc_setup_rings()
2478 xdp_ring->vsi = vsi; in ice_xdp_alloc_setup_rings()
2479 xdp_ring->netdev = NULL; in ice_xdp_alloc_setup_rings()
2482 xdp_ring->dev = dev; in ice_xdp_alloc_setup_rings()
2485 if (ice_setup_tx_ring(xdp_ring)) in ice_xdp_alloc_setup_rings()
2487 ice_set_ring_xdp(xdp_ring); in ice_xdp_alloc_setup_rings()
2488 xdp_ring->xsk_pool = ice_tx_xsk_pool(xdp_ring); in ice_xdp_alloc_setup_rings()
[all …]
A Dice_txrx.h291 struct ice_tx_ring *xdp_ring; member
/linux/drivers/net/ethernet/intel/i40e/
A Di40e_xsk.c152 struct i40e_ring *xdp_ring; in i40e_run_xdp_zc() local
407 tx_desc = I40E_TX_DESC(xdp_ring, xdp_ring->next_to_use++); in i40e_xmit_pkt()
418 u16 ntu = xdp_ring->next_to_use; in i40e_xmit_pkt_batch()
436 xdp_ring->next_to_use = ntu; in i40e_xmit_pkt_batch()
454 u16 ntu = xdp_ring->next_to_use ? xdp_ring->next_to_use - 1 : xdp_ring->count - 1; in i40e_set_rs_bit()
457 tx_desc = I40E_TX_DESC(xdp_ring, ntu); in i40e_set_rs_bit()
478 if (xdp_ring->next_to_use + nb_pkts >= xdp_ring->count) { in i40e_xmit_zc()
479 nb_processed = xdp_ring->count - xdp_ring->next_to_use; in i40e_xmit_zc()
481 xdp_ring->next_to_use = 0; in i40e_xmit_zc()
488 i40e_set_rs_bit(xdp_ring); in i40e_xmit_zc()
[all …]
A Di40e_txrx.c2297 struct i40e_ring *xdp_ring; in i40e_run_xdp() local
2370 writel_relaxed(xdp_ring->next_to_use, xdp_ring->tail); in i40e_xdp_ring_update_tail()
2408 struct i40e_ring *xdp_ring = in i40e_finalize_xdp_rx() local
3689 struct i40e_ring *xdp_ring) in i40e_xmit_xdp_ring() argument
3691 u16 i = xdp_ring->next_to_use; in i40e_xmit_xdp_ring()
3699 xdp_ring->tx_stats.tx_busy++; in i40e_xmit_xdp_ring()
3706 tx_bi = &xdp_ring->tx_bi[i]; in i40e_xmit_xdp_ring()
3726 xdp_ring->xdp_tx_active++; in i40e_xmit_xdp_ring()
3728 if (i == xdp_ring->count) in i40e_xmit_xdp_ring()
3732 xdp_ring->next_to_use = i; in i40e_xmit_xdp_ring()
[all …]
A Di40e_txrx_common.h7 int i40e_xmit_xdp_tx_ring(struct xdp_buff *xdp, struct i40e_ring *xdp_ring);
12 void i40e_xdp_ring_update_tail(struct i40e_ring *xdp_ring);
A Di40e_debugfs.c332 if (!xdp_ring) in i40e_dbg_dump_vsi_seid()
337 i, *xdp_ring->state, in i40e_dbg_dump_vsi_seid()
338 xdp_ring->queue_index, in i40e_dbg_dump_vsi_seid()
339 xdp_ring->reg_idx); in i40e_dbg_dump_vsi_seid()
343 xdp_ring->next_to_use, in i40e_dbg_dump_vsi_seid()
344 xdp_ring->next_to_clean, in i40e_dbg_dump_vsi_seid()
345 xdp_ring->ring_active); in i40e_dbg_dump_vsi_seid()
349 xdp_ring->stats.bytes, in i40e_dbg_dump_vsi_seid()
358 i, xdp_ring->size); in i40e_dbg_dump_vsi_seid()
361 i, xdp_ring->dcb_tc); in i40e_dbg_dump_vsi_seid()
[all …]
/linux/drivers/net/ethernet/intel/ixgbe/
A Dixgbe_xsk.c382 static bool ixgbe_xmit_zc(struct ixgbe_ring *xdp_ring, unsigned int budget) in ixgbe_xmit_zc() argument
384 struct xsk_buff_pool *pool = xdp_ring->xsk_pool; in ixgbe_xmit_zc()
393 if (unlikely(!ixgbe_desc_unused(xdp_ring)) || in ixgbe_xmit_zc()
394 !netif_carrier_ok(xdp_ring->netdev)) { in ixgbe_xmit_zc()
405 tx_bi = &xdp_ring->tx_buffer_info[xdp_ring->next_to_use]; in ixgbe_xmit_zc()
410 tx_desc = IXGBE_TX_DESC(xdp_ring, xdp_ring->next_to_use); in ixgbe_xmit_zc()
422 xdp_ring->next_to_use++; in ixgbe_xmit_zc()
423 if (xdp_ring->next_to_use == xdp_ring->count) in ixgbe_xmit_zc()
424 xdp_ring->next_to_use = 0; in ixgbe_xmit_zc()
428 ixgbe_xdp_ring_update_tail(xdp_ring); in ixgbe_xmit_zc()
[all …]
A Dixgbe_main.c1004 struct ixgbe_ring *xdp_ring = adapter->xdp_ring[i]; in ixgbe_update_xoff_received() local
7100 struct ixgbe_ring *xdp_ring = READ_ONCE(adapter->xdp_ring[i]); in ixgbe_update_stats() local
7102 if (!xdp_ring) in ixgbe_update_stats()
10416 xdp_ring = adapter->xdp_ring[ring]; in ixgbe_txrx_ring_disable()
10419 if (xdp_ring) in ixgbe_txrx_ring_disable()
10423 if (xdp_ring) in ixgbe_txrx_ring_disable()
10430 if (xdp_ring) in ixgbe_txrx_ring_disable()
10435 if (xdp_ring) in ixgbe_txrx_ring_disable()
10454 xdp_ring = adapter->xdp_ring[ring]; in ixgbe_txrx_ring_enable()
10460 if (xdp_ring) in ixgbe_txrx_ring_enable()
[all …]
A Dixgbe_lib.c264 adapter->xdp_ring[i]->reg_idx = reg_idx; in ixgbe_cache_ring_rss()
956 WRITE_ONCE(adapter->xdp_ring[xdp_idx], ring); in ixgbe_alloc_q_vector()
1028 WRITE_ONCE(adapter->xdp_ring[ring->queue_index], NULL); in ixgbe_free_q_vector()
1117 if (adapter->xdp_ring[i]) in ixgbe_alloc_q_vectors()
1118 adapter->xdp_ring[i]->ring_idx = i; in ixgbe_alloc_q_vectors()
A Dixgbe.h635 struct ixgbe_ring *xdp_ring[IXGBE_MAX_XDP_QS]; member
791 return adapter->xdp_ring[index]; in ixgbe_determine_xdp_ring()
/linux/drivers/net/ethernet/amazon/ena/
A Dena_netdev.c198 struct ena_ring *xdp_ring; in ena_xdp_io_poll() local
202 xdp_ring = ena_napi->xdp_ring; in ena_xdp_io_poll()
232 xdp_ring->tx_stats.tx_poll++; in ena_xdp_io_poll()
289 &xdp_ring->syncp); in ena_xdp_tx_map_frame()
317 xdp_ring, in ena_xdp_xmit_frame()
343 struct ena_ring *xdp_ring; in ena_xdp_xmit() local
382 struct ena_ring *xdp_ring; in ena_xdp_execute() local
405 xdp_ring = rx_ring->xdp_ring; in ena_xdp_execute()
1897 if (unlikely(!xdp_ring)) in ena_clean_xdp_irq()
1926 netif_dbg(xdp_ring->adapter, tx_done, xdp_ring->netdev, in ena_clean_xdp_irq()
[all …]
A Dena_netdev.h137 struct ena_ring *xdp_ring; member
260 struct ena_ring *xdp_ring; member
/linux/net/xdp/
A Dxsk_queue.h16 struct xdp_ring { struct
30 struct xdp_ring ptrs; argument
36 struct xdp_ring ptrs;
45 struct xdp_ring *ring;
A Dxsk_queue.c40 q->ring = (struct xdp_ring *)__get_free_pages(gfp_flags, in xskq_create()
/linux/drivers/net/
A Dveth.c66 struct ptr_ring xdp_ring; member
283 if (unlikely(ptr_ring_produce(&rq->xdp_ring, skb))) { in veth_xdp_rx()
499 spin_lock(&rq->xdp_ring.producer_lock); in veth_xdp_xmit()
505 __ptr_ring_produce(&rq->xdp_ring, ptr))) in veth_xdp_xmit()
509 spin_unlock(&rq->xdp_ring.producer_lock); in veth_xdp_xmit()
856 void *ptr = __ptr_ring_consume(&rq->xdp_ring); in veth_xdp_rcv()
922 if (unlikely(!__ptr_ring_empty(&rq->xdp_ring))) { in veth_poll()
945 err = ptr_ring_init(&rq->xdp_ring, VETH_RING_SIZE, GFP_KERNEL); in __veth_napi_enable_range()
961 ptr_ring_cleanup(&priv->rq[i].xdp_ring, veth_ptr_free); in __veth_napi_enable_range()
989 ptr_ring_cleanup(&rq->xdp_ring, veth_ptr_free); in veth_napi_del_range()
/linux/drivers/net/ethernet/intel/ixgbevf/
A Dixgbevf_main.c1053 struct ixgbevf_ring *xdp_ring; in ixgbevf_run_xdp() local
1067 xdp_ring = adapter->xdp_ring[rx_ring->queue_index]; in ixgbevf_run_xdp()
1068 result = ixgbevf_xmit_xdp_ring(xdp_ring, xdp); in ixgbevf_run_xdp()
1242 struct ixgbevf_ring *xdp_ring = in ixgbevf_clean_rx_irq() local
1243 adapter->xdp_ring[rx_ring->queue_index]; in ixgbevf_clean_rx_irq()
1249 ixgbevf_write_tail(xdp_ring, xdp_ring->next_to_use); in ixgbevf_clean_rx_irq()
2465 ixgbevf_clean_tx_ring(adapter->xdp_ring[i]); in ixgbevf_clean_all_tx_rings()
2505 u8 reg_idx = adapter->xdp_ring[i]->reg_idx; in ixgbevf_down()
2776 adapter->xdp_ring[xdp_idx] = ring; in ixgbevf_alloc_q_vector()
3380 if (adapter->xdp_ring[i]->desc) in ixgbevf_free_all_tx_resources()
[all …]
A Dethtool.c269 adapter->xdp_ring[i]->count = new_tx_count; in ixgbevf_set_ringparam()
307 tx_ring[i] = *adapter->xdp_ring[j]; in ixgbevf_set_ringparam()
368 ixgbevf_free_tx_resources(adapter->xdp_ring[j]); in ixgbevf_set_ringparam()
369 *adapter->xdp_ring[j] = tx_ring[i]; in ixgbevf_set_ringparam()
470 ring = adapter->xdp_ring[j]; in ixgbevf_get_ethtool_stats()
A Dixgbevf.h336 struct ixgbevf_ring *xdp_ring[MAX_XDP_QUEUES]; member
/linux/drivers/net/ethernet/netronome/nfp/
A Dnfp_net_debugfs.c87 tx_ring = r_vec->xdp_ring; in nfp_tx_q_show()
A Dnfp_net.h433 struct nfp_net_tx_ring *xdp_ring; member

Completed in 89 milliseconds

12