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

Reply via email to