Searched refs:IODMACommand (Results 1 - 10 of 10) sorted by relevance

/xnu-2422.115.4/iokit/IOKit/
H A DIODMACommand.h35 /**************************** class IODMACommand ***************************/
38 @class IODMACommand
40 @discussion The IODMACommand is supersedes the IOMemoryCursor and greatly enhances the functionality and power of it. The command can be specified to output 64 bit physical addresses and also allows driver writers bypass mapping hardware or get addresses suitable for non-snooped DMA.
42 The command is designed to be very easily subclassable. Most driver writers need to associate some DMA operations with their memory descriptor and usually use a C structure for that purpose. This structure is often kept in a linked list. This IODMACommand has built it <kern/queue.h> linkage and can be derived and 'public:' variables added, giving the developer a structure that can associate a memory descriptor with a particular dma command but will also allow the developer to generate that command and keep the state necessary for tracking it.
46 The IODMACommand can be used in a 'weak-linked' manner. To do this you must avoid using any static member functions. Use the, much slower but safe, weakWithSpecification function. On success a dma command instance will be returned. This instance can then be used to clone as many commands as is needed. Remember deriving from this class can not be done weakly, that is no weak subclassing!
49 class IODMACommand : public IOCommand class in inherits:IOCommand
51 OSDeclareDefaultStructors(IODMACommand);
107 typedef bool (*SegmentFunction)(IODMACommand *target,
117 static bool OutputHost32(IODMACommand *target,
123 #define kIODMACommandOutputHost32 (IODMACommand
[all...]
H A DIODMAEventSource.h33 #include <IOKit/IODMACommand.h>
46 typedef void (*Action)(OSObject *owner, IODMAEventSource *dmaES, IODMACommand *dmaCommand, IOReturn status, IOByteCount actualByteCount, AbsoluteTime timeStamp);
50 virtual void completeDMACommand(IODMACommand *dmaCommand);
51 virtual void notifyDMACommand(IODMACommand *dmaCommand, IOReturn status, IOByteCount actualByteCount, AbsoluteTime timeStamp);
60 virtual IOReturn startDMACommand(IODMACommand *dmaCommand, IODirection direction, IOByteCount byteCount = 0, IOByteCount byteOffset = 0);
63 virtual IOReturn queryDMACommand(IODMACommand **dmaCommand, IOByteCount *transferCount, bool waitForIdle = false);
H A DIODMAController.h32 #include <IOKit/IODMACommand.h>
51 virtual IOReturn startDMACommand(UInt32 dmaIndex, IODMACommand *dmaCommand, IODirection direction,
54 virtual void completeDMACommand(IODMAEventSource *dmaES, IODMACommand *dmaCommand);
55 virtual void notifyDMACommand(IODMAEventSource *dmaES, IODMACommand *dmaCommand, IOReturn status, IOByteCount actualByteCount, AbsoluteTime timeStamp);
56 virtual IOReturn queryDMACommand(UInt32 dmaIndex, IODMACommand **dmaCommand, IOByteCount *transferCount, bool waitForIdle = false) = 0;
H A DIOMapper.h58 #include <IOKit/IODMACommand.h>
130 virtual ppnum_t iovmAllocDMACommand(IODMACommand * command, IOItemCount pageCount);
131 virtual void iovmFreeDMACommand(IODMACommand * command, ppnum_t addr, IOItemCount pageCount);
/xnu-2422.115.4/iokit/Kernel/
H A DIODMACommand.cpp37 #include <IOKit/IODMACommand.h>
85 /**************************** class IODMACommand ***************************/
89 OSDefineMetaClassAndStructors(IODMACommand, IOCommand);
91 OSMetaClassDefineReservedUsed(IODMACommand, 0);
92 OSMetaClassDefineReservedUsed(IODMACommand, 1);
93 OSMetaClassDefineReservedUsed(IODMACommand, 2);
94 OSMetaClassDefineReservedUnused(IODMACommand, 3);
95 OSMetaClassDefineReservedUnused(IODMACommand, 4);
96 OSMetaClassDefineReservedUnused(IODMACommand, 5);
97 OSMetaClassDefineReservedUnused(IODMACommand,
[all...]
H A DIODMAEventSource.cpp90 IOReturn IODMAEventSource::startDMACommand(IODMACommand *dmaCommand, IODirection direction, IOByteCount byteCount, IOByteCount byteOffset)
120 IOReturn IODMAEventSource::queryDMACommand(IODMACommand **dmaCommand, IOByteCount *transferCount, bool waitForIdle)
156 IODMACommand *dmaCommand = NULL;
162 queue_remove_first(&dmaCommandsCompleted, dmaCommand, IODMACommand *, fCommandChain);
176 void IODMAEventSource::completeDMACommand(IODMACommand *dmaCommand)
180 queue_enter(&dmaCommandsCompleted, dmaCommand, IODMACommand *, fCommandChain);
190 void IODMAEventSource::notifyDMACommand(IODMACommand *dmaCommand, IOReturn status, IOByteCount actualByteCount, AbsoluteTime timeStamp)
H A DIODMAController.cpp89 void IODMAController::completeDMACommand(IODMAEventSource *dmaES, IODMACommand *dmaCommand)
94 void IODMAController::notifyDMACommand(IODMAEventSource *dmaES, IODMACommand *dmaCommand, IOReturn status, IOByteCount actualByteCount, AbsoluteTime timeStamp)
H A DIOMapper.cpp30 #include <IOKit/IODMACommand.h>
189 ppnum_t IOMapper::iovmAllocDMACommand(IODMACommand * command, IOItemCount pageCount)
194 void IOMapper::iovmFreeDMACommand(IODMACommand * command,
H A DIOMemoryDescriptor.cpp43 #include <IOKit/IODMACommand.h>
1428 panic("IOGMD: not wired for the IODMACommand");
1774 if (params) panic("class %s does not support IODMACommand::kIterateOnly", getMetaClass()->getClassName());
/xnu-2422.115.4/iokit/conf/
H A DMakefile.template29 IODMACommand.cpo \

Completed in 38 milliseconds