On Saturday 28 July 2007 12:35, Hans Verkuil wrote: > On Friday 27 July 2007 16:00, Mark Bryars wrote: > > I already posted this patch yesterday but it was a hand crafted > > patch, so I'm resubmitting it properly with my latest results: > > > > Attached is the patch against 2.6.22.1 sources which I have been > > testing against 13 WinTV PVR-150 cards and 1 WinTV PVR-500, over > > the last 26 hours I have had no DMA TIMEOUTs, when normally I would > > have had 6 or 7. > > > > In my testing the cards also recover from a DMA TIMEOUT if you > > provoke one setting a stupidly low latency. > > > > You may also need Hans's VBI/PCM patch that is attached for > > convenience. > > > > Please report back on any successes/failures/side effects of this > > fix to the list. > > > > Regards, > > Mark Bryars > > Thanks for your work on this. I never made the relationship between > DMA size and DMA TIMEOUTs. > > A very quick test yesterday suggested that this might indeed be the > cause of the problems. What I want to figure out today is whether the > gather-scatter DMA is indeed the problem and if replacing it with > multiple 'simple' DMA calls will also fix the problem. > > The reason is that allocating large buffers increases the chance that > the buffer allocations will fail. Kernel allocation of large buffers > is not recommended. Also, if the bitrate is increased to the maximum > then a buffer size of 0x20000 is probably not sufficient either.
Preliminary results strongly suggest that it is indeed scatter/gather DMA that the card's DMA engine chokes on. If I handle this from within the driver as multiple single DMA transfers then everything seems to work. Mark, very nice work! I never linked the large DMA transfers with the DMA timeouts. Thanks, Hans _______________________________________________ ivtv-devel mailing list ivtv-devel@ivtvdriver.org http://ivtvdriver.org/mailman/listinfo/ivtv-devel