ni6052e comedi_poll()

My goal is to achieve streaming analog in with minimal latency.  Right 
now I achieve this with a non-blocking read() and if no data was read 
then call a comedi_poll() to flush the card's buffer and read again.  
This process is encapsulated in a loop.  The problem is comedi_poll() 
doesn't work with DMA enabled and I must wait until the FIFO (is it a 
hardware or a software FIFO?) is filled.  This results in a large chunk 
of data being sent at once, and at a low sampling rate the latency 
becomes quite high.  I can use the stated method without DMA, but the 
cpu usage rockets to 100% and the computer can't keep up with high 
sampling rates.  So my question is, "can does DMA work with 
comedi_poll(), or is there another way of streaming with comedi?"

Received on 2003-11-20Z21:24:41