summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Chen <b02280@freescale.com>2010-04-13 15:00:13 +0800
committerJason Chen <b02280@freescale.com>2010-04-14 10:10:31 +0800
commit61555a1dd1989592076bc4e8f685246772010569 (patch)
treecaddca6d561a3372a7cc09c6a31ceff4b7dc4870
parent468fa5e54c8e3010d6b5b6f4d08fad0481934e97 (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>
-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);