Re: [PATCH 05/15] media: blackfin: bfin_capture: improve queue_setup() callback

From: Scott Jiang
Date: Wed Jan 21 2015 - 05:01:52 EST


2014-12-20 18:47 GMT+08:00 Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>:
> this patch improves the queue_setup() callback.
>
> Signed-off-by: Lad, Prabhakar <prabhakar.csengg@xxxxxxxxx>
> ---
> 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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/