Re: Problems with the NI PCI-6110

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

Received on 2005-01-08Z18:06:03