Home
last modified time | relevance | path

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

12

/linux-6.15/drivers/net/ethernet/intel/ice/
H A Dice_xsk.c232 ice_set_ring_xdp(xdp_ring); in ice_qp_ena()
613 u16 cnt = xdp_ring->count; in ice_clean_xdp_irq_zc()
620 last_rs = xdp_ring->next_to_use ? xdp_ring->next_to_use - 1 : cnt - 1; in ice_clean_xdp_irq_zc()
721 xdp_ring->xdp_tx_active++; in ice_xmit_xdp_tx_zc()
832 xdp_ring = rx_ring->xdp_ring; in ice_clean_rx_irq_zc()
969 tx_desc = ICE_TX_DESC(xdp_ring, xdp_ring->next_to_use++); in ice_xmit_pkt()
1061 if (xdp_ring->next_to_use + nb_pkts >= xdp_ring->count) { in ice_xmit_zc()
1062 nb_processed = xdp_ring->count - xdp_ring->next_to_use; in ice_xmit_zc()
1065 xdp_ring->next_to_use = 0; in ice_xmit_zc()
1071 ice_set_rs_bit(xdp_ring); in ice_xmit_zc()
[all …]
H A Dice_txrx_lib.c297 u32 ntc = xdp_ring->next_to_clean; in ice_clean_xdp_irq()
299 u32 cnt = xdp_ring->count; in ice_clean_xdp_irq()
355 xdp_ring->next_to_clean = ntc; in ice_clean_xdp_irq()
374 u32 ntu = xdp_ring->next_to_use; in __ice_xmit_xdp_ring()
378 u32 cnt = xdp_ring->count; in __ice_xmit_xdp_ring()
399 tx_head = &xdp_ring->tx_buf[ntu]; in __ice_xmit_xdp_ring()
431 tx_buf = &xdp_ring->tx_buf[ntu]; in __ice_xmit_xdp_ring()
451 xdp_ring->xdp_tx_active++; in __ice_xmit_xdp_ring()
452 xdp_ring->next_to_use = ntu; in __ice_xmit_xdp_ring()
458 tx_buf = &xdp_ring->tx_buf[ntu]; in __ice_xmit_xdp_ring()
[all …]
H A Dice_txrx_lib.h86 static inline void ice_xdp_ring_update_tail(struct ice_tx_ring *xdp_ring) in ice_xdp_ring_update_tail() argument
92 writel_relaxed(xdp_ring->next_to_use, xdp_ring->tail); in ice_xdp_ring_update_tail()
101 static inline u32 ice_set_rs_bit(const struct ice_tx_ring *xdp_ring) in ice_set_rs_bit() argument
103 u32 rs_idx = xdp_ring->next_to_use ? xdp_ring->next_to_use - 1 : xdp_ring->count - 1; in ice_set_rs_bit()
106 tx_desc = ICE_TX_DESC(xdp_ring, rs_idx); in ice_set_rs_bit()
113 void ice_finalize_xdp_rx(struct ice_tx_ring *xdp_ring, unsigned int xdp_res, u32 first_idx);
114 int __ice_xmit_xdp_ring(struct xdp_buff *xdp, struct ice_tx_ring *xdp_ring,
H A Dice_xsk.h23 void ice_xsk_clean_xdp_ring(struct ice_tx_ring *xdp_ring);
24 bool ice_xmit_zc(struct ice_tx_ring *xdp_ring, struct xsk_buff_pool *xsk_pool);
27 static inline bool ice_xmit_zc(struct ice_tx_ring __always_unused *xdp_ring, in ice_xmit_zc() argument
70 static inline void ice_xsk_clean_xdp_ring(struct ice_tx_ring *xdp_ring) { } in ice_xsk_clean_xdp_ring() argument
H A Dice_txrx.c553 spin_lock(&xdp_ring->tx_lock); in ice_run_xdp()
556 spin_unlock(&xdp_ring->tx_lock); in ice_run_xdp()
585 struct ice_tx_ring *xdp_ring) in ice_xmit_xdp_ring() argument
617 struct ice_tx_ring *xdp_ring; in ice_xdp_xmit() local
633 spin_lock(&xdp_ring->tx_lock); in ice_xdp_xmit()
641 tx_buf = &xdp_ring->tx_buf[xdp_ring->next_to_use]; in ice_xdp_xmit()
654 ice_xdp_ring_update_tail(xdp_ring); in ice_xdp_xmit()
657 spin_unlock(&xdp_ring->tx_lock); in ice_xdp_xmit()
1203 struct ice_tx_ring *xdp_ring = NULL; in ice_clean_rx_irq() local
1213 xdp_ring = rx_ring->xdp_ring; in ice_clean_rx_irq()
[all …]
H A Dice_main.c2628 struct ice_tx_ring *xdp_ring; in ice_xdp_alloc_setup_rings() local
2630 xdp_ring = kzalloc(sizeof(*xdp_ring), GFP_KERNEL); in ice_xdp_alloc_setup_rings()
2631 if (!xdp_ring) in ice_xdp_alloc_setup_rings()
2636 ice_free_tx_ring(xdp_ring); in ice_xdp_alloc_setup_rings()
2641 xdp_ring->q_index = xdp_q_idx; in ice_xdp_alloc_setup_rings()
2643 xdp_ring->vsi = vsi; in ice_xdp_alloc_setup_rings()
2644 xdp_ring->netdev = NULL; in ice_xdp_alloc_setup_rings()
2645 xdp_ring->dev = dev; in ice_xdp_alloc_setup_rings()
2648 if (ice_setup_tx_ring(xdp_ring)) in ice_xdp_alloc_setup_rings()
2650 ice_set_ring_xdp(xdp_ring); in ice_xdp_alloc_setup_rings()
[all …]
H A Dice_txrx.h358 struct ice_tx_ring *xdp_ring; member
/linux-6.15/drivers/net/ethernet/intel/i40e/
H A Di40e_xsk.c202 struct i40e_ring *xdp_ring; in i40e_run_xdp_zc() local
518 tx_desc = I40E_TX_DESC(xdp_ring, xdp_ring->next_to_use++); in i40e_xmit_pkt()
528 u16 ntu = xdp_ring->next_to_use; in i40e_xmit_pkt_batch()
547 xdp_ring->next_to_use = ntu; in i40e_xmit_pkt_batch()
565 u16 ntu = xdp_ring->next_to_use ? xdp_ring->next_to_use - 1 : xdp_ring->count - 1; in i40e_set_rs_bit()
568 tx_desc = I40E_TX_DESC(xdp_ring, ntu); in i40e_set_rs_bit()
589 if (xdp_ring->next_to_use + nb_pkts >= xdp_ring->count) { in i40e_xmit_zc()
590 nb_processed = xdp_ring->count - xdp_ring->next_to_use; in i40e_xmit_zc()
592 xdp_ring->next_to_use = 0; in i40e_xmit_zc()
599 i40e_set_rs_bit(xdp_ring); in i40e_xmit_zc()
[all …]
H A Di40e_txrx.c2268 struct i40e_ring *xdp_ring; in i40e_run_xdp() local
2319 writel_relaxed(xdp_ring->next_to_use, xdp_ring->tail); in i40e_xdp_ring_update_tail()
2357 struct i40e_ring *xdp_ring = in i40e_finalize_xdp_rx() local
3791 xdp_ring->tx_stats.tx_busy++; in i40e_xmit_xdp_ring()
3814 if (++index == xdp_ring->count) in i40e_xmit_xdp_ring()
3820 tx_bi = &xdp_ring->tx_bi[index]; in i40e_xmit_xdp_ring()
3836 xdp_ring->xdp_tx_active++; in i40e_xmit_xdp_ring()
3839 xdp_ring->next_to_use = index; in i40e_xmit_xdp_ring()
3847 dma_unmap_page(xdp_ring->dev, in i40e_xmit_xdp_ring()
3856 index += xdp_ring->count; in i40e_xmit_xdp_ring()
[all …]
H A Di40e_txrx_common.h9 int i40e_xmit_xdp_tx_ring(struct xdp_buff *xdp, struct i40e_ring *xdp_ring);
14 void i40e_xdp_ring_update_tail(struct i40e_ring *xdp_ring);
H A Di40e_debugfs.c316 if (!xdp_ring) in i40e_dbg_dump_vsi_seid()
321 i, *xdp_ring->state, in i40e_dbg_dump_vsi_seid()
322 xdp_ring->queue_index, in i40e_dbg_dump_vsi_seid()
323 xdp_ring->reg_idx); in i40e_dbg_dump_vsi_seid()
327 xdp_ring->next_to_use, in i40e_dbg_dump_vsi_seid()
328 xdp_ring->next_to_clean, in i40e_dbg_dump_vsi_seid()
329 xdp_ring->ring_active); in i40e_dbg_dump_vsi_seid()
333 xdp_ring->stats.bytes, in i40e_dbg_dump_vsi_seid()
342 i, xdp_ring->size); in i40e_dbg_dump_vsi_seid()
345 i, xdp_ring->dcb_tc); in i40e_dbg_dump_vsi_seid()
[all …]
/linux-6.15/drivers/net/ethernet/amazon/ena/
H A Dena_xdp.h86 struct ena_ring *xdp_ring; in ena_xdp_execute() local
105 xdp_ring = rx_ring->xdp_ring; in ena_xdp_execute()
108 spin_lock(&xdp_ring->xdp_tx_lock); in ena_xdp_execute()
110 if (ena_xdp_xmit_frame(xdp_ring, rx_ring->adapter, xdpf, in ena_xdp_execute()
114 spin_unlock(&xdp_ring->xdp_tx_lock); in ena_xdp_execute()
H A Dena_netdev.h244 struct ena_ring *xdp_ring; member
/linux-6.15/drivers/net/ethernet/intel/ixgbe/
H A Dixgbe_xsk.c391 static bool ixgbe_xmit_zc(struct ixgbe_ring *xdp_ring, unsigned int budget) in ixgbe_xmit_zc() argument
393 struct xsk_buff_pool *pool = xdp_ring->xsk_pool; in ixgbe_xmit_zc()
402 if (unlikely(!ixgbe_desc_unused(xdp_ring))) { in ixgbe_xmit_zc()
407 if (!netif_carrier_ok(xdp_ring->netdev)) in ixgbe_xmit_zc()
416 tx_bi = &xdp_ring->tx_buffer_info[xdp_ring->next_to_use]; in ixgbe_xmit_zc()
421 tx_desc = IXGBE_TX_DESC(xdp_ring, xdp_ring->next_to_use); in ixgbe_xmit_zc()
433 xdp_ring->next_to_use++; in ixgbe_xmit_zc()
434 if (xdp_ring->next_to_use == xdp_ring->count) in ixgbe_xmit_zc()
435 xdp_ring->next_to_use = 0; in ixgbe_xmit_zc()
439 ixgbe_xdp_ring_update_tail(xdp_ring); in ixgbe_xmit_zc()
[all …]
H A Dixgbe_main.c1019 struct ixgbe_ring *xdp_ring = adapter->xdp_ring[i]; in ixgbe_update_xoff_received() local
7533 struct ixgbe_ring *xdp_ring = READ_ONCE(adapter->xdp_ring[i]); in ixgbe_update_stats() local
7535 if (!xdp_ring) in ixgbe_update_stats()
10970 xdp_ring = adapter->xdp_ring[ring]; in ixgbe_txrx_ring_disable()
10978 if (xdp_ring) in ixgbe_txrx_ring_disable()
10982 if (xdp_ring) in ixgbe_txrx_ring_disable()
10986 if (xdp_ring) in ixgbe_txrx_ring_disable()
10991 if (xdp_ring) in ixgbe_txrx_ring_disable()
11010 xdp_ring = adapter->xdp_ring[ring]; in ixgbe_txrx_ring_enable()
11013 if (xdp_ring) in ixgbe_txrx_ring_enable()
[all …]
H A Dixgbe_lib.c265 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()
1114 if (adapter->xdp_ring[i]) in ixgbe_alloc_q_vectors()
1115 adapter->xdp_ring[i]->ring_idx = i; in ixgbe_alloc_q_vectors()
H A Dixgbe.h688 struct ixgbe_ring *xdp_ring[IXGBE_MAX_XDP_QS]; member
846 return adapter->xdp_ring[index]; in ixgbe_determine_xdp_ring()
/linux-6.15/net/xdp/
H A Dxsk_queue.h16 struct xdp_ring { struct
30 struct xdp_ring ptrs; argument
36 struct xdp_ring ptrs;
45 struct xdp_ring *ring;
/linux-6.15/drivers/net/ethernet/netronome/nfp/nfd3/
H A Dxsk.c126 tx_ring = r_vec->xdp_ring; in nfp_nfd3_xsk_rx()
399 if (!nfp_nfd3_xsk_complete(r_vec->xdp_ring)) in nfp_nfd3_xsk_poll()
402 nfp_nfd3_xsk_tx(r_vec->xdp_ring); in nfp_nfd3_xsk_poll()
/linux-6.15/drivers/net/
H A Dveth.c69 struct ptr_ring xdp_ring; member
310 if (unlikely(ptr_ring_produce(&rq->xdp_ring, skb))) { in veth_xdp_rx()
503 spin_lock(&rq->xdp_ring.producer_lock); in veth_xdp_xmit()
509 __ptr_ring_produce(&rq->xdp_ring, ptr))) in veth_xdp_xmit()
513 spin_unlock(&rq->xdp_ring.producer_lock); in veth_xdp_xmit()
881 void *ptr = __ptr_ring_consume(&rq->xdp_ring); in veth_xdp_rcv()
950 if (unlikely(!__ptr_ring_empty(&rq->xdp_ring))) { in veth_poll()
999 err = ptr_ring_init(&rq->xdp_ring, VETH_RING_SIZE, GFP_KERNEL); in __veth_napi_enable_range()
1015 ptr_ring_cleanup(&priv->rq[i].xdp_ring, veth_ptr_free); in __veth_napi_enable_range()
1049 ptr_ring_cleanup(&rq->xdp_ring, veth_ptr_free); in veth_napi_del_range()
/linux-6.15/drivers/net/ethernet/intel/ixgbevf/
H 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()
1243 struct ixgbevf_ring *xdp_ring = in ixgbevf_clean_rx_irq() local
1244 adapter->xdp_ring[rx_ring->queue_index]; in ixgbevf_clean_rx_irq()
1250 ixgbevf_write_tail(xdp_ring, xdp_ring->next_to_use); in ixgbevf_clean_rx_irq()
2488 ixgbevf_clean_tx_ring(adapter->xdp_ring[i]); in ixgbevf_clean_all_tx_rings()
2528 u8 reg_idx = adapter->xdp_ring[i]->reg_idx; in ixgbevf_down()
2800 adapter->xdp_ring[xdp_idx] = ring; in ixgbevf_alloc_q_vector()
3406 if (adapter->xdp_ring[i]->desc) in ixgbevf_free_all_tx_resources()
[all …]
H 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()
H A Dixgbevf.h336 struct ixgbevf_ring *xdp_ring[MAX_XDP_QUEUES]; member
/linux-6.15/drivers/net/ethernet/netronome/nfp/
H A Dnfp_net_debugfs.c92 tx_ring = r_vec->xdp_ring; in nfp_tx_q_show()
H A Dnfp_net.h419 struct nfp_net_tx_ring *xdp_ring; member

12