RE: Isochronous transmission via OHCI
Brought to you by:
aeb,
bencollins
From: Gord P. <Gor...@sm...> - 2001-02-21 20:46:00
|
Yes, that's more likely the culprit than the gap count. I always tend to attempt the most difficult solution first. ;) Gord > -----Original Message----- > From: Mark Knecht [mailto:mk...@co...] > Sent: Wednesday, February 21, 2001 2:40 PM > To: Ken Offer; Gord Peters > Cc: Chris Norris; Patrice NEZOU; lin...@li... > Subject: RE: Isochronous transmission via OHCI > > > Kenneth, > What packet size are you transferring when you get 4.1MB/second? 512 > bytes per chance? > > (4.1MB/S) / (8000 cycles/S) = 512 Bytes / Cycle > > It just seemed too accurate for me to pass up asking... > > Just checking that it isn't the amount of data you want to send that's > limiting how much bandwidth you see yourself using... > > Mark > > -----Original Message----- > From: Ken Offer [mailto:ko...@ar...] > Sent: Wednesday, February 21, 2001 11:09 AM > To: Gord Peters > Cc: Chris Norris; Patrice NEZOU; lin...@li... > Subject: Re: Isochronous transmission via OHCI > > > 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. > > _______________________________________________ > mailing list lin...@li... > http://lists.sourceforge.net/lists/listinfo/linux1394-devel > |