Home
last modified time | relevance | path

Searched full:uvc (Results 1 – 25 of 59) sorted by relevance

123

/linux-6.12.1/drivers/usb/gadget/function/
Df_uvc.c27 #include "uvc.h"
207 struct uvc_device *uvc = req->context; in uvc_function_ep0_complete() local
211 if (uvc->event_setup_out) { in uvc_function_ep0_complete()
212 uvc->event_setup_out = 0; in uvc_function_ep0_complete()
219 v4l2_event_queue(&uvc->vdev, &v4l2_event); in uvc_function_ep0_complete()
226 struct uvc_device *uvc = to_uvc(f); in uvc_function_setup() local
245 uvc->event_setup_out = !(ctrl->bRequestType & USB_DIR_IN); in uvc_function_setup()
246 uvc->event_length = le16_to_cpu(ctrl->wLength); in uvc_function_setup()
258 if (interface == uvc->streaming_intf) in uvc_function_setup()
261 v4l2_event_queue(&uvc->vdev, &v4l2_event); in uvc_function_setup()
[all …]
Duvc_v4l2.c14 #include <linux/usb/uvc.h>
24 #include "uvc.h"
76 static struct uvcg_format *find_format_by_index(struct uvc_device *uvc, int index) in find_format_by_index() argument
82 list_for_each_entry(format, &uvc->header->formats, entry) { in find_format_by_index()
93 static struct uvcg_frame *find_frame_by_index(struct uvc_device *uvc, in find_frame_by_index() argument
101 list_for_each_entry(format, &uvc->header->formats, entry) { in find_frame_by_index()
115 static struct uvcg_format *find_format_by_pix(struct uvc_device *uvc, in find_format_by_pix() argument
121 list_for_each_entry(format, &uvc->header->formats, entry) { in find_format_by_pix()
136 static struct uvcg_frame *find_closest_frame_by_size(struct uvc_device *uvc, in find_closest_frame_by_size() argument
140 struct uvc_video *video = &uvc->video; in find_closest_frame_by_size()
[all …]
Df_uvc.h14 void uvc_function_setup_continue(struct uvc_device *uvc, int disable_ep);
16 void uvc_function_connect(struct uvc_device *uvc);
18 void uvc_function_disconnect(struct uvc_device *uvc);
Duvc_video.c19 #include "uvc.h"
31 struct uvc_device *uvc = container_of(video, struct uvc_device, video); in uvc_video_encode_header() local
32 struct usb_composite_dev *cdev = uvc->func.config->cdev; in uvc_video_encode_header()
261 uvcg_err(&video->uvc->func, "Failed to queue request (%d).\n", in uvcg_video_ep_queue()
341 * thread to encode uvc buffers into. Otherwise we could get into a in uvc_video_ep_queue_initial_requests()
403 uvcg_dbg(&video->uvc->func, "VS request missed xfer.\n"); in uvc_video_complete()
409 uvcg_dbg(&video->uvc->func, "VS request cancelled.\n"); in uvc_video_complete()
414 uvcg_warn(&video->uvc->func, in uvc_video_complete()
465 * dequeue -> queue -> dequeue flow of uvc buffers will not in uvc_video_complete()
652 uvcg_info(&video->uvc->func, in uvcg_video_disable()
[all …]
Duvc.h88 struct uvc_device *uvc; member
190 extern void uvc_function_setup_continue(struct uvc_device *uvc, int disable_ep);
191 extern void uvc_function_connect(struct uvc_device *uvc);
192 extern void uvc_function_disconnect(struct uvc_device *uvc);
Duvc_video.h20 int uvcg_video_init(struct uvc_video *video, struct uvc_device *uvc);
/linux-6.12.1/Documentation/userspace-api/media/drivers/
Duvcvideo.rst3 The Linux USB Video Class (UVC) driver
6 This file documents some driver-specific aspects of the UVC driver, such as
9 Questions and remarks can be sent to the Linux UVC development mailing list at
19 The UVC specification allows for vendor-specific extensions through extension
20 units (XUs). The Linux UVC driver supports extension unit controls (XU controls)
31 access XU controls but exposes the entire UVC XU concept to user space for
40 The UVC driver provides an API for user space applications to define so-called
49 beforehand (UVCIOC_CTRL_ADD) to pass XU control information to the UVC driver.
64 A call to this ioctl allows applications to send queries to the UVC driver that
65 directly map to the low-level UVC control requests.
[all …]
/linux-6.12.1/Documentation/userspace-api/media/v4l/
Dmetafmt-uvc.rst3 .. _v4l2-meta-fmt-uvc:
9 UVC Payload Header Data
15 This format describes standard UVC metadata, extracted from UVC packet headers
16 and provided by the UVC driver through metadata video nodes. That data includes
17 exact copies of the standard part of UVC Payload Header contents and auxiliary
20 the "UVC 1.5 Class specification" for details.
22 Each UVC payload header can be between 2 and 12 bytes large. Buffers can
31 .. flat-table:: UVC Metadata Block
45 * - :cspan:`1` *The rest is an exact copy of the UVC payload header:*
49 - Flags, indicating presence of other standard UVC fields
[all …]
Dmetafmt-d4xx.rst9 Intel D4xx UVC Cameras Metadata
15 Intel D4xx (D435, D455 and others) cameras include per-frame metadata in their UVC
16 payload headers, following the Microsoft(R) UVC extension proposal [1_]. That
17 means, that the private D4XX metadata, following the standard UVC header, is
144 [1] https://docs.microsoft.com/en-us/windows-hardware/drivers/stream/uvc-extensions-1-5
Dmeta-formats.rst20 metafmt-uvc
/linux-6.12.1/Documentation/usb/
Dgadget_uvc.rst2 Linux UVC Gadget Driver
7 The UVC Gadget driver is a driver for hardware on the *device* side of a USB
14 On the host side (once connected via USB cable), a device running the UVC Gadget
15 driver *and controlled by an appropriate userspace program* should appear as a UVC
26 USB_F_UVC must be selected to enable support for the UVC gadget.
30 The UVC Gadget expects to be configured through configfs using the UVC function.
31 This allows a significant degree of flexibility, as many of a UVC device's
35 see Documentation/ABI/testing/configfs-usb-gadget-uvc
42 The UVC Function
45 The first step is to create the UVC function:
[all …]
Dgadget-testing.rst27 18. UVC function
803 18. UVC function
811 The function name to use when creating the function directory is "uvc".
812 The uvc function provides these attributes in its function directory:
843 # mkdir functions/uvc.usb0/control/header/h
844 # cd functions/uvc.usb0/control/
847 # mkdir -p functions/uvc.usb0/streaming/uncompressed/u/360p
848 # cat <<EOF > functions/uvc.usb0/streaming/uncompressed/u/360p/dwFrameInterval
854 # mkdir functions/uvc.usb0/streaming/header/h
855 # cd functions/uvc.usb0/streaming/header/h
[all …]
/linux-6.12.1/Documentation/ABI/testing/
Dconfigfs-usb-gadget-uvc1 What: /config/usb-gadget/gadget/functions/uvc.name
4 Description: UVC function directory
13 What: /config/usb-gadget/gadget/functions/uvc.name/control
27 What: /config/usb-gadget/gadget/functions/uvc.name/control/class
32 What: /config/usb-gadget/gadget/functions/uvc.name/control/class/ss
37 What: /config/usb-gadget/gadget/functions/uvc.name/control/class/fs
42 What: /config/usb-gadget/gadget/functions/uvc.name/control/terminal
47 What: /config/usb-gadget/gadget/functions/uvc.name/control/terminal/output
52 What: /config/usb-gadget/gadget/functions/uvc.name/control/terminal/output/default
69 What: /config/usb-gadget/gadget/functions/uvc.name/control/terminal/camera
[all …]
/linux-6.12.1/drivers/media/usb/uvc/
DKconfig3 tristate "USB Video Class (UVC)"
8 Support for the USB Video Class (UVC). Currently only video
11 For more information see: <http://linux-uvc.berlios.de/>
14 bool "UVC input events device support"
Duvcvideo.h24 * UVC constants
157 * The term 'entity' refers to both UVC units and UVC terminals.
162 * always have a null MSB for units. All terminal types defined by the UVC
175 struct list_head list; /* Entity as part of a UVC device. */
180 * Entities exposed by the UVC device use IDs 0-255, extra entities
413 * @stream: UVC streaming context
Duvc_video.c28 * UVC Controls
84 "Failed to query (%s) UVC control %u on unit %u: %d (exp. %u).\n", in uvc_query_ctrl()
149 * The UVC 1.5 class specification defines the first five bits in the in uvc_fixup_video_ctrl()
217 * high- and super-speed devices) per second and add the UVC in uvc_fixup_video_ctrl()
280 uvc_warn_once(stream->dev, UVC_WARN_MINMAX, "UVC non " in uvc_get_video_ctrl()
293 uvc_warn_once(stream->dev, UVC_WARN_PROBE_DEF, "UVC non " in uvc_get_video_ctrl()
300 "Failed to query (%u) UVC %s control : %d (exp. %u).\n", in uvc_get_video_ctrl()
381 "Failed to set UVC %s control : %d (exp. %u).\n", in uvc_set_video_ctrl()
400 * first generation UVC Logitech webcams, don't implement the Video in uvc_probe_video()
552 * previous one. This filtering is also needed to support UVC 1.5, where in uvc_video_clock_decode()
[all …]
Duvc_isight.c18 * Built-in iSight webcams implements most of UVC 1.0 except a
27 * 0x01 1 Flags (UVC-compliant)
Duvc_driver.c18 #include <linux/usb/uvc.h>
80 * UVC transfer characteristics. If v4l2_xfer_func is extended with new in uvc_xfer_func()
107 * UVC matrix coefficients. If v4l2_ycbcr_encoding is extended with new in uvc_ycbcr_enc()
435 * Several UVC chipsets screw up dwMaxVideoFrameBufferSize in uvc_parse_format()
1185 * Parse the default alternate setting only, as the UVC specification in uvc_parse_control()
1207 * don't conform to the UVC status endpoint messages. Don't try to in uvc_parse_control()
1328 * UVC device scan
1332 * Scan the UVC descriptors to locate a chain starting at an Output Terminal
1616 uvc_dbg(chain->dev, PROBE, "Scanning UVC chain:"); in uvc_scan_chain()
1754 * UVC descriptor order as we build the chain from output to input. This in uvc_scan_fallback()
[all …]
Duvc_ctrl.c17 #include <linux/usb/uvc.h>
372 * the V4L2 control value, to the corresponding UVC control value used by the
374 * available, otherwise the function assumes that the V4L2 and UVC values are
377 * For controls of type UVC_CTRL_DATA_TYPE_BITMASK, the UVC control value is
528 /* UVC 1.1 does not define auto, we can exit. */ in uvc_ctrl_filter_plf_mapping()
916 * triggered. UVC devices however want to see a 1 written -> override in uvc_set_le_value()
945 * UVC Controls
1052 "UVC non compliance - GET_RES failed on " in uvc_ctrl_populate_cache()
1430 * Mapping V4L2 controls to UVC controls can be straightforward if done well.
1431 * Most of the UVC controls exist in V4L2, and can be mapped directly. Some
[all …]
/linux-6.12.1/include/uapi/linux/
Duvcvideo.h12 /* Data types for UVC control data */
87 * UVC metadata nodes fill buffers with possibly multiple instances of this
89 * clock synchronisation. The rest is an exact copy of a UVC payload header.
/linux-6.12.1/drivers/s390/char/
Duvdevice.c36 /* Mapping from IOCTL-nr to UVC-bit */
151 * uvio_attestation() - Perform a Retrieve Attestation Measurement UVC.
240 /** uvio_add_secret() - perform an Add Secret UVC
299 /** uvio_list_secrets() - perform a List Secret UVC
347 /** uvio_lock_secrets() - perform a Lock Secret Store UVC
352 * After this call was dispatched successfully every following Add Secret UVC
353 * and Lock Secrets UVC will fail with return code 0x102.
/linux-6.12.1/Documentation/admin-guide/media/
Dusb-cardlist.rst19 ``uvc-driver``.
37 for cameras not supported by the USB Video Class (UVC) driver,
97 uvcvideo USB Video Class (UVC)
/linux-6.12.1/arch/s390/kvm/
Dpv.c205 * @rc: the RC code of the Destroy Secure Configuration UVC
206 * @rrc: the RRC code of the Destroy Secure Configuration UVC
220 /* It used the destroy-fast UVC, nothing left to do here */ in kvm_s390_pv_dispose_one_leftover()
229 * Intentionally leak unusable memory. If the UVC fails, the memory in kvm_s390_pv_dispose_one_leftover()
370 * @rc: the RC code of the UVC
371 * @rrc: the RRC code of the UVC
410 * @rc: the RC code of the first failing UVC
411 * @rrc: the RRC code of the first failing UVC
890 /* If the UVC returned an error, translate it to -EINVAL */ in kvm_s390_pv_dump_complete()
/linux-6.12.1/arch/s390/kernel/
Duv.c251 * If the UVC does not succeed or fail immediately, we don't want to in make_folio_secure()
255 * and if the UVC returned busy or partial completion, we return in make_folio_secure()
274 * @uvcb: the Ultravisor control block of the UVC to be performed
281 * Although considered as one, the Unpin Page UVC is not an actual import,
421 * If we are here because the UVC returned busy or partial in gmap_make_secure()
/linux-6.12.1/drivers/media/common/
DMakefile8 obj-$(CONFIG_UVC_COMMON) += uvc.o

123