Lines Matching refs:buffer

332 	__u32 **intervals, unsigned char *buffer, int buflen)  in uvc_parse_format()  argument
338 const unsigned char *start = buffer; in uvc_parse_format()
344 format->type = buffer[2]; in uvc_parse_format()
345 format->index = buffer[3]; in uvc_parse_format()
347 switch (buffer[2]) { in uvc_parse_format()
350 n = buffer[2] == UVC_VS_FORMAT_UNCOMPRESSED ? 27 : 28; in uvc_parse_format()
360 fmtdesc = uvc_format_by_guid(&buffer[5]); in uvc_parse_format()
368 &buffer[5]); in uvc_parse_format()
370 &buffer[5]); in uvc_parse_format()
374 format->bpp = buffer[21]; in uvc_parse_format()
389 if (buffer[2] == UVC_VS_FORMAT_UNCOMPRESSED) { in uvc_parse_format()
393 if (buffer[27]) in uvc_parse_format()
423 switch (buffer[8] & 0x7f) { in uvc_parse_format()
437 alts->desc.bInterfaceNumber, buffer[8]); in uvc_parse_format()
441 strlcat(format->name, buffer[8] & (1 << 7) ? " 60Hz" : " 50Hz", in uvc_parse_format()
466 buffer[2]); in uvc_parse_format()
472 buflen -= buffer[0]; in uvc_parse_format()
473 buffer += buffer[0]; in uvc_parse_format()
478 while (buflen > 2 && buffer[1] == USB_DT_CS_INTERFACE && in uvc_parse_format()
479 buffer[2] == ftype) { in uvc_parse_format()
482 n = buflen > 25 ? buffer[25] : 0; in uvc_parse_format()
484 n = buflen > 21 ? buffer[21] : 0; in uvc_parse_format()
495 frame->bFrameIndex = buffer[3]; in uvc_parse_format()
496 frame->bmCapabilities = buffer[4]; in uvc_parse_format()
497 frame->wWidth = get_unaligned_le16(&buffer[5]) in uvc_parse_format()
499 frame->wHeight = get_unaligned_le16(&buffer[7]); in uvc_parse_format()
500 frame->dwMinBitRate = get_unaligned_le32(&buffer[9]); in uvc_parse_format()
501 frame->dwMaxBitRate = get_unaligned_le32(&buffer[13]); in uvc_parse_format()
504 get_unaligned_le32(&buffer[17]); in uvc_parse_format()
506 get_unaligned_le32(&buffer[21]); in uvc_parse_format()
507 frame->bFrameIntervalType = buffer[25]; in uvc_parse_format()
511 get_unaligned_le32(&buffer[17]); in uvc_parse_format()
512 frame->bFrameIntervalType = buffer[21]; in uvc_parse_format()
534 interval = get_unaligned_le32(&buffer[26+4*i]); in uvc_parse_format()
559 buflen -= buffer[0]; in uvc_parse_format()
560 buffer += buffer[0]; in uvc_parse_format()
563 if (buflen > 2 && buffer[1] == USB_DT_CS_INTERFACE && in uvc_parse_format()
564 buffer[2] == UVC_VS_STILL_IMAGE_FRAME) { in uvc_parse_format()
565 buflen -= buffer[0]; in uvc_parse_format()
566 buffer += buffer[0]; in uvc_parse_format()
569 if (buflen > 2 && buffer[1] == USB_DT_CS_INTERFACE && in uvc_parse_format()
570 buffer[2] == UVC_VS_COLORFORMAT) { in uvc_parse_format()
579 format->colorspace = uvc_colorspace(buffer[3]); in uvc_parse_format()
581 buflen -= buffer[0]; in uvc_parse_format()
582 buffer += buffer[0]; in uvc_parse_format()
585 return buffer - start; in uvc_parse_format()
595 unsigned char *_buffer, *buffer = alts->extra; in uvc_parse_streaming() local
643 buffer = alts->endpoint[i].extra; in uvc_parse_streaming()
651 while (buflen > 2 && buffer[1] != USB_DT_CS_INTERFACE) { in uvc_parse_streaming()
652 buflen -= buffer[0]; in uvc_parse_streaming()
653 buffer += buffer[0]; in uvc_parse_streaming()
663 switch (buffer[2]) { in uvc_parse_streaming()
681 p = buflen >= 4 ? buffer[3] : 0; in uvc_parse_streaming()
682 n = buflen >= size ? buffer[size-1] : 0; in uvc_parse_streaming()
692 streaming->header.bEndpointAddress = buffer[6]; in uvc_parse_streaming()
693 if (buffer[2] == UVC_VS_INPUT_HEADER) { in uvc_parse_streaming()
694 streaming->header.bmInfo = buffer[7]; in uvc_parse_streaming()
695 streaming->header.bTerminalLink = buffer[8]; in uvc_parse_streaming()
696 streaming->header.bStillCaptureMethod = buffer[9]; in uvc_parse_streaming()
697 streaming->header.bTriggerSupport = buffer[10]; in uvc_parse_streaming()
698 streaming->header.bTriggerUsage = buffer[11]; in uvc_parse_streaming()
700 streaming->header.bTerminalLink = buffer[7]; in uvc_parse_streaming()
704 streaming->header.bmaControls = kmemdup(&buffer[size], p * n, in uvc_parse_streaming()
711 buflen -= buffer[0]; in uvc_parse_streaming()
712 buffer += buffer[0]; in uvc_parse_streaming()
714 _buffer = buffer; in uvc_parse_streaming()
783 while (buflen > 2 && buffer[1] == USB_DT_CS_INTERFACE) { in uvc_parse_streaming()
784 switch (buffer[2]) { in uvc_parse_streaming()
791 &interval, buffer, buflen); in uvc_parse_streaming()
799 buffer += ret; in uvc_parse_streaming()
806 buflen -= buffer[0]; in uvc_parse_streaming()
807 buffer += buffer[0]; in uvc_parse_streaming()
878 const unsigned char *buffer, int buflen) in uvc_parse_vendor_control() argument
888 if (buffer[1] != 0x41 || buffer[2] != 0x01) in uvc_parse_vendor_control()
917 p = buflen >= 22 ? buffer[21] : 0; in uvc_parse_vendor_control()
918 n = buflen >= 25 + p ? buffer[22+p] : 0; in uvc_parse_vendor_control()
927 unit = uvc_alloc_entity(UVC_VC_EXTENSION_UNIT, buffer[3], in uvc_parse_vendor_control()
932 memcpy(unit->extension.guidExtensionCode, &buffer[4], 16); in uvc_parse_vendor_control()
933 unit->extension.bNumControls = buffer[20]; in uvc_parse_vendor_control()
934 memcpy(unit->baSourceID, &buffer[22], p); in uvc_parse_vendor_control()
935 unit->extension.bControlSize = buffer[22+p]; in uvc_parse_vendor_control()
939 memcpy(unit->extension.bmControls, &buffer[23+p], 2*n); in uvc_parse_vendor_control()
941 if (buffer[24+p+2*n] != 0) in uvc_parse_vendor_control()
942 usb_string(udev, buffer[24+p+2*n], unit->name, in uvc_parse_vendor_control()
945 sprintf(unit->name, "Extension %u", buffer[3]); in uvc_parse_vendor_control()
956 const unsigned char *buffer, int buflen) in uvc_parse_standard_control() argument
965 switch (buffer[2]) { in uvc_parse_standard_control()
967 n = buflen >= 12 ? buffer[11] : 0; in uvc_parse_standard_control()
976 dev->uvc_version = get_unaligned_le16(&buffer[3]); in uvc_parse_standard_control()
977 dev->clock_frequency = get_unaligned_le32(&buffer[7]); in uvc_parse_standard_control()
981 intf = usb_ifnum_to_if(udev, buffer[12+i]); in uvc_parse_standard_control()
1004 type = get_unaligned_le16(&buffer[4]); in uvc_parse_standard_control()
1010 buffer[3], type); in uvc_parse_standard_control()
1019 n = buflen >= 15 ? buffer[14] : 0; in uvc_parse_standard_control()
1023 n = buflen >= 9 ? buffer[8] : 0; in uvc_parse_standard_control()
1024 p = buflen >= 10 + n ? buffer[9+n] : 0; in uvc_parse_standard_control()
1035 term = uvc_alloc_entity(type | UVC_TERM_INPUT, buffer[3], in uvc_parse_standard_control()
1044 get_unaligned_le16(&buffer[8]); in uvc_parse_standard_control()
1046 get_unaligned_le16(&buffer[10]); in uvc_parse_standard_control()
1048 get_unaligned_le16(&buffer[12]); in uvc_parse_standard_control()
1049 memcpy(term->camera.bmControls, &buffer[15], n); in uvc_parse_standard_control()
1057 memcpy(term->media.bmControls, &buffer[9], n); in uvc_parse_standard_control()
1058 memcpy(term->media.bmTransportModes, &buffer[10+n], p); in uvc_parse_standard_control()
1061 if (buffer[7] != 0) in uvc_parse_standard_control()
1062 usb_string(udev, buffer[7], term->name, in uvc_parse_standard_control()
1065 sprintf(term->name, "Camera %u", buffer[3]); in uvc_parse_standard_control()
1067 sprintf(term->name, "Media %u", buffer[3]); in uvc_parse_standard_control()
1069 sprintf(term->name, "Input %u", buffer[3]); in uvc_parse_standard_control()
1085 type = get_unaligned_le16(&buffer[4]); in uvc_parse_standard_control()
1090 alts->desc.bInterfaceNumber, buffer[3], type); in uvc_parse_standard_control()
1094 term = uvc_alloc_entity(type | UVC_TERM_OUTPUT, buffer[3], in uvc_parse_standard_control()
1099 memcpy(term->baSourceID, &buffer[7], 1); in uvc_parse_standard_control()
1101 if (buffer[8] != 0) in uvc_parse_standard_control()
1102 usb_string(udev, buffer[8], term->name, in uvc_parse_standard_control()
1105 sprintf(term->name, "Output %u", buffer[3]); in uvc_parse_standard_control()
1111 p = buflen >= 5 ? buffer[4] : 0; in uvc_parse_standard_control()
1120 unit = uvc_alloc_entity(buffer[2], buffer[3], p + 1, 0); in uvc_parse_standard_control()
1124 memcpy(unit->baSourceID, &buffer[5], p); in uvc_parse_standard_control()
1126 if (buffer[5+p] != 0) in uvc_parse_standard_control()
1127 usb_string(udev, buffer[5+p], unit->name, in uvc_parse_standard_control()
1130 sprintf(unit->name, "Selector %u", buffer[3]); in uvc_parse_standard_control()
1136 n = buflen >= 8 ? buffer[7] : 0; in uvc_parse_standard_control()
1146 unit = uvc_alloc_entity(buffer[2], buffer[3], 2, n); in uvc_parse_standard_control()
1150 memcpy(unit->baSourceID, &buffer[4], 1); in uvc_parse_standard_control()
1152 get_unaligned_le16(&buffer[5]); in uvc_parse_standard_control()
1153 unit->processing.bControlSize = buffer[7]; in uvc_parse_standard_control()
1155 memcpy(unit->processing.bmControls, &buffer[8], n); in uvc_parse_standard_control()
1157 unit->processing.bmVideoStandards = buffer[9+n]; in uvc_parse_standard_control()
1159 if (buffer[8+n] != 0) in uvc_parse_standard_control()
1160 usb_string(udev, buffer[8+n], unit->name, in uvc_parse_standard_control()
1163 sprintf(unit->name, "Processing %u", buffer[3]); in uvc_parse_standard_control()
1169 p = buflen >= 22 ? buffer[21] : 0; in uvc_parse_standard_control()
1170 n = buflen >= 24 + p ? buffer[22+p] : 0; in uvc_parse_standard_control()
1179 unit = uvc_alloc_entity(buffer[2], buffer[3], p + 1, n); in uvc_parse_standard_control()
1183 memcpy(unit->extension.guidExtensionCode, &buffer[4], 16); in uvc_parse_standard_control()
1184 unit->extension.bNumControls = buffer[20]; in uvc_parse_standard_control()
1185 memcpy(unit->baSourceID, &buffer[22], p); in uvc_parse_standard_control()
1186 unit->extension.bControlSize = buffer[22+p]; in uvc_parse_standard_control()
1188 memcpy(unit->extension.bmControls, &buffer[23+p], n); in uvc_parse_standard_control()
1190 if (buffer[23+p+n] != 0) in uvc_parse_standard_control()
1191 usb_string(udev, buffer[23+p+n], unit->name, in uvc_parse_standard_control()
1194 sprintf(unit->name, "Extension %u", buffer[3]); in uvc_parse_standard_control()
1201 "descriptor (%u)\n", buffer[2]); in uvc_parse_standard_control()
1211 unsigned char *buffer = alts->extra; in uvc_parse_control() local
1221 if (uvc_parse_vendor_control(dev, buffer, buflen) || in uvc_parse_control()
1222 buffer[1] != USB_DT_CS_INTERFACE) in uvc_parse_control()
1225 if ((ret = uvc_parse_standard_control(dev, buffer, buflen)) < 0) in uvc_parse_control()
1229 buflen -= buffer[0]; in uvc_parse_control()
1230 buffer += buffer[0]; in uvc_parse_control()
1542 char *buffer) in uvc_print_terms() argument
1546 char *p = buffer; in uvc_print_terms()
1562 return p - buffer; in uvc_print_terms()
1567 static char buffer[43]; in uvc_print_chain() local
1568 char *p = buffer; in uvc_print_chain()
1574 return buffer; in uvc_print_chain()
2057 static int uvc_clock_param_get(char *buffer, struct kernel_param *kp) in uvc_clock_param_get() argument
2060 return sprintf(buffer, "CLOCK_MONOTONIC"); in uvc_clock_param_get()
2062 return sprintf(buffer, "CLOCK_REALTIME"); in uvc_clock_param_get()