diff options
author | Jason Chen <b02280@freescale.com> | 2010-04-13 15:00:13 +0800 |
---|---|---|
committer | Alejandro Gonzalez <alex.gonzalez@digi.com> | 2010-05-25 11:20:23 +0200 |
commit | c05e906ed9214af9fe2186e741c28c0b747a2f22 (patch) | |
tree | ebe01d4e560971c1964139c8d636a76757fed1ad /drivers/media/video/mxc | |
parent | fde1456cbb30d74cc5242f8ca1916df1399c0311 (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/media/video/mxc')
-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); |