This series adds a driver to control the Aspeed XDMA engine embedded in the AST2500 and AST2600. The XDMA engine performs automatic DMA operations over PCI-E between the Aspeed SOC (acting as a BMC) and a host processor. Changes since v8: - Use DMA API to allocate memory from reserved region. - Fix the driver for the AST2500 by keeping the command queue in kernel memory and copying the whole buffer to the reserved memory area before starting the operation. - Add krefs to the client structure to prevent use-after-free. - Switch reset-names binding to "device", "root-complex" Eddie James (5): dt-bindings: soc: Add Aspeed XDMA Engine soc: aspeed: Add XDMA Engine Driver soc: aspeed: xdma: Add user interface soc: aspeed: xdma: Add reset ioctl ARM: dts: Aspeed: AST2600: Add XDMA PCI-E root control reset .../devicetree/bindings/soc/aspeed/xdma.txt | 45 + MAINTAINERS | 8 + arch/arm/boot/dts/aspeed-g6.dtsi | 3 +- drivers/soc/aspeed/Kconfig | 8 + drivers/soc/aspeed/Makefile | 1 + drivers/soc/aspeed/aspeed-xdma.c | 1099 ++++++++++++++++++++ include/uapi/linux/aspeed-xdma.h | 42 + 7 files changed, 1205 insertions(+), 1 deletion(-) create mode 100644 Documentation/devicetree/bindings/soc/aspeed/xdma.txt create mode 100644 drivers/soc/aspeed/aspeed-xdma.c create mode 100644 include/uapi/linux/aspeed-xdma.h -- 1.8.3.1