| From 87bb336f45506c2bfa5a3e15c9d833ae6de4c9bc Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Fri, 18 Jun 2021 14:29:08 +0200 |
| Subject: media: uvcvideo: Set capability in s_param |
| |
| From: Ricardo Ribalda <ribalda@chromium.org> |
| |
| [ Upstream commit 97a2777a96070afb7da5d587834086c0b586c8cc ] |
| |
| Fixes v4l2-compliance: |
| |
| Format ioctls (Input 0): |
| warn: v4l2-test-formats.cpp(1339): S_PARM is supported but doesn't report V4L2_CAP_TIMEPERFRAME |
| fail: v4l2-test-formats.cpp(1241): node->has_frmintervals && !cap->capability |
| |
| Reviewed-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> |
| Signed-off-by: Ricardo Ribalda <ribalda@chromium.org> |
| Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> |
| Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/media/usb/uvc/uvc_v4l2.c | 7 +++++-- |
| 1 file changed, 5 insertions(+), 2 deletions(-) |
| |
| diff --git a/drivers/media/usb/uvc/uvc_v4l2.c b/drivers/media/usb/uvc/uvc_v4l2.c |
| index db7f8f8ee2f9f..3126ee9e965c9 100644 |
| --- a/drivers/media/usb/uvc/uvc_v4l2.c |
| +++ b/drivers/media/usb/uvc/uvc_v4l2.c |
| @@ -467,10 +467,13 @@ static int uvc_v4l2_set_streamparm(struct uvc_streaming *stream, |
| uvc_simplify_fraction(&timeperframe.numerator, |
| &timeperframe.denominator, 8, 333); |
| |
| - if (parm->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) |
| + if (parm->type == V4L2_BUF_TYPE_VIDEO_CAPTURE) { |
| parm->parm.capture.timeperframe = timeperframe; |
| - else |
| + parm->parm.capture.capability = V4L2_CAP_TIMEPERFRAME; |
| + } else { |
| parm->parm.output.timeperframe = timeperframe; |
| + parm->parm.output.capability = V4L2_CAP_TIMEPERFRAME; |
| + } |
| |
| return 0; |
| } |
| -- |
| 2.33.0 |
| |