From mboxrd@z Thu Jan 1 00:00:00 1970 From: Florian Tobias Schandinat Date: Sun, 29 Jul 2012 21:06:41 +0000 Subject: Re: [PATCH RESEND] video: da8xx-fb: fix flicker due to 1 frame delay in updated frame Message-Id: <5015A5E1.90106@gmx.de> List-Id: References: <1342625516-7185-1-git-send-email-prakash.pm@ti.com> In-Reply-To: <1342625516-7185-1-git-send-email-prakash.pm@ti.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: linux-fbdev@vger.kernel.org On 07/18/2012 03:31 PM, Manjunathappa, Prakash wrote: > Flicker/tearing effect is observed with current FB driver. > Issue is because of 2 active DMA channels ping ponging among them > along with usage of 2 DDR ping pong buffers in driver. Application > unaware of active DMA channel keeps updating frame being displayed, > this leads to tearing effect. > Below steps describes the issue: > 1)Initially assume both buffers FB0 and FB1 are programmed for buffer-0. > 2)On EOF0: Program FB0 for buffer-1, indicate(wake up) application > to fill up buffer-0. As FB1 is active and continues to DMA buffer-0 > (which is being filled), leading to tearing/flickering issue. > 3)On EOF1: Program FB1 for buffer-0, indicate(wake up) application to > fill up buffer-1. As FB0 is active and continues to DMA buffer-1(which > is being filled), leading to tearing/flickering issue. > 4)On EOF0: Program FB0 for buffer-1, indicate(wake up) application to > fill up buffer-0. As FB1 is active and continues to DMA buffer-0(which is > being filled), leading to tearing/flickering issue. > ... > Above steps depict that issue is because of 1 frame delay in frame > panned by application. > > Patch fixes the issue by keeping track free DMA channel and configures > it in drivers PAN callback so that panned frame from application gets > displayed in next frame period. > > Wiki below describes the issue in detail and it also has link to > application with which issue can be reproduced. > http://processors.wiki.ti.com/index.php/DA8xx_LCDC_Linux_FB_FAQs > > Signed-off-by: Nellutla, Aditya > Signed-off-by: Manjunathappa, Prakash Applied. Thanks, Florian Tobias Schandinat > --- > Resending as my earlier patch seems like not reached fbdev mailing list. > > drivers/video/da8xx-fb.c | 30 ++++++++++++++++++++++++++++++ > 1 files changed, 30 insertions(+), 0 deletions(-) > > diff --git a/drivers/video/da8xx-fb.c b/drivers/video/da8xx-fb.c > index e9d2f6e..183366d 100644 > --- a/drivers/video/da8xx-fb.c > +++ b/drivers/video/da8xx-fb.c > @@ -30,6 +30,7 @@ > #include > #include > #include > +#include > #include > #include