s5p-mfc: fix state check from encoder queue_setup

Message ID 1431501925-16905-1-git-send-email-sw0312.kim@samsung.com (mailing list archive)
State Accepted, archived
Delegated to: Sylwester Nawrocki
Headers

Commit Message

Seung-Woo Kim May 13, 2015, 7:25 a.m. UTC
  MFCINST_GOT_INST state is set to encoder context with set_format
only for catpure buffer. In queue_setup of encoder called during
reqbufs, it is checked MFCINST_GOT_INST state for both capture
and output buffer. So this patch fixes to encoder to check
MFCINST_GOT_INST state only for capture buffer from queue_setup.

Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
---
 drivers/media/platform/s5p-mfc/s5p_mfc_enc.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)
  

Comments

Andrzej Hajda Aug. 18, 2015, 1:31 p.m. UTC | #1
On 05/13/2015 09:25 AM, Seung-Woo Kim wrote:
> MFCINST_GOT_INST state is set to encoder context with set_format
> only for catpure buffer. In queue_setup of encoder called during
> reqbufs, it is checked MFCINST_GOT_INST state for both capture
> and output buffer. So this patch fixes to encoder to check
> MFCINST_GOT_INST state only for capture buffer from queue_setup.
> 
> Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>

Looks OK.

Reviewed-by: Andrzej Hajda <a.hajda@samsung.com>

Regards
Andrzej


> ---
>  drivers/media/platform/s5p-mfc/s5p_mfc_enc.c |    9 +++++----
>  1 files changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c b/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c
> index e65993f..2e57e9f 100644
> --- a/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c
> +++ b/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c
> @@ -1819,11 +1819,12 @@ static int s5p_mfc_queue_setup(struct vb2_queue *vq,
>  	struct s5p_mfc_ctx *ctx = fh_to_ctx(vq->drv_priv);
>  	struct s5p_mfc_dev *dev = ctx->dev;
>  
> -	if (ctx->state != MFCINST_GOT_INST) {
> -		mfc_err("inavlid state: %d\n", ctx->state);
> -		return -EINVAL;
> -	}
>  	if (vq->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) {
> +		if (ctx->state != MFCINST_GOT_INST) {
> +			mfc_err("inavlid state: %d\n", ctx->state);
> +			return -EINVAL;
> +		}
> +
>  		if (ctx->dst_fmt)
>  			*plane_count = ctx->dst_fmt->num_planes;
>  		else
> 

--
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
  
Kamil Debski Aug. 20, 2015, 10:17 a.m. UTC | #2
Hi,

> From: Andrzej Hajda [mailto:a.hajda@samsung.com]
> Sent: Tuesday, August 18, 2015 3:32 PM
> 
> On 05/13/2015 09:25 AM, Seung-Woo Kim wrote:
> > MFCINST_GOT_INST state is set to encoder context with set_format only
> > for catpure buffer. In queue_setup of encoder called during reqbufs,
> > it is checked MFCINST_GOT_INST state for both capture and output
> > buffer. So this patch fixes to encoder to check MFCINST_GOT_INST state
> > only for capture buffer from queue_setup.
> >
> > Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
> 
> Looks OK.
> 
> Reviewed-by: Andrzej Hajda <a.hajda@samsung.com>

Acked-by: Kamil Debski <k.debski@samsung.com>

> 
> Regards
> Andrzej

Best wishes,
Kamil Debski

> 
> 
> > ---
> >  drivers/media/platform/s5p-mfc/s5p_mfc_enc.c |    9 +++++----
> >  1 files changed, 5 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c
> > b/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c
> > index e65993f..2e57e9f 100644
> > --- a/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c
> > +++ b/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c
> > @@ -1819,11 +1819,12 @@ static int s5p_mfc_queue_setup(struct
> vb2_queue *vq,
> >  	struct s5p_mfc_ctx *ctx = fh_to_ctx(vq->drv_priv);
> >  	struct s5p_mfc_dev *dev = ctx->dev;
> >
> > -	if (ctx->state != MFCINST_GOT_INST) {
> > -		mfc_err("inavlid state: %d\n", ctx->state);
> > -		return -EINVAL;
> > -	}
> >  	if (vq->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) {
> > +		if (ctx->state != MFCINST_GOT_INST) {
> > +			mfc_err("inavlid state: %d\n", ctx->state);
> > +			return -EINVAL;
> > +		}
> > +
> >  		if (ctx->dst_fmt)
> >  			*plane_count = ctx->dst_fmt->num_planes;
> >  		else
> >

--
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
  

Patch

diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c b/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c
index e65993f..2e57e9f 100644
--- a/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c
+++ b/drivers/media/platform/s5p-mfc/s5p_mfc_enc.c
@@ -1819,11 +1819,12 @@  static int s5p_mfc_queue_setup(struct vb2_queue *vq,
 	struct s5p_mfc_ctx *ctx = fh_to_ctx(vq->drv_priv);
 	struct s5p_mfc_dev *dev = ctx->dev;
 
-	if (ctx->state != MFCINST_GOT_INST) {
-		mfc_err("inavlid state: %d\n", ctx->state);
-		return -EINVAL;
-	}
 	if (vq->type == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE) {
+		if (ctx->state != MFCINST_GOT_INST) {
+			mfc_err("inavlid state: %d\n", ctx->state);
+			return -EINVAL;
+		}
+
 		if (ctx->dst_fmt)
 			*plane_count = ctx->dst_fmt->num_planes;
 		else