mx3fb: avoid screen flash when panning with fb_set_var
authorLiu Ying <Ying.Liu@freescale.com>
Mon, 11 Jun 2012 01:06:50 +0000 (09:06 +0800)
committerFlorian Tobias Schandinat <FlorianSchandinat@gmx.de>
Wed, 27 Jun 2012 06:59:51 +0000 (06:59 +0000)
commit41a490ec019fd172f5d0356e01d8101b4708aee2
tree2606c9b27ebc79f17446405f362af8035ff0b982
parent6cd77e00c00c5da3b6f8546dcb6dfac9611ca10b
mx3fb: avoid screen flash when panning with fb_set_var

Users may call FBIOPUT_VSCREENINFO ioctrl to do pan display.
This ioctrl relies on fb_set_var() to do the job. fb_set_var()
calls custom fb_set_par() method and then calls custom
fb_pan_display() method. The current implementation of mx3fb
reinitializes IPU display controller every time the custom
fb_set_par() method is called, which makes the screen flash
if fb_set_var() is called to do panning frequently. This patch
compares the new var info with the cached old one to decide
whether we really need to reinitialize IPU display controller.
We ignore xoffset and yoffset update because it doesn't require
to reinitialize the controller. Users may specify activate field
of var info with FB_ACTIVATE_NOW and FB_ACTIVATE_FORCE to
reinialize the controller by force.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
Signed-off-by: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
drivers/video/mx3fb.c