Message ID | 20230316143829.499039-4-alexander.stein@ew.tq-group.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | imx7-media-csi: small cleanup | expand |
Hi Alexander, thanks for the patch. Alexander Stein <alexander.stein@ew.tq-group.com> writes: > This driver only support V4L2_BUF_TYPE_VIDEO_CAPTURE, so fail for other > passed types. > > Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com> > --- > drivers/media/platform/nxp/imx7-media-csi.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/drivers/media/platform/nxp/imx7-media-csi.c b/drivers/media/platform/nxp/imx7-media-csi.c > index 389d7d88b341..e470b0505d3b 100644 > --- a/drivers/media/platform/nxp/imx7-media-csi.c > +++ b/drivers/media/platform/nxp/imx7-media-csi.c > @@ -1186,6 +1186,11 @@ __imx7_csi_video_try_fmt(struct v4l2_pix_format *pixfmt, > static int imx7_csi_video_try_fmt_vid_cap(struct file *file, void *fh, > struct v4l2_format *f) > { > + struct imx7_csi *csi = video_drvdata(file); Maybe copy/paste problem csi is never used. > + > + if (f->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) > + return -EINVAL; Is this function ever called if f->type is not TYPE_VIDEO_CAPTURE? > + > __imx7_csi_video_try_fmt(&f->fmt.pix, NULL); > return 0; > } > @@ -1196,6 +1201,9 @@ static int imx7_csi_video_s_fmt_vid_cap(struct file *file, void *fh, > struct imx7_csi *csi = video_drvdata(file); > const struct imx7_csi_pixfmt *cc; > > + if (f->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) > + return -EINVAL; Ditto? Cheers, Rui > + > if (vb2_is_busy(&csi->q)) { > dev_err(csi->dev, "%s queue busy\n", __func__); > return -EBUSY; > -- > 2.34.1
On Fri, Mar 17, 2023 at 05:23:29PM +0000, Rui Miguel Silva wrote: > Hi Alexander, > thanks for the patch. > > Alexander Stein <alexander.stein@ew.tq-group.com> writes: > > > This driver only support V4L2_BUF_TYPE_VIDEO_CAPTURE, so fail for other > > passed types. > > > > Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com> > > --- > > drivers/media/platform/nxp/imx7-media-csi.c | 8 ++++++++ > > 1 file changed, 8 insertions(+) > > > > diff --git a/drivers/media/platform/nxp/imx7-media-csi.c b/drivers/media/platform/nxp/imx7-media-csi.c > > index 389d7d88b341..e470b0505d3b 100644 > > --- a/drivers/media/platform/nxp/imx7-media-csi.c > > +++ b/drivers/media/platform/nxp/imx7-media-csi.c > > @@ -1186,6 +1186,11 @@ __imx7_csi_video_try_fmt(struct v4l2_pix_format *pixfmt, > > static int imx7_csi_video_try_fmt_vid_cap(struct file *file, void *fh, > > struct v4l2_format *f) > > { > > + struct imx7_csi *csi = video_drvdata(file); > > Maybe copy/paste problem csi is never used. > > > + > > + if (f->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) > > + return -EINVAL; > > Is this function ever called if f->type is not TYPE_VIDEO_CAPTURE? It shouldn't, v4l_g_fmt() and v4l_s_fmt() check the type and call the appropriate operation accordingly. I don't think this patch is needed. > > + > > __imx7_csi_video_try_fmt(&f->fmt.pix, NULL); > > return 0; > > } > > @@ -1196,6 +1201,9 @@ static int imx7_csi_video_s_fmt_vid_cap(struct file *file, void *fh, > > struct imx7_csi *csi = video_drvdata(file); > > const struct imx7_csi_pixfmt *cc; > > > > + if (f->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) > > + return -EINVAL; > > Ditto? > > Cheers, > Rui > > + > > if (vb2_is_busy(&csi->q)) { > > dev_err(csi->dev, "%s queue busy\n", __func__); > > return -EBUSY;
Hi all, Am Freitag, 17. März 2023, 18:57:44 CET schrieb Laurent Pinchart: > On Fri, Mar 17, 2023 at 05:23:29PM +0000, Rui Miguel Silva wrote: > > Hi Alexander, > > thanks for the patch. > > > > Alexander Stein <alexander.stein@ew.tq-group.com> writes: > > > This driver only support V4L2_BUF_TYPE_VIDEO_CAPTURE, so fail for other > > > passed types. > > > > > > Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com> > > > --- > > > > > > drivers/media/platform/nxp/imx7-media-csi.c | 8 ++++++++ > > > 1 file changed, 8 insertions(+) > > > > > > diff --git a/drivers/media/platform/nxp/imx7-media-csi.c > > > b/drivers/media/platform/nxp/imx7-media-csi.c index > > > 389d7d88b341..e470b0505d3b 100644 > > > --- a/drivers/media/platform/nxp/imx7-media-csi.c > > > +++ b/drivers/media/platform/nxp/imx7-media-csi.c > > > @@ -1186,6 +1186,11 @@ __imx7_csi_video_try_fmt(struct v4l2_pix_format > > > *pixfmt,> > > > > static int imx7_csi_video_try_fmt_vid_cap(struct file *file, void *fh, > > > > > > struct v4l2_format *f) > > > > > > { > > > > > > + struct imx7_csi *csi = video_drvdata(file); > > > > Maybe copy/paste problem csi is never used. Yes, leftover from reordering patches. > > > + > > > + if (f->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) > > > + return -EINVAL; > > > > Is this function ever called if f->type is not TYPE_VIDEO_CAPTURE? > > It shouldn't, v4l_g_fmt() and v4l_s_fmt() check the type and call the > appropriate operation accordingly. I don't think this patch is needed. You are right. I was mislead by the fact that imx7_csi_video_g_selection does need this check. Best regards, Alexander > > > + > > > > > > __imx7_csi_video_try_fmt(&f->fmt.pix, NULL); > > > return 0; > > > > > > } > > > > > > @@ -1196,6 +1201,9 @@ static int imx7_csi_video_s_fmt_vid_cap(struct > > > file *file, void *fh,> > > > > struct imx7_csi *csi = video_drvdata(file); > > > const struct imx7_csi_pixfmt *cc; > > > > > > + if (f->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) > > > + return -EINVAL; > > > > Ditto? > > > > Cheers, > > > > Rui > > > > > > + > > > > > > if (vb2_is_busy(&csi->q)) { > > > > > > dev_err(csi->dev, "%s queue busy\n", __func__); > > > return -EBUSY;
diff --git a/drivers/media/platform/nxp/imx7-media-csi.c b/drivers/media/platform/nxp/imx7-media-csi.c index 389d7d88b341..e470b0505d3b 100644 --- a/drivers/media/platform/nxp/imx7-media-csi.c +++ b/drivers/media/platform/nxp/imx7-media-csi.c @@ -1186,6 +1186,11 @@ __imx7_csi_video_try_fmt(struct v4l2_pix_format *pixfmt, static int imx7_csi_video_try_fmt_vid_cap(struct file *file, void *fh, struct v4l2_format *f) { + struct imx7_csi *csi = video_drvdata(file); + + if (f->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) + return -EINVAL; + __imx7_csi_video_try_fmt(&f->fmt.pix, NULL); return 0; } @@ -1196,6 +1201,9 @@ static int imx7_csi_video_s_fmt_vid_cap(struct file *file, void *fh, struct imx7_csi *csi = video_drvdata(file); const struct imx7_csi_pixfmt *cc; + if (f->type != V4L2_BUF_TYPE_VIDEO_CAPTURE) + return -EINVAL; + if (vb2_is_busy(&csi->q)) { dev_err(csi->dev, "%s queue busy\n", __func__); return -EBUSY;
This driver only support V4L2_BUF_TYPE_VIDEO_CAPTURE, so fail for other passed types. Signed-off-by: Alexander Stein <alexander.stein@ew.tq-group.com> --- drivers/media/platform/nxp/imx7-media-csi.c | 8 ++++++++ 1 file changed, 8 insertions(+)