Lines Matching defs:buffer
83 /* Size of an RX scatter buffer. Small enough to pack 2 into a 4K page,
89 * of every buffer. Otherwise, we just need to ensure 4-byte
111 * struct efx_buffer - A general-purpose DMA buffer
112 * @addr: host base address of the buffer
113 * @dma_addr: DMA base address of the buffer
126 * struct efx_special_buffer - DMA buffer entered into buffer table
128 * @index: Buffer index within controller;s buffer table
129 * @entries: Number of buffer table entries
131 * The NIC has a buffer table that maps buffers of size %EFX_BUF_SIZE.
132 * Event and descriptor rings are addressed via one or more buffer
146 * struct efx_tx_buffer - buffer state for a TX descriptor
147 * @skb: When @flags & %EFX_TX_BUF_SKB, the associated socket buffer to be
150 * member is the associated buffer to drop a page reference on.
176 #define EFX_TX_BUF_SKB 2 /* buffer is last part of skb */
177 #define EFX_TX_BUF_MAP_SINGLE 8 /* buffer was mapped with dma_map_single() */
178 #define EFX_TX_BUF_OPTION 0x10 /* empty buffer for option descriptor */
179 #define EFX_TX_BUF_XDP 0x20 /* buffer was sent with XDP */
180 #define EFX_TX_BUF_TSO_V3 0x40 /* empty buffer for a TSO_V3 descriptor */
185 * This is a ring buffer of TX fragments.
204 * @buffer: The software buffer ring
209 * @piobuf: PIO buffer region for this TX queue (shared with its partner).
268 struct efx_tx_buffer *buffer;
314 * struct efx_rx_buffer - An Efx RX data buffer
315 * @dma_addr: DMA base address of the buffer
316 * @page: The associated page buffer.
317 * Will be %NULL if the buffer slot is currently free.
322 * @flags: Flags for buffer and packet state. These are only set on the
323 * first buffer of a scattered packet.
340 * struct efx_rx_page_state - Page-based rx buffer state
359 * @buffer: The software buffer ring
385 * @recycle_count: RX buffer recycle counter.
393 struct efx_rx_buffer *buffer;
449 * @eventq: Event queue buffer
482 * @rx_pkt_index: Ring index of first buffer for next packet to be delivered
872 * @next_buffer_table: First available buffer table id
884 * @rx_buffer_order: Order (log2) of number of pages for each RX buffer
885 * @rx_buffer_truesize: Amortised allocation size of an RX buffer,
904 * @irq_status: Interrupt status buffer
923 * @stats_buffer: DMA buffer for statistics
1196 * @dimension_resources: Dimension controller resources (buffer table,
1237 * defined maximum, but its buffer will be padded to a multiple
1241 * be a multiple of 4. The length may not be, but the buffer
1271 * @rx_packet: Receive the queued RX buffer on a channel
1454 size_t *retlen, u8 *buffer);
1457 size_t *retlen, const u8 *buffer);
1634 /* Returns a pointer to the specified receive buffer in the RX
1640 return &rx_queue->buffer[index];
1729 /* Get a TX buffer. */
1733 return &tx_queue->buffer[efx_tx_queue_get_insert_index(tx_queue)];
1736 /* Get a TX buffer, checking it's not currently in use. */
1740 struct efx_tx_buffer *buffer =
1743 EFX_WARN_ON_ONCE_PARANOID(buffer->len);
1744 EFX_WARN_ON_ONCE_PARANOID(buffer->flags);
1745 EFX_WARN_ON_ONCE_PARANOID(buffer->unmap_len);
1747 return buffer;