除了为 Linux 6.14 合并的 AMDXDNA 驱动程序以启用 Ryzen AI NPU 之外,下一个内核版本还引入了另一个新的 AMD 内核驱动程序,该驱动程序以前在 Phoronix 上没有介绍过:AMD AE4DMA。
AMD AE4DMA 今天作为 Linux 6.14 内核 DMA 引擎更新的一部分发布。这个用于同名新 AMD 控制器/引擎 IP 的 AE4DMA 驱动程序描述为:
“AMD AE4DMA 控制器执行高带宽内存到内存和 IO 复制操作,通过基于队列的描述符管理执行 DMA 传输。
AE4DMA 控制器允许配置每个控制器的队列数量,范围从 1 到 16。
AMD 处理器具有多个 ae4dma 设备实例,每个控制器最多支持 16 个 DMA 队列。
AE4DMA 引擎旨在与 AMD 非透明桥 (NTB) 设备一起使用,而不是用于通用外设 DMA。
AMD AE4DMA 听起来与近年来 EPYC 处理器的“PassThru DMA”引擎的 PTDMA 引擎相似,或者最终是继任者,并且在过去四年中,Linux 内核中已经有了 AMD PTDMA 驱动程序。
遗憾的是,这些补丁没有在补丁消息中添加任何文档或说明 AMD 硬件/代(可能是 EPYC)引入了 AE4DMA 引擎。在 Google 上搜索 AMD AE4DMA 只是指向这些 Linux 补丁。AE4DMA Linux 驱动程序只是增加了对具有 0x14C8、0x14DC 和 0x1498 设备 ID 的 AMD PCI 设备的检测。无论如何,Linux 6.14 内核正在为 AMD AE4DMA 提供初步支持。这些补丁在过去几个月里经历了几轮代码审查,然后才准备好用于主线内核。
除了添加新的 AMD AE4DMA 驱动程序代码外,Linux 6.14 的 DMA 引擎拉取请求还向 IDXD 驱动程序添加了 Intel Panther Lake 支持、全志 F1C100s suniv DMA 支持以及 Qualcomm QCS615、QCS8300、SM8750 SA8775P GPI DMA 控制器支持。