SPRUJ28E November 2021 – September 2024 AM68 , AM68A , TDA4AL-Q1 , TDA4VE-Q1 , TDA4VL-Q1
The intent of the TI Data Movement (DMA) architecture is to provide a uniform hardware/software interface which includes a rich set of mechanisms that software can make use of to transfer data with low overhead and reasonable complexity. To this goal, the number of components which software is required to interact with on an ongoing real time basis has been kept to a minimum and is as follows (in order of anticipated frequency of access):
When interrupts are used, the interrupt aggregator will provide the vast majority of interrupt sources from all DMA components in the system. All non-exception/non-debug packet and TR completion signaling originates from the Interrupt Aggregator and the INTA provides a uniform set of registers that can be queried to quickly determine the cause of a specific interrupt. Events from PSI-L/ETL components are all routed to the host via the Interrupt Aggregator.
The Ring Accelerator provides the primary means by which work is sent to or received from the UDMA-P DMA engines (and the UTC/DRU, and PDMA engines whose control operations are proxied by the UDMA-P).
The UDMA-P are primarily fronted by the RA and the INTA but for real time operations like software controlled flow control (via pause) some registers in the UDMA-P blocks may be directly manipulated.
Data structures are used to pass anytime information between components in the system. These components may be hardware or software. The following sections describe the data structures which are used within a UDMA based system for passing information. These data structures include data buffers, packet descriptors, buffer descriptors, queues (including transmit queues, transmit completion queues, and receive queues) and the configuration registers that are provided in the various components. The following sections provide a detailed description of these data structures.