Lines Matching refs:rx_queue

2557 efx_ef10_build_rx_desc(struct efx_rx_queue *rx_queue, unsigned int index)  in efx_ef10_build_rx_desc()  argument
2562 rxd = efx_rx_desc(rx_queue, index); in efx_ef10_build_rx_desc()
2563 rx_buf = efx_rx_buffer(rx_queue, index); in efx_ef10_build_rx_desc()
2569 static void efx_ef10_rx_write(struct efx_rx_queue *rx_queue) in efx_ef10_rx_write() argument
2571 struct efx_nic *efx = rx_queue->efx; in efx_ef10_rx_write()
2576 write_count = rx_queue->added_count & ~7; in efx_ef10_rx_write()
2577 if (rx_queue->notified_count == write_count) in efx_ef10_rx_write()
2582 rx_queue, in efx_ef10_rx_write()
2583 rx_queue->notified_count & rx_queue->ptr_mask); in efx_ef10_rx_write()
2584 while (++rx_queue->notified_count != write_count); in efx_ef10_rx_write()
2588 write_count & rx_queue->ptr_mask); in efx_ef10_rx_write()
2590 efx_rx_queue_index(rx_queue)); in efx_ef10_rx_write()
2595 static void efx_ef10_rx_defer_refill(struct efx_rx_queue *rx_queue) in efx_ef10_rx_defer_refill() argument
2597 struct efx_channel *channel = efx_rx_queue_channel(rx_queue); in efx_ef10_rx_defer_refill()
2640 static void efx_ef10_handle_rx_wrong_queue(struct efx_rx_queue *rx_queue, in efx_ef10_handle_rx_wrong_queue() argument
2643 struct efx_nic *efx = rx_queue->efx; in efx_ef10_handle_rx_wrong_queue()
2647 efx_rx_queue_index(rx_queue), rx_queue_label); in efx_ef10_handle_rx_wrong_queue()
2653 efx_ef10_handle_rx_bad_lbits(struct efx_rx_queue *rx_queue, in efx_ef10_handle_rx_bad_lbits() argument
2656 unsigned int dropped = (actual - expected) & rx_queue->ptr_mask; in efx_ef10_handle_rx_bad_lbits()
2657 struct efx_nic *efx = rx_queue->efx; in efx_ef10_handle_rx_bad_lbits()
2667 static void efx_ef10_handle_rx_abort(struct efx_rx_queue *rx_queue) in efx_ef10_handle_rx_abort() argument
2671 netif_dbg(rx_queue->efx, hw, rx_queue->efx->net_dev, in efx_ef10_handle_rx_abort()
2673 rx_queue->scatter_n); in efx_ef10_handle_rx_abort()
2675 rx_desc_ptr = rx_queue->removed_count & rx_queue->ptr_mask; in efx_ef10_handle_rx_abort()
2677 efx_rx_packet(rx_queue, rx_desc_ptr, rx_queue->scatter_n, in efx_ef10_handle_rx_abort()
2680 rx_queue->removed_count += rx_queue->scatter_n; in efx_ef10_handle_rx_abort()
2681 rx_queue->scatter_n = 0; in efx_ef10_handle_rx_abort()
2682 rx_queue->scatter_len = 0; in efx_ef10_handle_rx_abort()
2683 ++efx_rx_queue_channel(rx_queue)->n_rx_nodesc_trunc; in efx_ef10_handle_rx_abort()
2785 struct efx_rx_queue *rx_queue; in efx_ef10_handle_rx_event() local
2811 rx_queue = efx_channel_get_rx_queue(channel); in efx_ef10_handle_rx_event()
2813 if (unlikely(rx_queue_label != efx_rx_queue_index(rx_queue))) in efx_ef10_handle_rx_event()
2814 efx_ef10_handle_rx_wrong_queue(rx_queue, rx_queue_label); in efx_ef10_handle_rx_event()
2816 n_descs = ((next_ptr_lbits - rx_queue->removed_count) & in efx_ef10_handle_rx_event()
2819 if (n_descs != rx_queue->scatter_n + 1) { in efx_ef10_handle_rx_event()
2823 if (unlikely(n_descs == rx_queue->scatter_n)) { in efx_ef10_handle_rx_event()
2824 if (rx_queue->scatter_n == 0 || rx_bytes != 0) in efx_ef10_handle_rx_event()
2828 rx_queue->scatter_n, in efx_ef10_handle_rx_event()
2830 efx_ef10_handle_rx_abort(rx_queue); in efx_ef10_handle_rx_event()
2840 rx_queue->scatter_n != 0 || rx_cont) { in efx_ef10_handle_rx_event()
2842 rx_queue, next_ptr_lbits, in efx_ef10_handle_rx_event()
2843 (rx_queue->removed_count + in efx_ef10_handle_rx_event()
2844 rx_queue->scatter_n + 1) & in efx_ef10_handle_rx_event()
2850 rx_queue->scatter_n = 1; in efx_ef10_handle_rx_event()
2851 rx_queue->scatter_len = 0; in efx_ef10_handle_rx_event()
2857 ++rx_queue->scatter_n; in efx_ef10_handle_rx_event()
2858 rx_queue->scatter_len += rx_bytes; in efx_ef10_handle_rx_event()
2905 efx_rx_packet(rx_queue, in efx_ef10_handle_rx_event()
2906 rx_queue->removed_count & rx_queue->ptr_mask, in efx_ef10_handle_rx_event()
2907 rx_queue->scatter_n, rx_queue->scatter_len, in efx_ef10_handle_rx_event()
2909 rx_queue->removed_count += rx_queue->scatter_n; in efx_ef10_handle_rx_event()
2912 rx_queue->scatter_n = 0; in efx_ef10_handle_rx_event()
2913 rx_queue->scatter_len = 0; in efx_ef10_handle_rx_event()
3049 efx_fast_push_rx_descriptors(&channel->rx_queue, true); in efx_ef10_handle_driver_generated_event()