Home
last modified time | relevance | path

Searched refs:rx_ring (Results 1 – 25 of 229) sorted by relevance

12345678910

/linux/drivers/net/ethernet/netronome/nfp/
H A Dnfp_net_dp.c76 nfp_net_rx_ring_init(struct nfp_net_rx_ring *rx_ring, in nfp_net_rx_ring_init() argument
81 rx_ring->idx = idx; in nfp_net_rx_ring_init()
82 rx_ring->r_vec = r_vec; in nfp_net_rx_ring_init()
83 u64_stats_init(&rx_ring->r_vec->rx_sync); in nfp_net_rx_ring_init()
85 rx_ring->fl_qcidx = rx_ring->idx * nn->stride_rx; in nfp_net_rx_ring_init()
86 rx_ring->qcp_fl = nn->rx_bar + NFP_QCP_QUEUE_OFF(rx_ring->fl_qcidx); in nfp_net_rx_ring_init()
95 void nfp_net_rx_ring_reset(struct nfp_net_rx_ring *rx_ring) in nfp_net_rx_ring_reset() argument
102 if (rx_ring->wr_p == 0 && rx_ring->rd_p == 0) in nfp_net_rx_ring_reset()
106 wr_idx = D_IDX(rx_ring, rx_ring->wr_p); in nfp_net_rx_ring_reset()
107 last_idx = rx_ring->cnt - 1; in nfp_net_rx_ring_reset()
[all …]
H A Dnfp_net_xsk.c17 nfp_net_xsk_rx_bufs_stash(struct nfp_net_rx_ring *rx_ring, unsigned int idx, in nfp_net_xsk_rx_bufs_stash() argument
22 headroom = xsk_pool_get_headroom(rx_ring->r_vec->xsk_pool); in nfp_net_xsk_rx_bufs_stash()
24 rx_ring->rxds[idx].fld.reserved = 0; in nfp_net_xsk_rx_bufs_stash()
25 rx_ring->rxds[idx].fld.meta_len_dd = 0; in nfp_net_xsk_rx_bufs_stash()
27 rx_ring->xsk_rxbufs[idx].xdp = xdp; in nfp_net_xsk_rx_bufs_stash()
28 rx_ring->xsk_rxbufs[idx].dma_addr = in nfp_net_xsk_rx_bufs_stash()
46 void nfp_net_xsk_rx_bufs_free(struct nfp_net_rx_ring *rx_ring) in nfp_net_xsk_rx_bufs_free() argument
50 if (!rx_ring->cnt) in nfp_net_xsk_rx_bufs_free()
53 for (i = 0; i < rx_ring->cnt - 1; i++) in nfp_net_xsk_rx_bufs_free()
54 nfp_net_xsk_rx_free(&rx_ring->xsk_rxbufs[i]); in nfp_net_xsk_rx_bufs_free()
[all …]
H A Dnfp_net_debugfs.c15 struct nfp_net_rx_ring *rx_ring; in nfp_rx_q_show() local
24 if (!r_vec->nfp_net || !r_vec->rx_ring) in nfp_rx_q_show()
27 rx_ring = r_vec->rx_ring; in nfp_rx_q_show()
31 rxd_cnt = rx_ring->cnt; in nfp_rx_q_show()
33 fl_rd_p = nfp_qcp_rd_ptr_read(rx_ring->qcp_fl); in nfp_rx_q_show()
34 fl_wr_p = nfp_qcp_wr_ptr_read(rx_ring->qcp_fl); in nfp_rx_q_show()
37 rx_ring->idx, rx_ring->fl_qcidx, in nfp_rx_q_show()
38 rx_ring->cnt, &rx_ring->dma, rx_ring->rxds, in nfp_rx_q_show()
39 rx_ring->rd_p, rx_ring->wr_p, fl_rd_p, fl_wr_p); in nfp_rx_q_show()
42 rxd = &rx_ring->rxds[i]; in nfp_rx_q_show()
[all …]
H A Dnfp_net_xsk.h18 static inline int nfp_net_rx_space(struct nfp_net_rx_ring *rx_ring) in nfp_net_rx_space() argument
20 return rx_ring->cnt - rx_ring->wr_p + rx_ring->rd_p - 1; in nfp_net_rx_space()
35 void nfp_net_xsk_rx_bufs_free(struct nfp_net_rx_ring *rx_ring);
37 void nfp_net_xsk_rx_ring_fill_freelist(struct nfp_net_rx_ring *rx_ring);
/linux/drivers/net/ethernet/intel/igb/
H A Digb_xsk.c37 struct igb_ring *rx_ring = adapter->rx_ring[qid]; in igb_txrx_ring_disable() local
43 wr32(E1000_RXDCTL(rx_ring->reg_idx), 0); in igb_txrx_ring_disable()
48 napi_disable(&rx_ring->q_vector->napi); in igb_txrx_ring_disable()
51 igb_clean_rx_ring(rx_ring); in igb_txrx_ring_disable()
53 memset(&rx_ring->rx_stats, 0, sizeof(rx_ring->rx_stats)); in igb_txrx_ring_disable()
60 struct igb_ring *rx_ring = adapter->rx_ring[qid]; in igb_txrx_ring_enable() local
63 igb_configure_rx_ring(adapter, rx_ring); in igb_txrx_ring_enable()
73 if (rx_ring->xsk_pool) in igb_txrx_ring_enable()
74 igb_alloc_rx_buffers_zc(rx_ring, rx_ring->xsk_pool, in igb_txrx_ring_enable()
75 igb_desc_unused(rx_ring)); in igb_txrx_ring_enable()
[all …]
/linux/drivers/net/ethernet/intel/i40e/
H A Di40e_xsk.c10 void i40e_clear_rx_bi_zc(struct i40e_ring *rx_ring) in i40e_clear_rx_bi_zc() argument
12 memset(rx_ring->rx_bi_zc, 0, in i40e_clear_rx_bi_zc()
13 sizeof(*rx_ring->rx_bi_zc) * rx_ring->count); in i40e_clear_rx_bi_zc()
16 static struct xdp_buff **i40e_rx_bi(struct i40e_ring *rx_ring, u32 idx) in i40e_rx_bi() argument
18 return &rx_ring->rx_bi_zc[idx]; in i40e_rx_bi()
30 static int i40e_realloc_rx_xdp_bi(struct i40e_ring *rx_ring, bool pool_present) in i40e_realloc_rx_xdp_bi() argument
32 size_t elem_size = pool_present ? sizeof(*rx_ring->rx_bi_zc) : in i40e_realloc_rx_xdp_bi()
33 sizeof(*rx_ring->rx_bi); in i40e_realloc_rx_xdp_bi()
34 void *sw_ring = kcalloc(rx_ring->count, elem_size, GFP_KERNEL); in i40e_realloc_rx_xdp_bi()
40 kfree(rx_ring->rx_bi); in i40e_realloc_rx_xdp_bi()
[all …]
H A Di40e_txrx.c681 static void i40e_fd_handle_status(struct i40e_ring *rx_ring, u64 qword0_raw, in i40e_fd_handle_status() argument
684 struct i40e_pf *pf = rx_ring->vsi->back; in i40e_fd_handle_status()
1350 static struct i40e_rx_buffer *i40e_rx_bi(struct i40e_ring *rx_ring, u32 idx) in i40e_rx_bi() argument
1352 return &rx_ring->rx_bi[idx]; in i40e_rx_bi()
1362 static void i40e_reuse_rx_page(struct i40e_ring *rx_ring, in i40e_reuse_rx_page() argument
1366 u16 nta = rx_ring->next_to_alloc; in i40e_reuse_rx_page()
1368 new_buff = i40e_rx_bi(rx_ring, nta); in i40e_reuse_rx_page()
1372 rx_ring->next_to_alloc = (nta < rx_ring->count) ? nta : 0; in i40e_reuse_rx_page()
1396 void i40e_clean_programming_status(struct i40e_ring *rx_ring, u64 qword0_raw, in i40e_clean_programming_status() argument
1404 i40e_fd_handle_status(rx_ring, qword0_raw, qword1, id); in i40e_clean_programming_status()
[all …]
/linux/drivers/net/ethernet/intel/ixgbe/
H A Dixgbe_xsk.c98 struct ixgbe_ring *rx_ring, in ixgbe_run_xdp_zc() argument
107 xdp_prog = READ_ONCE(rx_ring->xdp_prog); in ixgbe_run_xdp_zc()
111 err = xdp_do_redirect(rx_ring->netdev, xdp, xdp_prog); in ixgbe_run_xdp_zc()
114 if (xsk_uses_need_wakeup(rx_ring->xsk_pool) && err == -ENOBUFS) in ixgbe_run_xdp_zc()
141 bpf_warn_invalid_xdp_action(rx_ring->netdev, xdp_prog, act); in ixgbe_run_xdp_zc()
146 trace_xdp_exception(rx_ring->netdev, xdp_prog, act); in ixgbe_run_xdp_zc()
151 bool ixgbe_alloc_rx_buffers_zc(struct ixgbe_ring *rx_ring, u16 count) in ixgbe_alloc_rx_buffers_zc() argument
155 u16 i = rx_ring->next_to_use; in ixgbe_alloc_rx_buffers_zc()
163 rx_desc = IXGBE_RX_DESC(rx_ring, i); in ixgbe_alloc_rx_buffers_zc()
164 bi = &rx_ring->rx_buffer_info[i]; in ixgbe_alloc_rx_buffers_zc()
[all …]
/linux/drivers/net/ethernet/amazon/ena/
H A Dena_xdp.h45 int ena_xdp_register_rxq_info(struct ena_ring *rx_ring);
46 void ena_xdp_unregister_rxq_info(struct ena_ring *rx_ring);
82 static inline int ena_xdp_execute(struct ena_ring *rx_ring, struct xdp_buff *xdp) in ena_xdp_execute() argument
90 xdp_prog = READ_ONCE(rx_ring->xdp_bpf_prog); in ena_xdp_execute()
98 trace_xdp_exception(rx_ring->netdev, xdp_prog, verdict); in ena_xdp_execute()
99 xdp_stat = &rx_ring->rx_stats.xdp_aborted; in ena_xdp_execute()
105 xdp_ring = rx_ring->xdp_ring; in ena_xdp_execute()
110 if (ena_xdp_xmit_frame(xdp_ring, rx_ring->adapter, xdpf, in ena_xdp_execute()
115 xdp_stat = &rx_ring->rx_stats.xdp_tx; in ena_xdp_execute()
119 if (likely(!xdp_do_redirect(rx_ring->netdev, xdp, xdp_prog))) { in ena_xdp_execute()
[all …]
H A Dena_netdev.c96 adapter->rx_ring[i].mtu = mtu; in update_rx_ring_mtu()
194 rxr = &adapter->rx_ring[i]; in ena_init_io_rings()
370 struct ena_ring *rx_ring = &adapter->rx_ring[qid]; in ena_setup_rx_resources() local
374 if (rx_ring->rx_buffer_info) { in ena_setup_rx_resources()
383 size = sizeof(struct ena_rx_buffer) * (rx_ring->ring_size + 1); in ena_setup_rx_resources()
386 rx_ring->rx_buffer_info = vzalloc_node(size, node); in ena_setup_rx_resources()
387 if (!rx_ring->rx_buffer_info) { in ena_setup_rx_resources()
388 rx_ring->rx_buffer_info = vzalloc(size); in ena_setup_rx_resources()
389 if (!rx_ring->rx_buffer_info) in ena_setup_rx_resources()
393 size = sizeof(u16) * rx_ring->ring_size; in ena_setup_rx_resources()
[all …]
H A Dena_xdp.c135 if (!READ_ONCE(adapter->rx_ring->xdp_bpf_prog)) in ena_xdp_xmit()
196 int ena_xdp_register_rxq_info(struct ena_ring *rx_ring) in ena_xdp_register_rxq_info() argument
200 rc = xdp_rxq_info_reg(&rx_ring->xdp_rxq, rx_ring->netdev, rx_ring->qid, 0); in ena_xdp_register_rxq_info()
202 netif_dbg(rx_ring->adapter, ifup, rx_ring->netdev, "Registering RX info for queue %d", in ena_xdp_register_rxq_info()
203 rx_ring->qid); in ena_xdp_register_rxq_info()
205 netif_err(rx_ring->adapter, ifup, rx_ring->netdev, in ena_xdp_register_rxq_info()
207 rx_ring->qid, rc); in ena_xdp_register_rxq_info()
211 rc = xdp_rxq_info_reg_mem_model(&rx_ring->xdp_rxq, MEM_TYPE_PAGE_SHARED, NULL); in ena_xdp_register_rxq_info()
214 netif_err(rx_ring->adapter, ifup, rx_ring->netdev, in ena_xdp_register_rxq_info()
216 rx_ring->qid, rc); in ena_xdp_register_rxq_info()
[all …]
/linux/drivers/net/ethernet/intel/ice/
H A Dice_xsk.c17 static struct xdp_buff **ice_xdp_buf(struct ice_rx_ring *rx_ring, u32 idx) in ice_xdp_buf() argument
19 return &rx_ring->xdp_buf[idx]; in ice_xdp_buf()
48 ice_qvec_dis_irq(struct ice_vsi *vsi, struct ice_rx_ring *rx_ring, in ice_qvec_dis_irq() argument
59 reg = rx_ring->reg_idx; in ice_qvec_dis_irq()
174 ice_realloc_rx_xdp_bufs(struct ice_rx_ring *rx_ring, bool pool_present) in ice_realloc_rx_xdp_bufs() argument
177 rx_ring->xdp_buf = kzalloc_objs(*rx_ring->xdp_buf, in ice_realloc_rx_xdp_bufs()
178 rx_ring->count); in ice_realloc_rx_xdp_bufs()
179 if (!rx_ring->xdp_buf) in ice_realloc_rx_xdp_bufs()
182 kfree(rx_ring->xdp_buf); in ice_realloc_rx_xdp_bufs()
183 rx_ring->xdp_buf = NULL; in ice_realloc_rx_xdp_bufs()
[all …]
H A Dice_txrx.c537 void ice_clean_rx_ring(struct ice_rx_ring *rx_ring) in ice_clean_rx_ring() argument
541 if (rx_ring->xsk_pool) { in ice_clean_rx_ring()
542 ice_xsk_clean_rx_ring(rx_ring); in ice_clean_rx_ring()
547 if (!rx_ring->rx_fqes) in ice_clean_rx_ring()
550 libeth_xdp_return_stash(&rx_ring->xdp); in ice_clean_rx_ring()
553 for (u32 i = rx_ring->next_to_clean; i != rx_ring->next_to_use; ) { in ice_clean_rx_ring()
554 libeth_rx_recycle_slow(rx_ring->rx_fqes[i].netmem); in ice_clean_rx_ring()
556 if (rx_ring->hdr_pp) in ice_clean_rx_ring()
557 libeth_rx_recycle_slow(rx_ring->hdr_fqes[i].netmem); in ice_clean_rx_ring()
559 if (unlikely(++i == rx_ring->count)) in ice_clean_rx_ring()
[all …]
/linux/drivers/net/ethernet/intel/iavf/
H A Diavf_txrx.c711 static void iavf_clean_rx_ring(struct iavf_ring *rx_ring) in iavf_clean_rx_ring() argument
714 if (!rx_ring->rx_fqes) in iavf_clean_rx_ring()
717 if (rx_ring->skb) { in iavf_clean_rx_ring()
718 dev_kfree_skb(rx_ring->skb); in iavf_clean_rx_ring()
719 rx_ring->skb = NULL; in iavf_clean_rx_ring()
723 for (u32 i = rx_ring->next_to_clean; i != rx_ring->next_to_use; ) { in iavf_clean_rx_ring()
724 const struct libeth_fqe *rx_fqes = &rx_ring->rx_fqes[i]; in iavf_clean_rx_ring()
728 if (unlikely(++i == rx_ring->count)) in iavf_clean_rx_ring()
732 rx_ring->next_to_clean = 0; in iavf_clean_rx_ring()
733 rx_ring->next_to_use = 0; in iavf_clean_rx_ring()
[all …]
/linux/drivers/net/ethernet/intel/igc/
H A Digc_xdp.c30 igc_disable_rx_ring(adapter->rx_ring[i]); in igc_xdp_set_prog()
32 napi_disable(&adapter->rx_ring[i]->q_vector->napi); in igc_xdp_set_prog()
47 napi_enable(&adapter->rx_ring[i]->q_vector->napi); in igc_xdp_set_prog()
49 igc_enable_rx_ring(adapter->rx_ring[i]); in igc_xdp_set_prog()
61 struct igc_ring *rx_ring, *tx_ring; in igc_xdp_enable_pool() local
89 rx_ring = adapter->rx_ring[queue_id]; in igc_xdp_enable_pool()
92 napi = &rx_ring->q_vector->napi; in igc_xdp_enable_pool()
95 igc_disable_rx_ring(rx_ring); in igc_xdp_enable_pool()
100 set_bit(IGC_RING_FLAG_AF_XDP_ZC, &rx_ring->flags); in igc_xdp_enable_pool()
105 igc_enable_rx_ring(rx_ring); in igc_xdp_enable_pool()
[all …]
H A Digc_dump.c119 struct igc_ring *rx_ring; in igc_rings_dump() local
214 rx_ring = adapter->rx_ring[n]; in igc_rings_dump()
215 netdev_info(netdev, "%5d %5X %5X\n", n, rx_ring->next_to_use, in igc_rings_dump()
216 rx_ring->next_to_clean); in igc_rings_dump()
247 rx_ring = adapter->rx_ring[n]; in igc_rings_dump()
250 rx_ring->queue_index); in igc_rings_dump()
255 for (i = 0; i < rx_ring->count; i++) { in igc_rings_dump()
259 buffer_info = &rx_ring->rx_buffer_info[i]; in igc_rings_dump()
260 rx_desc = IGC_RX_DESC(rx_ring, i); in igc_rings_dump()
264 if (i == rx_ring->next_to_use) in igc_rings_dump()
[all …]
/linux/drivers/net/ethernet/broadcom/
H A Dbcm4908_enet.c86 struct bcm4908_enet_dma_ring rx_ring; member
199 struct bcm4908_enet_dma_ring *rx_ring = &enet->rx_ring; in bcm4908_enet_dma_free() local
203 size = rx_ring->length * sizeof(struct bcm4908_enet_dma_ring_bd); in bcm4908_enet_dma_free()
204 if (rx_ring->cpu_addr) in bcm4908_enet_dma_free()
205 dma_free_coherent(dev, size, rx_ring->cpu_addr, rx_ring->dma_addr); in bcm4908_enet_dma_free()
206 kfree(rx_ring->slots); in bcm4908_enet_dma_free()
217 struct bcm4908_enet_dma_ring *rx_ring = &enet->rx_ring; in bcm4908_enet_dma_alloc() local
231 rx_ring->length = ENET_RX_BDS_NUM; in bcm4908_enet_dma_alloc()
232 rx_ring->is_tx = 0; in bcm4908_enet_dma_alloc()
233 rx_ring->cfg_block = ENET_DMA_CH_RX_CFG; in bcm4908_enet_dma_alloc()
[all …]
/linux/drivers/net/ethernet/mscc/
H A Docelot_fdma.c58 struct ocelot_fdma_rx_ring *rx_ring = &fdma->rx_ring; in ocelot_fdma_rx_ring_free() local
60 if (rx_ring->next_to_use >= rx_ring->next_to_clean) in ocelot_fdma_rx_ring_free()
62 (rx_ring->next_to_use - rx_ring->next_to_clean) - 1; in ocelot_fdma_rx_ring_free()
64 return rx_ring->next_to_clean - rx_ring->next_to_use - 1; in ocelot_fdma_rx_ring_free()
149 struct ocelot_fdma_rx_ring *rx_ring; in ocelot_fdma_alloc_rx_buffs() local
156 rx_ring = &fdma->rx_ring; in ocelot_fdma_alloc_rx_buffs()
157 idx = rx_ring->next_to_use; in ocelot_fdma_alloc_rx_buffs()
160 rxb = &rx_ring->bufs[idx]; in ocelot_fdma_alloc_rx_buffs()
171 dcb = &rx_ring->dcbs[idx]; in ocelot_fdma_alloc_rx_buffs()
177 dcb->llp = ocelot_fdma_idx_dma(rx_ring->dcbs_dma, idx); in ocelot_fdma_alloc_rx_buffs()
[all …]
/linux/drivers/net/ethernet/aquantia/atlantic/
H A Daq_ring.c52 static int aq_alloc_rxpages(struct aq_rxpage *rxpage, struct aq_ring_s *rx_ring) in aq_alloc_rxpages() argument
54 struct device *dev = aq_nic_get_dev(rx_ring->aq_nic); in aq_alloc_rxpages()
55 unsigned int order = rx_ring->page_order; in aq_alloc_rxpages()
73 rxpage->pg_off = rx_ring->page_offset; in aq_alloc_rxpages()
407 struct aq_ring_s *rx_ring, in aq_xdp_run_prog() argument
417 u64_stats_update_begin(&rx_ring->stats.rx.syncp); in aq_xdp_run_prog()
418 ++rx_ring->stats.rx.packets; in aq_xdp_run_prog()
419 rx_ring->stats.rx.bytes += xdp_get_buff_len(xdp); in aq_xdp_run_prog()
420 u64_stats_update_end(&rx_ring->stats.rx.syncp); in aq_xdp_run_prog()
422 prog = READ_ONCE(rx_ring->xdp_prog); in aq_xdp_run_prog()
[all …]
/linux/drivers/net/ethernet/freescale/enetc/
H A Denetc.c99 return priv->rx_ring[index]; in enetc_rx_ring_from_xdp_tx_ring()
1105 struct enetc_ndev_priv *priv = netdev_priv(v->rx_ring.ndev); in enetc_rx_dim_work()
1121 v->rx_ring.stats.packets, in enetc_rx_net_dim()
1122 v->rx_ring.stats.bytes, in enetc_rx_net_dim()
1139 static void enetc_reuse_page(struct enetc_bdr *rx_ring, in enetc_reuse_page() argument
1144 new = &rx_ring->rx_swbd[rx_ring->next_to_alloc]; in enetc_reuse_page()
1147 enetc_bdr_idx_inc(rx_ring, &rx_ring->next_to_alloc); in enetc_reuse_page()
1189 struct enetc_bdr *rx_ring; in enetc_recycle_xdp_tx_buff() local
1191 rx_ring = enetc_rx_ring_from_xdp_tx_ring(priv, tx_ring); in enetc_recycle_xdp_tx_buff()
1193 if (likely(enetc_swbd_unused(rx_ring))) { in enetc_recycle_xdp_tx_buff()
[all …]
/linux/drivers/net/ethernet/intel/fm10k/
H A Dfm10k_main.c74 static bool fm10k_alloc_mapped_page(struct fm10k_ring *rx_ring, in fm10k_alloc_mapped_page() argument
87 rx_ring->rx_stats.alloc_failed++; in fm10k_alloc_mapped_page()
92 dma = dma_map_page(rx_ring->dev, page, 0, PAGE_SIZE, DMA_FROM_DEVICE); in fm10k_alloc_mapped_page()
97 if (dma_mapping_error(rx_ring->dev, dma)) { in fm10k_alloc_mapped_page()
100 rx_ring->rx_stats.alloc_failed++; in fm10k_alloc_mapped_page()
116 void fm10k_alloc_rx_buffers(struct fm10k_ring *rx_ring, u16 cleaned_count) in fm10k_alloc_rx_buffers() argument
120 u16 i = rx_ring->next_to_use; in fm10k_alloc_rx_buffers()
126 rx_desc = FM10K_RX_DESC(rx_ring, i); in fm10k_alloc_rx_buffers()
127 bi = &rx_ring->rx_buffer[i]; in fm10k_alloc_rx_buffers()
128 i -= rx_ring->count; in fm10k_alloc_rx_buffers()
[all …]
H A Dfm10k_netdev.c83 int fm10k_setup_rx_resources(struct fm10k_ring *rx_ring) in fm10k_setup_rx_resources() argument
85 struct device *dev = rx_ring->dev; in fm10k_setup_rx_resources()
88 size = sizeof(struct fm10k_rx_buffer) * rx_ring->count; in fm10k_setup_rx_resources()
90 rx_ring->rx_buffer = vzalloc(size); in fm10k_setup_rx_resources()
91 if (!rx_ring->rx_buffer) in fm10k_setup_rx_resources()
94 u64_stats_init(&rx_ring->syncp); in fm10k_setup_rx_resources()
97 rx_ring->size = rx_ring->count * sizeof(union fm10k_rx_desc); in fm10k_setup_rx_resources()
98 rx_ring->size = ALIGN(rx_ring->size, 4096); in fm10k_setup_rx_resources()
100 rx_ring->desc = dma_alloc_coherent(dev, rx_ring->size, in fm10k_setup_rx_resources()
101 &rx_ring->dma, GFP_KERNEL); in fm10k_setup_rx_resources()
[all …]
/linux/drivers/net/ethernet/intel/igbvf/
H A Dnetdev.c100 napi_gro_receive(&adapter->rx_ring->napi, skb); in igbvf_receive_skb()
133 static void igbvf_alloc_rx_buffers(struct igbvf_ring *rx_ring, in igbvf_alloc_rx_buffers() argument
136 struct igbvf_adapter *adapter = rx_ring->adapter; in igbvf_alloc_rx_buffers()
145 i = rx_ring->next_to_use; in igbvf_alloc_rx_buffers()
146 buffer_info = &rx_ring->buffer_info[i]; in igbvf_alloc_rx_buffers()
154 rx_desc = IGBVF_RX_DESC_ADV(*rx_ring, i); in igbvf_alloc_rx_buffers()
212 if (i == rx_ring->count) in igbvf_alloc_rx_buffers()
214 buffer_info = &rx_ring->buffer_info[i]; in igbvf_alloc_rx_buffers()
218 if (rx_ring->next_to_use != i) { in igbvf_alloc_rx_buffers()
219 rx_ring->next_to_use = i; in igbvf_alloc_rx_buffers()
[all …]
/linux/drivers/net/ethernet/wangxun/libwx/
H A Dwx_lib.c167 static void wx_dma_sync_frag(struct wx_ring *rx_ring, in wx_dma_sync_frag() argument
173 dma_sync_single_range_for_cpu(rx_ring->dev, in wx_dma_sync_frag()
180 static struct wx_rx_buffer *wx_get_rx_buffer(struct wx_ring *rx_ring, in wx_get_rx_buffer() argument
187 rx_buffer = &rx_ring->rx_buffer_info[rx_ring->next_to_clean]; in wx_get_rx_buffer()
202 wx_dma_sync_frag(rx_ring, rx_buffer); in wx_get_rx_buffer()
206 dma_sync_single_range_for_cpu(rx_ring->dev, in wx_get_rx_buffer()
215 static void wx_put_rx_buffer(struct wx_ring *rx_ring, in wx_put_rx_buffer() argument
224 static struct sk_buff *wx_build_skb(struct wx_ring *rx_ring, in wx_build_skb() argument
230 unsigned int truesize = wx_rx_pg_size(rx_ring) / 2; in wx_build_skb()
244 skb = napi_alloc_skb(&rx_ring->q_vector->napi, WX_RXBUFFER_256); in wx_build_skb()
[all …]
/linux/drivers/net/ethernet/intel/ixgbevf/
H A Dixgbevf_main.c116 static void ixgbevf_reuse_rx_page(struct ixgbevf_ring *rx_ring,
510 static void ixgbevf_process_skb_fields(struct ixgbevf_ring *rx_ring, in ixgbevf_process_skb_fields() argument
514 ixgbevf_rx_hash(rx_ring, rx_desc, skb); in ixgbevf_process_skb_fields()
515 ixgbevf_rx_checksum(rx_ring, rx_desc, skb); in ixgbevf_process_skb_fields()
519 unsigned long *active_vlans = netdev_priv(rx_ring->netdev); in ixgbevf_process_skb_fields()
526 ixgbevf_ipsec_rx(rx_ring, rx_desc, skb); in ixgbevf_process_skb_fields()
528 skb->protocol = eth_type_trans(skb, rx_ring->netdev); in ixgbevf_process_skb_fields()
532 struct ixgbevf_rx_buffer *ixgbevf_get_rx_buffer(struct ixgbevf_ring *rx_ring, in ixgbevf_get_rx_buffer() argument
537 rx_buffer = &rx_ring->rx_buffer_info[rx_ring->next_to_clean]; in ixgbevf_get_rx_buffer()
541 dma_sync_single_range_for_cpu(rx_ring->dev, in ixgbevf_get_rx_buffer()
[all …]

12345678910