Hi Bhupesh, On Thursday 28 March 2013 18:39:54 Bhupesh SHARMA wrote: > > On Thursday 28 March 2013 15:11:52 Bhupesh Sharma wrote: > > > This patch reworks the videobuffer management logic present in the UVC > > > webcam gadget and ports it to use the "more apt" videobuf2 framework > > > for video buffer management. > > > > > > To support routing video data captured from a real V4L2 video capture > > > device with a "zero copy" operation on videobuffers (as they pass from > > > the V4L2 domain to UVC domain via a user-space application), we need > > > to support USER_PTR IO method at the UVC gadget side. > > > > > > So the V4L2 capture device driver can still continue to use MMAP IO > > > method and now the user-space application can just pass a pointer to > > > the video buffers being dequeued from the V4L2 device side while > > > queueing them at the UVC gadget end. This ensures that we have a "zero- > > > copy" design as the videobuffers pass from the V4L2 capture device to > > > the UVC gadget. > > > > > > Note that there will still be a need to apply UVC specific payload > > > headers on top of each UVC payload data, which will still require a > > > copy operation to be performed in the 'encode' routines of the UVC > > > gadget. > > > > > > This patch also addresses one issue found out while porting the UVC > > > > > > gadget to videobuf2 framework: > > > - In case the usb requests queued by the gadget get completed > > > > > > with a status of -ESHUTDOWN (disconnected from host), > > > the queue of videobuf2 should be cancelled to ensure that the > > > application space daemon is not left in a state waiting for > > > a vb2 to be successfully absorbed at the USB side. > > > > > > Signed-off-by: Bhupesh Sharma <bhupesh.sharma@xxxxxx> > > > > Finally, > > > > Acked-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > > > > :-) > > Thanks for your time in reviewing this and previous patchsets :). You're welcome. > If you can apply these 2 patches to your git tree > (git://linuxtv.org/pinchartl/uvcvideo.git), Done. They're in the uvc-gadget branch, based on Felipe's master branch. > I want to prepare and send out two more UVC patches: > - One that supports UVC Bulk endpoint implementation. > - Second that supports MEMCPY less implementation for adding UVC header to > the UVC payload for UDC controllers which support SG implementation. > > In the meantime, probably we can request Felipe to pull UVC gadget related > patches from your git repo. Felipe, can you pull from git://linuxtv.org/pinchartl/uvcvideo.git uvc-gadget branch or do you want a proper pull request ? -- Regards, Laurent Pinchart -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html