[Linaro-mm-sig] [PATCHv6 00/13] Integration of videobuf2 with dmabuf

Hans Verkuil hverkuil at xs4all.nl
Wed Jun 6 01:17:03 PDT 2012


On Wed 6 June 2012 05:46:34 Laurent Pinchart wrote:
> Hi Rebecca,
> 
> On Monday 04 June 2012 12:34:23 Rebecca Schultz Zavin wrote:
> > I have a system where the data is planar, but the kernel drivers
> > expect to get one allocation with offsets for the planes.  I can't
> > figure out how to do that with the current dma_buf implementation.  I
> > thought I could pass the same dma_buf several times and use the
> > data_offset field of the v4l2_plane struct but it looks like that's
> > only for output.  Am I missing something?  Is this supported?
> 
> data_offset is indeed for video output only at the moment, and doesn't seem to 
> be used by any driver in mainline for now.

Actually, data_offset may be set by capture drivers. For output buffers it is
set by userspace, for capture buffers it is set by the driver. This data_offset
typically contains meta data.

> I can't really see a reason why data_offset couldn't be used for video capture 
> devices as well.
> 
> Sanity checks are currently missing. For output devices we should check that 
> data_offset + bytesused < length in the vb2 core. For input devices the check 
> will have to be performed by drivers. Taking data_offset into account 
> automatically would also be useful. I think most of that should be possible to 
> implement in the allocators.

See this proposal of how to solve this:

http://www.spinics.net/lists/linux-media/msg40376.html

Regards,

	Hans


More information about the dri-devel mailing list