Lines Matching +full:uni +full:- +full:directional

1 .. SPDX-License-Identifier: GPL-2.0
17 The driver supports a range of ENA devices, is link-speed independent
21 Some ENA devices support SR-IOV. This driver is used for both the
22 SR-IOV Physical Function (PF) and Virtual Function (VF) devices.
26 is advertised by the device via the Admin Queue), a dedicated MSI-X
31 checksum offload. Receive-side scaling (RSS) is supported for multi-core
39 Some of the ENA devices support a working mode called Low-latency
54 ena_regs_defs.h Definition of ENA PCI memory-mapped (MMIO) registers.
66 - PCIe Configuration Space
67 - Device Registers
68 - Admin Queue (AQ) and Admin Completion Queue (ACQ)
69 - Asynchronous Event Notification Queue (AENQ)
79 vendor-specific extensions. Most of the management operations are
84 - Create I/O submission queue
85 - Create I/O completion queue
86 - Destroy I/O submission queue
87 - Destroy I/O completion queue
88 - Get feature
89 - Set feature
90 - Configure AENQ
91 - Get statistics
96 The Asynchronous Event Notification Queue (AENQ) is a uni-directional
110 Keep-Alive **X**
113 ACQ and AENQ share the same MSI-X vector.
115 Keep-Alive is a special mechanism that allows monitoring the device's health.
116 A Keep-Alive event is delivered by the device every second.
118 statistics. If the keep-alive events aren't delivered as expected the WD resets
133 - **Regular mode:**
138 - **Low Latency Queue (LLQ) mode or "push-mode":**
143 device memory BAR, which is mapped with write-combine capability.
151 The driver supports multi-queue for both Tx and Rx. This has various
154 - Reduced CPU/thread/process contention on a given Ethernet interface.
155 - Cache miss rate on completion is reduced, particularly for data
157 - Increased process-level parallelism when handling received packets.
158 - Increased data cache hit rate, by steering kernel processing of
161 - In hardware interrupt re-direction.
166 The driver assigns a single MSI-X vector per queue pair (for both Tx
167 and Rx directions). The driver assigns an additional dedicated MSI-X vector
171 probes the adapter, and it is de-registered when the adapter is
173 interface of the adapter is opened, and it is de-registered when the
178 ena-mgmnt@pci:<PCI domain:bus:slot.function>
182 <interface name>-Tx-Rx-<queue index>
184 The ENA device operates in auto-mask and auto-clear interrupt
185 modes. That is, once MSI-X is delivered to the host, its Cause bit is
198 parameters are supported by the driver: ``tx-usecs``, ``rx-usecs``
223 per-queue stats) from the device.
240 - IPv4 header checksum offload
241 - TCP/UDP over IPv4/IPv6 checksum offloads
246 - The ENA device supports RSS that allows flexible Rx traffic
248 - Toeplitz and CRC32 hash functions are supported.
249 - Different combinations of L2/L3/L4 fields can be configured as
251 - The driver configures RSS settings using the AQ SetFeature command
254 - If the NETIF_F_RXHASH flag is set, the 32-bit result of the hash
257 - The user can provide a hash key, hash function, and configure the
264 --
268 - Maps data buffers (``skb->data`` and frags).
269 - Populates ``ena_buf`` for the push buffer (if the driver and device are
271 - Prepares ENA bufs for the remaining frags.
272 - Allocates a new request ID from the empty ``req_id`` ring. The request
274 out-of-order Tx completions.
275 - Adds the packet to the proper place in the Tx ring.
276 - Calls :code:`ena_com_prepare_tx()`, an ENA communication layer that converts
283 - Writes a doorbell to the ENA device.
284 - When the ENA device finishes sending the packet, a completion
286 - The interrupt handler schedules NAPI.
287 - The :code:`ena_clean_tx_irq()` function is called. This function handles the
298 --
300 - When a packet is received from the ENA device.
301 - The interrupt handler schedules NAPI.
302 - The :code:`ena_clean_rx_irq()` function is called. This function calls
306 - :code:`ena_rx_skb()` checks packet length:
312 - In this way the original data buffer is not passed to the stack
319 - The new SKB is updated with the necessary information (protocol,
324 ------------------------
336 1. Driver allocates page-sized RX buffer and passes it to hardware
337 +----------------------+
339 +----------------------+
344 HW as an RX buffer of size 4KB - 300Bytes = 3796 Bytes
345 +----+--------------------+
347 +----+--------------------+