[PATCH 2/8] media: imx: Forward type of hardware implementation

Laurent Pinchart laurent.pinchart at ideasonboard.com
Fri Feb 4 19:41:20 PST 2022


Hi Alexander and Dorota,

Thank you for the patch.

On Fri, Feb 04, 2022 at 01:15:08PM +0100, Alexander Stein wrote:
> From: Dorota Czaplejewicz <dorota.czaplejewicz at puri.sm>
> 
> Pass down the hardware type so imx_media_mbus_fmt_to_pix_fmt can do
> the actual switch.
> 
> Signed-off-by: Dorota Czaplejewicz <dorota.czaplejewicz at puri.sm>
> Signed-off-by: Alexander Stein <alexander.stein at ew.tq-group.com>

Turning the bool into an enum as mentioned in the review of 1/8,

Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>

> ---
> Changes in comparison to original commit from Dorota:
> * is_imx56 is used instead of enum
> 
>  drivers/staging/media/imx/imx-media-capture.c | 15 +++++++++------
>  drivers/staging/media/imx/imx-media-utils.c   |  3 ++-
>  drivers/staging/media/imx/imx-media.h         |  3 ++-
>  3 files changed, 13 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/staging/media/imx/imx-media-capture.c b/drivers/staging/media/imx/imx-media-capture.c
> index b61bf9f8ddf8..8aad6d6d350e 100644
> --- a/drivers/staging/media/imx/imx-media-capture.c
> +++ b/drivers/staging/media/imx/imx-media-capture.c
> @@ -139,7 +139,8 @@ static int capture_g_fmt_vid_cap(struct file *file, void *fh,
>  }
>  
>  static const struct imx_media_pixfmt *
> -__capture_try_fmt(struct v4l2_pix_format *pixfmt, struct v4l2_rect *compose)
> +__capture_try_fmt(struct v4l2_pix_format *pixfmt, struct v4l2_rect *compose,
> +		  bool is_imx56)
>  {
>  	struct v4l2_mbus_framefmt fmt_src;
>  	const struct imx_media_pixfmt *cc;
> @@ -171,7 +172,7 @@ __capture_try_fmt(struct v4l2_pix_format *pixfmt, struct v4l2_rect *compose)
>  	}
>  
>  	v4l2_fill_mbus_format(&fmt_src, pixfmt, 0);
> -	imx_media_mbus_fmt_to_pix_fmt(pixfmt, &fmt_src, cc);
> +	imx_media_mbus_fmt_to_pix_fmt(pixfmt, &fmt_src, cc, is_imx56);
>  
>  	if (compose) {
>  		compose->width = fmt_src.width;
> @@ -184,7 +185,9 @@ __capture_try_fmt(struct v4l2_pix_format *pixfmt, struct v4l2_rect *compose)
>  static int capture_try_fmt_vid_cap(struct file *file, void *fh,
>  				   struct v4l2_format *f)
>  {
> -	__capture_try_fmt(&f->fmt.pix, NULL);
> +	struct capture_priv *priv = video_drvdata(file);
> +
> +	__capture_try_fmt(&f->fmt.pix, NULL, priv->is_imx56);
>  	return 0;
>  }
>  
> @@ -199,7 +202,7 @@ static int capture_s_fmt_vid_cap(struct file *file, void *fh,
>  		return -EBUSY;
>  	}
>  
> -	cc = __capture_try_fmt(&f->fmt.pix, &priv->vdev.compose);
> +	cc = __capture_try_fmt(&f->fmt.pix, &priv->vdev.compose, priv->is_imx56);
>  
>  	priv->vdev.cc = cc;
>  	priv->vdev.fmt = f->fmt.pix;
> @@ -418,7 +421,7 @@ __capture_legacy_try_fmt(struct capture_priv *priv,
>  		}
>  	}
>  
> -	imx_media_mbus_fmt_to_pix_fmt(pixfmt, &fmt_src->format, cc);
> +	imx_media_mbus_fmt_to_pix_fmt(pixfmt, &fmt_src->format, cc, priv->is_imx56);
>  
>  	return cc;
>  }
> @@ -889,7 +892,7 @@ static int capture_init_format(struct capture_priv *priv)
>  		fmt_src.format.height = IMX_MEDIA_DEF_PIX_HEIGHT;
>  	}
>  
> -	imx_media_mbus_fmt_to_pix_fmt(&vdev->fmt, &fmt_src.format, NULL);
> +	imx_media_mbus_fmt_to_pix_fmt(&vdev->fmt, &fmt_src.format, NULL, priv->is_imx56);
>  	vdev->compose.width = fmt_src.format.width;
>  	vdev->compose.height = fmt_src.format.height;
>  
> diff --git a/drivers/staging/media/imx/imx-media-utils.c b/drivers/staging/media/imx/imx-media-utils.c
> index 94bc866ca28c..0daa6aad45f4 100644
> --- a/drivers/staging/media/imx/imx-media-utils.c
> +++ b/drivers/staging/media/imx/imx-media-utils.c
> @@ -518,7 +518,8 @@ EXPORT_SYMBOL_GPL(imx_media_try_colorimetry);
>  
>  int imx_media_mbus_fmt_to_pix_fmt(struct v4l2_pix_format *pix,
>  				  const struct v4l2_mbus_framefmt *mbus,
> -				  const struct imx_media_pixfmt *cc)
> +				  const struct imx_media_pixfmt *cc,
> +				  bool is_imx56)
>  {
>  	u32 width;
>  	u32 stride;
> diff --git a/drivers/staging/media/imx/imx-media.h b/drivers/staging/media/imx/imx-media.h
> index 73e8e6e0d8e8..2be1bc97955c 100644
> --- a/drivers/staging/media/imx/imx-media.h
> +++ b/drivers/staging/media/imx/imx-media.h
> @@ -198,7 +198,8 @@ void imx_media_try_colorimetry(struct v4l2_mbus_framefmt *tryfmt,
>  			       bool ic_route);
>  int imx_media_mbus_fmt_to_pix_fmt(struct v4l2_pix_format *pix,
>  				  const struct v4l2_mbus_framefmt *mbus,
> -				  const struct imx_media_pixfmt *cc);
> +				  const struct imx_media_pixfmt *cc,
> +				  bool is_imx56);
>  void imx_media_grp_id_to_sd_name(char *sd_name, int sz,
>  				 u32 grp_id, int ipu_id);
>  struct v4l2_subdev *

-- 
Regards,

Laurent Pinchart



More information about the linux-arm-kernel mailing list