Message ID | 20220204121514.2762676-3-alexander.stein@ew.tq-group.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | imx7/imx8mm media / csi patches | expand |
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@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@puri.sm> > Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com> Turning the bool into an enum as mentioned in the review of 1/8, Reviewed-by: Laurent Pinchart <laurent.pinchart@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 *
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 *