]> git.karo-electronics.de Git - karo-tx-linux.git/commit
ENGR00223797-4 IPUv3 fb:Support framebuffer late init
authorLiu Ying <Ying.liu@freescale.com>
Tue, 11 Sep 2012 10:10:11 +0000 (18:10 +0800)
committerLothar Waßmann <LW@KARO-electronics.de>
Fri, 24 May 2013 06:35:28 +0000 (08:35 +0200)
commit3eadf702258ad66094debd1d0122d628d788472b
tree82e01349dec07e456df44cf8b94293bd57f1ce7c
parent3c984dadfd2d8032c38b41e3fa3a64e07acc7f00
ENGR00223797-4 IPUv3 fb:Support framebuffer late init

This patch adds late init support in IPUv3 fb driver
to avoid IPUv3 fb being re-initialized during probe if
a platform supports smooth transition from bootloader
splashimage to system UI. The re-initialization will
be delayed to the first time the user triggers
mxcfb_set_par() and unblank the framebuffer.
The following items are done to support this:
1) Move global alpha and color key setting in probe
   after framebuffer is registered(before registering
   we enable IPU hsp clock), because the 2 APIs enable
   and disable IPU hsp clock which may cause IPU stops
   running in ipuv3 fb probe function.
2) Do not clear framebuffer content in probe function
   if late init is set. This is to avoid bootloader
   splashimage content is cleared.
3) If late init is set, do not re-initialize and
   unblank framebuffer in probe function, but initialize
   and enable ipu display channel instead to enable
   the ipu hsp clock. Refer to the code comment for
   detail.
4) Delay register IPU interrupts used by framebuffer
   until IPU hsp clock is enabled by 3). As the APIs
   to register IPU interrupts may enable and disable
   IPU hsp clock as well.

Signed-off-by: Liu Ying <Ying.Liu@freescale.com>
(cherry picked from commit 926a6187d89afb5a37dc3b1f3c7bc5225742d09b)
drivers/video/mxc/mxc_ipuv3_fb.c