Re: DMA transfer mode selected

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

That is correct.  The MITE is in Link Chaining Mode and generates one
interrupt for every link completeted.  You could turn off this interrupt by
deleting the line "chcr |= CHCR_SET_LC_IE;", but I'm not sure how the rest
of the driver will respond if the ISR is never called.

Tim Ousley




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


_______________________________________________
comedi mailing list
comedi_at_comedi.org
https://cvs.comedi.org/cgi-bin/mailman/listinfo/comedi

Received on 2003-12-12Z16:18:18