RE: [PATCH 05/15] [media] marvell-ccic: refine mcam_set_contig_buffer function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux