SCSI Miniport Data Transfer Restrictions for IDE Controllers (134908)



The information in this article applies to:

  • Microsoft Win32 Device Driver Kit (DDK) for Windows NT 3.1
  • Microsoft Win32 Device Driver Kit (DDK) for Windows NT 3.5
  • Microsoft Win32 Device Driver Kit (DDK) for Windows NT 3.51
  • Microsoft Win32 Device Driver Kit (DDK) for Windows NT 4.0

This article was previously published under Q134908

SUMMARY

The current implementation for SCSI miniports does not allow an IDE controller to transfer both PIO and busmaster DMA intermixed on a single channel. The miniport must either do PIO or busmaster DMA on a channel, not a mix of the two transfer methods. Note that one channel may be set up to do only PIO transfers, while a second channel may be set up to do only busmaster DMA.

MORE INFORMATION

During the HwScsiFindAdapter routine, the miniport should determine the devices connected to the channel. If there is one PIO device and one DMA device connected, the miniport must only do PIO transfers and change the PORT_CONFIGURATION_STRUCTURE so Master is TRUE and NeedPhysicalAddresses is FALSE.

If both devices on the channel are the same, the miniport must adjust the PORT_CONFIGURATION_STRUCTURE to indicate only PIO or busmaster DMA by setting appropriate values in MapBuffers, Master, and NeedPhysicalAddresses.

The SCSI miniport driver model should not be used for IDE controllers in Windows 2000/XP, instead the MiniIDE model should be used. Please refer to KB article Q251376 for further information.

Modification Type:MinorLast Reviewed:5/24/2004
Keywords:KB134908