Home
last modified time | relevance | path

Searched refs:napi (Results 1 – 25 of 400) sorted by relevance

12345678910>>...16

/Linux-v5.4/include/trace/events/
Dnapi.h3 #define TRACE_SYSTEM napi
16 TP_PROTO(struct napi_struct *napi, int work, int budget),
18 TP_ARGS(napi, work, budget),
21 __field( struct napi_struct *, napi)
22 __string( dev_name, napi->dev ? napi->dev->name : NO_DEV)
28 __entry->napi = napi;
29 __assign_str(dev_name, napi->dev ? napi->dev->name : NO_DEV);
35 __entry->napi, __get_str(dev_name),
/Linux-v5.4/net/core/
Dgro_cells.c9 struct napi_struct napi; member
39 napi_schedule(&cell->napi); in gro_cells_receive()
50 static int gro_cell_poll(struct napi_struct *napi, int budget) in gro_cell_poll() argument
52 struct gro_cell *cell = container_of(napi, struct gro_cell, napi); in gro_cell_poll()
60 napi_gro_receive(napi, skb); in gro_cell_poll()
65 napi_complete_done(napi, work_done); in gro_cell_poll()
82 set_bit(NAPI_STATE_NO_BUSY_POLL, &cell->napi.state); in gro_cells_init()
84 netif_napi_add(dev, &cell->napi, gro_cell_poll, in gro_cells_init()
86 napi_enable(&cell->napi); in gro_cells_init()
101 napi_disable(&cell->napi); in gro_cells_destroy()
[all …]
Dnetpoll.c138 static void poll_one_napi(struct napi_struct *napi) in poll_one_napi() argument
146 if (test_and_set_bit(NAPI_STATE_NPSVC, &napi->state)) in poll_one_napi()
152 work = napi->poll(napi, 0); in poll_one_napi()
153 WARN_ONCE(work, "%pS exceeded budget in poll\n", napi->poll); in poll_one_napi()
154 trace_napi_poll(napi, work, 0); in poll_one_napi()
156 clear_bit(NAPI_STATE_NPSVC, &napi->state); in poll_one_napi()
161 struct napi_struct *napi; in poll_napi() local
164 list_for_each_entry(napi, &dev->napi_list, dev_list) { in poll_napi()
165 if (cmpxchg(&napi->poll_owner, -1, cpu) == -1) { in poll_napi()
166 poll_one_napi(napi); in poll_napi()
[all …]
Ddev.c802 struct napi_struct *napi; in dev_get_by_napi_id() local
809 napi = napi_by_id(napi_id); in dev_get_by_napi_id()
811 return napi ? napi->dev : NULL; in dev_get_by_napi_id()
3894 struct napi_struct *napi) in ____napi_schedule() argument
3896 list_add_tail(&napi->poll_list, &sd->poll_list); in ____napi_schedule()
5311 static void __napi_gro_flush_chain(struct napi_struct *napi, u32 index, in __napi_gro_flush_chain() argument
5314 struct list_head *head = &napi->gro_hash[index].list; in __napi_gro_flush_chain()
5322 napi->gro_hash[index].count--; in __napi_gro_flush_chain()
5325 if (!napi->gro_hash[index].count) in __napi_gro_flush_chain()
5326 __clear_bit(index, &napi->gro_bitmask); in __napi_gro_flush_chain()
[all …]
/Linux-v5.4/include/linux/
Dnetpoll.h77 static inline void *netpoll_poll_lock(struct napi_struct *napi) in netpoll_poll_lock() argument
79 struct net_device *dev = napi->dev; in netpoll_poll_lock()
84 while (cmpxchg(&napi->poll_owner, -1, owner) != -1) in netpoll_poll_lock()
87 return napi; in netpoll_poll_lock()
94 struct napi_struct *napi = have; in netpoll_poll_unlock() local
96 if (napi) in netpoll_poll_unlock()
97 smp_store_release(&napi->poll_owner, -1); in netpoll_poll_unlock()
106 static inline void *netpoll_poll_lock(struct napi_struct *napi) in netpoll_poll_lock() argument
/Linux-v5.4/drivers/net/ethernet/
Dlantiq_xrx200.c58 struct napi_struct napi; member
119 napi_enable(&priv->chan_tx.napi); in xrx200_open()
123 napi_enable(&priv->chan_rx.napi); in xrx200_open()
146 napi_disable(&priv->chan_rx.napi); in xrx200_close()
149 napi_disable(&priv->chan_tx.napi); in xrx200_close()
212 static int xrx200_poll_rx(struct napi_struct *napi, int budget) in xrx200_poll_rx() argument
214 struct xrx200_chan *ch = container_of(napi, in xrx200_poll_rx()
215 struct xrx200_chan, napi); in xrx200_poll_rx()
233 napi_complete(&ch->napi); in xrx200_poll_rx()
240 static int xrx200_tx_housekeeping(struct napi_struct *napi, int budget) in xrx200_tx_housekeeping() argument
[all …]
Dlantiq_etop.c83 struct napi_struct napi; member
147 ltq_etop_poll_rx(struct napi_struct *napi, int budget) in ltq_etop_poll_rx() argument
149 struct ltq_etop_chan *ch = container_of(napi, in ltq_etop_poll_rx()
150 struct ltq_etop_chan, napi); in ltq_etop_poll_rx()
162 napi_complete_done(&ch->napi, work_done); in ltq_etop_poll_rx()
169 ltq_etop_poll_tx(struct napi_struct *napi, int budget) in ltq_etop_poll_tx() argument
172 container_of(napi, struct ltq_etop_chan, napi); in ltq_etop_poll_tx()
192 napi_complete(&ch->napi); in ltq_etop_poll_tx()
203 napi_schedule(&priv->ch[ch].napi); in ltq_etop_dma_irq()
428 napi_enable(&ch->napi); in ltq_etop_open()
[all …]
/Linux-v5.4/drivers/net/ethernet/synopsys/
Ddwc-xlgmac-net.c290 if (napi_schedule_prep(&pdata->napi)) { in xlgmac_isr()
296 __napi_schedule_irqoff(&pdata->napi); in xlgmac_isr()
350 if (napi_schedule_prep(&channel->napi)) { in xlgmac_dma_isr()
355 __napi_schedule_irqoff(&channel->napi); in xlgmac_dma_isr()
365 struct napi_struct *napi; in xlgmac_tx_timer() local
367 napi = (pdata->per_channel_irq) ? &channel->napi : &pdata->napi; in xlgmac_tx_timer()
369 if (napi_schedule_prep(napi)) { in xlgmac_tx_timer()
378 __napi_schedule(napi); in xlgmac_tx_timer()
421 netif_napi_add(pdata->netdev, &channel->napi, in xlgmac_napi_enable()
425 napi_enable(&channel->napi); in xlgmac_napi_enable()
[all …]
/Linux-v5.4/drivers/net/wireless/intel/iwlwifi/
Diwl-op-mode.h150 void (*rx)(struct iwl_op_mode *op_mode, struct napi_struct *napi,
152 void (*rx_rss)(struct iwl_op_mode *op_mode, struct napi_struct *napi,
188 struct napi_struct *napi, in iwl_op_mode_rx() argument
191 return op_mode->ops->rx(op_mode, napi, rxb); in iwl_op_mode_rx()
195 struct napi_struct *napi, in iwl_op_mode_rx_rss() argument
199 op_mode->ops->rx_rss(op_mode, napi, rxb, queue); in iwl_op_mode_rx_rss()
/Linux-v5.4/drivers/net/ethernet/aquantia/atlantic/
Daq_vec.c25 struct napi_struct napi; member
32 static int aq_vec_poll(struct napi_struct *napi, int budget) in aq_vec_poll() argument
34 struct aq_vec_s *self = container_of(napi, struct aq_vec_s, napi); in aq_vec_poll()
69 napi, in aq_vec_poll()
94 napi_complete_done(napi, work_done); in aq_vec_poll()
128 netif_napi_add(aq_nic_get_ndev(aq_nic), &self->napi, in aq_vec_alloc()
230 napi_enable(&self->napi); in aq_vec_start()
250 napi_disable(&self->napi); in aq_vec_stop()
283 netif_napi_del(&self->napi); in aq_vec_free()
299 napi_schedule(&self->napi); in aq_vec_isr()
[all …]
/Linux-v5.4/drivers/net/ethernet/google/gve/
Dgve_rx.c229 struct napi_struct *napi, in gve_rx_copy() argument
233 struct sk_buff *skb = napi_alloc_skb(napi, len); in gve_rx_copy()
249 struct napi_struct *napi, in gve_rx_add_frags() argument
253 struct sk_buff *skb = napi_get_frags(napi); in gve_rx_add_frags()
280 struct napi_struct *napi = &priv->ntfy_blocks[rx->ntfy_id].napi; in gve_rx() local
303 skb = gve_rx_copy(dev, napi, page_info, len); in gve_rx()
307 skb = gve_rx_copy(dev, napi, page_info, len); in gve_rx()
316 skb = gve_rx_add_frags(dev, napi, page_info, len); in gve_rx()
327 skb = gve_rx_copy(dev, napi, page_info, len); in gve_rx()
333 skb = gve_rx_copy(dev, napi, page_info, len); in gve_rx()
[all …]
/Linux-v5.4/drivers/net/ethernet/qlogic/qlcnic/
Dqlcnic_io.c960 static int qlcnic_poll(struct napi_struct *napi, int budget) in qlcnic_poll() argument
967 sds_ring = container_of(napi, struct qlcnic_host_sds_ring, napi); in qlcnic_poll()
980 napi_complete_done(&sds_ring->napi, work_done); in qlcnic_poll()
990 static int qlcnic_tx_poll(struct napi_struct *napi, int budget) in qlcnic_tx_poll() argument
996 tx_ring = container_of(napi, struct qlcnic_host_tx_ring, napi); in qlcnic_tx_poll()
1001 napi_complete(&tx_ring->napi); in qlcnic_tx_poll()
1012 static int qlcnic_rx_poll(struct napi_struct *napi, int budget) in qlcnic_rx_poll() argument
1018 sds_ring = container_of(napi, struct qlcnic_host_sds_ring, napi); in qlcnic_rx_poll()
1024 napi_complete_done(&sds_ring->napi, work_done); in qlcnic_rx_poll()
1249 napi_gro_receive(&sds_ring->napi, skb); in qlcnic_process_rcv()
[all …]
/Linux-v5.4/drivers/staging/octeon/
Dethernet-rx.c37 struct napi_struct napi; member
408 static int cvm_oct_napi_poll(struct napi_struct *napi, int budget) in cvm_oct_napi_poll() argument
410 struct oct_rx_group *rx_group = container_of(napi, struct oct_rx_group, in cvm_oct_napi_poll()
411 napi); in cvm_oct_napi_poll()
418 napi_complete_done(napi, rx_count); in cvm_oct_napi_poll()
468 netif_napi_add(dev_for_napi, &oct_rx_group[i].napi, in cvm_oct_rx_initialize()
470 napi_enable(&oct_rx_group[i].napi); in cvm_oct_rx_initialize()
477 "Ethernet", &oct_rx_group[i].napi); in cvm_oct_rx_initialize()
514 napi_schedule(&oct_rx_group[i].napi); in cvm_oct_rx_initialize()
536 netif_napi_del(&oct_rx_group[i].napi); in cvm_oct_rx_shutdown()
/Linux-v5.4/drivers/net/wireless/ath/wil6210/
Dnetdev.c102 static int wil6210_netdev_poll_rx(struct napi_struct *napi, int budget) in wil6210_netdev_poll_rx() argument
104 struct wil6210_priv *wil = container_of(napi, struct wil6210_priv, in wil6210_netdev_poll_rx()
113 napi_complete_done(napi, done); in wil6210_netdev_poll_rx()
123 static int wil6210_netdev_poll_rx_edma(struct napi_struct *napi, int budget) in wil6210_netdev_poll_rx_edma() argument
125 struct wil6210_priv *wil = container_of(napi, struct wil6210_priv, in wil6210_netdev_poll_rx_edma()
134 napi_complete_done(napi, done); in wil6210_netdev_poll_rx_edma()
144 static int wil6210_netdev_poll_tx(struct napi_struct *napi, int budget) in wil6210_netdev_poll_tx() argument
146 struct wil6210_priv *wil = container_of(napi, struct wil6210_priv, in wil6210_netdev_poll_tx()
171 napi_complete(napi); in wil6210_netdev_poll_tx()
181 static int wil6210_netdev_poll_tx_edma(struct napi_struct *napi, int budget) in wil6210_netdev_poll_tx_edma() argument
[all …]
/Linux-v5.4/drivers/net/can/
Drx-offload.c37 static int can_rx_offload_napi_poll(struct napi_struct *napi, int quota) in can_rx_offload_napi_poll() argument
39 struct can_rx_offload *offload = container_of(napi, struct can_rx_offload, napi); in can_rx_offload_napi_poll()
56 napi_complete_done(napi, work_done); in can_rx_offload_napi_poll()
60 napi_reschedule(&offload->napi); in can_rx_offload_napi_poll()
341 netif_napi_add(dev, &offload->napi, can_rx_offload_napi_poll, weight); in can_rx_offload_init_queue()
381 napi_enable(&offload->napi); in can_rx_offload_enable()
387 netif_napi_del(&offload->napi); in can_rx_offload_del()
/Linux-v5.4/include/linux/can/
Drx-offload.h28 struct napi_struct napi; member
53 napi_schedule(&offload->napi); in can_rx_offload_schedule()
58 napi_disable(&offload->napi); in can_rx_offload_disable()
/Linux-v5.4/drivers/net/
Dvirtio_net.c130 struct napi_struct napi; member
138 struct napi_struct napi; member
314 static void virtqueue_napi_schedule(struct napi_struct *napi, in virtqueue_napi_schedule() argument
317 if (napi_schedule_prep(napi)) { in virtqueue_napi_schedule()
319 __napi_schedule(napi); in virtqueue_napi_schedule()
323 static void virtqueue_napi_complete(struct napi_struct *napi, in virtqueue_napi_complete() argument
329 if (napi_complete_done(napi, processed)) { in virtqueue_napi_complete()
331 virtqueue_napi_schedule(napi, vq); in virtqueue_napi_complete()
340 struct napi_struct *napi = &vi->sq[vq2txq(vq)].napi; in skb_xmit_done() local
345 if (napi->weight) in skb_xmit_done()
[all …]
/Linux-v5.4/drivers/net/ethernet/mellanox/mlx4/
Den_cq.c152 netif_tx_napi_add(cq->dev, &cq->napi, mlx4_en_poll_tx_cq, in mlx4_en_activate_cq()
154 napi_enable(&cq->napi); in mlx4_en_activate_cq()
158 netif_napi_add(cq->dev, &cq->napi, mlx4_en_poll_rx_cq, 64); in mlx4_en_activate_cq()
159 napi_enable(&cq->napi); in mlx4_en_activate_cq()
195 napi_disable(&cq->napi); in mlx4_en_deactivate_cq()
196 netif_napi_del(&cq->napi); in mlx4_en_deactivate_cq()
/Linux-v5.4/drivers/net/caif/
Dcaif_virtio.c111 struct napi_struct napi; member
250 static int cfv_rx_poll(struct napi_struct *napi, int quota) in cfv_rx_poll() argument
252 struct cfv_info *cfv = container_of(napi, struct cfv_info, napi); in cfv_rx_poll()
319 napi_complete(napi); in cfv_rx_poll()
321 napi_schedule_prep(napi)) { in cfv_rx_poll()
323 __napi_schedule(napi); in cfv_rx_poll()
331 napi_complete(napi); in cfv_rx_poll()
339 napi_complete(napi); in cfv_rx_poll()
356 napi_schedule(&cfv->napi); in cfv_recv()
446 napi_enable(&cfv->napi); in cfv_netdev_open()
[all …]
/Linux-v5.4/drivers/net/ethernet/ezchip/
Dnps_enet.c174 static int nps_enet_poll(struct napi_struct *napi, int budget) in nps_enet_poll() argument
176 struct net_device *ndev = napi->dev; in nps_enet_poll()
182 if ((work_done < budget) && napi_complete_done(napi, work_done)) { in nps_enet_poll()
202 napi_reschedule(napi); in nps_enet_poll()
228 if (likely(napi_schedule_prep(&priv->napi))) { in nps_enet_irq_handler()
230 __napi_schedule(&priv->napi); in nps_enet_irq_handler()
493 napi_enable(&priv->napi); in nps_enet_open()
514 napi_disable(&priv->napi); in nps_enet_stop()
619 netif_napi_add(ndev, &priv->napi, nps_enet_poll, in nps_enet_probe()
634 netif_napi_del(&priv->napi); in nps_enet_probe()
[all …]
/Linux-v5.4/drivers/net/ethernet/huawei/hinic/
Dhinic_rx.c387 napi_gro_receive(&rxq->napi, skb); in rxq_recv()
420 static int rx_poll(struct napi_struct *napi, int budget) in rx_poll() argument
422 struct hinic_rxq *rxq = container_of(napi, struct hinic_rxq, napi); in rx_poll()
431 napi_complete(napi); in rx_poll()
443 netif_napi_add(rxq->netdev, &rxq->napi, rx_poll, nic_dev->rx_weight); in rx_add_napi()
444 napi_enable(&rxq->napi); in rx_add_napi()
449 napi_disable(&rxq->napi); in rx_del_napi()
450 netif_napi_del(&rxq->napi); in rx_del_napi()
468 napi_schedule(&rxq->napi); in rx_irq()
/Linux-v5.4/drivers/net/ethernet/mellanox/mlx5/core/
Den_txrx.c108 int mlx5e_napi_poll(struct napi_struct *napi, int budget) in mlx5e_napi_poll() argument
110 struct mlx5e_channel *c = container_of(napi, struct mlx5e_channel, in mlx5e_napi_poll()
111 napi); in mlx5e_napi_poll()
163 if (unlikely(!napi_complete_done(napi, work_done))) in mlx5e_napi_poll()
198 napi_schedule(cq->napi); in mlx5e_completion_event()
/Linux-v5.4/drivers/net/ethernet/pensando/ionic/
Dionic_lif.h68 struct napi_struct napi; member
83 #define napi_to_qcq(napi) container_of(napi, struct ionic_qcq, napi) argument
84 #define napi_to_cq(napi) (&napi_to_qcq(napi)->cq) argument
/Linux-v5.4/drivers/net/ethernet/ibm/emac/
Dmal.c51 napi_enable(&mal->napi); in mal_register_commac()
75 napi_disable(&mal->napi); in mal_unregister_commac()
260 if (likely(napi_schedule_prep(&mal->napi))) { in mal_schedule_poll()
265 __napi_schedule(&mal->napi); in mal_schedule_poll()
376 napi_synchronize(&mal->napi); in mal_poll_disable()
389 napi_schedule(&mal->napi); in mal_poll_enable()
392 static int mal_poll(struct napi_struct *napi, int budget) in mal_poll() argument
394 struct mal_instance *mal = container_of(napi, struct mal_instance, napi); in mal_poll()
427 if (napi_complete_done(napi, received)) { in mal_poll()
443 if (!napi_reschedule(napi)) in mal_poll()
[all …]
/Linux-v5.4/drivers/net/wireless/mediatek/mt76/
Dmt76x02_mmio.c157 static int mt76x02_poll_tx(struct napi_struct *napi, int budget) in mt76x02_poll_tx() argument
159 struct mt76x02_dev *dev = container_of(napi, struct mt76x02_dev, in mt76x02_poll_tx()
168 if (napi_complete_done(napi, 0)) in mt76x02_poll_tx()
273 napi_schedule(&dev->mt76.napi[0]); in mt76x02_irq_handler()
278 napi_schedule(&dev->mt76.napi[1]); in mt76x02_irq_handler()
449 for (i = 0; i < ARRAY_SIZE(dev->mt76.napi); i++) in mt76x02_watchdog_reset()
450 napi_disable(&dev->mt76.napi[i]); in mt76x02_watchdog_reset()
506 for (i = 0; i < ARRAY_SIZE(dev->mt76.napi); i++) { in mt76x02_watchdog_reset()
507 napi_enable(&dev->mt76.napi[i]); in mt76x02_watchdog_reset()
508 napi_schedule(&dev->mt76.napi[i]); in mt76x02_watchdog_reset()

12345678910>>...16