Figure 1. Linux DMA Software Architecture
The QDMA driver consists of the following three major components:
- Device control tool
- Creates a netlink socket for PCIe device query, queue management, reading the context of a queue, etc.
- DMA tool
- Is the user space application to initiate a DMA transaction. You can use
standard Linux utility
fio, or use the example application in the driver package.
- Kernel space driver
- Creates the descriptors and translates the user space function into low-level command to interact with the AMD Versal device.
For AMD QDMA Linux driver documentation, click here.