/Linux-v5.4/drivers/net/ethernet/intel/ixgbe/ |
D | ixgbe_xsk.c | 533 struct ixgbe_ring *ring = adapter->xdp_ring[smp_processor_id()]; in ixgbe_clean_rx_irq_zc() 576 static bool ixgbe_xmit_zc(struct ixgbe_ring *xdp_ring, unsigned int budget) in ixgbe_xmit_zc() argument 586 if (unlikely(!ixgbe_desc_unused(xdp_ring)) || in ixgbe_xmit_zc() 587 !netif_carrier_ok(xdp_ring->netdev)) { in ixgbe_xmit_zc() 592 if (!xsk_umem_consume_tx(xdp_ring->xsk_umem, &desc)) in ixgbe_xmit_zc() 595 dma = xdp_umem_get_dma(xdp_ring->xsk_umem, desc.addr); in ixgbe_xmit_zc() 597 dma_sync_single_for_device(xdp_ring->dev, dma, desc.len, in ixgbe_xmit_zc() 600 tx_bi = &xdp_ring->tx_buffer_info[xdp_ring->next_to_use]; in ixgbe_xmit_zc() 605 tx_desc = IXGBE_TX_DESC(xdp_ring, xdp_ring->next_to_use); in ixgbe_xmit_zc() 617 xdp_ring->next_to_use++; in ixgbe_xmit_zc() [all …]
|
D | ixgbe_main.c | 617 ring = adapter->xdp_ring[n]; in ixgbe_dump() 956 &adapter->xdp_ring[i]->state); in ixgbe_update_xoff_rx_lfc() 1003 struct ixgbe_ring *xdp_ring = adapter->xdp_ring[i]; in ixgbe_update_xoff_received() local 1005 tc = xdp_ring->dcb_tc; in ixgbe_update_xoff_received() 1007 clear_bit(__IXGBE_HANG_CHECK_ARMED, &xdp_ring->state); in ixgbe_update_xoff_received() 2410 struct ixgbe_ring *ring = adapter->xdp_ring[smp_processor_id()]; in ixgbe_clean_rx_irq() 3647 ixgbe_configure_tx_ring(adapter, adapter->xdp_ring[i]); in ixgbe_configure_tx() 5815 struct ixgbe_ring *ring = adapter->xdp_ring[i]; in ixgbe_disable_tx() 5862 struct ixgbe_ring *ring = adapter->xdp_ring[i]; in ixgbe_disable_tx() 6049 ixgbe_clean_tx_ring(adapter->xdp_ring[i]); in ixgbe_clean_all_tx_rings() [all …]
|
D | ixgbe_lib.c | 263 adapter->xdp_ring[i]->reg_idx = reg_idx; in ixgbe_cache_ring_rss() 953 adapter->xdp_ring[xdp_idx] = ring; in ixgbe_alloc_q_vector() 1025 adapter->xdp_ring[ring->queue_index] = NULL; in ixgbe_free_q_vector() 1111 if (adapter->xdp_ring[i]) in ixgbe_alloc_q_vectors() 1112 adapter->xdp_ring[i]->ring_idx = i; in ixgbe_alloc_q_vectors()
|
D | ixgbe_ethtool.c | 1064 adapter->xdp_ring[i]->count = new_tx_count; in ixgbe_set_ringparam() 1108 memcpy(&temp_ring[i], adapter->xdp_ring[j], in ixgbe_set_ringparam() 1129 ixgbe_free_tx_resources(adapter->xdp_ring[j]); in ixgbe_set_ringparam() 1131 memcpy(adapter->xdp_ring[j], &temp_ring[i], in ixgbe_set_ringparam()
|
D | ixgbe.h | 635 struct ixgbe_ring *xdp_ring[MAX_XDP_QUEUES]; member
|
/Linux-v5.4/drivers/net/ethernet/intel/i40e/ |
D | i40e_xsk.c | 195 struct i40e_ring *xdp_ring; in i40e_run_xdp_zc() local 214 xdp_ring = rx_ring->vsi->xdp_rings[rx_ring->queue_index]; in i40e_run_xdp_zc() 215 result = i40e_xmit_xdp_tx_ring(xdp, xdp_ring); in i40e_run_xdp_zc() 647 static bool i40e_xmit_zc(struct i40e_ring *xdp_ring, unsigned int budget) in i40e_xmit_zc() argument 656 if (!unlikely(I40E_DESC_UNUSED(xdp_ring))) { in i40e_xmit_zc() 657 xdp_ring->tx_stats.tx_busy++; in i40e_xmit_zc() 662 if (!xsk_umem_consume_tx(xdp_ring->xsk_umem, &desc)) in i40e_xmit_zc() 665 dma = xdp_umem_get_dma(xdp_ring->xsk_umem, desc.addr); in i40e_xmit_zc() 667 dma_sync_single_for_device(xdp_ring->dev, dma, desc.len, in i40e_xmit_zc() 670 tx_bi = &xdp_ring->tx_bi[xdp_ring->next_to_use]; in i40e_xmit_zc() [all …]
|
D | i40e_txrx_common.h | 9 int i40e_xmit_xdp_tx_ring(struct xdp_buff *xdp, struct i40e_ring *xdp_ring); 16 void i40e_xdp_ring_update_tail(struct i40e_ring *xdp_ring);
|
D | i40e_txrx.c | 2179 struct i40e_ring *xdp_ring); 2181 int i40e_xmit_xdp_tx_ring(struct xdp_buff *xdp, struct i40e_ring *xdp_ring) in i40e_xmit_xdp_tx_ring() argument 2188 return i40e_xmit_xdp_ring(xdpf, xdp_ring); in i40e_xmit_xdp_tx_ring() 2200 struct i40e_ring *xdp_ring; in i40e_run_xdp() local 2217 xdp_ring = rx_ring->vsi->xdp_rings[rx_ring->queue_index]; in i40e_run_xdp() 2218 result = i40e_xmit_xdp_tx_ring(xdp, xdp_ring); in i40e_run_xdp() 2266 void i40e_xdp_ring_update_tail(struct i40e_ring *xdp_ring) in i40e_xdp_ring_update_tail() argument 2272 writel_relaxed(xdp_ring->next_to_use, xdp_ring->tail); in i40e_xdp_ring_update_tail() 2310 struct i40e_ring *xdp_ring = in i40e_finalize_xdp_rx() local 2313 i40e_xdp_ring_update_tail(xdp_ring); in i40e_finalize_xdp_rx() [all …]
|
D | i40e_main.c | 4174 struct i40e_ring *xdp_ring = vsi->xdp_rings[qp_idx]; in i40e_map_vector_to_qp() local 4176 xdp_ring->q_vector = q_vector; in i40e_map_vector_to_qp() 4177 xdp_ring->next = q_vector->tx.ring; in i40e_map_vector_to_qp() 4178 q_vector->tx.ring = xdp_ring; in i40e_map_vector_to_qp()
|
/Linux-v5.4/net/xdp/ |
D | xsk_queue.h | 16 struct xdp_ring { struct 24 struct xdp_ring ptrs; argument 30 struct xdp_ring ptrs; 43 struct xdp_ring *ring;
|
D | xsk_queue.c | 28 return sizeof(struct xdp_ring) + q->nentries * sizeof(struct xdp_desc); in xskq_rxtx_get_ring_size() 49 q->ring = (struct xdp_ring *)__get_free_pages(gfp_flags, in xskq_create()
|
/Linux-v5.4/drivers/net/ |
D | veth.c | 57 struct ptr_ring xdp_ring; member 220 if (unlikely(ptr_ring_produce(&rq->xdp_ring, skb))) { in veth_xdp_rx() 426 spin_lock(&rq->xdp_ring.producer_lock); in veth_xdp_xmit() 432 __ptr_ring_produce(&rq->xdp_ring, ptr))) { in veth_xdp_xmit() 437 spin_unlock(&rq->xdp_ring.producer_lock); in veth_xdp_xmit() 732 void *ptr = __ptr_ring_consume(&rq->xdp_ring); in veth_xdp_rcv() 784 if (unlikely(!__ptr_ring_empty(&rq->xdp_ring))) { in veth_poll() 807 err = ptr_ring_init(&rq->xdp_ring, VETH_RING_SIZE, GFP_KERNEL); in veth_napi_add() 822 ptr_ring_cleanup(&priv->rq[i].xdp_ring, veth_ptr_free); in veth_napi_add() 845 ptr_ring_cleanup(&rq->xdp_ring, veth_ptr_free); in veth_napi_del()
|
/Linux-v5.4/drivers/net/ethernet/intel/ixgbevf/ |
D | ixgbevf_main.c | 1065 struct ixgbevf_ring *xdp_ring; in ixgbevf_run_xdp() local 1080 xdp_ring = adapter->xdp_ring[rx_ring->queue_index]; in ixgbevf_run_xdp() 1081 result = ixgbevf_xmit_xdp_ring(xdp_ring, xdp); in ixgbevf_run_xdp() 1234 struct ixgbevf_ring *xdp_ring = in ixgbevf_clean_rx_irq() local 1235 adapter->xdp_ring[rx_ring->queue_index]; in ixgbevf_clean_rx_irq() 1241 ixgbevf_write_tail(xdp_ring, xdp_ring->next_to_use); in ixgbevf_clean_rx_irq() 1754 ixgbevf_configure_tx_ring(adapter, adapter->xdp_ring[i]); in ixgbevf_configure_tx() 2462 ixgbevf_clean_tx_ring(adapter->xdp_ring[i]); in ixgbevf_clean_all_tx_rings() 2502 u8 reg_idx = adapter->xdp_ring[i]->reg_idx; in ixgbevf_down() 2774 adapter->xdp_ring[xdp_idx] = ring; in ixgbevf_alloc_q_vector() [all …]
|
D | ethtool.c | 271 adapter->xdp_ring[i]->count = new_tx_count; in ixgbevf_set_ringparam() 309 tx_ring[i] = *adapter->xdp_ring[j]; in ixgbevf_set_ringparam() 370 ixgbevf_free_tx_resources(adapter->xdp_ring[j]); in ixgbevf_set_ringparam() 371 *adapter->xdp_ring[j] = tx_ring[i]; in ixgbevf_set_ringparam() 472 ring = adapter->xdp_ring[j]; in ixgbevf_get_ethtool_stats()
|
D | ixgbevf.h | 336 struct ixgbevf_ring *xdp_ring[MAX_XDP_QUEUES]; member
|
/Linux-v5.4/drivers/net/ethernet/netronome/nfp/ |
D | nfp_net_debugfs.c | 87 tx_ring = r_vec->xdp_ring; in nfp_tx_q_show()
|
D | nfp_net.h | 425 struct nfp_net_tx_ring *xdp_ring; member
|
D | nfp_net_common.c | 1819 tx_ring = r_vec->xdp_ring; in nfp_net_rx() 2610 r_vec->xdp_ring = idx < dp->num_tx_rings - dp->num_stack_tx_rings ? in nfp_net_vector_assign_rings()
|
/Linux-v5.4/Documentation/networking/ |
D | af_xdp.rst | 134 writes the data ring at the index pointed out by struct xdp_ring 136 the data ring at the index pointed out by struct xdp_ring consumer
|