On Tuesday, November 11, 2014 4:35 AM, Ian Abbott wrote:
> On 11/11/14 00:57, H Hartley Sweeten wrote:
>> Currently the DMA buffers are switched before writing the current samples to
>> the async buffer. This works but when the EOA event happens we end up with an
>> outstanding DMA operation in progress that gets terminated by the (*cancel).
>>
>> Avoid the outstanding DMA operation by switching the DMA buffers after 
>> writing
>> the samples. The driver will detect the EOA event and not retart the DMA.
>
> I think the DMA buffer is switched early to try and avoid overruns in 
> the hardware while the other buffer is being processed (by 
> defragment_dma_buffer() and comedi_buf_write_samples()), so this patch 
> is likely to reduce the maximum error-free throughput.
>
> The combination of defragment_dma_buffer() and 
> comedi_buf_write_samples() is a bit inefficient anyway, so perhaps we 
> can drop this patch for now, and do a "no switch needed" test as part of 
> another set of changes.  (I can work on that if you want.)

I'm fine with that.

I assume you are ok with the other 3 patches?

Greg, please drop this patch (4/4).

Thanks,
Hartley

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to