[2/2] uvcvideo: Allow userptr IO mode.

Message ID 1325513543-17299-2-git-send-email-javier.martin@vista-silicon.com (mailing list archive)
State Accepted, archived
Headers

Commit Message

Javier Martin Jan. 2, 2012, 2:12 p.m. UTC
  Userptr can be very useful if a UVC camera
is requested to use video buffers allocated
by another processing device. So that
buffers don't need to be copied.

Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>
---
 drivers/media/video/uvc/uvc_queue.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
  

Comments

Laurent Pinchart Jan. 2, 2012, 8:18 p.m. UTC | #1
Hi Javier,

Thanks for the patch.

On Monday 02 January 2012 15:12:23 Javier Martin wrote:
> Userptr can be very useful if a UVC camera
> is requested to use video buffers allocated
> by another processing device. So that
> buffers don't need to be copied.
> 
> Signed-off-by: Javier Martin <javier.martin@vista-silicon.com>

Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

I'll push the patch through my tree when 1/2 will be acked.

> ---
>  drivers/media/video/uvc/uvc_queue.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/media/video/uvc/uvc_queue.c
> b/drivers/media/video/uvc/uvc_queue.c index 518f77d..8f54e24 100644
> --- a/drivers/media/video/uvc/uvc_queue.c
> +++ b/drivers/media/video/uvc/uvc_queue.c
> @@ -126,7 +126,7 @@ void uvc_queue_init(struct uvc_video_queue *queue, enum
> v4l2_buf_type type, int drop_corrupted)
>  {
>  	queue->queue.type = type;
> -	queue->queue.io_modes = VB2_MMAP;
> +	queue->queue.io_modes = VB2_MMAP | VB2_USERPTR;
>  	queue->queue.drv_priv = queue;
>  	queue->queue.buf_struct_size = sizeof(struct uvc_buffer);
>  	queue->queue.ops = &uvc_queue_qops;
  
Javier Martin Jan. 12, 2012, 12:16 p.m. UTC | #2
Hi Laurent,
FYI Marek has already merged 1/2 into his vb2-fixes branch.
  
Laurent Pinchart Jan. 13, 2012, 12:57 a.m. UTC | #3
Hi Javier,

On Thursday 12 January 2012 13:16:19 javier Martin wrote:
> Hi Laurent,
> FYI Marek has already merged 1/2 into his vb2-fixes branch.

I've queued 2/2 to my tree and will push it to v3.4.
  

Patch

diff --git a/drivers/media/video/uvc/uvc_queue.c b/drivers/media/video/uvc/uvc_queue.c
index 518f77d..8f54e24 100644
--- a/drivers/media/video/uvc/uvc_queue.c
+++ b/drivers/media/video/uvc/uvc_queue.c
@@ -126,7 +126,7 @@  void uvc_queue_init(struct uvc_video_queue *queue, enum v4l2_buf_type type,
 		    int drop_corrupted)
 {
 	queue->queue.type = type;
-	queue->queue.io_modes = VB2_MMAP;
+	queue->queue.io_modes = VB2_MMAP | VB2_USERPTR;
 	queue->queue.drv_priv = queue;
 	queue->queue.buf_struct_size = sizeof(struct uvc_buffer);
 	queue->queue.ops = &uvc_queue_qops;