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@xxxxxxx> > > 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@xxxxxxx> > Signed-off-by: Alexander Stein <alexander.stein@xxxxxxxxxxxxxxx> Turning the bool into an enum as mentioned in the review of 1/8, Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > --- > 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