Home
last modified time | relevance | path

Searched refs:rx_queue (Results 1 – 25 of 88) sorted by relevance

1234

/Linux-v4.19/drivers/net/ethernet/sfc/falcon/
Drx.c79 ef4_rx_buf_next(struct ef4_rx_queue *rx_queue, struct ef4_rx_buffer *rx_buf) in ef4_rx_buf_next() argument
81 if (unlikely(rx_buf == ef4_rx_buffer(rx_queue, rx_queue->ptr_mask))) in ef4_rx_buf_next()
82 return ef4_rx_buffer(rx_queue, 0); in ef4_rx_buf_next()
109 static struct page *ef4_reuse_page(struct ef4_rx_queue *rx_queue) in ef4_reuse_page() argument
111 struct ef4_nic *efx = rx_queue->efx; in ef4_reuse_page()
116 index = rx_queue->page_remove & rx_queue->page_ptr_mask; in ef4_reuse_page()
117 page = rx_queue->page_ring[index]; in ef4_reuse_page()
121 rx_queue->page_ring[index] = NULL; in ef4_reuse_page()
123 if (rx_queue->page_remove != rx_queue->page_add) in ef4_reuse_page()
124 ++rx_queue->page_remove; in ef4_reuse_page()
[all …]
Dnic.h113 ef4_rx_desc(struct ef4_rx_queue *rx_queue, unsigned int index) in ef4_rx_desc() argument
115 return ((ef4_qword_t *) (rx_queue->rxd.buf.addr)) + index; in ef4_rx_desc()
336 static inline int ef4_nic_probe_rx(struct ef4_rx_queue *rx_queue) in ef4_nic_probe_rx() argument
338 return rx_queue->efx->type->rx_probe(rx_queue); in ef4_nic_probe_rx()
340 static inline void ef4_nic_init_rx(struct ef4_rx_queue *rx_queue) in ef4_nic_init_rx() argument
342 rx_queue->efx->type->rx_init(rx_queue); in ef4_nic_init_rx()
344 static inline void ef4_nic_remove_rx(struct ef4_rx_queue *rx_queue) in ef4_nic_remove_rx() argument
346 rx_queue->efx->type->rx_remove(rx_queue); in ef4_nic_remove_rx()
348 static inline void ef4_nic_notify_rx_desc(struct ef4_rx_queue *rx_queue) in ef4_nic_notify_rx_desc() argument
350 rx_queue->efx->type->rx_write(rx_queue); in ef4_nic_notify_rx_desc()
[all …]
Dfarch.c474 ef4_farch_build_rx_desc(struct ef4_rx_queue *rx_queue, unsigned index) in ef4_farch_build_rx_desc() argument
479 rxd = ef4_rx_desc(rx_queue, index); in ef4_farch_build_rx_desc()
480 rx_buf = ef4_rx_buffer(rx_queue, index); in ef4_farch_build_rx_desc()
484 rx_queue->efx->type->rx_buffer_padding, in ef4_farch_build_rx_desc()
492 void ef4_farch_rx_write(struct ef4_rx_queue *rx_queue) in ef4_farch_rx_write() argument
494 struct ef4_nic *efx = rx_queue->efx; in ef4_farch_rx_write()
498 while (rx_queue->notified_count != rx_queue->added_count) { in ef4_farch_rx_write()
500 rx_queue, in ef4_farch_rx_write()
501 rx_queue->notified_count & rx_queue->ptr_mask); in ef4_farch_rx_write()
502 ++rx_queue->notified_count; in ef4_farch_rx_write()
[all …]
Dnet_driver.h447 struct ef4_rx_queue rx_queue; member
1093 int (*rx_probe)(struct ef4_rx_queue *rx_queue);
1094 void (*rx_init)(struct ef4_rx_queue *rx_queue);
1095 void (*rx_remove)(struct ef4_rx_queue *rx_queue);
1096 void (*rx_write)(struct ef4_rx_queue *rx_queue);
1097 void (*rx_defer_refill)(struct ef4_rx_queue *rx_queue);
1239 return channel->rx_queue.core_index >= 0; in ef4_channel_has_rx_queue()
1246 return &channel->rx_queue; in ef4_channel_get_rx_queue()
1254 for (_rx_queue = &(_channel)->rx_queue; \
1259 ef4_rx_queue_channel(struct ef4_rx_queue *rx_queue) in ef4_rx_queue_channel() argument
[all …]
Defx.h43 int ef4_probe_rx_queue(struct ef4_rx_queue *rx_queue);
44 void ef4_remove_rx_queue(struct ef4_rx_queue *rx_queue);
45 void ef4_init_rx_queue(struct ef4_rx_queue *rx_queue);
46 void ef4_fini_rx_queue(struct ef4_rx_queue *rx_queue);
47 void ef4_fast_push_rx_descriptors(struct ef4_rx_queue *rx_queue, bool atomic);
50 void ef4_rx_packet(struct ef4_rx_queue *rx_queue, unsigned int index,
57 void ef4_schedule_slow_fill(struct ef4_rx_queue *rx_queue);
Defx.c256 struct ef4_rx_queue *rx_queue = in ef4_process_channel() local
260 ef4_fast_push_rx_descriptors(rx_queue, true); in ef4_process_channel()
431 struct ef4_rx_queue *rx_queue; in ef4_alloc_channel() local
450 rx_queue = &channel->rx_queue; in ef4_alloc_channel()
451 rx_queue->efx = efx; in ef4_alloc_channel()
452 timer_setup(&rx_queue->slow_fill, ef4_rx_slow_fill, 0); in ef4_alloc_channel()
464 struct ef4_rx_queue *rx_queue; in ef4_copy_channel() local
488 rx_queue = &channel->rx_queue; in ef4_copy_channel()
489 rx_queue->buffer = NULL; in ef4_copy_channel()
490 memset(&rx_queue->rxd, 0, sizeof(rx_queue->rxd)); in ef4_copy_channel()
[all …]
/Linux-v4.19/drivers/net/ethernet/sfc/
Drx.c79 efx_rx_buf_next(struct efx_rx_queue *rx_queue, struct efx_rx_buffer *rx_buf) in efx_rx_buf_next() argument
81 if (unlikely(rx_buf == efx_rx_buffer(rx_queue, rx_queue->ptr_mask))) in efx_rx_buf_next()
82 return efx_rx_buffer(rx_queue, 0); in efx_rx_buf_next()
109 static struct page *efx_reuse_page(struct efx_rx_queue *rx_queue) in efx_reuse_page() argument
111 struct efx_nic *efx = rx_queue->efx; in efx_reuse_page()
116 index = rx_queue->page_remove & rx_queue->page_ptr_mask; in efx_reuse_page()
117 page = rx_queue->page_ring[index]; in efx_reuse_page()
121 rx_queue->page_ring[index] = NULL; in efx_reuse_page()
123 if (rx_queue->page_remove != rx_queue->page_add) in efx_reuse_page()
124 ++rx_queue->page_remove; in efx_reuse_page()
[all …]
Dfarch.c462 efx_farch_build_rx_desc(struct efx_rx_queue *rx_queue, unsigned index) in efx_farch_build_rx_desc() argument
467 rxd = efx_rx_desc(rx_queue, index); in efx_farch_build_rx_desc()
468 rx_buf = efx_rx_buffer(rx_queue, index); in efx_farch_build_rx_desc()
472 rx_queue->efx->type->rx_buffer_padding, in efx_farch_build_rx_desc()
480 void efx_farch_rx_write(struct efx_rx_queue *rx_queue) in efx_farch_rx_write() argument
482 struct efx_nic *efx = rx_queue->efx; in efx_farch_rx_write()
486 while (rx_queue->notified_count != rx_queue->added_count) { in efx_farch_rx_write()
488 rx_queue, in efx_farch_rx_write()
489 rx_queue->notified_count & rx_queue->ptr_mask); in efx_farch_rx_write()
490 ++rx_queue->notified_count; in efx_farch_rx_write()
[all …]
Dnic.h136 efx_rx_desc(struct efx_rx_queue *rx_queue, unsigned int index) in efx_rx_desc() argument
138 return ((efx_qword_t *) (rx_queue->rxd.buf.addr)) + index; in efx_rx_desc()
513 static inline int efx_nic_probe_rx(struct efx_rx_queue *rx_queue) in efx_nic_probe_rx() argument
515 return rx_queue->efx->type->rx_probe(rx_queue); in efx_nic_probe_rx()
517 static inline void efx_nic_init_rx(struct efx_rx_queue *rx_queue) in efx_nic_init_rx() argument
519 rx_queue->efx->type->rx_init(rx_queue); in efx_nic_init_rx()
521 static inline void efx_nic_remove_rx(struct efx_rx_queue *rx_queue) in efx_nic_remove_rx() argument
523 rx_queue->efx->type->rx_remove(rx_queue); in efx_nic_remove_rx()
525 static inline void efx_nic_notify_rx_desc(struct efx_rx_queue *rx_queue) in efx_nic_notify_rx_desc() argument
527 rx_queue->efx->type->rx_write(rx_queue); in efx_nic_notify_rx_desc()
[all …]
Defx.h40 int efx_probe_rx_queue(struct efx_rx_queue *rx_queue);
41 void efx_remove_rx_queue(struct efx_rx_queue *rx_queue);
42 void efx_init_rx_queue(struct efx_rx_queue *rx_queue);
43 void efx_fini_rx_queue(struct efx_rx_queue *rx_queue);
44 void efx_fast_push_rx_descriptors(struct efx_rx_queue *rx_queue, bool atomic);
47 void efx_rx_packet(struct efx_rx_queue *rx_queue, unsigned int index,
54 void efx_schedule_slow_fill(struct efx_rx_queue *rx_queue);
Dnet_driver.h506 struct efx_rx_queue rx_queue; member
1340 int (*rx_probe)(struct efx_rx_queue *rx_queue);
1341 void (*rx_init)(struct efx_rx_queue *rx_queue);
1342 void (*rx_remove)(struct efx_rx_queue *rx_queue);
1343 void (*rx_write)(struct efx_rx_queue *rx_queue);
1344 void (*rx_defer_refill)(struct efx_rx_queue *rx_queue);
1520 return channel->rx_queue.core_index >= 0; in efx_channel_has_rx_queue()
1527 return &channel->rx_queue; in efx_channel_get_rx_queue()
1535 for (_rx_queue = &(_channel)->rx_queue; \
1540 efx_rx_queue_channel(struct efx_rx_queue *rx_queue) in efx_rx_queue_channel() argument
[all …]
Def10.c3075 static int efx_ef10_rx_probe(struct efx_rx_queue *rx_queue) in efx_ef10_rx_probe() argument
3077 return efx_nic_alloc_buffer(rx_queue->efx, &rx_queue->rxd.buf, in efx_ef10_rx_probe()
3078 (rx_queue->ptr_mask + 1) * in efx_ef10_rx_probe()
3083 static void efx_ef10_rx_init(struct efx_rx_queue *rx_queue) in efx_ef10_rx_init() argument
3088 struct efx_channel *channel = efx_rx_queue_channel(rx_queue); in efx_ef10_rx_init()
3089 size_t entries = rx_queue->rxd.buf.len / EFX_BUF_SIZE; in efx_ef10_rx_init()
3090 struct efx_nic *efx = rx_queue->efx; in efx_ef10_rx_init()
3098 rx_queue->scatter_n = 0; in efx_ef10_rx_init()
3099 rx_queue->scatter_len = 0; in efx_ef10_rx_init()
3101 MCDI_SET_DWORD(inbuf, INIT_RXQ_IN_SIZE, rx_queue->ptr_mask + 1); in efx_ef10_rx_init()
[all …]
Defx.c285 struct efx_rx_queue *rx_queue = in efx_process_channel() local
289 efx_fast_push_rx_descriptors(rx_queue, true); in efx_process_channel()
467 struct efx_rx_queue *rx_queue; in efx_alloc_channel() local
490 rx_queue = &channel->rx_queue; in efx_alloc_channel()
491 rx_queue->efx = efx; in efx_alloc_channel()
492 timer_setup(&rx_queue->slow_fill, efx_rx_slow_fill, 0); in efx_alloc_channel()
504 struct efx_rx_queue *rx_queue; in efx_copy_channel() local
528 rx_queue = &channel->rx_queue; in efx_copy_channel()
529 rx_queue->buffer = NULL; in efx_copy_channel()
530 memset(&rx_queue->rxd, 0, sizeof(rx_queue->rxd)); in efx_copy_channel()
[all …]
/Linux-v4.19/drivers/net/ethernet/freescale/
Dgianfar.c119 static void gfar_alloc_rx_buffs(struct gfar_priv_rx_q *rx_queue,
142 int gfar_clean_rx_ring(struct gfar_priv_rx_q *rx_queue, int rx_work_limit);
155 static void gfar_init_rxbdp(struct gfar_priv_rx_q *rx_queue, struct rxbd8 *bdp, in gfar_init_rxbdp() argument
163 if (bdp == rx_queue->rx_bd_base + rx_queue->rx_ring_size - 1) in gfar_init_rxbdp()
176 struct gfar_priv_rx_q *rx_queue = NULL; in gfar_init_bds() local
206 rx_queue = priv->rx_queue[i]; in gfar_init_bds()
208 rx_queue->next_to_clean = 0; in gfar_init_bds()
209 rx_queue->next_to_use = 0; in gfar_init_bds()
210 rx_queue->next_to_alloc = 0; in gfar_init_bds()
215 gfar_alloc_rx_buffs(rx_queue, gfar_rxbd_unused(rx_queue)); in gfar_init_bds()
[all …]
Dgianfar_ethtool.c269 struct gfar_priv_rx_q *rx_queue = NULL; in gfar_gcoalesce() local
282 rx_queue = priv->rx_queue[0]; in gfar_gcoalesce()
285 rxtime = get_ictt_value(rx_queue->rxic); in gfar_gcoalesce()
286 rxcount = get_icft_value(rx_queue->rxic); in gfar_gcoalesce()
376 priv->rx_queue[i]->rxcoalescing = 0; in gfar_scoalesce()
379 priv->rx_queue[i]->rxcoalescing = 1; in gfar_scoalesce()
383 priv->rx_queue[i]->rxic = mk_ic_value( in gfar_scoalesce()
424 struct gfar_priv_rx_q *rx_queue = NULL; in gfar_gringparam() local
427 rx_queue = priv->rx_queue[0]; in gfar_gringparam()
437 rvals->rx_pending = rx_queue->rx_ring_size; in gfar_gringparam()
[all …]
/Linux-v4.19/drivers/net/ethernet/ibm/
Dibmveth.c118 return be32_to_cpu(adapter->rx_queue.queue_addr[adapter->rx_queue.index].flags_off); in ibmveth_rxq_flags()
129 return ibmveth_rxq_toggle(adapter) == adapter->rx_queue.toggle; in ibmveth_rxq_pending_buffer()
149 return be32_to_cpu(adapter->rx_queue.queue_addr[adapter->rx_queue.index].length); in ibmveth_rxq_frame_length()
410 u64 correlator = adapter->rx_queue.queue_addr[adapter->rx_queue.index].correlator; in ibmveth_rxq_get_buffer()
423 u32 q_index = adapter->rx_queue.index; in ibmveth_rxq_recycle_buffer()
424 u64 correlator = adapter->rx_queue.queue_addr[q_index].correlator; in ibmveth_rxq_recycle_buffer()
449 …ibmveth_remove_buffer_from_pool(adapter, adapter->rx_queue.queue_addr[adapter->rx_queue.index].cor… in ibmveth_rxq_recycle_buffer()
453 if (++adapter->rx_queue.index == adapter->rx_queue.num_slots) { in ibmveth_rxq_recycle_buffer()
454 adapter->rx_queue.index = 0; in ibmveth_rxq_recycle_buffer()
455 adapter->rx_queue.toggle = !adapter->rx_queue.toggle; in ibmveth_rxq_recycle_buffer()
[all …]
/Linux-v4.19/drivers/net/xen-netback/
Drx.c42 skb = skb_peek(&queue->rx_queue); in xenvif_rx_ring_slots_available()
74 spin_lock_irqsave(&queue->rx_queue.lock, flags); in xenvif_rx_queue_tail()
76 __skb_queue_tail(&queue->rx_queue, skb); in xenvif_rx_queue_tail()
85 spin_unlock_irqrestore(&queue->rx_queue.lock, flags); in xenvif_rx_queue_tail()
92 spin_lock_irq(&queue->rx_queue.lock); in xenvif_rx_dequeue()
94 skb = __skb_dequeue(&queue->rx_queue); in xenvif_rx_dequeue()
105 spin_unlock_irq(&queue->rx_queue.lock); in xenvif_rx_dequeue()
123 skb = skb_peek(&queue->rx_queue); in xenvif_rx_queue_drop_expired()
508 skb = skb_peek(&queue->rx_queue); in xenvif_rx_queue_timeout()
603 if (!skb_queue_empty(&queue->rx_queue)) in xenvif_kthread_guest_rx()
/Linux-v4.19/drivers/net/vmxnet3/
Dvmxnet3_drv.c1626 vmxnet3_rq_cleanup(&adapter->rx_queue[i], adapter); in vmxnet3_rq_cleanup_all()
1685 struct vmxnet3_rx_queue *rq = &adapter->rx_queue[i]; in vmxnet3_rq_destroy_all_rxdataring()
1757 err = vmxnet3_rq_init(&adapter->rx_queue[i], adapter); in vmxnet3_rq_init_all()
1842 err = vmxnet3_rq_create(&adapter->rx_queue[i], adapter); in vmxnet3_rq_create_all()
1873 rcd_done += vmxnet3_rq_rx_complete(&adapter->rx_queue[i], in vmxnet3_do_poll()
1882 struct vmxnet3_rx_queue *rx_queue = container_of(napi, in vmxnet3_poll() local
1886 rxd_done = vmxnet3_do_poll(rx_queue->adapter, budget); in vmxnet3_poll()
1890 vmxnet3_enable_all_intrs(rx_queue->adapter); in vmxnet3_poll()
1913 &adapter->tx_queue[rq - adapter->rx_queue]; in vmxnet3_poll_rx_only()
2031 napi_schedule(&adapter->rx_queue[0].napi); in vmxnet3_intr()
[all …]
/Linux-v4.19/drivers/net/wireless/realtek/rtlwifi/
Dusb.c334 skb_queue_head_init(&rtlusb->rx_queue); in _rtl_usb_init_rx()
536 struct sk_buff_head rx_queue; in _rtl_rx_pre_process() local
539 skb_queue_head_init(&rx_queue); in _rtl_rx_pre_process()
541 rtlusb->usb_rx_segregate_hdl(hw, skb, &rx_queue); in _rtl_rx_pre_process()
542 WARN_ON(skb_queue_empty(&rx_queue)); in _rtl_rx_pre_process()
543 while (!skb_queue_empty(&rx_queue)) { in _rtl_rx_pre_process()
544 _skb = skb_dequeue(&rx_queue); in _rtl_rx_pre_process()
558 while ((skb = skb_dequeue(&rtlusb->rx_queue))) { in _rtl_rx_work()
632 qlen = skb_queue_len(&rtlusb->rx_queue); in _rtl_rx_completed()
658 skb_queue_tail(&rtlusb->rx_queue, skb); in _rtl_rx_completed()
[all …]
/Linux-v4.19/drivers/net/ethernet/qlogic/qed/
Dqed_ll2.c66 #define QED_LL2_RX_REGISTERED(ll2) ((ll2)->rx_queue.b_cb_registred)
447 struct qed_ll2_rx_queue *p_rx = &p_ll2_conn->rx_queue; in qed_ll2_handle_slowpath()
482 struct qed_ll2_rx_queue *p_rx = &p_ll2_conn->rx_queue; in qed_ll2_rxq_handle_completion()
524 struct qed_ll2_rx_queue *p_rx = &p_ll2_conn->rx_queue; in qed_ll2_rxq_completion()
578 p_rx = &p_ll2_conn->rx_queue; in qed_ll2_rxq_flush()
635 struct qed_ll2_rx_queue *p_rx = &p_ll2_conn->rx_queue; in qed_ll2_lb_rxq_handler()
936 struct qed_ll2_rx_queue *p_rx = &p_ll2_conn->rx_queue; in qed_sp_ll2_rx_queue_start()
1147 &p_ll2_info->rx_queue.rxq_chain, NULL); in qed_ll2_acquire_connection_rx()
1153 capacity = qed_chain_get_capacity(&p_ll2_info->rx_queue.rxq_chain); in qed_ll2_acquire_connection_rx()
1161 p_ll2_info->rx_queue.descq_array = p_descq; in qed_ll2_acquire_connection_rx()
[all …]
/Linux-v4.19/drivers/net/phy/
Ddp83640.c130 struct sk_buff_head rx_queue; member
870 spin_lock(&dp83640->rx_queue.lock); in decode_rxts()
871 skb_queue_walk(&dp83640->rx_queue, skb) { in decode_rxts()
876 __skb_unlink(skb, &dp83640->rx_queue); in decode_rxts()
884 spin_unlock(&dp83640->rx_queue.lock); in decode_rxts()
1152 skb_queue_head_init(&dp83640->rx_queue); in dp83640_probe()
1192 skb_queue_purge(&dp83640->rx_queue); in dp83640_remove()
1405 while ((skb = skb_dequeue(&dp83640->rx_queue))) { in rx_timestamp_work()
1410 skb_queue_head(&dp83640->rx_queue, skb); in rx_timestamp_work()
1417 if (!skb_queue_empty(&dp83640->rx_queue)) in rx_timestamp_work()
[all …]
/Linux-v4.19/drivers/net/ethernet/ti/
Dnetcp_core.c638 dma = knav_queue_pop(netcp->rx_queue, &dma_sz); in netcp_empty_rx_queue()
667 dma_desc = knav_queue_pop(netcp->rx_queue, &dma_sz); in netcp_process_one_rx_packet()
973 knav_queue_enable_notify(netcp->rx_queue); in netcp_rx_poll()
983 knav_queue_disable_notify(netcp->rx_queue); in netcp_rx_notify()
1575 if (!IS_ERR_OR_NULL(netcp->rx_queue)) { in netcp_free_navigator_resources()
1576 knav_queue_close(netcp->rx_queue); in netcp_free_navigator_resources()
1577 netcp->rx_queue = NULL; in netcp_free_navigator_resources()
1648 netcp->rx_queue = knav_queue_open(name, netcp->rx_queue_id, 0); in netcp_setup_navigator_resources()
1649 if (IS_ERR(netcp->rx_queue)) { in netcp_setup_navigator_resources()
1650 ret = PTR_ERR(netcp->rx_queue); in netcp_setup_navigator_resources()
[all …]
/Linux-v4.19/drivers/net/wireless/intersil/p54/
Dp54usb.c147 skb_unlink(skb, &priv->rx_queue); in p54u_rx_cb()
186 skb_queue_tail(&priv->rx_queue, skb); in p54u_rx_cb()
189 skb_unlink(skb, &priv->rx_queue); in p54u_rx_cb()
230 while (skb_queue_len(&priv->rx_queue) < 32) { in p54u_init_urbs()
249 skb_queue_tail(&priv->rx_queue, skb); in p54u_init_urbs()
254 skb_unlink(skb, &priv->rx_queue); in p54u_init_urbs()
1011 skb_queue_head_init(&priv->rx_queue); in p54u_probe()
/Linux-v4.19/drivers/net/dsa/mv88e6xxx/
Dhwtstamp.c352 skb = skb_dequeue(&ps->rx_queue); in mv88e6xxx_rxtstamp_work()
356 &ps->rx_queue); in mv88e6xxx_rxtstamp_work()
391 skb_queue_tail(&ps->rx_queue, skb); in mv88e6xxx_port_rxtstamp()
580 skb_queue_head_init(&ps->rx_queue); in mv88e6xxx_hwtstamp_port_setup()
/Linux-v4.19/net/rxrpc/
Dconn_object.c54 skb_queue_head_init(&conn->rx_queue); in rxrpc_alloc_connection()
255 rxrpc_purge_queue(&conn->rx_queue); in rxrpc_kill_connection()
364 rxrpc_purge_queue(&conn->rx_queue); in rxrpc_destroy_connection()

1234