summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Corbet <corbet@lwn.net>2012-03-17 02:14:54 +0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-03-20 05:16:29 +0400
commitf2354dd180755e25369167eda5de2c226d59fb1d (patch)
tree35a5b9ec5853e131252dc4c5c1030bfd86741a74
parent121bbe254a46e075673e6b9eec5613ea16400ccc (diff)
downloadlinux-f2354dd180755e25369167eda5de2c226d59fb1d.tar.xz
[media] marvell-cam: Don't signal multiple frame completions in scatter/gather mode
There is only one frame known to the DMA engine in scatter/gather mode, but it still tells us that any or all of frames 1-3 are done at each completion interrupt. Avoid the creation of junk frames by being sure to only "complete" one on each interrupt. Signed-off-by: Jonathan Corbet <corbet@lwn.net> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--drivers/media/video/marvell-ccic/mcam-core.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/media/video/marvell-ccic/mcam-core.c b/drivers/media/video/marvell-ccic/mcam-core.c
index e46a72af63c4..036db2746407 100644
--- a/drivers/media/video/marvell-ccic/mcam-core.c
+++ b/drivers/media/video/marvell-ccic/mcam-core.c
@@ -1697,6 +1697,8 @@ int mccic_irq(struct mcam_camera *cam, unsigned int irqs)
if (irqs & (IRQ_EOF0 << frame)) {
mcam_frame_complete(cam, frame);
handled = 1;
+ if (cam->buffer_mode == B_DMA_sg)
+ break;
}
/*
* If a frame starts, note that we have DMA active. This