Hard Processor System Technical Reference Manual: Agilex™ 5 SoCs

ID 814346
Date 4/01/2024
Public
Document Table of Contents

5.1.6.3. Descriptor

The DMA in the Ethernet subsystem transfers data based on a linked list of descriptors. The application creates the descriptors in the system memory. The EMAC supports the following two types of descriptors:
  • Normal descriptor: Normal descriptors are used for exchanging packet data and packet control or status information applicable between the application and the EMAC.
  • Context descriptor: Context descriptors are used to provide additional control information applicable to the packets to be transmitted or additional status information for received packets.
    • TX side: The application prepares the context descriptors and puts the context descriptors in the linked list before the normal descriptor. The EMAC management interface processes the controls given in the context descriptor for the packets following the context descriptor.
    • RX side: The application does not create context descriptors. It creates a linked-list of normal descriptors. When the RX DMA has additional status information for a received packet, it closes the next descriptor with this additional status and marks it as context descriptor.
Each normal descriptor contains two buffers and two address pointers. These buffers enable the adapter port to be compatible with various types of memory management schemes.
Note: There is no limit for number of descriptors that can be used for a single packet except that the number of descriptors must be less than the ring length. The reserved fields in the descriptor must be set to 0, otherwise the behavior is unpredictable.