- From: Nils Juergens <ju_at_isf.rwth-aachen.de>
- Date: Fri, 12 Dec 2003 14:09:31 +0100
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