Home
last modified time | relevance | path

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

1234

/linux/drivers/net/ethernet/sfc/falcon/
H A Drx.c76 ef4_rx_buf_next(struct ef4_rx_queue *rx_queue, struct ef4_rx_buffer *rx_buf) in ef4_rx_buf_next() argument
78 if (unlikely(rx_buf == ef4_rx_buffer(rx_queue, rx_queue->ptr_mask))) in ef4_rx_buf_next()
79 return ef4_rx_buffer(rx_queue, 0); in ef4_rx_buf_next()
106 static struct page *ef4_reuse_page(struct ef4_rx_queue *rx_queue) in ef4_reuse_page() argument
108 struct ef4_nic *efx = rx_queue->efx; in ef4_reuse_page()
113 if (unlikely(!rx_queue->page_ring)) in ef4_reuse_page()
115 index = rx_queue->page_remove & rx_queue->page_ptr_mask; in ef4_reuse_page()
116 page = rx_queue->page_ring[index]; in ef4_reuse_page()
120 rx_queue->page_ring[index] = NULL; in ef4_reuse_page()
122 if (rx_queue->page_remove != rx_queue->page_add) in ef4_reuse_page()
[all …]
/linux/drivers/net/ethernet/sfc/siena/
H A Drx.c43 static void efx_rx_packet__check_len(struct efx_rx_queue *rx_queue, in efx_rx_packet__check_len() argument
47 struct efx_nic *efx = rx_queue->efx; in efx_rx_packet__check_len()
61 efx_rx_queue_index(rx_queue), len, max_len); in efx_rx_packet__check_len()
63 efx_rx_queue_channel(rx_queue)->n_rx_overlength++; in efx_rx_packet__check_len()
105 rx_buf = efx_rx_buf_next(&channel->rx_queue, rx_buf); in efx_rx_mk_skb()
121 void efx_siena_rx_packet(struct efx_rx_queue *rx_queue, unsigned int index, in efx_siena_rx_packet() argument
124 struct efx_nic *efx = rx_queue->efx; in efx_siena_rx_packet()
125 struct efx_channel *channel = efx_rx_queue_channel(rx_queue); in efx_siena_rx_packet()
128 rx_queue->rx_packets++; in efx_siena_rx_packet()
130 rx_buf = efx_rx_buffer(rx_queue, index); in efx_siena_rx_packet()
[all …]
H A Dfarch.c465 efx_farch_build_rx_desc(struct efx_rx_queue *rx_queue, unsigned index) in efx_farch_build_rx_desc() argument
470 rxd = efx_rx_desc(rx_queue, index); in efx_farch_build_rx_desc()
471 rx_buf = efx_rx_buffer(rx_queue, index); in efx_farch_build_rx_desc()
475 rx_queue->efx->type->rx_buffer_padding, in efx_farch_build_rx_desc()
483 void efx_farch_rx_write(struct efx_rx_queue *rx_queue) in efx_farch_rx_write() argument
485 struct efx_nic *efx = rx_queue->efx; in efx_farch_rx_write()
489 while (rx_queue->notified_count != rx_queue->added_count) { in efx_farch_rx_write()
491 rx_queue, in efx_farch_rx_write()
492 rx_queue->notified_count & rx_queue->ptr_mask); in efx_farch_rx_write()
493 ++rx_queue->notified_count; in efx_farch_rx_write()
[all …]
H A Defx_channels.c534 struct efx_rx_queue *rx_queue; in efx_alloc_channel() local
559 rx_queue = &channel->rx_queue; in efx_alloc_channel()
560 rx_queue->efx = efx; in efx_alloc_channel()
561 timer_setup(&rx_queue->slow_fill, efx_siena_rx_slow_fill, 0); in efx_alloc_channel()
605 struct efx_rx_queue *rx_queue; in efx_copy_channel() local
631 rx_queue = &channel->rx_queue; in efx_copy_channel()
632 rx_queue->buffer = NULL; in efx_copy_channel()
633 memset(&rx_queue->rxd, 0, sizeof(rx_queue->rxd)); in efx_copy_channel()
634 timer_setup(&rx_queue->slow_fill, efx_siena_rx_slow_fill, 0); in efx_copy_channel()
645 struct efx_rx_queue *rx_queue; in efx_probe_channel() local
[all …]
H A Drx_common.h55 int efx_siena_probe_rx_queue(struct efx_rx_queue *rx_queue);
56 void efx_siena_init_rx_queue(struct efx_rx_queue *rx_queue);
57 void efx_siena_fini_rx_queue(struct efx_rx_queue *rx_queue);
58 void efx_siena_remove_rx_queue(struct efx_rx_queue *rx_queue);
68 void efx_siena_free_rx_buffers(struct efx_rx_queue *rx_queue,
73 void efx_siena_fast_push_rx_descriptors(struct efx_rx_queue *rx_queue,
H A Dnic.h131 int efx_farch_rx_probe(struct efx_rx_queue *rx_queue);
132 void efx_farch_rx_init(struct efx_rx_queue *rx_queue);
133 void efx_farch_rx_fini(struct efx_rx_queue *rx_queue);
134 void efx_farch_rx_remove(struct efx_rx_queue *rx_queue);
135 void efx_farch_rx_write(struct efx_rx_queue *rx_queue);
136 void efx_farch_rx_defer_refill(struct efx_rx_queue *rx_queue);
/linux/drivers/net/ethernet/sfc/
H A Dnic_common.h98 efx_rx_desc(struct efx_rx_queue *rx_queue, unsigned int index) in efx_rx_desc() argument
100 return ((efx_qword_t *)(rx_queue->rxd.addr)) + index; in efx_rx_desc()
138 static inline int efx_nic_probe_rx(struct efx_rx_queue *rx_queue) in efx_nic_probe_rx() argument
140 return rx_queue->efx->type->rx_probe(rx_queue); in efx_nic_probe_rx()
142 static inline void efx_nic_init_rx(struct efx_rx_queue *rx_queue) in efx_nic_init_rx() argument
144 rx_queue->efx->type->rx_init(rx_queue); in efx_nic_init_rx()
146 static inline void efx_nic_remove_rx(struct efx_rx_queue *rx_queue) in efx_nic_remove_rx() argument
148 rx_queue->efx->type->rx_remove(rx_queue); in efx_nic_remove_rx()
150 static inline void efx_nic_notify_rx_desc(struct efx_rx_queue *rx_queue) in efx_nic_notify_rx_desc() argument
152 rx_queue->efx->type->rx_write(rx_queue); in efx_nic_notify_rx_desc()
[all …]
H A Dmcdi_functions.c270 int efx_mcdi_rx_probe(struct efx_rx_queue *rx_queue) in efx_mcdi_rx_probe() argument
272 return efx_nic_alloc_buffer(rx_queue->efx, &rx_queue->rxd, in efx_mcdi_rx_probe()
273 (rx_queue->ptr_mask + 1) * in efx_mcdi_rx_probe()
278 void efx_mcdi_rx_init(struct efx_rx_queue *rx_queue) in efx_mcdi_rx_init() argument
280 struct efx_channel *channel = efx_rx_queue_channel(rx_queue); in efx_mcdi_rx_init()
281 size_t entries = rx_queue->rxd.len / EFX_BUF_SIZE; in efx_mcdi_rx_init()
283 struct efx_nic *efx = rx_queue->efx; in efx_mcdi_rx_init()
290 rx_queue->scatter_n = 0; in efx_mcdi_rx_init()
291 rx_queue->scatter_len = 0; in efx_mcdi_rx_init()
297 MCDI_SET_DWORD(inbuf, INIT_RXQ_IN_SIZE, rx_queue->ptr_mask + 1); in efx_mcdi_rx_init()
[all …]
H A Drx_common.h55 int efx_probe_rx_queue(struct efx_rx_queue *rx_queue);
56 void efx_init_rx_queue(struct efx_rx_queue *rx_queue);
57 void efx_fini_rx_queue(struct efx_rx_queue *rx_queue);
58 void efx_remove_rx_queue(struct efx_rx_queue *rx_queue);
59 void efx_destroy_rx_queue(struct efx_rx_queue *rx_queue);
61 void efx_init_rx_buffer(struct efx_rx_queue *rx_queue,
75 void efx_free_rx_buffers(struct efx_rx_queue *rx_queue,
79 void efx_schedule_slow_fill(struct efx_rx_queue *rx_queue);
81 void efx_fast_push_rx_descriptors(struct efx_rx_queue *rx_queue, bool atomic);
H A Defx_channels.c532 struct efx_rx_queue *rx_queue; in efx_alloc_channel() local
557 rx_queue = &channel->rx_queue; in efx_alloc_channel()
558 rx_queue->efx = efx; in efx_alloc_channel()
559 timer_setup(&rx_queue->slow_fill, efx_rx_slow_fill, 0); in efx_alloc_channel()
602 struct efx_rx_queue *rx_queue; in efx_copy_channel() local
628 rx_queue = &channel->rx_queue; in efx_copy_channel()
629 rx_queue->buffer = NULL; in efx_copy_channel()
630 memset(&rx_queue->rxd, 0, sizeof(rx_queue->rxd)); in efx_copy_channel()
631 timer_setup(&rx_queue->slow_fill, efx_rx_slow_fill, 0); in efx_copy_channel()
642 struct efx_rx_queue *rx_queue; in efx_probe_channel() local
[all …]
H A Dtc_counters.c280 struct efx_rx_queue *rx_queue = &channel->rx_queue; in efx_tc_probe_channel() local
283 rx_queue->core_index = 0; in efx_tc_probe_channel()
285 INIT_WORK(&rx_queue->grant_work, efx_mae_counters_grant_credits); in efx_tc_probe_channel()
292 struct efx_rx_queue *rx_queue = efx_channel_get_rx_queue(channel); in efx_tc_start_channel() local
295 return efx_mae_start_counters(efx, rx_queue); in efx_tc_start_channel()
300 struct efx_rx_queue *rx_queue = efx_channel_get_rx_queue(channel); in efx_tc_stop_channel() local
304 rc = efx_mae_stop_counters(efx, rx_queue); in efx_tc_stop_channel()
309 rx_queue->grant_credits = false; in efx_tc_stop_channel()
310 flush_work(&rx_queue->grant_work); in efx_tc_stop_channel()
510 static bool efx_tc_rx(struct efx_rx_queue *rx_queue, u32 mark) in efx_tc_rx() argument
[all …]
H A Dmcdi_functions.h25 int efx_mcdi_rx_probe(struct efx_rx_queue *rx_queue);
26 void efx_mcdi_rx_init(struct efx_rx_queue *rx_queue);
27 void efx_mcdi_rx_remove(struct efx_rx_queue *rx_queue);
28 void efx_mcdi_rx_fini(struct efx_rx_queue *rx_queue);
H A Def10.c2588 efx_ef10_build_rx_desc(struct efx_rx_queue *rx_queue, unsigned int index) in efx_ef10_build_rx_desc() argument
2593 rxd = efx_rx_desc(rx_queue, index); in efx_ef10_build_rx_desc()
2594 rx_buf = efx_rx_buffer(rx_queue, index); in efx_ef10_build_rx_desc()
2600 static void efx_ef10_rx_write(struct efx_rx_queue *rx_queue) in efx_ef10_rx_write() argument
2602 struct efx_nic *efx = rx_queue->efx; in efx_ef10_rx_write()
2607 write_count = rx_queue->added_count & ~7; in efx_ef10_rx_write()
2608 if (rx_queue->notified_count == write_count) in efx_ef10_rx_write()
2613 rx_queue, in efx_ef10_rx_write()
2614 rx_queue->notified_count & rx_queue->ptr_mask); in efx_ef10_rx_write()
2615 while (++rx_queue->notified_count != write_count); in efx_ef10_rx_write()
[all …]
H A Defx.c626 struct efx_rx_queue *rx_queue; in efx_get_queue_stats_rx() local
630 rx_queue = efx_channel_get_rx_queue(channel); in efx_get_queue_stats_rx()
632 stats->packets = rx_queue->rx_packets - rx_queue->old_rx_packets; in efx_get_queue_stats_rx()
633 stats->bytes = rx_queue->rx_bytes - rx_queue->old_rx_bytes; in efx_get_queue_stats_rx()
674 struct efx_rx_queue *rx_queue; in efx_get_base_stats() local
690 rx_queue = efx_channel_get_rx_queue(channel); in efx_get_base_stats()
692 rx->packets += rx_queue->rx_packets; in efx_get_base_stats()
693 rx->bytes += rx_queue->rx_bytes; in efx_get_base_stats()
697 rx->packets += rx_queue->old_rx_packets; in efx_get_base_stats()
698 rx->bytes += rx_queue->old_rx_bytes; in efx_get_base_stats()
/linux/drivers/net/ethernet/freescale/
H A Dgianfar.c109 static void gfar_init_rxbdp(struct gfar_priv_rx_q *rx_queue, struct rxbd8 *bdp, in gfar_init_rxbdp() argument
117 if (bdp == rx_queue->rx_bd_base + rx_queue->rx_ring_size - 1) in gfar_init_rxbdp()
139 gfar_write(baddr, priv->rx_queue[i]->rx_bd_dma_base); in gfar_init_tx_rx_base()
152 gfar_write(baddr, priv->rx_queue[i]->rx_ring_size | in gfar_init_rqprm()
255 if (likely(priv->rx_queue[i]->rxcoalescing)) in gfar_configure_coalescing()
256 gfar_write(baddr + i, priv->rx_queue[i]->rxic); in gfar_configure_coalescing()
267 if (unlikely(priv->rx_queue[0]->rxcoalescing)) in gfar_configure_coalescing()
268 gfar_write(&regs->rxic, priv->rx_queue[0]->rxic); in gfar_configure_coalescing()
283 stats->rx_packets += priv->rx_queue[i]->stats.rx_packets; in gfar_get_stats64()
284 stats->rx_bytes += priv->rx_queue[i]->stats.rx_bytes; in gfar_get_stats64()
[all …]
H A Dgianfar_ethtool.c255 struct gfar_priv_rx_q *rx_queue = NULL; in gfar_gcoalesce() local
268 rx_queue = priv->rx_queue[0]; in gfar_gcoalesce()
271 rxtime = get_ictt_value(rx_queue->rxic); in gfar_gcoalesce()
272 rxcount = get_icft_value(rx_queue->rxic); in gfar_gcoalesce()
335 priv->rx_queue[i]->rxcoalescing = 0; in gfar_scoalesce()
338 priv->rx_queue[i]->rxcoalescing = 1; in gfar_scoalesce()
342 priv->rx_queue[i]->rxic = mk_ic_value( in gfar_scoalesce()
385 struct gfar_priv_rx_q *rx_queue = NULL; in gfar_gringparam() local
388 rx_queue = priv->rx_queue[0]; in gfar_gringparam()
398 rvals->rx_pending = rx_queue->rx_ring_size; in gfar_gringparam()
[all …]
/linux/drivers/net/xen-netback/
H A Drx.c90 spin_lock_irqsave(&queue->rx_queue.lock, flags); in xenvif_rx_queue_tail()
98 if (skb_queue_empty(&queue->rx_queue)) in xenvif_rx_queue_tail()
101 __skb_queue_tail(&queue->rx_queue, skb); in xenvif_rx_queue_tail()
106 spin_unlock_irqrestore(&queue->rx_queue.lock, flags); in xenvif_rx_queue_tail()
115 spin_lock_irq(&queue->rx_queue.lock); in xenvif_rx_dequeue()
117 skb = __skb_dequeue(&queue->rx_queue); in xenvif_rx_dequeue()
119 xenvif_update_needed_slots(queue, skb_peek(&queue->rx_queue)); in xenvif_rx_dequeue()
130 spin_unlock_irq(&queue->rx_queue.lock); in xenvif_rx_dequeue()
148 skb = skb_peek(&queue->rx_queue); in xenvif_rx_queue_drop_expired()
500 !skb_queue_empty(&queue->rx_queue) && in xenvif_rx_action()
[all …]
/linux/drivers/net/ethernet/ibm/
H A Dibmveth.c106 return be32_to_cpu(adapter->rx_queue.queue_addr[adapter->rx_queue.index].flags_off); in ibmveth_rxq_flags()
117 return ibmveth_rxq_toggle(adapter) == adapter->rx_queue.toggle; in ibmveth_rxq_pending_buffer()
137 return be32_to_cpu(adapter->rx_queue.queue_addr[adapter->rx_queue.index].length); in ibmveth_rxq_frame_length()
419 u64 correlator = adapter->rx_queue.queue_addr[adapter->rx_queue.index].correlator; in ibmveth_rxq_get_buffer()
434 cor = adapter->rx_queue.queue_addr[adapter->rx_queue.index].correlator; in ibmveth_rxq_harvest_buffer()
437 if (++adapter->rx_queue.index == adapter->rx_queue.num_slots) { in ibmveth_rxq_harvest_buffer()
438 adapter->rx_queue.index = 0; in ibmveth_rxq_harvest_buffer()
439 adapter->rx_queue.toggle = !adapter->rx_queue.toggle; in ibmveth_rxq_harvest_buffer()
535 adapter->rx_queue.queue_len = sizeof(struct ibmveth_rx_q_entry) * in ibmveth_open()
537 adapter->rx_queue.queue_addr = in ibmveth_open()
[all …]
/linux/drivers/net/wan/
H A Dhdlc_x25.c28 struct sk_buff_head rx_queue; member
42 struct sk_buff *skb = skb_dequeue(&x25st->rx_queue); in x25_rx_queue_kick()
46 skb = skb_dequeue(&x25st->rx_queue); in x25_rx_queue_kick()
67 skb_queue_tail(&x25st->rx_queue, skb); in x25_connect_disconnect()
98 skb_queue_tail(&x25st->rx_queue, skb); in x25_data_indication()
348 skb_queue_head_init(&state(hdlc)->rx_queue); in x25_ioctl()
H A Dlapbether.c57 struct sk_buff_head rx_queue; member
96 skb = skb_dequeue(&lapbeth->rx_queue); in lapbeth_napi_poll()
177 skb_queue_tail(&lapbeth->rx_queue, skb); in lapbeth_data_indication()
276 skb_queue_tail(&lapbeth->rx_queue, skb); in lapbeth_connected()
294 skb_queue_tail(&lapbeth->rx_queue, skb); in lapbeth_disconnected()
414 skb_queue_head_init(&lapbeth->rx_queue); in lapbeth_new_device()
/linux/include/net/tc_act/
H A Dtc_skbedit.h100 u16 rx_queue; in tcf_skbedit_rx_queue_mapping() local
103 rx_queue = rcu_dereference(to_skbedit(a)->params)->queue_mapping; in tcf_skbedit_rx_queue_mapping()
106 return rx_queue; in tcf_skbedit_rx_queue_mapping()
/linux/drivers/net/ethernet/qlogic/qed/
H A Dqed_ll2.c41 #define QED_LL2_RX_REGISTERED(ll2) ((ll2)->rx_queue.b_cb_registered)
452 struct qed_ll2_rx_queue *p_rx = &p_ll2_conn->rx_queue; in qed_ll2_handle_slowpath()
487 struct qed_ll2_rx_queue *p_rx = &p_ll2_conn->rx_queue; in qed_ll2_rxq_handle_completion()
529 struct qed_ll2_rx_queue *p_rx = &p_ll2_conn->rx_queue; in qed_ll2_rxq_completion()
592 p_rx = &p_ll2_conn->rx_queue; in qed_ll2_rxq_flush()
649 struct qed_ll2_rx_queue *p_rx = &p_ll2_conn->rx_queue; in qed_ll2_lb_rxq_handler()
963 struct qed_ll2_rx_queue *p_rx = &p_ll2_conn->rx_queue; in qed_sp_ll2_rx_queue_start()
1191 rc = qed_chain_alloc(cdev, &p_ll2_info->rx_queue.rxq_chain, &params); in qed_ll2_acquire_connection_rx()
1197 capacity = qed_chain_get_capacity(&p_ll2_info->rx_queue.rxq_chain); in qed_ll2_acquire_connection_rx()
1205 p_ll2_info->rx_queue.descq_array = p_descq; in qed_ll2_acquire_connection_rx()
[all …]
/linux/drivers/net/dsa/hirschmann/
H A Dhellcreek_hwtstamp.c337 skb = skb_dequeue(&ps->rx_queue); in hellcreek_rxtstamp_work()
339 hellcreek_get_rxts(hellcreek, ps, skb, &ps->rx_queue, port); in hellcreek_rxtstamp_work()
433 skb_queue_tail(&ps->rx_queue, skb); in hellcreek_port_rxtstamp()
445 skb_queue_head_init(&ps->rx_queue); in hellcreek_hwtstamp_port_setup()
/linux/net/vmw_vsock/
H A Dvirtio_transport_common.c543 skb_queue_walk(&vvs->rx_queue, skb) { in virtio_transport_stream_do_peek()
593 if (WARN_ONCE(skb_queue_empty(&vvs->rx_queue) && vvs->rx_bytes, in virtio_transport_stream_do_dequeue()
599 while (total < len && !skb_queue_empty(&vvs->rx_queue)) { in virtio_transport_stream_do_dequeue()
600 skb = skb_peek(&vvs->rx_queue); in virtio_transport_stream_do_dequeue()
626 __skb_unlink(skb, &vvs->rx_queue); in virtio_transport_stream_do_dequeue()
677 skb_queue_walk(&vvs->rx_queue, skb) { in virtio_transport_seqpacket_do_peek()
738 skb = __skb_dequeue(&vvs->rx_queue); in virtio_transport_seqpacket_do_dequeue()
923 skb_queue_head_init(&vvs->rx_queue); in virtio_transport_do_socket_init()
1191 __skb_queue_purge(&vvs->rx_queue); in virtio_transport_remove_sock()
1375 if (len <= GOOD_COPY_LEN && !skb_queue_empty(&vvs->rx_queue)) { in virtio_transport_recv_enqueue()
[all …]
/linux/net/rxrpc/
H A Dconn_event.c276 skb_queue_head(&conn->local->rx_queue, skb); in rxrpc_process_event()
350 while ((skb = skb_dequeue(&conn->rx_queue))) { in rxrpc_do_process_connection()
356 skb_queue_head(&conn->rx_queue, skb); in rxrpc_do_process_connection()
390 skb_queue_tail(&conn->rx_queue, skb); in rxrpc_post_packet_to_conn()

1234