HalGetDmaAdapterInfo
NTSTATUS __stdcall HalGetDmaAdapterInfo(_ADAPTER_OBJECT *ChildAdapter, _DMA_ADAPTER_INFO *AdapterInfo){
unsigned int MinimumTransferUnit;
_HALP_DMA_CONTROLLER *DmaController;
MinimumTransferUnit = 1;
if( AdapterInfo->Version > 1 )
return -1073741637;
AdapterInfo->V1.DmaAddressWidth = ChildAdapter->DmaAddressWidth;
if( ChildAdapter->MasterDevice )
{
if( !ChildAdapter->NeedsMapRegisters )
AdapterInfo->V1.Flags = 3;
AdapterInfo->V1.ScatterGatherLimit = -1;
AdapterInfo->V1.ReadDmaCounterAvailable = 0;
}
else
{
DmaController = ChildAdapter->DmaController;
AdapterInfo->V1.ReadDmaCounterAvailable = 1;
AdapterInfo->V1.ScatterGatherLimit = 1;
AdapterInfo->V1.Flags = 0;
MinimumTransferUnit = DmaController->MinimumTransferUnit;
}
AdapterInfo->V1.MinimumTransferUnit = MinimumTransferUnit;
return 0;
}Referenced by:
No references.