-
- protected:
- virtual void completeDMACommand(IODMACommand *dmaCommand);
- virtual void notifyDMACommand(IODMACommand *dmaCommand, IOReturn status, IOByteCount actualByteCount, AbsoluteTime timeStamp);
-
- public:
- static IODMAEventSource *dmaEventSource(OSObject *owner,
- IOService *provider,
- Action completion = 0,
- Action notification = 0,
- UInt32 dmaIndex = 0);
-
- virtual IOReturn startDMACommand(IODMACommand *dmaCommand, IODirection direction, IOByteCount byteCount = 0, IOByteCount byteOffset = 0);
- virtual IOReturn stopDMACommand(bool flush = false, uint64_t timeout = UINT64_MAX);
-
- virtual IOReturn queryDMACommand(IODMACommand **dmaCommand, IOByteCount *transferCount, bool waitForIdle = false);
-
- virtual IOByteCount getFIFODepth(IODirection direction = kIODirectionNone);
- virtual IOReturn setFIFODepth(IOByteCount depth);
- virtual IOByteCount validFIFODepth(IOByteCount depth, IODirection direction);
-
- virtual IOReturn setFrameSize(UInt8 byteCount);
-
- virtual IOReturn setDMAConfig(UInt32 dmaIndex);
- virtual bool validDMAConfig(UInt32 dmaIndex);
-
- private:
- IOService *dmaProvider;
- IODMAController *dmaController;
- UInt32 dmaIndex;
- queue_head_t dmaCommandsCompleted;
- IOSimpleLock *dmaCommandsCompletedLock;
- Action dmaCompletionAction;
- Action dmaNotificationAction;
- bool dmaSynchBusy;
-
- virtual bool init(OSObject *owner,
- IOService *provider,
- Action completion = 0,
- Action notification = 0,
- UInt32 dmaIndex = 0);
- virtual bool checkForWork(void) APPLE_KEXT_OVERRIDE;
- virtual void free(void) APPLE_KEXT_OVERRIDE;
+
+protected:
+ virtual void completeDMACommand(IODMACommand *dmaCommand);
+ virtual void notifyDMACommand(IODMACommand *dmaCommand, IOReturn status, IOByteCount actualByteCount, AbsoluteTime timeStamp);
+
+public:
+ static IODMAEventSource *dmaEventSource(OSObject *owner,
+ IOService *provider,
+ Action completion = NULL,
+ Action notification = NULL,
+ UInt32 dmaIndex = 0);
+
+ virtual IOReturn startDMACommand(IODMACommand *dmaCommand, IODirection direction, IOByteCount byteCount = 0, IOByteCount byteOffset = 0);
+ virtual IOReturn stopDMACommand(bool flush = false, uint64_t timeout = UINT64_MAX);
+
+ virtual IOReturn queryDMACommand(IODMACommand **dmaCommand, IOByteCount *transferCount, bool waitForIdle = false);
+
+ virtual IOByteCount getFIFODepth(IODirection direction = kIODirectionNone);
+ virtual IOReturn setFIFODepth(IOByteCount depth);
+ virtual IOByteCount validFIFODepth(IOByteCount depth, IODirection direction);
+
+ virtual IOReturn setFrameSize(UInt8 byteCount);
+
+ virtual IOReturn setDMAConfig(UInt32 dmaIndex);
+ virtual bool validDMAConfig(UInt32 dmaIndex);
+
+private:
+ IOService *dmaProvider;
+ IODMAController *dmaController;
+ UInt32 dmaIndex;
+ queue_head_t dmaCommandsCompleted;
+ IOSimpleLock *dmaCommandsCompletedLock;
+ Action dmaCompletionAction;
+ Action dmaNotificationAction;
+ bool dmaSynchBusy;
+
+ virtual bool init(OSObject *owner,
+ IOService *provider,
+ Action completion = NULL,
+ Action notification = NULL,
+ UInt32 dmaIndex = 0);
+ virtual bool checkForWork(void) APPLE_KEXT_OVERRIDE;
+ virtual void free(void) APPLE_KEXT_OVERRIDE;