Units
Class Hierarchy
Classes, Interfaces and Objects
Types
Enumerations
Variables
Constants
Functions and Procedures
Identifiers

Unit kddmabuffer

Description

Unit kddmabuffer contains implementation and accompanying definitions for TkdDMABuffer class that models multi-purpose DMA buffer related either to a PCI device or to some other device of non-PCI class.

Classes, Interfaces and Objects

NameDescription
Class TkdDMABufferFinal resource class TkdDMABuffer models multi-purpose DMA buffer related to broad range of hardware that needs this buffer for data tranfer with no CPU activity. It includes properties for specifying parameters of the DMA buffer as well as methods for locking and unlocking it. The remaining members of the class are necessary accessors for obtaining data required by user-space programs and peripherals for the purpose of proper functioning with the DMA buffer established.

Types

Overview

TkdDMABufferLockStruct = record UserAddr: LongWord; KernelAddr: LongWord; Size: LongWord; Options: LongWord; Pages: LongWord; PageArray: array[0..DMA_Pages-1] of TkdDMABufferPage; end
TkdDMABufferOptions = set of TkdDMABufferOption
TkdDMABufferPage = record PhysicalAddr: LongWord; Size : LongWord; end

Description

TkdDMABufferLockStruct = record UserAddr: LongWord; KernelAddr: LongWord; Size: LongWord; Options: LongWord; Pages: LongWord; PageArray: array[0..DMA_Pages-1] of TkdDMABufferPage; end

TkdDMABufferLockStruct = record UserAddr: LongWord; KernelAddr: LongWord; Size: LongWord; Options: LongWord; Pages: LongWord; PageArray: array[0..DMA_Pages-1] of TkdDMABufferPage; end;

TkdDMABufferOptions = set of TkdDMABufferOption

TkdDMABufferOptions = set of TkdDMABufferOption;

TkdDMABufferPage = record PhysicalAddr: LongWord; Size : LongWord; end

TkdDMABufferPage = record PhysicalAddr: LongWord; Size : LongWord; end;

Enumerations

TkdDMABufferOption
TkdDMABufferOption = (boCONTIGUOUS, boBELOW_16M, boKERNEL_ONLY_MAP, boREAD_FROM_DEVICE, boWRITE_TO_DEVICE);
 boCONTIGUOUS 
 boBELOW_16M 
 boKERNEL_ONLY_MAP 
 boREAD_FROM_DEVICE 
 boWRITE_TO_DEVICE 

Constants

Overview

DMA_Pages = 512

Description

DMA_Pages = 512

DMA_Pages constant is the highest possible number of DMA pages supported.

Author

ETSoft Tenzor.Net (etsoft@tenzor.net)

Created

01 October 2004

Last Modified

05 February 2005