Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The HD Audio controller contains a fixed number of DMA engines. Each engine can perform scatter/gather transfers for a single render or capture stream.
Three types of DMA engines are available:
Render DMA engines, which can handle only render streams.
Capture DMA engines, which can handle only capture streams.
Bidirectional DMA engines, which can be configured to handle either render or capture streams.
When allocating a DMA engine for a render stream, the AllocateCaptureDmaEngine routine allocates a render DMA engine if one is available. If the supply of render DMA engines is exhausted, the routine allocates a bidirectional DMA engine if one is available.
Similarly, when allocating a DMA engine for a capture stream, the AllocateRenderDmaEngine routine allocates a capture DMA engine if one is available. If the supply of capture DMA engines is exhausted, the routine allocates a bidirectional DMA engine if one is available.
The AllocateXxxDmaEngine routines are available in both versions of the HD Audio DDI.