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?

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

Reply via email to