RE: [REVIEW PATCH V4 12/12] [media] marvell-ccic: add 3 frame buffers support in DMA_CONTIG mode

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

 



On Wed, 6 Mar 2013, Albert Wang wrote:

[snip]

> >> +		if (cam->frame_state.usebufs == 0)
> >> +			cam->frame_state.usebufs++;
> >> +		else {
> >> +			set_bit(CF_SINGLE_BUFFER, &cam->flags);
> >> +			cam->frame_state.singles++;
> >> +			if (cam->frame_state.usebufs < 2)
> >> +				cam->frame_state.usebufs++;
> >
> >What is this .usebufs actually supposed to do? AFAICS, it is only used to
> >decide, whether it should be changed, I don't see it having any effect on
> >anything else?
> >
> Actually, we use .usebufs to decide if will enter single buffer mode.
> Only usebufs == 2 can enter single buffer mode.
> But when init it:
> 	If CCIC use Two Buffers mode, init usebufs == 1
> 	If CCIC use Three Buffers mode, init usebufs == 0
> That means when CCIC use Two Buffers mode, once buffer used out, CCIC will enter single buffer mode soon
> But when CCIC use Two Buffers mode, we can have 1 frame time to wait for 
> new buffer and needn't enter single buffer mode.
> If we still can't get new buffer after 1 frame, then CCIC has to enter single buffer mode.
> But if we are lucky enough and get new buffer when next frame come, then 
> we can still run in normal mode.

Thanks for the explanation. Could you please tell me where in the code 
this .usebufs field is used as you describe?

Thanks
Guennadi
---
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