summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorJason Chen <b02280@freescale.com>2010-04-13 15:00:13 +0800
committerAlejandro Gonzalez <alex.gonzalez@digi.com>2010-05-25 11:20:23 +0200
commitc05e906ed9214af9fe2186e741c28c0b747a2f22 (patch)
treeebe01d4e560971c1964139c8d636a76757fed1ad /drivers
parentfde1456cbb30d74cc5242f8ca1916df1399c0311 (diff)
ENGR00122043 v4l2 output: enable fb channel before buf select
Enable fb display channel before buffer select, it avoid display frame lost for small windows between timming of buffer select and channel enalbe. Signed-off-by: Jason Chen <b02280@freescale.com> Signed-off-by: Alejandro Gonzalez <alex.gonzalez@digi.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/media/video/mxc/output/mxc_v4l2_output.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/drivers/media/video/mxc/output/mxc_v4l2_output.c b/drivers/media/video/mxc/output/mxc_v4l2_output.c
index 41bfaa6b7789..4c794ab4b3c2 100644
--- a/drivers/media/video/mxc/output/mxc_v4l2_output.c
+++ b/drivers/media/video/mxc/output/mxc_v4l2_output.c
@@ -1441,6 +1441,13 @@ static int mxc_v4l2out_streamon(vout_data * vout)
vout->state = STATE_STREAM_PAUSED;
if (use_direct_adc == false) {
+ if (fbi) {
+ acquire_console_sem();
+ fb_blank(fbi, FB_BLANK_UNBLANK);
+ release_console_sem();
+ } else {
+ ipu_enable_channel(vout->display_ch);
+ }
if (!vout->ic_bypass) {
#ifndef CONFIG_MXC_IPU_V1
ipu_enable_channel(vout->post_proc_ch);
@@ -1472,14 +1479,6 @@ static int mxc_v4l2out_streamon(vout_data * vout)
ipu_select_buffer(vout->display_ch, IPU_INPUT_BUFFER, 1);
schedule_work(&vout->timer_work);
}
-
- if (fbi) {
- acquire_console_sem();
- fb_blank(fbi, FB_BLANK_UNBLANK);
- release_console_sem();
- } else {
- ipu_enable_channel(vout->display_ch);
- }
} else {
ipu_select_buffer(vout->post_proc_ch, IPU_INPUT_BUFFER, 0);
ipu_select_buffer(vout->post_proc_ch, IPU_INPUT_BUFFER, 1);