linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] v4l2-compliance: skip V4L2_CID_PRIVATE_BASE check for UVC
@ 2025-10-29 10:15 Hans Verkuil
  2025-10-29 10:30 ` Ricardo Ribalda
  0 siblings, 1 reply; 2+ messages in thread
From: Hans Verkuil @ 2025-10-29 10:15 UTC (permalink / raw)
  To: Linux Media Mailing List; +Cc: Ricardo Ribalda

UVC doesn't support V4L2_CID_PRIVATE_BASE, so skip the check.

Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
Reviewed-by: Ricardo Ribalda <ribalda@chromium.org>
---
Ricardo, can you test this to verify that this solves the issue?
---
diff --git a/utils/v4l2-compliance/v4l2-test-controls.cpp b/utils/v4l2-compliance/v4l2-test-controls.cpp
index e4925ca3..73a6a3be 100644
--- a/utils/v4l2-compliance/v4l2-test-controls.cpp
+++ b/utils/v4l2-compliance/v4l2-test-controls.cpp
@@ -321,6 +321,9 @@ int testQueryExtControls(struct node *node)
 	if (user_controls != user_controls_check)
 		return fail("expected %d user controls, got %d\n",
 			user_controls_check, user_controls);
+	/* UVC doesn't support V4L2_CID_PRIVATE_BASE */
+	if (is_uvcvideo)
+		priv_user_controls_check = 0;
 	if (priv_user_controls != priv_user_controls_check)
 		return fail("expected %d private controls, got %d\n",
 			priv_user_controls_check, priv_user_controls);

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] v4l2-compliance: skip V4L2_CID_PRIVATE_BASE check for UVC
  2025-10-29 10:15 [PATCH] v4l2-compliance: skip V4L2_CID_PRIVATE_BASE check for UVC Hans Verkuil
@ 2025-10-29 10:30 ` Ricardo Ribalda
  0 siblings, 0 replies; 2+ messages in thread
From: Ricardo Ribalda @ 2025-10-29 10:30 UTC (permalink / raw)
  To: Hans Verkuil; +Cc: Linux Media Mailing List

Hi Hans

Thanks for the patch

On Wed, 29 Oct 2025 at 11:15, Hans Verkuil <hverkuil+cisco@kernel.org> wrote:
>
> UVC doesn't support V4L2_CID_PRIVATE_BASE, so skip the check.
>
> Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
> Reviewed-by: Ricardo Ribalda <ribalda@chromium.org>
Tested-by: Ricardo Ribalda <ribalda@chromium.org>
> ---

I have used this patch on top of v4l2-utils 1.28
Using a kernel 6.12 +
https://patchwork.linuxtv.org/project/linux-media/patch/20251028-uvc-fix-which-v1-1-a7e6b82672a3@chromium.org/

The missing error is due to a non compliant module. Working also to fix that.

Regards!


v4l2-compliance 1.28.1GIT_COMMIT_CNT, 64 bits, 64-bit time_t
v4l2-compliance SHA: GIT_SHA GIT_COMMIT_DATE

Compliance test for uvcvideo device /dev/video0:

Driver Info:
        Driver name      : uvcvideo
        Card type        : ACER FHD VHDR User Facing: ACER
        Bus info         : usb-0000:00:14.0-6
        Driver version   : 6.12.45
        Capabilities     : 0x84a00001
                Video Capture
                Metadata Capture
                Streaming
                Extended Pix Format
                Device Capabilities
        Device Caps      : 0x04200001
                Video Capture
                Streaming
                Extended Pix Format
Media Driver Info:
        Driver name      : uvcvideo
        Model            : ACER FHD VHDR User Facing: ACER
        Serial           : 200901010001
        Bus info         : usb-0000:00:14.0-6
        Media version    : 6.12.45
        Hardware revision: 0x00000015 (21)
        Driver version   : 6.12.45
Interface Info:
        ID               : 0x03000002
        Type             : V4L Video
Entity Info:
        ID               : 0x00000001 (1)
        Name             : ACER FHD VHDR User Facing: ACER
        Function         : V4L2 I/O
        Flags            : default
        Pad 0x01000007   : 0: Sink
          Link 0x02000010: from remote pad 0x100000a of entity
'Extension 4' (Video Pixel Formatter): Data, Enabled, Immutable

