ScsiPortIoMapTransfer

VOID ScsiPortIoMapTransfer(HwDeviceExtension, Srb, LogicalAddress, Length)
IN PVOID  HwDeviceExtension;
IN PSCSI_REQUEST_BLOCK  Srb;
IN ULONG  LogicalAddress;
IN ULONG  Length;
 

Sets up the system DMA controller for the miniport driver to transfer data through the HBA.

HwDeviceExtension
Points to the miniport driver's storage for adapter data.
Srb
Point to the SCSI request block for the transfer.
LogicalAddress
Specifies the starting address of the buffer containing the data to be transferred.
Length
Specifies the length of the buffer containing data to be transferred.

ScsiPortIoMapTransfer is called by miniport drivers of HBAs that use the system DMA controller (slave DMA). This function must be called before the host bus adapter is set up to transfer data. The range specified by the LogicalAddress and Length must be within the buffer defined by the Srb.

After the OS-specific port driver has programmed the system DMA controller, the OS-specific port driver calls the HBA miniport driver's HwDmaStarted routine, which should program the HBA to begin the data transfer. Note that the HBA can interrupt between the call to ScsiPortIoMapTransfer and that to the HwDmaStarted routine.

See Also

HwDmaStarted, ScsiPortFlushDma