Technical Document #77


Technical Document #77

Doc ID: 77
Product: WinDriver
Version:  --

How do I perform Direct Block transfers from one PCI card to another?

Locate and register both cards (using WD_PciScanCards(), WD_PciGetCardInfo() and WD_CardRegister()).
At least one of the cards must be PCI DMA Master Capable. Program it with the physical address of the Slave card. Obtaining this address is possible by using pciCard.Card.Item[i].I.Mem.dwPhysicalAddr set by WD_PciGetCardInfo() for the slave card.

[Please refer to the WinDriver User's Manual for more information regarding DMA handling and the related APIs. Note that in newer versions of WinDriver WD_DMALock() is described in the WinDriver PCI Low Level API Reference, which is available from the WinDriver/docs/ directory].

A sample of programming the DMA can be found, for example, in the WinDriver PLX library and the samples that use it.

Back to Top
  |  Corporate Index  |