/linux-6.12.1/drivers/usb/gadget/function/ |
D | f_uvc.c | 27 #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 …]
|
D | uvc_v4l2.c | 14 #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 …]
|
D | f_uvc.h | 14 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);
|
D | uvc_video.c | 19 #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 …]
|
D | uvc.h | 88 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);
|
D | uvc_video.h | 20 int uvcg_video_init(struct uvc_video *video, struct uvc_device *uvc);
|
/linux-6.12.1/Documentation/userspace-api/media/drivers/ |
D | uvcvideo.rst | 3 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/ |
D | metafmt-uvc.rst | 3 .. _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 …]
|
D | metafmt-d4xx.rst | 9 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
|
D | meta-formats.rst | 20 metafmt-uvc
|
/linux-6.12.1/Documentation/usb/ |
D | gadget_uvc.rst | 2 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 …]
|
D | gadget-testing.rst | 27 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/ |
D | configfs-usb-gadget-uvc | 1 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/ |
D | Kconfig | 3 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"
|
D | uvcvideo.h | 24 * 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
|
D | uvc_video.c | 28 * 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 …]
|
D | uvc_isight.c | 18 * Built-in iSight webcams implements most of UVC 1.0 except a 27 * 0x01 1 Flags (UVC-compliant)
|
D | uvc_driver.c | 18 #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 …]
|
D | uvc_ctrl.c | 17 #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/ |
D | uvcvideo.h | 12 /* 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/ |
D | uvdevice.c | 36 /* 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/ |
D | usb-cardlist.rst | 19 ``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/ |
D | pv.c | 205 * @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/ |
D | uv.c | 251 * 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/ |
D | Makefile | 8 obj-$(CONFIG_UVC_COMMON) += uvc.o
|