summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Chen <b02280@freescale.com>2010-07-21 16:15:45 +0800
committerJustin Waters <justin.waters@timesys.com>2010-12-17 12:10:54 -0500
commit0d3d728e32c8f9101c551fd27ef21ec8ac98a792 (patch)
tree9593ef2aefe3d3320c83cb587a835ca67449c901
parent40d1ad75f374e509d48f967f6f25ed0aba79da78 (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.c8
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) {