- From: Frank Mori Hess <fmhess_at_users.sourceforge.net>
- Date: Sat, 8 Jan 2005 13:06:03 -0500
That's the opposite of what I said. A read() can't underrun comedi's kernel buffer, it will just block (or return -EAGAIN) until data is available. You could probably underrun the buffer with comedi_mark_buffer_read(), but you shouldn't be calling that at all if you are using read(). On Monday 03 January 2005 03:13 pm, Doug Farley wrote: > I figured my code was reading quicker than the card can dump to dma’d > space. So I assume the solution would be to slow down my reading to > under the speed of the DMA transfer from the card. From my reading its > seems the mMITE handles the DMA operations, but I know the available > data on the MITE/mMITE is small. Does anyone have numbers as to how > fast the mMITE can write back to DMA’d space? Or alternatively is there > a way to determine the speed/timing at which the card is trying to write > back at? > If I can determine the speed/timing of the writeback to DMA, what is the > best comedi-friendly method to slow down my read()’s as to not overrun > the dma buffer? Comedi_udelay()? > > Doug > > Frank Mori Hess wrote: > >Your program still has to read() the data from comedi's kernel buffer > >faster (on average) than the card is dma'ing it into the buffer. > > > >- -- > >Frank -- Frank
Attachments
- application/pgp-signature attachment: stored
Received on 2005-01-08Z18:06:03