Home
last modified time | relevance | path

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

123456

/linux-6.12.1/drivers/net/ethernet/sfc/falcon/
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 …]
Dnic.h110 ef4_rx_desc(struct ef4_rx_queue *rx_queue, unsigned int index) in ef4_rx_desc() argument
112 return ((ef4_qword_t *) (rx_queue->rxd.buf.addr)) + index; in ef4_rx_desc()
333 static inline int ef4_nic_probe_rx(struct ef4_rx_queue *rx_queue) in ef4_nic_probe_rx() argument
335 return rx_queue->efx->type->rx_probe(rx_queue); in ef4_nic_probe_rx()
337 static inline void ef4_nic_init_rx(struct ef4_rx_queue *rx_queue) in ef4_nic_init_rx() argument
339 rx_queue->efx->type->rx_init(rx_queue); in ef4_nic_init_rx()
341 static inline void ef4_nic_remove_rx(struct ef4_rx_queue *rx_queue) in ef4_nic_remove_rx() argument
343 rx_queue->efx->type->rx_remove(rx_queue); in ef4_nic_remove_rx()
345 static inline void ef4_nic_notify_rx_desc(struct ef4_rx_queue *rx_queue) in ef4_nic_notify_rx_desc() argument
347 rx_queue->efx->type->rx_write(rx_queue); in ef4_nic_notify_rx_desc()
[all …]
Dfarch.c471 ef4_farch_build_rx_desc(struct ef4_rx_queue *rx_queue, unsigned index) in ef4_farch_build_rx_desc() argument
476 rxd = ef4_rx_desc(rx_queue, index); in ef4_farch_build_rx_desc()
477 rx_buf = ef4_rx_buffer(rx_queue, index); in ef4_farch_build_rx_desc()
481 rx_queue->efx->type->rx_buffer_padding, in ef4_farch_build_rx_desc()
489 void ef4_farch_rx_write(struct ef4_rx_queue *rx_queue) in ef4_farch_rx_write() argument
491 struct ef4_nic *efx = rx_queue->efx; in ef4_farch_rx_write()
495 while (rx_queue->notified_count != rx_queue->added_count) { in ef4_farch_rx_write()
497 rx_queue, in ef4_farch_rx_write()
498 rx_queue->notified_count & rx_queue->ptr_mask); in ef4_farch_rx_write()
499 ++rx_queue->notified_count; in ef4_farch_rx_write()
[all …]
Dnet_driver.h444 struct ef4_rx_queue rx_queue; member
1090 int (*rx_probe)(struct ef4_rx_queue *rx_queue);
1091 void (*rx_init)(struct ef4_rx_queue *rx_queue);
1092 void (*rx_remove)(struct ef4_rx_queue *rx_queue);
1093 void (*rx_write)(struct ef4_rx_queue *rx_queue);
1094 void (*rx_defer_refill)(struct ef4_rx_queue *rx_queue);
1236 return channel->rx_queue.core_index >= 0; in ef4_channel_has_rx_queue()
1243 return &channel->rx_queue; in ef4_channel_get_rx_queue()
1251 for (_rx_queue = &(_channel)->rx_queue; \
1256 ef4_rx_queue_channel(struct ef4_rx_queue *rx_queue) in ef4_rx_queue_channel() argument
[all …]
Defx.h40 int ef4_probe_rx_queue(struct ef4_rx_queue *rx_queue);
41 void ef4_remove_rx_queue(struct ef4_rx_queue *rx_queue);
42 void ef4_init_rx_queue(struct ef4_rx_queue *rx_queue);
43 void ef4_fini_rx_queue(struct ef4_rx_queue *rx_queue);
44 void ef4_fast_push_rx_descriptors(struct ef4_rx_queue *rx_queue, bool atomic);
47 void ef4_rx_packet(struct ef4_rx_queue *rx_queue, unsigned int index,
54 void ef4_schedule_slow_fill(struct ef4_rx_queue *rx_queue);
/linux-6.12.1/drivers/net/ethernet/sfc/
Drx_common.c35 static struct page *efx_reuse_page(struct efx_rx_queue *rx_queue) in efx_reuse_page() argument
37 struct efx_nic *efx = rx_queue->efx; in efx_reuse_page()
42 if (unlikely(!rx_queue->page_ring)) in efx_reuse_page()
44 index = rx_queue->page_remove & rx_queue->page_ptr_mask; in efx_reuse_page()
45 page = rx_queue->page_ring[index]; in efx_reuse_page()
49 rx_queue->page_ring[index] = NULL; in efx_reuse_page()
51 if (rx_queue->page_remove != rx_queue->page_add) in efx_reuse_page()
52 ++rx_queue->page_remove; in efx_reuse_page()
56 ++rx_queue->page_recycle_count; in efx_reuse_page()
64 ++rx_queue->page_recycle_failed; in efx_reuse_page()
[all …]
Def100_rx.c58 struct efx_rx_queue *rx_queue = efx_channel_get_rx_queue(channel); in __ef100_rx_packet() local
59 struct efx_rx_buffer *rx_buf = efx_rx_buffer(rx_queue, in __ef100_rx_packet()
73 if (channel->type->receive_raw(rx_queue, mark)) in __ef100_rx_packet()
141 efx_free_rx_buffers(rx_queue, rx_buf, 1); in __ef100_rx_packet()
146 static void ef100_rx_packet(struct efx_rx_queue *rx_queue, unsigned int index) in ef100_rx_packet() argument
148 struct efx_rx_buffer *rx_buf = efx_rx_buffer(rx_queue, index); in ef100_rx_packet()
149 struct efx_channel *channel = efx_rx_queue_channel(rx_queue); in ef100_rx_packet()
150 struct efx_nic *efx = rx_queue->efx; in ef100_rx_packet()
152 ++rx_queue->rx_packets; in ef100_rx_packet()
156 efx_rx_queue_index(rx_queue), index); in ef100_rx_packet()
[all …]
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_rx_packet(struct efx_rx_queue *rx_queue, unsigned int index, in efx_rx_packet() argument
124 struct efx_nic *efx = rx_queue->efx; in efx_rx_packet()
125 struct efx_channel *channel = efx_rx_queue_channel(rx_queue); in efx_rx_packet()
128 rx_queue->rx_packets++; in efx_rx_packet()
130 rx_buf = efx_rx_buffer(rx_queue, index); in efx_rx_packet()
[all …]
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 …]
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 …]
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);
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 …]
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);
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 …]
Dnet_driver.h540 struct efx_rx_queue rx_queue; member
1425 int (*rx_probe)(struct efx_rx_queue *rx_queue);
1426 void (*rx_init)(struct efx_rx_queue *rx_queue);
1427 void (*rx_remove)(struct efx_rx_queue *rx_queue);
1428 void (*rx_write)(struct efx_rx_queue *rx_queue);
1429 void (*rx_defer_refill)(struct efx_rx_queue *rx_queue);
1616 return channel->rx_queue.core_index >= 0; in efx_channel_has_rx_queue()
1623 return &channel->rx_queue; in efx_channel_get_rx_queue()
1631 for (_rx_queue = &(_channel)->rx_queue; \
1636 efx_rx_queue_channel(struct efx_rx_queue *rx_queue) in efx_rx_queue_channel() argument
[all …]
/linux-6.12.1/drivers/net/ethernet/sfc/siena/
Drx_common.c38 static struct page *efx_reuse_page(struct efx_rx_queue *rx_queue) in efx_reuse_page() argument
40 struct efx_nic *efx = rx_queue->efx; in efx_reuse_page()
45 if (unlikely(!rx_queue->page_ring)) in efx_reuse_page()
47 index = rx_queue->page_remove & rx_queue->page_ptr_mask; in efx_reuse_page()
48 page = rx_queue->page_ring[index]; in efx_reuse_page()
52 rx_queue->page_ring[index] = NULL; in efx_reuse_page()
54 if (rx_queue->page_remove != rx_queue->page_add) in efx_reuse_page()
55 ++rx_queue->page_remove; in efx_reuse_page()
59 ++rx_queue->page_recycle_count; in efx_reuse_page()
67 ++rx_queue->page_recycle_failed; in efx_reuse_page()
[all …]
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 …]
Dnic_common.h97 efx_rx_desc(struct efx_rx_queue *rx_queue, unsigned int index) in efx_rx_desc() argument
99 return ((efx_qword_t *) (rx_queue->rxd.buf.addr)) + index; in efx_rx_desc()
137 static inline int efx_nic_probe_rx(struct efx_rx_queue *rx_queue) in efx_nic_probe_rx() argument
139 return rx_queue->efx->type->rx_probe(rx_queue); in efx_nic_probe_rx()
141 static inline void efx_nic_init_rx(struct efx_rx_queue *rx_queue) in efx_nic_init_rx() argument
143 rx_queue->efx->type->rx_init(rx_queue); in efx_nic_init_rx()
145 static inline void efx_nic_remove_rx(struct efx_rx_queue *rx_queue) in efx_nic_remove_rx() argument
147 rx_queue->efx->type->rx_remove(rx_queue); in efx_nic_remove_rx()
149 static inline void efx_nic_notify_rx_desc(struct efx_rx_queue *rx_queue) in efx_nic_notify_rx_desc() argument
151 rx_queue->efx->type->rx_write(rx_queue); in efx_nic_notify_rx_desc()
[all …]
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 …]
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 …]
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,
Dnet_driver.h547 struct efx_rx_queue rx_queue; member
1356 int (*rx_probe)(struct efx_rx_queue *rx_queue);
1357 void (*rx_init)(struct efx_rx_queue *rx_queue);
1358 void (*rx_remove)(struct efx_rx_queue *rx_queue);
1359 void (*rx_write)(struct efx_rx_queue *rx_queue);
1360 void (*rx_defer_refill)(struct efx_rx_queue *rx_queue);
1549 return channel->rx_queue.core_index >= 0; in efx_channel_has_rx_queue()
1556 return &channel->rx_queue; in efx_channel_get_rx_queue()
1564 for (_rx_queue = &(_channel)->rx_queue; \
1569 efx_rx_queue_channel(struct efx_rx_queue *rx_queue) in efx_rx_queue_channel() argument
[all …]
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-6.12.1/drivers/net/ethernet/freescale/
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 …]
/linux-6.12.1/net/rxrpc/
Dio_thread.c28 struct sk_buff_head *rx_queue; in rxrpc_encap_rcv() local
46 rx_queue = &local->rx_queue; in rxrpc_encap_rcv()
51 rx_queue = &local->rx_delay_queue; in rxrpc_encap_rcv()
55 skb_queue_tail(rx_queue, skb); in rxrpc_encap_rcv()
78 skb_queue_tail(&local->rx_queue, skb); in rxrpc_error_report()
433 struct sk_buff_head rx_queue; in rxrpc_io_thread() local
444 skb_queue_head_init(&rx_queue); in rxrpc_io_thread()
487 if ((skb = __skb_dequeue(&rx_queue))) { in rxrpc_io_thread()
521 skb_queue_tail(&local->rx_queue, skb); in rxrpc_io_thread()
525 if (!skb_queue_empty(&local->rx_queue)) { in rxrpc_io_thread()
[all …]

123456