]> 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)
committerOliver Wendt <ow@karo-electronics.de>
Mon, 30 Sep 2013 12:12:47 +0000 (14:12 +0200)
commit882a0c191feb444a4fb4584948814d5934ef5c65
tree17aff35e7464b5f96a08d879f63cf420055adde0
parent0e59f053a6ef50bb96245413fc99d9b5ce081d16
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