linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Hans Verkuil <hverkuil@xs4all.nl>
To: Divneil Wadhawan <divneil@outlook.com>,
	"linux-media@vger.kernel.org" <linux-media@vger.kernel.org>,
	Kamil Debski <k.debski@samsung.com>,
	pawel@osciak.com
Subject: Re: vb2_reqbufs() is not allowing more than VIDEO_MAX_FRAME
Date: Tue, 08 Jul 2014 09:51:49 +0200	[thread overview]
Message-ID: <53BBA315.1000709@xs4all.nl> (raw)
In-Reply-To: <BAY176-W19A194B095C32CE30B0B8DA90D0@phx.gbl>

On 07/07/2014 09:27 AM, Divneil Wadhawan wrote:
> Hi Hans,
> 
> 
>> include/media/davinci/vpfe_capture.h
> 
> It uses videobuf-dma-contig.h, so, I left it out.
> 
> 
>> drivers/media/platform/vivi-core.c
> 
> Cannot find this one. Checked with find, in case it changed location, but couldn't.
> 
> 
>> drivers/media/pci/saa7134/*
> 
> Updated.
> 
> 
> Please find below the patch. I am hoping it's good to go.

Acked-by: Hans Verkuil <hans.verkuil@cisco.com>

Pawel, Kamil, can you take a look as well?

To my knowledge there drivers/media/platform/s5p-mfc is the only one that uses
the buffer index as a bit index (1 << v4l2_buf.index), but that driver has
its own maximum buffer limit of 32 so it should not be affected by this patch.

Regards,

	Hans

> 
> 
> Regards,
> 
> Divneil
> 
> 
> From 1792d75dc0f893a181d991a0b238bbd0ead945c1 Mon Sep 17 00:00:00 2001
> From: Divneil Wadhawan <divneil.wadhawan@st.com>
> Date: Mon, 7 Jul 2014 12:38:06 +0530
> Subject: [PATCH] v4l2: vb2: replace VIDEO_MAX_FRAME with VB2_MAX_FRAME
> 
> - vb2 drivers to rely on VB2_MAX_FRAME.
> 
> - VB2_MAX_FRAME bumps the value to 64 from current 32
> 
> Change-Id: I3d7998898df43553486166c44b54524aac449deb
> Signed-off-by: Divneil Wadhawan <divneil.wadhawan@st.com>
> ---
>  drivers/media/pci/saa7134/saa7134-ts.c    |    4 ++--
>  drivers/media/pci/saa7134/saa7134-vbi.c   |    4 ++--
>  drivers/media/pci/saa7134/saa7134-video.c |    2 +-
>  drivers/media/platform/mem2mem_testdev.c  |    2 +-
>  drivers/media/platform/ti-vpe/vpe.c       |    2 +-
>  drivers/media/v4l2-core/videobuf2-core.c  |    8 ++++----
>  include/media/videobuf2-core.h            |    4 +++-
>  7 files changed, 14 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/media/pci/saa7134/saa7134-ts.c b/drivers/media/pci/saa7134/saa7134-ts.c
> index bd25323..0d04995 100644
> --- a/drivers/media/pci/saa7134/saa7134-ts.c
> +++ b/drivers/media/pci/saa7134/saa7134-ts.c
> @@ -227,8 +227,8 @@ int saa7134_ts_init1(struct saa7134_dev *dev)
>   /* sanitycheck insmod options */
>   if (tsbufs < 2)
>    tsbufs = 2;
> - if (tsbufs> VIDEO_MAX_FRAME)
> -  tsbufs = VIDEO_MAX_FRAME;
> + if (tsbufs> VB2_MAX_FRAME)
> +  tsbufs = VB2_MAX_FRAME;
>   if (ts_nr_packets < 4)
>    ts_nr_packets = 4;
>   if (ts_nr_packets> 312)
> diff --git a/drivers/media/pci/saa7134/saa7134-vbi.c b/drivers/media/pci/saa7134/saa7134-vbi.c
> index c06dbe1..15b5860 100644
> --- a/drivers/media/pci/saa7134/saa7134-vbi.c
> +++ b/drivers/media/pci/saa7134/saa7134-vbi.c
> @@ -203,8 +203,8 @@ int saa7134_vbi_init1(struct saa7134_dev *dev)
>  
>   if (vbibufs < 2)
>    vbibufs = 2;
> - if (vbibufs> VIDEO_MAX_FRAME)
> -  vbibufs = VIDEO_MAX_FRAME;
> + if (vbibufs> VB2_MAX_FRAME)
> +  vbibufs = VB2_MAX_FRAME;
>   return 0;
>  }
>  
> diff --git a/drivers/media/pci/saa7134/saa7134-video.c b/drivers/media/pci/saa7134/saa7134-video.c
> index d375999..47dda6c 100644
> --- a/drivers/media/pci/saa7134/saa7134-video.c
> +++ b/drivers/media/pci/saa7134/saa7134-video.c
> @@ -2032,7 +2032,7 @@ int saa7134_video_init1(struct saa7134_dev *dev)
>   int ret;
>  
>   /* sanitycheck insmod options */
> - if (gbuffers < 2 || gbuffers> VIDEO_MAX_FRAME)
> + if (gbuffers < 2 || gbuffers> VB2_MAX_FRAME)
>    gbuffers = 2;
>   if (gbufsize> gbufsize_max)
>    gbufsize = gbufsize_max;
> diff --git a/drivers/media/platform/mem2mem_testdev.c b/drivers/media/platform/mem2mem_testdev.c
> index 0714070..fe3235d 100644
> --- a/drivers/media/platform/mem2mem_testdev.c
> +++ b/drivers/media/platform/mem2mem_testdev.c
> @@ -55,7 +55,7 @@ MODULE_PARM_DESC(debug, "activates debug info");
>  #define MEM2MEM_NAME  "m2m-testdev"
>  
>  /* Per queue */
> -#define MEM2MEM_DEF_NUM_BUFS VIDEO_MAX_FRAME
> +#define MEM2MEM_DEF_NUM_BUFS VB2_MAX_FRAME
>  /* In bytes, per queue */
>  #define MEM2MEM_VID_MEM_LIMIT (16 * 1024 * 1024)
>  
> diff --git a/drivers/media/platform/ti-vpe/vpe.c b/drivers/media/platform/ti-vpe/vpe.c
> index 972f43f..6b370ed 100644
> --- a/drivers/media/platform/ti-vpe/vpe.c
> +++ b/drivers/media/platform/ti-vpe/vpe.c
> @@ -1970,7 +1970,7 @@ static const struct v4l2_ctrl_config vpe_bufs_per_job = {
>   .type = V4L2_CTRL_TYPE_INTEGER,
>   .def = VPE_DEF_BUFS_PER_JOB,
>   .min = 1,
> - .max = VIDEO_MAX_FRAME,
> + .max = VB2_MAX_FRAME,
>   .step = 1,
>  };
>  
> diff --git a/drivers/media/v4l2-core/videobuf2-core.c b/drivers/media/v4l2-core/videobuf2-core.c
> index 7c4489c..09bc9bb 100644
> --- a/drivers/media/v4l2-core/videobuf2-core.c
> +++ b/drivers/media/v4l2-core/videobuf2-core.c
> @@ -904,7 +904,7 @@ static int __reqbufs(struct vb2_queue *q, struct v4l2_requestbuffers *req)
>   /*
>    * Make sure the requested values and current defaults are sane.
>    */
> - num_buffers = min_t(unsigned int, req->count, VIDEO_MAX_FRAME);
> + num_buffers = min_t(unsigned int, req->count, VB2_MAX_FRAME);
>   num_buffers = max_t(unsigned int, num_buffers, q->min_buffers_needed);
>   memset(q->plane_sizes, 0, sizeof(q->plane_sizes));
>   memset(q->alloc_ctx, 0, sizeof(q->alloc_ctx));
> @@ -1005,7 +1005,7 @@ static int __create_bufs(struct vb2_queue *q, struct v4l2_create_buffers *create
>   unsigned int num_planes = 0, num_buffers, allocated_buffers;
>   int ret;
>  
> - if (q->num_buffers == VIDEO_MAX_FRAME) {
> + if (q->num_buffers == VB2_MAX_FRAME) {
>    dprintk(1, "maximum number of buffers already allocated\n");
>    return -ENOBUFS;
>   }
> @@ -1016,7 +1016,7 @@ static int __create_bufs(struct vb2_queue *q, struct v4l2_create_buffers *create
>    q->memory = create->memory;
>   }
>  
> - num_buffers = min(create->count, VIDEO_MAX_FRAME - q->num_buffers);
> + num_buffers = min(create->count, VB2_MAX_FRAME - q->num_buffers);
>  
>   /*
>    * Ask the driver, whether the requested number of buffers, planes per
> @@ -2686,7 +2686,7 @@ struct vb2_fileio_data {
>   struct v4l2_requestbuffers req;
>   struct v4l2_plane p;
>   struct v4l2_buffer b;
> - struct vb2_fileio_buf bufs[VIDEO_MAX_FRAME];
> + struct vb2_fileio_buf bufs[VB2_MAX_FRAME];
>   unsigned int cur_index;
>   unsigned int initial_index;
>   unsigned int q_count;
> diff --git a/include/media/videobuf2-core.h b/include/media/videobuf2-core.h
> index 8fab6fa..3702a33 100644
> --- a/include/media/videobuf2-core.h
> +++ b/include/media/videobuf2-core.h
> @@ -18,6 +18,8 @@
>  #include <linux/videodev2.h>
>  #include <linux/dma-buf.h>
>  
> +#define VB2_MAX_FRAME  64
> +
>  struct vb2_alloc_ctx;
>  struct vb2_fileio_data;
>  struct vb2_threadio_data;
> @@ -395,7 +397,7 @@ struct vb2_queue {
>  
>  /* private: internal use only */
>   enum v4l2_memory  memory;
> - struct vb2_buffer  *bufs[VIDEO_MAX_FRAME];
> + struct vb2_buffer  *bufs[VB2_MAX_FRAME];
>   unsigned int   num_buffers;
>  
>   struct list_head  queued_list;
> 


  parent reply	other threads:[~2014-07-08  7:52 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-05-07  9:37 vb2_reqbufs() is not allowing more than VIDEO_MAX_FRAME Divneil Wadhawan
2014-05-07 10:12 ` Hans Verkuil
2014-05-07 11:26   ` Divneil Wadhawan
2014-05-07 11:34     ` Hans Verkuil
     [not found]       ` <BAY176-W20DF4182FBC288F24380FCA9350@phx.gbl>
2014-07-04  6:51         ` Divneil Wadhawan
     [not found]       ` <BAY176-W960662BE81D5920B94F97A9350@phx.gbl>
2014-07-04  7:47         ` Hans Verkuil
2014-07-07  7:27           ` Divneil Wadhawan
2014-07-07  8:22             ` Hans Verkuil
2014-07-08  7:51             ` Hans Verkuil [this message]
2014-07-08 12:50               ` Kamil Debski
2014-07-17  8:57             ` Hans Verkuil
2014-07-21  6:03               ` Divneil Wadhawan
2014-07-21  7:11                 ` Ricardo Ribalda Delgado
2014-09-21 10:46                 ` Hans Verkuil

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=53BBA315.1000709@xs4all.nl \
    --to=hverkuil@xs4all.nl \
    --cc=divneil@outlook.com \
    --cc=k.debski@samsung.com \
    --cc=linux-media@vger.kernel.org \
    --cc=pawel@osciak.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).