/linux-6.12.1/drivers/net/ethernet/sfc/falcon/ |
D | rx.c | 76 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 …]
|
D | nic.h | 110 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 …]
|
D | farch.c | 471 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 …]
|
D | net_driver.h | 444 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 …]
|
D | efx.h | 40 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/ |
D | rx_common.c | 35 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 …]
|
D | ef100_rx.c | 58 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 …]
|
D | rx.c | 43 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 …]
|
D | nic_common.h | 98 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 …]
|
D | mcdi_functions.c | 270 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 …]
|
D | rx_common.h | 55 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);
|
D | efx_channels.c | 532 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 …]
|
D | mcdi_functions.h | 25 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);
|
D | tc_counters.c | 280 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 …]
|
D | net_driver.h | 540 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/ |
D | rx_common.c | 38 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 …]
|
D | rx.c | 43 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 …]
|
D | nic_common.h | 97 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 …]
|
D | farch.c | 465 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 …]
|
D | efx_channels.c | 534 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 …]
|
D | rx_common.h | 55 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,
|
D | net_driver.h | 547 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 …]
|
D | nic.h | 131 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/ |
D | gianfar.c | 109 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(®s->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/ |
D | io_thread.c | 28 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 …]
|