[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