Hi, Guennadi
>-----Original Message----- >From: Guennadi Liakhovetski [mailto:g.liakhovet...@gmx.de] >Sent: Tuesday, 27 November, 2012 19:04 >To: Albert Wang >Cc: cor...@lwn.net; linux-media@vger.kernel.org; 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 <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> > >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.liakhovet...@gmx.de> > >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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html