Re: Isochronous transmission via OHCI
Brought to you by:
aeb,
bencollins
From: Ken O. <ko...@ar...> - 2001-02-21 19:09:43
|
Gord Peters wrote: > Of course, video1394 will likely be better for slower computers since it > directly maps a chunk of memory from the appliction into the kernel > (avoiding memory copies between the kernel and the application) and uses > that for it's isochronous data (application feeds iso data into the mmap()ed > memory and driver reads data from this memory). Whereas libraw1394 copies > data on a per packet basis (incurring performance hits in both memory copies > and extra function calls to send data on a packet by packet basis). That was my thinking as well. The DMA attribute is particularly attractive for high-data-rate applications. We're trying to drink from a fire-hose (or is that a fire-wire-fire-hose?) ;) Currently I'm getting a lowly transfer rate of 4.1 MBytes/sec using my hacked-up telemetry driver (clone o' video1394). I'm guessing its because I need to nuke some synchronization bit somewhere or convince the driver to take up more bandwidth on the bus. In the routine initialize_dma_it_prg, I found the following line: it_prg[i].data[0] = (DMA_SPEED_100 << 16) | (/* tag */ 1 << 14) | (d->channel << 8) | (TCODE_ISO_DATA << 4); I changed the DMA_SPEED_100 to DMA_SPEED_400, but I didn't see any change in performance. I also tried commenting out the following line: if (i==0) it_prg[i].data[0] |= sync_tag; But that stopped data transmission altogether. I gather I need to do more groking... :( -- ______________________________________________________________ Kenneth Ray Offer, II Sr. Systems Analyst Applied Research Laboratories/SDD University of Texas at Austin Office (512) 835-3859 FAX (512) 835-3259 Any opinions expressed above are mine and not necessarily those of my employer. |