Re: DMA transfer mode selected

On Fri, 12.12.03, David <damachon_at_eresmas.net> wrote:

> Which is the DMA transfer mode selected in comedi? Normal, Continue,
> Ring Buffer, Link Chaining?

I think it depends on the driver for the card (or in this case the driver
for the PCI interface chip).

Quoting mite.c:

- snip mite.c ( mite_prep_dma() )---------------------------------------
/* short link chaining mode */
 chcr = CHCR_SET_DMA_IE| CHCR_LINKSHORT | CHCR_SET_DONE_IE;
/*
 * Link Complete Interrupt: interrupt every time a link
 * in MITE_RING is completed. This can generate a lot of
 * extra interrupts, but right now we update the values
 * of buf_int_ptr and buf_int_count at each interrupt.  A
 * better method is to poll the MITE before each user
 * "read()" to calculate the number of bytes available.
 * mite_bytes_transferred(), mite_bytes_read(), and
 * mite_bytes_in_transit() are provided to get the number
 * of bytes transferred by the mite so far.
 */
 chcr |= CHCR_SET_LC_IE;
- snip mite.c ( mite_prep_dma() )---------------------------------------


So unless i am mistaken, the card generates one interrupt per link (of
PAGE_SIZE bytes, 4096 on i386).

cheers,

Nils

Received on 2003-12-12Z13:09:31