2014-12-20 18:47 GMT+08:00 Lad, Prabhakar <prabhakar.cse...@gmail.com>:
> this patch improves the queue_setup() callback.
>
> Signed-off-by: Lad, Prabhakar <prabhakar.cse...@gmail.com>
> ---
>  drivers/media/platform/blackfin/bfin_capture.c | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/media/platform/blackfin/bfin_capture.c 
> b/drivers/media/platform/blackfin/bfin_capture.c
> index 8bd94a1..76d42bb 100644
> --- a/drivers/media/platform/blackfin/bfin_capture.c
> +++ b/drivers/media/platform/blackfin/bfin_capture.c
> @@ -44,7 +44,6 @@
>  #include <media/blackfin/ppi.h>
>
>  #define CAPTURE_DRV_NAME        "bfin_capture"
> -#define BCAP_MIN_NUM_BUF        2
>
>  struct bcap_format {
>         char *desc;
> @@ -292,11 +291,14 @@ static int bcap_queue_setup(struct vb2_queue *vq,
>  {
>         struct bcap_device *bcap_dev = vb2_get_drv_priv(vq);
>
> -       if (*nbuffers < BCAP_MIN_NUM_BUF)
> -               *nbuffers = BCAP_MIN_NUM_BUF;
> +       if (fmt && fmt->fmt.pix.sizeimage < bcap_dev->fmt.sizeimage)
> +               return -EINVAL;
> +
> +       if (vq->num_buffers + *nbuffers < 3)
> +               *nbuffers = 3 - vq->num_buffers;

It seems it changes the minimum buffers from 2 to 3?

>
>         *nplanes = 1;
> -       sizes[0] = bcap_dev->fmt.sizeimage;
> +       sizes[0] = fmt ? fmt->fmt.pix.sizeimage : bcap_dev->fmt.sizeimage;
>         alloc_ctxs[0] = bcap_dev->alloc_ctx;
>
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to