Required ioctls:
        test MC information (see 'Media Driver Info' above): OK
        test VIDIOC_QUERYCAP: OK
        test invalid ioctls: OK

Allow for multiple opens:
        test second /dev/video0 open: OK
        test VIDIOC_QUERYCAP: OK
        test VIDIOC_G/S_PRIORITY: OK
        test for unlimited opens: OK

Debug ioctls:
        test VIDIOC_DBG_G/S_REGISTER: OK (Not Supported)
        test VIDIOC_LOG_STATUS: OK (Not Supported)

Input ioctls:
        test VIDIOC_G/S_TUNER/ENUM_FREQ_BANDS: OK (Not Supported)
        test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
        test VIDIOC_S_HW_FREQ_SEEK: OK (Not Supported)
        test VIDIOC_ENUMAUDIO: OK (Not Supported)
        test VIDIOC_G/S/ENUMINPUT: OK
        test VIDIOC_G/S_AUDIO: OK (Not Supported)
        Inputs: 1 Audio Inputs: 0 Tuners: 0

Output ioctls:
        test VIDIOC_G/S_MODULATOR: OK (Not Supported)
        test VIDIOC_G/S_FREQUENCY: OK (Not Supported)
        test VIDIOC_ENUMAUDOUT: OK (Not Supported)
        test VIDIOC_G/S/ENUMOUTPUT: OK (Not Supported)
        test VIDIOC_G/S_AUDOUT: OK (Not Supported)
        Outputs: 0 Audio Outputs: 0 Modulators: 0

Input/Output configuration ioctls:
        test VIDIOC_ENUM/G/S/QUERY_STD: OK (Not Supported)
        test VIDIOC_ENUM/G/S/QUERY_DV_TIMINGS: OK (Not Supported)
        test VIDIOC_DV_TIMINGS_CAP: OK (Not Supported)
        test VIDIOC_G/S_EDID: OK (Not Supported)

Control ioctls (Input 0):
        test VIDIOC_QUERY_EXT_CTRL/QUERYMENU: OK
        test VIDIOC_QUERYCTRL: OK
                fail: v4l2-test-controls.cpp(571): could not set maximum value
        test VIDIOC_G/S_CTRL: FAIL
        test VIDIOC_G/S/TRY_EXT_CTRLS: OK
        test VIDIOC_(UN)SUBSCRIBE_EVENT/DQEVENT: OK
        test VIDIOC_G/S_JPEGCOMP: OK (Not Supported)
        Standard Controls: 16 Private Controls: 1
        Standard Compound Controls: 0 Private Compound Controls: 1

Format ioctls (Input 0):
        test VIDIOC_ENUM_FMT/FRAMESIZES/FRAMEINTERVALS: OK
        test VIDIOC_G/S_PARM: OK
        test VIDIOC_G_FBUF: OK (Not Supported)
        test VIDIOC_G_FMT: OK
        test VIDIOC_TRY_FMT: OK
                warn: v4l2-test-formats.cpp(1110): Could not set fmt2
        test VIDIOC_S_FMT: OK
        test VIDIOC_G_SLICED_VBI_CAP: OK (Not Supported)
        test Cropping: OK (Not Supported)
        test Composing: OK (Not Supported)
        test Scaling: OK (Not Supported)

Codec ioctls (Input 0):
        test VIDIOC_(TRY_)ENCODER_CMD: OK (Not Supported)
        test VIDIOC_G_ENC_INDEX: OK (Not Supported)
        test VIDIOC_(TRY_)DECODER_CMD: OK (Not Supported)

Buffer ioctls (Input 0):
        test VIDIOC_REQBUFS/CREATE_BUFS/QUERYBUF: OK
        test CREATE_BUFS maximum buffers: OK
        test VIDIOC_REMOVE_BUFS: OK
        test VIDIOC_EXPBUF: OK
        test Requests: OK (Not Supported)
        test blocking wait: OK

Total for uvcvideo device /dev/video0: 49, Succeeded: 48, Failed: 1, Warnings: 1

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-10-29 10:30 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-29 10:15 [PATCH] v4l2-compliance: skip V4L2_CID_PRIVATE_BASE check for UVC Hans Verkuil
2025-10-29 10:30 ` Ricardo Ribalda

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).