Dear List,
we currently trying to catch the problem that we get an arbitrary sized buffer supplied from userspace.
We have to do a DMA transfer with that buffer.
The user land interface is fixed, so we have to work with what we get.
We have to use IODMACommand to ensure 64 Bit compatibility. To get the segments from the IODMACommand we have to prepare the whole memory descriptor.
It appears our pci device preferres page sized chunks of wich we can send 64 in one transfer. So we like prepare only these 64 pages for each transfer.
I know references to linux source are somewhat shunned, but pci_map_page does this exactly. We want to avoid to prepare the entire memory range, because wireing down 200mb seams not to be a good idea.
Thank you
Best regards Jürgen
|