From: Libin Yang lby...@marvell.com
This patch refines mcam_set_contig_buffer() in mcam core
Signed-off-by: Albert Wang twan...@marvell.com
Signed-off-by: Libin Yang lby...@marvell.com
Acked-by: Guennadi Liakhovetski g.liakhovet...@gmx.de
---
drivers/media/platform/marvell-ccic/mcam-core.c | 21 ++---
1 file changed, 10 insertions(+), 11 deletions(-)
diff --git a/drivers/media/platform/marvell-ccic/mcam-core.c
b/drivers/media/platform/marvell-ccic/mcam-core.c
index 19e91c5..3cc1d0c 100755
--- a/drivers/media/platform/marvell-ccic/mcam-core.c
+++ b/drivers/media/platform/marvell-ccic/mcam-core.c
@@ -486,22 +486,21 @@ static void mcam_set_contig_buffer(struct mcam_camera
*cam, int frame)
*/
if (list_empty(cam-buffers)) {
buf = cam-vb_bufs[frame ^ 0x1];
- cam-vb_bufs[frame] = buf;
- mcam_reg_write(cam, frame == 0 ? REG_Y0BAR : REG_Y1BAR,
- vb2_dma_contig_plane_dma_addr(buf-vb_buf, 0));
set_bit(CF_SINGLE_BUFFER, cam-flags);
cam-frame_state.singles++;
- return;
+ } else {
+ /*
+* OK, we have a buffer we can use.
+*/
+ buf = list_first_entry(cam-buffers, struct mcam_vb_buffer,
+ queue);
+ list_del_init(buf-queue);
+ clear_bit(CF_SINGLE_BUFFER, cam-flags);
}
- /*
-* OK, we have a buffer we can use.
-*/
- buf = list_first_entry(cam-buffers, struct mcam_vb_buffer, queue);
- list_del_init(buf-queue);
+
+ cam-vb_bufs[frame] = buf;
mcam_reg_write(cam, frame == 0 ? REG_Y0BAR : REG_Y1BAR,
vb2_dma_contig_plane_dma_addr(buf-vb_buf, 0));
- cam-vb_bufs[frame] = buf;
- clear_bit(CF_SINGLE_BUFFER, cam-flags);
}
/*
--
1.7.9.5
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html