From 1ad9736d34d766ca1da6f1ca4eac82abc9f6de03 Mon Sep 17 00:00:00 2001 From: Shaik Ameer Basha Date: Thu, 22 Nov 2012 02:25:06 -0300 Subject: [PATCH] --- yaml --- r: 357023 b: refs/heads/master c: f60e160e126bdd8f0d928cd8b3fce54659597394 h: refs/heads/master i: 357021: 7b4a44fffd367f9d0be136058ea92d533e936770 357019: 68b088fe76be7fc57be2a3493a73f5e055e9ca2f 357015: d80945e3b7e120eaa9029bc0b57c59f9e05f132b 357007: 666a709b13614124022577efa09b440e739dbe62 356991: 06810232294538e898f7dd41eb94edc53b22af49 v: v3 --- [refs] | 2 +- .../media/platform/exynos-gsc/gsc-m2m.c | 20 ++++++++++++------- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/[refs] b/[refs] index f908ab71c0bd..a36408679213 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: aecede4c45ae32944e822ef98d4837733837887d +refs/heads/master: f60e160e126bdd8f0d928cd8b3fce54659597394 diff --git a/trunk/drivers/media/platform/exynos-gsc/gsc-m2m.c b/trunk/drivers/media/platform/exynos-gsc/gsc-m2m.c index c267c57c76fd..a8e5050340aa 100644 --- a/trunk/drivers/media/platform/exynos-gsc/gsc-m2m.c +++ b/trunk/drivers/media/platform/exynos-gsc/gsc-m2m.c @@ -99,22 +99,28 @@ static void gsc_m2m_job_abort(void *priv) gsc_m2m_job_finish(ctx, VB2_BUF_STATE_ERROR); } -static int gsc_fill_addr(struct gsc_ctx *ctx) +static int gsc_get_bufs(struct gsc_ctx *ctx) { struct gsc_frame *s_frame, *d_frame; - struct vb2_buffer *vb = NULL; + struct vb2_buffer *src_vb, *dst_vb; int ret; s_frame = &ctx->s_frame; d_frame = &ctx->d_frame; - vb = v4l2_m2m_next_src_buf(ctx->m2m_ctx); - ret = gsc_prepare_addr(ctx, vb, s_frame, &s_frame->addr); + src_vb = v4l2_m2m_next_src_buf(ctx->m2m_ctx); + ret = gsc_prepare_addr(ctx, src_vb, s_frame, &s_frame->addr); + if (ret) + return ret; + + dst_vb = v4l2_m2m_next_dst_buf(ctx->m2m_ctx); + ret = gsc_prepare_addr(ctx, dst_vb, d_frame, &d_frame->addr); if (ret) return ret; - vb = v4l2_m2m_next_dst_buf(ctx->m2m_ctx); - return gsc_prepare_addr(ctx, vb, d_frame, &d_frame->addr); + dst_vb->v4l2_buf.timestamp = src_vb->v4l2_buf.timestamp; + + return 0; } static void gsc_m2m_device_run(void *priv) @@ -148,7 +154,7 @@ static void gsc_m2m_device_run(void *priv) goto put_device; } - ret = gsc_fill_addr(ctx); + ret = gsc_get_bufs(ctx); if (ret) { pr_err("Wrong address"); goto put_device;