]> git.karo-electronics.de Git - karo-tx-linux.git/commit
ENGR00220734 IPUv3 fb:Rewind eof irq sync mechanism back
authorLiu Ying <Ying.Liu@freescale.com>
Mon, 20 Aug 2012 05:59:40 +0000 (13:59 +0800)
committerLothar Waßmann <LW@KARO-electronics.de>
Fri, 24 May 2013 06:35:16 +0000 (08:35 +0200)
commit46f95bd9a7bd53a808a500973f30a86b952dfb9c
tree17aff35e7464b5f96a08d879f63cf420055adde0
parent5e41c9295387578840593cff7432052c20d28f34
ENGR00220734 IPUv3 fb:Rewind eof irq sync mechanism back

This patch changes to use original sync mechanism for eof
irq, which may improve pan-display or alpha buffer update
performance.
1) Initialize flip_completion and alpha_flip_completion
only once when fb is initialized instead of initializing
it every time when pan display is called.
2) Clear and enable eof irq after selecting buffer ready.
In this way, we have no chance to lose an interrupt, as
selecting a new buffer ready doesn't make the eof irq
come(from the newly selected buffer) before we clear the irq
status and enable the irq. Otherwise, if we clear the irq
status and enable the irq before we doing down in pan-display
or alpha buffer update, we have chance(users call pan-display or
alpha buffer update faster than vsync frequency and blocks at
down()) to clear an unhandled irq, which may cause performance
issue.

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