summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Chen <b02280@freescale.com>2008-04-03 14:45:27 +0800
committerDaniel Schaeffer <daniel.schaeffer@timesys.com>2008-08-25 15:20:58 -0400
commitb5da7fc4ebead9549acd88065e5eeb409da3ca33 (patch)
treee03a21de1e22efd165049fff530e99513880d783
parent469ed783dd7d53f0cad174931036e3a2fb4eade4 (diff)
ENGR00071106 V4L output last frame remain issue
Last frame will remain in FG after steamoff. Signed-off-by: Jason Chen <b02280@freescale.com>
-rwxr-xr-x[-rw-r--r--]drivers/media/video/mxc/output/mxc_v4l2_output.c7
-rwxr-xr-x[-rw-r--r--]drivers/video/mxc/mxcfb.c3
2 files changed, 10 insertions, 0 deletions
diff --git a/drivers/media/video/mxc/output/mxc_v4l2_output.c b/drivers/media/video/mxc/output/mxc_v4l2_output.c
index 9e9809cc3c5d..38e7e60faea4 100644..100755
--- a/drivers/media/video/mxc/output/mxc_v4l2_output.c
+++ b/drivers/media/video/mxc/output/mxc_v4l2_output.c
@@ -800,6 +800,13 @@ static int mxc_v4l2out_streamoff(vout_data * vout)
} else {
fbi->var.activate |= FB_ACTIVATE_FORCE;
fb_set_var(fbi, &fbi->var);
+
+ if (vout->display_ch == MEM_FG_SYNC) {
+ acquire_console_sem();
+ fb_blank(fbi, FB_BLANK_POWERDOWN);
+ release_console_sem();
+ }
+
vout->display_bufs[0] = 0;
vout->display_bufs[1] = 0;
}
diff --git a/drivers/video/mxc/mxcfb.c b/drivers/video/mxc/mxcfb.c
index a1c5d634d45c..17fd31281d04 100644..100755
--- a/drivers/video/mxc/mxcfb.c
+++ b/drivers/video/mxc/mxcfb.c
@@ -202,6 +202,9 @@ static int mxcfb_set_par(struct fb_info *fbi)
ipu_init_channel(mxc_fbi->ipu_ch, NULL);
+ /* Clear the screen */
+ memset((char *)fbi->screen_base, 0, fbi->fix.smem_len);
+
if (mxc_fbi->ipu_ch == MEM_SDC_BG) {
memset(&sig_cfg, 0, sizeof(sig_cfg));
if (fbi->var.sync & FB_SYNC_HOR_HIGH_ACT)