Lines Matching refs:rx_queue
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()
173 struct efx_rx_queue *rx_queue = efx_channel_get_rx_queue(channel); in efx_ef100_ev_rx() local
185 ef100_rx_packet(rx_queue, in efx_ef100_ev_rx()
186 rx_queue->removed_count & rx_queue->ptr_mask); in efx_ef100_ev_rx()
187 ++rx_queue->removed_count; in efx_ef100_ev_rx()
191 void ef100_rx_write(struct efx_rx_queue *rx_queue) in ef100_rx_write() argument
193 unsigned int notified_count = rx_queue->notified_count; in ef100_rx_write()
199 while (notified_count != rx_queue->added_count) { in ef100_rx_write()
200 idx = notified_count & rx_queue->ptr_mask; in ef100_rx_write()
201 rx_buf = efx_rx_buffer(rx_queue, idx); in ef100_rx_write()
202 rxd = efx_rx_desc(rx_queue, idx); in ef100_rx_write()
208 if (notified_count == rx_queue->notified_count) in ef100_rx_write()
213 rx_queue->added_count & rx_queue->ptr_mask); in ef100_rx_write()
214 efx_writed_page(rx_queue->efx, &rxdb, in ef100_rx_write()
215 ER_GZ_RX_RING_DOORBELL, efx_rx_queue_index(rx_queue)); in ef100_rx_write()
216 if (rx_queue->grant_credits) in ef100_rx_write()
218 rx_queue->notified_count = notified_count; in ef100_rx_write()
219 if (rx_queue->grant_credits) in ef100_rx_write()
220 schedule_work(&rx_queue->grant_work); in ef100_rx_write()