バス マスター DMA の使用
バスマスター DMA デバイスのドライバーは、次の種類のシステム提供 DMA サポートを使用できます。
パケットベースの DMA。これは、バスマスター アダプターが、DMA 転送動作の終了タイミング、または、所定の IRP に対して別の転送動作を開始するタイミングをドライバーが判断できる場合に使用できます。 詳細については、「パケットベースのバスマスター DMA の使用」を参照してください。
共通バッファー DMA (継続的 DMA とも呼ばれます)。これは、バスマスター アダプターが、転送動作の開始タイミング、転送が完了するタイミングをドライバが容易に判断する方法を提供していない場合、または、単一のバッファ領域が DMA 転送のために連続的または繰り返し使用される場合に使用できます。 詳細については、「共通バッファ バスマスター DMA の使用」を参照してください 。
バスマスター アダプターの性質に応じて、パケット ベースの DMA のみを使用するドライバーもあれば、共通バッファー DMA のみを使用するドライバーもあり、また、両方を使用するドライバーもあります。 たとえば、メールボックス スキームを使用して状態情報とコマンドを通信するバスマスター アダプターのドライバーでは、ドライバーとそのアダプターの間で共有されるメールボックスの共通バッファーと、データ転送用のパケット ベースの DMA を使用する場合があります。