diff mbox

[v3,05/15] media: blackfin: bfin_capture: improve queue_setup() callback

Message ID 1424544001-19045-6-git-send-email-prabhakar.csengg@gmail.com (mailing list archive)
State New, archived
Headers show

Commit Message

Lad, Prabhakar Feb. 21, 2015, 6:39 p.m. UTC
From: "Lad, Prabhakar" <prabhakar.csengg@gmail.com>

this patch improves the queue_setup() callback.

Signed-off-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
---
 drivers/media/platform/blackfin/bfin_capture.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

Comments

Mauro Carvalho Chehab March 3, 2015, 2:13 p.m. UTC | #1
Lad,


Em Sat, 21 Feb 2015 18:39:51 +0000
Lad Prabhakar <prabhakar.csengg@gmail.com> escreveu:

> From: "Lad, Prabhakar" <prabhakar.csengg@gmail.com>
> 
> this patch improves the queue_setup() callback.

Please improve your comments. The above description doesn't tell
anything that it wasn't said before at the patch subject.

It "improves" how? Why?

Please fix the comments and resubmit this patch series.

Thanks,
Mauro

> 
> Signed-off-by: Lad, Prabhakar <prabhakar.csengg@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 8f62a84..be0d0a2b 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 < 2)
> +		*nbuffers = 2;
>  
>  	*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;
>  
>  	return 0;
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/media/platform/blackfin/bfin_capture.c b/drivers/media/platform/blackfin/bfin_capture.c
index 8f62a84..be0d0a2b 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 < 2)
+		*nbuffers = 2;
 
 	*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;
 
 	return 0;