Lines Matching refs:buffer

39 	tx_queue->buffer = kzalloc_objs(*tx_queue->buffer, entries);  in efx_siena_probe_tx_queue()
40 if (!tx_queue->buffer) in efx_siena_probe_tx_queue()
62 kfree(tx_queue->buffer); in efx_siena_probe_tx_queue()
63 tx_queue->buffer = NULL; in efx_siena_probe_tx_queue()
101 if (!tx_queue->buffer) in efx_siena_remove_tx_queue()
116 kfree(tx_queue->buffer); in efx_siena_remove_tx_queue()
117 tx_queue->buffer = NULL; in efx_siena_remove_tx_queue()
122 struct efx_tx_buffer *buffer, in efx_dequeue_buffer() argument
126 if (buffer->unmap_len) { in efx_dequeue_buffer()
128 dma_addr_t unmap_addr = buffer->dma_addr - buffer->dma_offset; in efx_dequeue_buffer()
130 if (buffer->flags & EFX_TX_BUF_MAP_SINGLE) in efx_dequeue_buffer()
131 dma_unmap_single(dma_dev, unmap_addr, buffer->unmap_len, in efx_dequeue_buffer()
134 dma_unmap_page(dma_dev, unmap_addr, buffer->unmap_len, in efx_dequeue_buffer()
136 buffer->unmap_len = 0; in efx_dequeue_buffer()
139 if (buffer->flags & EFX_TX_BUF_SKB) { in efx_dequeue_buffer()
140 struct sk_buff *skb = (struct sk_buff *)buffer->skb; in efx_dequeue_buffer()
157 dev_consume_skb_any((struct sk_buff *)buffer->skb); in efx_dequeue_buffer()
161 } else if (buffer->flags & EFX_TX_BUF_XDP) { in efx_dequeue_buffer()
162 xdp_return_frame_rx_napi(buffer->xdpf); in efx_dequeue_buffer()
165 buffer->len = 0; in efx_dequeue_buffer()
166 buffer->flags = 0; in efx_dequeue_buffer()
171 struct efx_tx_buffer *buffer; in efx_siena_fini_tx_queue() local
176 if (!tx_queue->buffer) in efx_siena_fini_tx_queue()
183 buffer = &tx_queue->buffer[tx_queue->read_count & tx_queue->ptr_mask]; in efx_siena_fini_tx_queue()
184 efx_dequeue_buffer(tx_queue, buffer, &pkts_compl, &bytes_compl); in efx_siena_fini_tx_queue()
209 struct efx_tx_buffer *buffer = &tx_queue->buffer[read_ptr]; in efx_dequeue_buffers() local
211 if (!efx_tx_buffer_in_use(buffer)) { in efx_dequeue_buffers()
219 efx_dequeue_buffer(tx_queue, buffer, pkts_compl, bytes_compl); in efx_dequeue_buffers()
275 struct efx_tx_buffer *buffer; in efx_siena_enqueue_unwind() local
282 buffer = __efx_tx_queue_get_insert_buffer(tx_queue); in efx_siena_enqueue_unwind()
283 efx_dequeue_buffer(tx_queue, buffer, &pkts_compl, &bytes_compl); in efx_siena_enqueue_unwind()
291 struct efx_tx_buffer *buffer; in efx_siena_tx_map_chunk() local
296 buffer = efx_tx_queue_get_insert_buffer(tx_queue); in efx_siena_tx_map_chunk()
303 buffer->len = dma_len; in efx_siena_tx_map_chunk()
304 buffer->dma_addr = dma_addr; in efx_siena_tx_map_chunk()
305 buffer->flags = EFX_TX_BUF_CONT; in efx_siena_tx_map_chunk()
311 return buffer; in efx_siena_tx_map_chunk()
367 struct efx_tx_buffer *buffer; in efx_siena_tx_map_data() local
370 buffer = efx_siena_tx_map_chunk(tx_queue, dma_addr, len); in efx_siena_tx_map_data()
375 buffer->flags = EFX_TX_BUF_CONT | dma_flags; in efx_siena_tx_map_data()
376 buffer->unmap_len = unmap_len; in efx_siena_tx_map_data()
377 buffer->dma_offset = buffer->dma_addr - unmap_addr; in efx_siena_tx_map_data()
383 buffer->skb = skb; in efx_siena_tx_map_data()
384 buffer->flags = EFX_TX_BUF_SKB | dma_flags; in efx_siena_tx_map_data()