diff options
author | Jason Chen <b02280@freescale.com> | 2010-07-21 16:15:45 +0800 |
---|---|---|
committer | Justin Waters <justin.waters@timesys.com> | 2010-12-17 12:10:54 -0500 |
commit | 0d3d728e32c8f9101c551fd27ef21ec8ac98a792 (patch) | |
tree | 9593ef2aefe3d3320c83cb587a835ca67449c901 | |
parent | 40d1ad75f374e509d48f967f6f25ed0aba79da78 (diff) |
ENGR00125374 v4l2 output: work-around VDI NFB4EOF error
If set both double buffer ready for VDI case, there will come out
NFB4EOF error.
Signed-off-by: Jason Chen <b02280@freescale.com>
(cherry picked from commit 24c1d799767732a7d654c1acd526c63acbe397fe)
-rw-r--r-- | drivers/media/video/mxc/output/mxc_v4l2_output.c | 8 |
1 files changed, 8 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 cdaade4d81a0..7eda128100f9 100644 --- a/drivers/media/video/mxc/output/mxc_v4l2_output.c +++ b/drivers/media/video/mxc/output/mxc_v4l2_output.c @@ -426,6 +426,14 @@ static void mxc_v4l2out_timer_handler(unsigned long arg) goto exit0; } + /* VDI need both buffer done before update buffer? */ + if (INTERLACED_CONTENT(vout) && + (vout->ipu_buf[!vout->next_rdy_ipu_buf] != -1)) { + dev_dbg(&vout->video_dev->dev, "IPU buffer busy\n"); + vout->state = STATE_STREAM_PAUSED; + goto exit0; + } + /* Handle ic bypass mode in work queue */ if (vout->ic_bypass) { if (queue_work(vout->v4l_wq, &vout->timer_work) == 0) { |