Re: continuous DMA broken (ni_mio_common: buffer overflow) in comedi-cvs

On Sat, 19 Oct 2002, David Schleef wrote:

> Continuous DMA works fine.  However, it won't work with your hack.
> 
> The best way to do it is to run the command, then access the buffer
> pointer using comedi_mmap() and the read buffer offsets using
> comedi_get_buf_head_pos() and comedi_set_user_int_count().

OK, but even if I do not use the hack with substituting my buffers and use
comedi_mmap() and then I do not call comedi_get_buf_head_pos() and
comedi_set_user_int_count() for the time longer than the length of the
buffer, it will overflow?

Why I can not just set up the transfer and then peek into the buffer from
time to time when(if) I wish? When the DMA ring is circular there is no
need for any interrupts at all. I know you will say "register the callback
and just do there comedi_set_user_int_count()", but these are precious
microseconds! Why Comedi driver can not just configure and start the card
and get out of my way?

Best regards,
--
Tomek

P.S. How did you like my linux 2.2 patch? 

Received on 2002-10-20Z07:41:56