diff options
author | Jonathan Corbet <corbet@lwn.net> | 2012-03-16 19:14:54 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-03-19 22:16:29 -0300 |
commit | f2354dd180755e25369167eda5de2c226d59fb1d (patch) | |
tree | 35a5b9ec5853e131252dc4c5c1030bfd86741a74 | |
parent | 121bbe254a46e075673e6b9eec5613ea16400ccc (diff) | |
download | blackbird-op-linux-f2354dd180755e25369167eda5de2c226d59fb1d.tar.gz blackbird-op-linux-f2354dd180755e25369167eda5de2c226d59fb1d.zip |
[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.c | 2 |
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 |