[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: What is scatter/ gather. I am making a frame grabber with DMA.
Daniel,
To continue on Drews explanation, most PCI bridges with DMA controllers
support scatter/gather transfers. Typically they use a linked link of
discriptors in which the DMA controller will traverse. Each descriptor will
tell the controller the location of each 4K buffer to transfer to/from on
both sides of the bridge. When completed, the descriptor will contain a
link to the next descriptor. This processes continues until the DMA
controller reaches an "end of transfer" descriptor. This mechanism allows
the DMA controller to access these discontiguous memory allocations as if it
were contiguous to the local bus.
Irv
-----Original Message-----
From: Drew Eckhardt [mailto:drew@PoohSticks.ORG]
Sent: Saturday, May 18, 2002 6:26 PM
To: Support@PixelSmart.com
Cc: pci-sig@znyx.com
Subject: Re: What is scatter/ gather. I am making a frame grabber with
DMA.
In message <008a01c1fde8$0c00bee0$4c65fea9@dan>, support@pixelsmart.com
writes:
>I am making a frame grabber with DMA. I assumed I could write 256K to =
>one contiguous address. Then I leared a little bit about scatter gather. =
>What is it and how does it limit my 256K image capture ?
During normal operation, modern operating systems allocate memory on page
(almost always 4K) boundaries. If you want to DMA directly into this memory
(which may be mapped contiguously within a processes' address space) rather
than into a contiguous buffer allocated on startup which then gets copied
as necessary you need to be able to accomodate DMAs into discontigous
memory locations.