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.