Writing a Common Buffer Slave DMA Driver
In common buffer slave DMA, the device transfers data to or from a contiguous buffer in nonpaged pool, using a system DMA channel. Although originally intended for devices that use the system DMA controller's autoinitialize mode, common buffers can also improve throughput for some types of ISA-based slave devices.
Allocating a Common Buffer
Memory for a common buffer must be physically contiguous and visible in the DMA logical space of a specific device. To guarantee that both these conditions are met, the function AllocateCommonBuffer, a method of the Adapter object, is used. It is described in Table 12.8.
The CacheEnabled argument for this function is normally set to FALSE. Using noncached memory for ...