GetDMACommand
Method to retrieve a pointer to an IODMACommand from the request.
Declaration
IODMACommand * GetDMACommand (
SCSIParallelTaskIdentifierparallelTask );Parameters
- parallelTask:
A valid SCSIParallelTaskIdentifier.
Return Value
returns pointer to an IODMACommand which is used in conjunction with the task.
Overview
For devices utilizing DMA, the IODMACommand object should be obtained via GetDMACommand(). The subclass is responsible for calling prepare() on the IODMACommand object using the proper offset obtained via GetDataBufferOffset() and correct size obtained via GetRequestedDataTransferCount(). The subclass is further responsible for calling complete() on the IODMACommand object once all DMA operations have finished. NB: Subclasses should not call IODMACommand::setMemoryDescriptor().
See Also
Miscellaneous
CompleteParallelTaskCreateDeviceInterruptCreateTargetForID(SCSIDeviceIdentifier)CreateTargetForID(SCSIDeviceIdentifier, OSDictionary *)DestroyTargetForIDDisableInterruptDoesHBAPerformAutoSenseDoesHBAPerformDeviceManagementDoesHBASupportMultiPathingDoesHBASupportSCSIParallelFeatureEnableInterruptExecuteParallelTaskFilterInterruptRequestFindTaskForAddressFindTaskForControllerIdentifierFreeSCSIParallelTaskGetAutoSenseDataGetAutoSenseDataSizeGetCommandDescriptorBlockGetCommandDescriptorBlockSizeGetCommandGateGetDataBufferGetDataBufferOffsetGetDataTransferDirectionGetHBADataDescriptorGetHBADataPointerGetHBADataSizeGetHBATargetDataPointerGetHBATargetDataSizeGetLogicalUnitBytesGetLogicalUnitNumberGetProviderGetRealizedDataTransferCountGetRequestedDataTransferCountGetSCSIDomainIdentifierGetSCSIParallelFeatureNegotiationGetSCSIParallelFeatureNegotiationCountGetSCSIParallelFeatureNegotiationResultGetSCSIParallelFeatureNegotiationResultCountGetSCSIParallelTaskGetSCSITaskIdentifierGetTaggedTaskIdentifierGetTargetForIDGetTargetIdentifierGetTaskAttributeGetTimeoutDurationGetWorkLoopHandleInterruptRequestHandleTimeoutIncrementRealizedDataTransferCountInitializeControllerInitializeDMASpecificationInitializeTargetForIDNotifyClientsOfBusResetNotifyClientsOfPortStatusChangeProcessParallelTaskRemoveHBAPropertyRemoveTargetPropertyReportHBAConstraintsReportHBAHighestLogicalUnitNumberReportHBASpecificDeviceDataSizeReportHBASpecificTaskDataSizeReportHighestSupportedDeviceIDReportInitiatorIdentifierReportMaximumTaskCountResumeServicesSetAutoSenseDataSetControllerTaskIdentifierSetHBAPropertySetRealizedDataTransferCountSetSCSIParallelFeatureNegotiationResultSetTargetPropertySetTimeoutForTaskSignalInterruptStartControllerStopControllerSuspendServicesTerminateController