diff options
author | Jason Chen <b02280@freescale.com> | 2008-04-03 14:45:27 +0800 |
---|---|---|
committer | Daniel Schaeffer <daniel.schaeffer@timesys.com> | 2008-08-25 15:20:58 -0400 |
commit | b5da7fc4ebead9549acd88065e5eeb409da3ca33 (patch) | |
tree | e03a21de1e22efd165049fff530e99513880d783 | |
parent | 469ed783dd7d53f0cad174931036e3a2fb4eade4 (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.c | 7 | ||||
-rwxr-xr-x[-rw-r--r--] | drivers/video/mxc/mxcfb.c | 3 |
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) |