[PATCH 2/2 v2] dma: ipu_idmac: do not lose valid received data in the irq handler
From: Guennadi Liakhovetski <hidden>
Date: 2011-02-07 16:49:18
Also in:
linux-media
On Mon, 7 Feb 2011, Anatolij Gustschin wrote:
On Mon, 7 Feb 2011 12:35:44 +0100 (CET) Guennadi Liakhovetski [off-list ref] wrote:quoted
On Mon, 7 Feb 2011, Anatolij Gustschin wrote:quoted
On Mon, 7 Feb 2011 12:09:15 +0100 (CET) Guennadi Liakhovetski [off-list ref] wrote: ...quoted
quoted
I can't try mplayer since I don't have mplayer setup for this. But looking at the mplayer source I don't see why it should behave differently. Depending on mode mplayer queues 2 or 6 buffers. Testing with my test app with 6 queued buffers shows no issues, here the buffer numbers toggle correctly, too.Ok, I've done a couple more tests. With larger frames, and, therefore lower fps - yes, with your patch buffers toggle correctly. Whereas in my tests with smaller frames and higher fps either only one buffer is used, or one is used much more often, than the other, e.g., 0 0 0 1 0 0 0 1 0... Could you try to verify? Without your patch with any fps buffers toggle consistently.How small are the frames in you test? What is the highest fps value in your test?QVGA, don't know fps exactly, pretty high, between 20 and 60fps, I think. Just try different frams sizes, go down to 64x48 or something.Testing of 960x243 frames at 30 fps has been done during all my previous tests. I didn't see any issues at 30 fps.
Ok, I've found the reason. Buffer number repeats, when there is an underrun, which is happening in my tests, when frames are arriving quickly enough, but the user-space is not fast enough to process them, e.g., when it is writing them to files over NFS or even just displaying on the LCD. Without your patch these underruns happen just as well, they just don't get recognised, because there's always one buffer delayed, so, the queue is never empty. Dan, please add my Reviewed-(and-tested-)by: Guennadi Liakhovetski [off-list ref] Thanks Guennadi --- Guennadi Liakhovetski, Ph.D. Freelance Open-Source Software Developer http://www.open-technology.de/