Hi,
I am developing a driver on ix86 for a bus master PCI device having 4
blocks capable of transferring data to and from PC independently. I
wanted to use multiple channels of the DMAC( IP_9007)
simultaneously(i.e. in alternate time interval) so that I can get better
performance as a whole. How shall I use WDM interface to achieve that?
- Should I call IoGetDmaAdapter once for each block? Otherwise, maximum
number of usable Map registers will be very limited.
- While programming DMAC, I need to place 32 bit source and destination
addreesses in registers. I guess, I have to extract address in PC
from the return
value of MapTransfer call which is a PHYSICAL_ADDRESS structure.
How
should I extract it? Is it that, I need to assign the Lowpart field
of the structure
to the register?
Regards,
Girish