Laurent Pinchart wrote: > Hi Guennadi, Hi all, > On Tuesday 05 April 2011 14:39:19 Guennadi Liakhovetski wrote: >> On Tue, 5 Apr 2011, Laurent Pinchart wrote: >>> On Friday 01 April 2011 10:13:02 Guennadi Liakhovetski wrote: >>>> A possibility to preallocate and initialise buffers of different sizes >>>> in V4L2 is required for an efficient implementation of asnapshot mode. >>>> This patch adds three new ioctl()s: VIDIOC_CREATE_BUFS, >>>> VIDIOC_DESTROY_BUFS, and VIDIOC_SUBMIT_BUF and defines respective data >>>> structures. > > [snip] > >>>> diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h >>>> index aa6c393..b6ef46e 100644 >>>> --- a/include/linux/videodev2.h >>>> +++ b/include/linux/videodev2.h >>>> @@ -1847,6 +1847,26 @@ struct v4l2_dbg_chip_ident { > > [snip] > >>>> +/* struct v4l2_createbuffers::flags */ >>>> +#define V4L2_BUFFER_FLAG_NO_CACHE_INVALIDATE (1 << 0) >>> >>> Shouldn't cache management be handled at submit/qbuf time instead of >>> being a buffer property ? >> >> hmm, I'd prefer fixing it at create. Or do you want to be able to create >> buffers and then submit / queue them with different flags?... > > That's the idea, yes. I'm not sure yet how useful that would be though. I agree that it'd be nice to support this. It depends on where the data is being used. For example, you could have an algorithm on the host side which does process the image data but only uses every second frame, with no other processing done on the host CPU. In this case the cache would be flushed needlessly for the frames that are not touched by the CPU. I admit that this is fine optimisation but I don't think that should be ruled out either. The default cache behaviour would still be to flush not to break existing applications, so I don't think this would be a significant burden for applications. Cheers, -- Sakari Ailus sakari.ailus@xxxxxxxxxxxxxxxxxxxxxxxxxx -- 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