XDMA(4)

NAME
xdma - DMA abstraction layer

SYNOPSIS
To compile xDMA device support into the kernel, place the following line in your kernel configuration file:

device xdma

To compile xDMA FDT-based test driver, place the following line as well:

    device xdma_test

DESCRIPTION
xDMA is a DMA framework designed to abstract the interaction between device drivers and DMA engines.

xDMA defines an interface for efficient interaction between the device driver and DMA controller. The xdma device provides a virtual DMA controller and virtual channels called xchans. The controller provides virtual channels management (allocation, deallocation, configuration) and interrupt notification esteblishment needed to receive events from the hardware DMA controller. xdma supports the following transfer types:

Cyclic
    A non-stop periodic transfer designed for applications like audio.

Memcpy
    A memory-to-memory transfer.

SEE ALSO
bus_dma(9)

HISTORY
Support for xDMA first appeared in FreeBSD 12.0.

AUTHORS
-nosplit FreeBSD xDMA framework was first added by Ruslan Bukin <br@FreeBSD.org>.