From c05e906ed9214af9fe2186e741c28c0b747a2f22 Mon Sep 17 00:00:00 2001 From: Jason Chen Date: Tue, 13 Apr 2010 15:00:13 +0800 Subject: 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 Signed-off-by: Alejandro Gonzalez --- drivers/media/video/mxc/output/mxc_v4l2_output.c | 15 +++++++-------- 1 file 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); -- cgit v1.2.3