Hi. I have a custom PCI card that provides radar video, and supports up to 4 logical output channels. That is, the incoming radar video is processed according to the demands of 1 to 4 channel configurations. The card divides a 360 degree antenna sweep into 4096 slices, and raises an interrupt for each slice. My driver must build a DMA chain to copy the video into each client buffer. (This is an exclusive device so only one process will be the client for all 4 channels.)
As you can see, I can have 1 to 4 separate transfers from the board’s local space into 1 to 4 separate buffers in user memory. I’d like to build one great honkin’ DMA chain to do all at once, since all data is available at the same instant, and I have to get it befor the next interrupt. But I can’t do this using a single GetScatterGatherList that I know and have come to love.
After searching this list, I find that Peter and Mark indicate (http://www.osronline.com/lists_archive/ntdev/thread5762.html) that I can get multiple DMA adapters for my single device. Is this truly so? If so, could I get one DMA adapter for each channel, call GetScatterGatherList for each channel, and then combine their SG lists into one DMA chain? Or is this bad? Does this scale to, say, 8 channels?
Any other suggestions? Thanks.
john.
Sent via the WebMail system at mail.nexet.net