AMD AE4DMA Driver Merged For Linux 6.14

AMD AE4DMA was sent out today as part of the DMA engine updates for the Linux 6.14 kernel. This AE4DMA driver for new AMD controller/engine IP of the same name is described as:
"The AMD AE4DMA controller which performs high bandwidth memory-to-memory and IO copy operation, performs DMA transfer through queue based descriptor management.
The AE4DMA controller allows for configuration of the number of queues per controller, with a range from 1 to 16.
The AMD Processor features multiple ae4dma device instances, with each controller supporting a maximum of 16 DMA queues."
The AE4DMA engine is intended for use with AMD Non-Transparent Bridge (NTB) devices and is not intended for general purpose peripheral DMA.
The AMD AE4DMA sounds similar to or ultimately the successor as the PTDMA engine for the "PassThru DMA" engine found with EPYC processors of recent years and there's been the AMD PTDMA driver within the Linux kernel the past four years.
The patches sadly don't add any documentation or note in the patch messages what AMD hardware/generation (presumably EPYC) is introducing the AE4DMA engine. Searches around AMD AE4DMA on Google just point back ot these Linux patches. The AE4DMA Linux driver just adds detection for AMD PCI devices with 0x14C8, 0x14DC, and 0x1498 device IDs. In any event, the Linux 6.14 kernel is laying out this initial support for AMD AE4DMA. These patches have undergone several rounds of code review the past few months before being primed for the mainline kernel.
In addition to adding the new AMD AE4DMA driver code, the DMA engine pull request for Linux 6.14 also adds Intel Panther Lake support to the IDXD driver, Allwinner F1C100s suniv DMA support, and Qualcomm QCS615, QCS8300, SM8750, SA8775P GPI DMA controller support.
3 Comments