diff options
author | Jason Chen <b02280@freescale.com> | 2010-04-13 15:00:13 +0800 |
---|---|---|
committer | Jason Chen <b02280@freescale.com> | 2010-04-14 10:10:31 +0800 |
commit | 61555a1dd1989592076bc4e8f685246772010569 (patch) | |
tree | caddca6d561a3372a7cc09c6a31ceff4b7dc4870 /drivers | |
parent | 468fa5e54c8e3010d6b5b6f4d08fad0481934e97 (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>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/media/video/mxc/output/mxc_v4l2_output.c | 15 |
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); |