Hi, Guennadi >-----Original Message----- >From: Guennadi Liakhovetski [mailto:g.liakhovetski@xxxxxx] >Sent: Tuesday, 27 November, 2012 19:04 >To: Albert Wang >Cc: corbet@xxxxxxx; linux-media@xxxxxxxxxxxxxxx; Libin Yang >Subject: Re: [PATCH 05/15] [media] marvell-ccic: refine mcam_set_contig_buffer function > >On Fri, 23 Nov 2012, Albert Wang wrote: > >> From: Libin Yang <lbyang@xxxxxxxxxxx> >> >> This patch refines mcam_set_contig_buffer() in mcam core >> >> Signed-off-by: Albert Wang <twang13@xxxxxxxxxxx> >> Signed-off-by: Libin Yang <lbyang@xxxxxxxxxxx> > >Looks good in general, just will have to be tested on currently supported platforms, >because it changes the order, in which registers are written. >So, if this patch is not too important for you, maybe it would be better to drop it, it doesn't >seem to improve any functionality? > It didn't improve the functionality, just prepare for the 3 frame buffer support patch. :) >If it is decided to use this, you can add my > >Acked-by: Guennadi Liakhovetski <g.liakhovetski@xxxxxx> > >Thanks >Guennadi > >> --- >> 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 760e8ea..67d4f2f 100755 >> --- a/drivers/media/platform/marvell-ccic/mcam-core.c >> +++ b/drivers/media/platform/marvell-ccic/mcam-core.c >> @@ -481,22 +481,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 >> > >--- >Guennadi Liakhovetski, Ph.D. >Freelance Open-Source Software Developer >http://www.open-technology.de/ -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html