Contigous memory and dma transfer

I am writing a pci wdm driver that communicate with pci and transfer data using dma transfer as a master (the pci card has dma chip on it)
I have writen primary driver that transfer a little ammount of data (not exceeded one page of memory) by direct communication with the dma chip and it works successfully. But when the data become larger than the one page of memory the problem of contigous memory appears.
so I need a method to force the memory to be contigouse.
note: The buffers where the data must be transfered must come from the application ( speed issue - no copymemoy).


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com

xxxxx@yahoo.com said:

But when the data become larger than the one page of memory the
problem of contigous memory appears.

xxxxx@yahoo.com said:

The buffers where the data must be transfered must come from the
application ( speed issue - no copymemoy)

If your hardware can do scatter-gather, use that. Otherwise, you are
stuck with little transfers or big copies.

Steve Williams “The woods are lovely, dark and deep.
xxxxx@icarus.com But I have promises to keep,
xxxxx@picturel.com and lines to code before I sleep,
http://www.picturel.com And lines to code before I sleep.”


You are currently subscribed to ntdev as: $subst(‘Recip.EmailAddr’)
To unsubscribe send a blank email to leave-ntdev-$subst(‘Recip.MemberIDChar’)@lists.osr.com