/openbmc/linux/include/trace/events/ |
H A D | napi.h | 3 #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),
|
/openbmc/linux/net/core/ |
H A D | gro.c | 232 static void napi_gro_complete(struct napi_struct *napi, struct sk_buff *skb) in napi_gro_complete() argument 265 gro_normal_one(napi, skb, NAPI_GRO_CB(skb)->count); in napi_gro_complete() 268 static void __napi_gro_flush_chain(struct napi_struct *napi, u32 index, in __napi_gro_flush_chain() argument 271 struct list_head *head = &napi->gro_hash[index].list; in __napi_gro_flush_chain() 278 napi_gro_complete(napi, skb); in __napi_gro_flush_chain() 279 napi->gro_hash[index].count--; in __napi_gro_flush_chain() 282 if (!napi->gro_hash[index].count) in __napi_gro_flush_chain() 283 __clear_bit(index, &napi->gro_bitmask); in __napi_gro_flush_chain() 290 void napi_gro_flush(struct napi_struct *napi, bool flush_old) in napi_gro_flush() argument 292 unsigned long bitmask = napi->gro_bitmask; in napi_gro_flush() [all …]
|
H A D | gro_cells.c | 9 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() 85 napi_enable(&cell->napi); in gro_cells_init() 115 napi_disable(&cell->napi); in gro_cells_destroy() [all …]
|
/openbmc/linux/drivers/net/ethernet/intel/igc/ |
H A D | igc_xdp.c | 49 struct napi_struct *napi; in igc_xdp_enable_pool() local 79 napi = &rx_ring->q_vector->napi; in igc_xdp_enable_pool() 84 napi_disable(napi); in igc_xdp_enable_pool() 91 napi_enable(napi); in igc_xdp_enable_pool() 109 struct napi_struct *napi; in igc_xdp_disable_pool() local 125 napi = &rx_ring->q_vector->napi; in igc_xdp_disable_pool() 130 napi_disable(napi); in igc_xdp_disable_pool() 138 napi_enable(napi); in igc_xdp_disable_pool()
|
/openbmc/linux/include/linux/ |
H A D | netpoll.h | 70 static inline void *netpoll_poll_lock(struct napi_struct *napi) in netpoll_poll_lock() argument 72 struct net_device *dev = napi->dev; in netpoll_poll_lock() 77 while (cmpxchg(&napi->poll_owner, -1, owner) != -1) in netpoll_poll_lock() 80 return napi; in netpoll_poll_lock() 87 struct napi_struct *napi = have; in netpoll_poll_unlock() local 89 if (napi) in netpoll_poll_unlock() 90 smp_store_release(&napi->poll_owner, -1); in netpoll_poll_unlock() 99 static inline void *netpoll_poll_lock(struct napi_struct *napi) in netpoll_poll_lock() argument
|
/openbmc/linux/drivers/infiniband/hw/hfi1/ |
H A D | ipoib_rx.c | 22 static struct sk_buff *prepare_frag_skb(struct napi_struct *napi, int size) in prepare_frag_skb() argument 33 return napi_alloc_skb(napi, size); in prepare_frag_skb() 49 struct napi_struct *napi = &rxq->napi; in hfi1_ipoib_prepare_skb() local 58 skb = napi_alloc_skb(napi, skb_size); in hfi1_ipoib_prepare_skb() 60 skb = prepare_frag_skb(napi, skb_size); in hfi1_ipoib_prepare_skb()
|
/openbmc/linux/drivers/net/ethernet/ |
H A D | lantiq_xrx200.c | 64 struct napi_struct napi; member 151 napi_enable(&priv->chan_tx.napi); in xrx200_open() 155 napi_enable(&priv->chan_rx.napi); in xrx200_open() 178 napi_disable(&priv->chan_rx.napi); in xrx200_close() 181 napi_disable(&priv->chan_tx.napi); in xrx200_close() 283 static int xrx200_poll_rx(struct napi_struct *napi, int budget) in xrx200_poll_rx() argument 285 struct xrx200_chan *ch = container_of(napi, in xrx200_poll_rx() 286 struct xrx200_chan, napi); in xrx200_poll_rx() 306 if (napi_complete_done(&ch->napi, rx)) in xrx200_poll_rx() 313 static int xrx200_tx_housekeeping(struct napi_struct *napi, int budget) in xrx200_tx_housekeeping() argument [all …]
|
/openbmc/linux/drivers/net/ethernet/aquantia/atlantic/ |
H A D | aq_vec.c | 21 struct napi_struct napi; member 28 static int aq_vec_poll(struct napi_struct *napi, int budget) in aq_vec_poll() argument 30 struct aq_vec_s *self = container_of(napi, struct aq_vec_s, napi); in aq_vec_poll() 68 napi, in aq_vec_poll() 93 napi_complete_done(napi, work_done); in aq_vec_poll() 122 netif_napi_add(aq_nic_get_ndev(aq_nic), &self->napi, aq_vec_poll); in aq_vec_alloc() 151 self->napi.napi_id) < 0) { in aq_vec_ring_alloc() 245 napi_enable(&self->napi); in aq_vec_start() 265 napi_disable(&self->napi); in aq_vec_stop() 290 netif_napi_del(&self->napi); in aq_vec_free() [all …]
|
/openbmc/linux/drivers/net/ethernet/mellanox/mlx5/core/en/ |
H A D | trap.c | 8 static int mlx5e_trap_napi_poll(struct napi_struct *napi, int budget) in mlx5e_trap_napi_poll() argument 10 struct mlx5e_trap *trap_ctx = container_of(napi, struct mlx5e_trap, napi); in mlx5e_trap_napi_poll() 29 if (unlikely(!napi_complete_done(napi, work_done))) in mlx5e_trap_napi_poll() 73 ccp.napi = &t->napi; in mlx5e_open_trap_rq() 149 netif_napi_add(netdev, &t->napi, mlx5e_trap_napi_poll); in mlx5e_open_trap() 164 netif_napi_del(&t->napi); in mlx5e_open_trap() 173 netif_napi_del(&trap->napi); in mlx5e_close_trap() 179 napi_enable(&trap->napi); in mlx5e_activate_trap() 181 mlx5e_trigger_napi_sched(&trap->napi); in mlx5e_activate_trap() 189 napi_disable(&trap->napi); in mlx5e_deactivate_trap()
|
/openbmc/linux/drivers/net/ethernet/synopsys/ |
H A D | dwc-xlgmac-net.c | 290 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() 424 napi_enable(&channel->napi); in xlgmac_napi_enable() [all …]
|
/openbmc/linux/drivers/net/wan/ |
H A D | lapbether.c | 58 struct napi_struct napi; member 88 static int lapbeth_napi_poll(struct napi_struct *napi, int budget) in lapbeth_napi_poll() argument 90 struct lapbethdev *lapbeth = container_of(napi, struct lapbethdev, in lapbeth_napi_poll() 91 napi); in lapbeth_napi_poll() 103 napi_complete(napi); in lapbeth_napi_poll() 178 napi_schedule(&lapbeth->napi); in lapbeth_data_indication() 277 napi_schedule(&lapbeth->napi); in lapbeth_connected() 295 napi_schedule(&lapbeth->napi); in lapbeth_disconnected() 324 napi_enable(&lapbeth->napi); in lapbeth_open() 328 napi_disable(&lapbeth->napi); in lapbeth_open() [all …]
|
/openbmc/linux/drivers/net/wireless/ath/ath12k/ |
H A D | dp_mon.h | 81 struct napi_struct *napi); 87 struct napi_struct *napi); 89 struct napi_struct *napi, int budget, 101 struct napi_struct *napi, 105 struct napi_struct *napi, int *budget);
|
/openbmc/linux/drivers/net/wireless/mediatek/mt76/ |
H A D | mt792x_dma.c | 66 napi_schedule(&dev->mt76.napi[MT_RXQ_MCU]); in mt792x_irq_tasklet() 69 napi_schedule(&dev->mt76.napi[MT_RXQ_MCU_WA]); in mt792x_irq_tasklet() 72 napi_schedule(&dev->mt76.napi[MT_RXQ_MAIN]); in mt792x_irq_tasklet() 290 int mt792x_poll_tx(struct napi_struct *napi, int budget) in mt792x_poll_tx() argument 294 dev = container_of(napi, struct mt792x_dev, mt76.tx_napi); in mt792x_poll_tx() 297 napi_complete(napi); in mt792x_poll_tx() 303 if (napi_complete(napi)) in mt792x_poll_tx() 312 int mt792x_poll_rx(struct napi_struct *napi, int budget) in mt792x_poll_rx() argument 317 dev = container_of(napi->dev, struct mt792x_dev, mt76.napi_dev); in mt792x_poll_rx() 320 napi_complete(napi); in mt792x_poll_rx() [all …]
|
/openbmc/linux/drivers/net/can/dev/ |
H A D | rx-offload.c | 42 static int can_rx_offload_napi_poll(struct napi_struct *napi, int quota) in can_rx_offload_napi_poll() argument 44 struct can_rx_offload *offload = container_of(napi, in can_rx_offload_napi_poll() 46 napi); in can_rx_offload_napi_poll() 66 napi_complete_done(napi, work_done); in can_rx_offload_napi_poll() 70 napi_reschedule(&offload->napi); in can_rx_offload_napi_poll() 325 napi_schedule(&offload->napi); in can_rx_offload_irq_finish() 347 napi_schedule(&offload->napi); in can_rx_offload_threaded_irq_finish() 364 netif_napi_add_weight(dev, &offload->napi, can_rx_offload_napi_poll, in can_rx_offload_init_queue() 417 napi_enable(&offload->napi); in can_rx_offload_enable() 423 netif_napi_del(&offload->napi); in can_rx_offload_del()
|
/openbmc/linux/drivers/net/wireless/intel/iwlwifi/ |
H A D | iwl-op-mode.h | 95 void (*rx)(struct iwl_op_mode *op_mode, struct napi_struct *napi, 97 void (*rx_rss)(struct iwl_op_mode *op_mode, struct napi_struct *napi, 136 struct napi_struct *napi, in iwl_op_mode_rx() argument 139 return op_mode->ops->rx(op_mode, napi, rxb); in iwl_op_mode_rx() 143 struct napi_struct *napi, in iwl_op_mode_rx_rss() argument 147 op_mode->ops->rx_rss(op_mode, napi, rxb, queue); in iwl_op_mode_rx_rss()
|
/openbmc/linux/drivers/net/ethernet/qlogic/qlcnic/ |
H A D | qlcnic_io.c | 960 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 …]
|
/openbmc/linux/drivers/net/ethernet/google/gve/ |
H A D | gve_rx.c | 363 static struct sk_buff *gve_rx_add_frags(struct napi_struct *napi, in gve_rx_add_frags() argument 373 skb = napi_get_frags(napi); in gve_rx_add_frags() 382 skb = napi_alloc_skb(napi, 0); in gve_rx_add_frags() 433 struct napi_struct *napi, in gve_rx_raw_addressing() argument 437 struct sk_buff *skb = gve_rx_add_frags(napi, page_info, packet_buffer_size, len, ctx); in gve_rx_raw_addressing() 453 u16 len, struct napi_struct *napi) in gve_rx_copy_to_pool() argument 494 skb = gve_rx_add_frags(napi, &alloc_page_info, in gve_rx_copy_to_pool() 510 skb = gve_rx_add_frags(napi, copy_page_info, in gve_rx_copy_to_pool() 540 u16 len, struct napi_struct *napi, in gve_rx_qpl() argument 552 skb = gve_rx_add_frags(napi, page_info, rx->packet_buffer_size, len, ctx); in gve_rx_qpl() [all …]
|
H A D | gve_rx_dqo.c | 509 static void gve_rx_free_skb(struct napi_struct *napi, struct gve_rx_ring *rx) in gve_rx_free_skb() argument 514 if (rx->ctx.skb_head == napi->skb) in gve_rx_free_skb() 515 napi->skb = NULL; in gve_rx_free_skb() 561 static int gve_rx_append_frags(struct napi_struct *napi, in gve_rx_append_frags() argument 571 skb = napi_alloc_skb(napi, 0); in gve_rx_append_frags() 609 static int gve_rx_dqo(struct napi_struct *napi, struct gve_rx_ring *rx, in gve_rx_dqo() argument 651 if (unlikely(gve_rx_append_frags(napi, buf_state, buf_len, rx, in gve_rx_dqo() 659 rx->ctx.skb_head = gve_rx_copy(priv->dev, napi, in gve_rx_dqo() 675 rx->ctx.skb_head = napi_get_frags(napi); in gve_rx_dqo() 725 static int gve_rx_complete_skb(struct gve_rx_ring *rx, struct napi_struct *napi, in gve_rx_complete_skb() argument [all …]
|
/openbmc/linux/drivers/net/wwan/t7xx/ |
H A D | t7xx_netdev.c | 68 napi_enable(ctlb->napi[i]); in t7xx_ccmni_enable_napi() 69 napi_schedule(ctlb->napi[i]); in t7xx_ccmni_enable_napi() 82 napi_synchronize(ctlb->napi[i]); in t7xx_ccmni_disable_napi() 83 napi_disable(ctlb->napi[i]); in t7xx_ccmni_disable_napi() 268 ctlb->napi[i] = &ctlb->hif_ctrl->rxq[i].napi; in t7xx_init_netdev_napi() 269 netif_napi_add_weight(&ctlb->dummy_dev, ctlb->napi[i], t7xx_dpmaif_napi_rx_poll, in t7xx_init_netdev_napi() 279 netif_napi_del(ctlb->napi[i]); in t7xx_uninit_netdev_napi() 280 ctlb->napi[i] = NULL; in t7xx_uninit_netdev_napi() 406 struct napi_struct *napi) in t7xx_ccmni_recv_skb() argument 431 napi_gro_receive(napi, skb); in t7xx_ccmni_recv_skb()
|
/openbmc/linux/drivers/net/ethernet/broadcom/ |
H A D | bcm4908_enet.c | 68 struct napi_struct napi; member 443 napi_schedule(&ring->napi); in bcm4908_enet_irq_handler() 483 napi_enable(&tx_ring->napi); in bcm4908_enet_open() 489 napi_enable(&rx_ring->napi); in bcm4908_enet_open() 506 napi_disable(&rx_ring->napi); in bcm4908_enet_stop() 507 napi_disable(&tx_ring->napi); in bcm4908_enet_stop() 534 napi_schedule(&enet->tx_ring.napi); in bcm4908_enet_start_xmit() 581 static int bcm4908_enet_poll_rx(struct napi_struct *napi, int weight) in bcm4908_enet_poll_rx() argument 583 struct bcm4908_enet_dma_ring *rx_ring = container_of(napi, struct bcm4908_enet_dma_ring, napi); in bcm4908_enet_poll_rx() 641 napi_complete_done(napi, handled); in bcm4908_enet_poll_rx() [all …]
|
/openbmc/linux/drivers/staging/octeon/ |
H A D | ethernet-rx.c | 37 struct napi_struct napi; member 412 static int cvm_oct_napi_poll(struct napi_struct *napi, int budget) in cvm_oct_napi_poll() argument 414 struct oct_rx_group *rx_group = container_of(napi, struct oct_rx_group, in cvm_oct_napi_poll() 415 napi); in cvm_oct_napi_poll() 422 napi_complete_done(napi, rx_count); in cvm_oct_napi_poll() 472 netif_napi_add_weight(dev_for_napi, &oct_rx_group[i].napi, in cvm_oct_rx_initialize() 474 napi_enable(&oct_rx_group[i].napi); in cvm_oct_rx_initialize() 481 "Ethernet", &oct_rx_group[i].napi); in cvm_oct_rx_initialize() 518 napi_schedule(&oct_rx_group[i].napi); in cvm_oct_rx_initialize() 540 netif_napi_del(&oct_rx_group[i].napi); in cvm_oct_rx_shutdown()
|
/openbmc/linux/drivers/net/wireless/ath/ath11k/ |
H A D | dp_rx.h | 70 struct napi_struct *napi, int budget); 71 int ath11k_dp_process_rx_err(struct ath11k_base *ab, struct napi_struct *napi, 74 struct napi_struct *napi, 85 struct napi_struct *napi, int budget); 87 struct napi_struct *napi, int budget);
|
/openbmc/linux/drivers/net/wireless/ath/wil6210/ |
H A D | netdev.c | 91 static int wil6210_netdev_poll_rx(struct napi_struct *napi, int budget) in wil6210_netdev_poll_rx() argument 93 struct wil6210_priv *wil = container_of(napi, struct wil6210_priv, in wil6210_netdev_poll_rx() 102 napi_complete_done(napi, done); in wil6210_netdev_poll_rx() 112 static int wil6210_netdev_poll_rx_edma(struct napi_struct *napi, int budget) in wil6210_netdev_poll_rx_edma() argument 114 struct wil6210_priv *wil = container_of(napi, struct wil6210_priv, in wil6210_netdev_poll_rx_edma() 123 napi_complete_done(napi, done); in wil6210_netdev_poll_rx_edma() 133 static int wil6210_netdev_poll_tx(struct napi_struct *napi, int budget) in wil6210_netdev_poll_tx() argument 135 struct wil6210_priv *wil = container_of(napi, struct wil6210_priv, in wil6210_netdev_poll_tx() 160 napi_complete(napi); in wil6210_netdev_poll_tx() 170 static int wil6210_netdev_poll_tx_edma(struct napi_struct *napi, int budget) in wil6210_netdev_poll_tx_edma() argument [all …]
|
/openbmc/linux/drivers/net/wireless/mediatek/mt76/mt7615/ |
H A D | dma.c | 66 static int mt7615_poll_tx(struct napi_struct *napi, int budget) in mt7615_poll_tx() argument 70 dev = container_of(napi, struct mt7615_dev, mt76.tx_napi); in mt7615_poll_tx() 72 napi_complete(napi); in mt7615_poll_tx() 78 if (napi_complete(napi)) in mt7615_poll_tx() 87 static int mt7615_poll_rx(struct napi_struct *napi, int budget) in mt7615_poll_rx() argument 92 dev = container_of(napi->dev, struct mt7615_dev, mt76.napi_dev); in mt7615_poll_rx() 95 napi_complete(napi); in mt7615_poll_rx() 99 done = mt76_dma_rx_poll(napi, budget); in mt7615_poll_rx()
|
/openbmc/linux/drivers/net/ethernet/pensando/ionic/ |
H A D | ionic_txrx.h | 12 int ionic_rx_napi(struct napi_struct *napi, int budget); 13 int ionic_tx_napi(struct napi_struct *napi, int budget); 14 int ionic_txrx_napi(struct napi_struct *napi, int budget);
|