Hi Laurent, On Mon, Dec 15, 2014 at 06:31:01PM +0200, Laurent Pinchart wrote: > Hi Sakari, > > Thank you for the patch. > > On Monday 15 December 2014 17:27:44 Sakari Ailus wrote: > > The plane size was left zero for mplane buffers when queueing a buffer. Fix > > this. > > > > Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> > > --- > > yavta.c | 8 ++++++-- > > 1 file changed, 6 insertions(+), 2 deletions(-) > > > > diff --git a/yavta.c b/yavta.c > > index 7f9e814..77e5a41 100644 > > --- a/yavta.c > > +++ b/yavta.c > > @@ -979,8 +979,12 @@ static int video_queue_buffer(struct device *dev, int > > index, enum buffer_fill_mo > > > > if (dev->memtype == V4L2_MEMORY_USERPTR) { > > if (video_is_mplane(dev)) { > > - for (i = 0; i < dev->num_planes; i++) > > - buf.m.planes[i].m.userptr = (unsigned long)dev-> > > buffers[index].mem[i]; > > + for (i = 0; i < dev->num_planes; i++) { > > + buf.m.planes[i].m.userptr = (unsigned long) > > + dev->buffers[index].mem[i]; > > + buf.m.planes[i].length = > > + dev->buffers[index].size[i]; > > According to the V4L2 API, this field is set by the driver. That's not in line > with the videobuf2 implementation, which requires the length field to be set > for USERPTR and DMABUF. Would you like to submit a documentation patch ? Certainly. I actually missed that this is what the documentation states. > > + } > > } else { > > buf.m.userptr = (unsigned long)dev->buffers[index].mem[0]; > > For consistency, what would you think about moving the buf.length assignment > from the else statement right before this hunk to here ? If you're fine with > that there's no need to resubmit, I'll apply the modification locally. Feel free to add that. -- Cheers, Sakari Ailus e-mail: sakari.ailus@xxxxxx XMPP: sailus@xxxxxxxxxxxxxx -- 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