OSDN Git Service

[media] exynos-gsc, m2m-deinterlace, mx2_emmaprp: Copy v4l2_buffer data from src...
authorSakari Ailus <sakari.ailus@iki.fi>
Sat, 8 Feb 2014 16:37:59 +0000 (13:37 -0300)
committerMauro Carvalho Chehab <m.chehab@samsung.com>
Wed, 5 Mar 2014 19:45:58 +0000 (16:45 -0300)
The timestamp and timecode fields were copied from destination to source,
not the other way around as they should. Fix it.

Signed-off-by: Sakari Ailus <sakari.ailus@iki.fi>
Acked-by: Kamil Debski <k.debski@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
drivers/media/platform/exynos-gsc/gsc-m2m.c
drivers/media/platform/m2m-deinterlace.c
drivers/media/platform/mx2_emmaprp.c

index 6741025..3a842ee 100644 (file)
@@ -88,8 +88,8 @@ void gsc_m2m_job_finish(struct gsc_ctx *ctx, int vb_state)
        dst_vb = v4l2_m2m_dst_buf_remove(ctx->m2m_ctx);
 
        if (src_vb && dst_vb) {
-               src_vb->v4l2_buf.timestamp = dst_vb->v4l2_buf.timestamp;
-               src_vb->v4l2_buf.timecode = dst_vb->v4l2_buf.timecode;
+               dst_vb->v4l2_buf.timestamp = src_vb->v4l2_buf.timestamp;
+               dst_vb->v4l2_buf.timecode = src_vb->v4l2_buf.timecode;
 
                v4l2_m2m_buf_done(src_vb, vb_state);
                v4l2_m2m_buf_done(dst_vb, vb_state);
index f3a9e24..3416131 100644 (file)
@@ -207,8 +207,8 @@ static void dma_callback(void *data)
        src_vb = v4l2_m2m_src_buf_remove(curr_ctx->m2m_ctx);
        dst_vb = v4l2_m2m_dst_buf_remove(curr_ctx->m2m_ctx);
 
-       src_vb->v4l2_buf.timestamp = dst_vb->v4l2_buf.timestamp;
-       src_vb->v4l2_buf.timecode = dst_vb->v4l2_buf.timecode;
+       dst_vb->v4l2_buf.timestamp = src_vb->v4l2_buf.timestamp;
+       dst_vb->v4l2_buf.timecode = src_vb->v4l2_buf.timecode;
 
        v4l2_m2m_buf_done(src_vb, VB2_BUF_STATE_DONE);
        v4l2_m2m_buf_done(dst_vb, VB2_BUF_STATE_DONE);
index af3e106..6debb02 100644 (file)
@@ -377,8 +377,8 @@ static irqreturn_t emmaprp_irq(int irq_emma, void *data)
                        src_vb = v4l2_m2m_src_buf_remove(curr_ctx->m2m_ctx);
                        dst_vb = v4l2_m2m_dst_buf_remove(curr_ctx->m2m_ctx);
 
-                       src_vb->v4l2_buf.timestamp = dst_vb->v4l2_buf.timestamp;
-                       src_vb->v4l2_buf.timecode = dst_vb->v4l2_buf.timecode;
+                       dst_vb->v4l2_buf.timestamp = src_vb->v4l2_buf.timestamp;
+                       dst_vb->v4l2_buf.timecode = src_vb->v4l2_buf.timecode;
 
                        spin_lock_irqsave(&pcdev->irqlock, flags);
                        v4l2_m2m_buf_done(src_vb, VB2_BUF_STATE_DONE);