• Home
  • Raw
  • Download

Lines Matching refs:buffer

388 	__u32 **intervals, unsigned char *buffer, int buflen)  in uvc_parse_format()  argument
394 const unsigned char *start = buffer; in uvc_parse_format()
400 format->type = buffer[2]; in uvc_parse_format()
401 format->index = buffer[3]; in uvc_parse_format()
403 switch (buffer[2]) { in uvc_parse_format()
406 n = buffer[2] == UVC_VS_FORMAT_UNCOMPRESSED ? 27 : 28; in uvc_parse_format()
416 fmtdesc = uvc_format_by_guid(&buffer[5]); in uvc_parse_format()
424 &buffer[5]); in uvc_parse_format()
426 &buffer[5]); in uvc_parse_format()
430 format->bpp = buffer[21]; in uvc_parse_format()
445 if (buffer[2] == UVC_VS_FORMAT_UNCOMPRESSED) { in uvc_parse_format()
449 if (buffer[27]) in uvc_parse_format()
479 switch (buffer[8] & 0x7f) { in uvc_parse_format()
493 alts->desc.bInterfaceNumber, buffer[8]); in uvc_parse_format()
497 strlcat(format->name, buffer[8] & (1 << 7) ? " 60Hz" : " 50Hz", in uvc_parse_format()
522 buffer[2]); in uvc_parse_format()
528 buflen -= buffer[0]; in uvc_parse_format()
529 buffer += buffer[0]; in uvc_parse_format()
534 while (buflen > 2 && buffer[1] == USB_DT_CS_INTERFACE && in uvc_parse_format()
535 buffer[2] == ftype) { in uvc_parse_format()
538 n = buflen > 25 ? buffer[25] : 0; in uvc_parse_format()
540 n = buflen > 21 ? buffer[21] : 0; in uvc_parse_format()
551 frame->bFrameIndex = buffer[3]; in uvc_parse_format()
552 frame->bmCapabilities = buffer[4]; in uvc_parse_format()
553 frame->wWidth = get_unaligned_le16(&buffer[5]) in uvc_parse_format()
555 frame->wHeight = get_unaligned_le16(&buffer[7]); in uvc_parse_format()
556 frame->dwMinBitRate = get_unaligned_le32(&buffer[9]); in uvc_parse_format()
557 frame->dwMaxBitRate = get_unaligned_le32(&buffer[13]); in uvc_parse_format()
560 get_unaligned_le32(&buffer[17]); in uvc_parse_format()
562 get_unaligned_le32(&buffer[21]); in uvc_parse_format()
563 frame->bFrameIntervalType = buffer[25]; in uvc_parse_format()
567 get_unaligned_le32(&buffer[17]); in uvc_parse_format()
568 frame->bFrameIntervalType = buffer[21]; in uvc_parse_format()
590 interval = get_unaligned_le32(&buffer[26+4*i]); in uvc_parse_format()
615 buflen -= buffer[0]; in uvc_parse_format()
616 buffer += buffer[0]; in uvc_parse_format()
619 if (buflen > 2 && buffer[1] == USB_DT_CS_INTERFACE && in uvc_parse_format()
620 buffer[2] == UVC_VS_STILL_IMAGE_FRAME) { in uvc_parse_format()
621 buflen -= buffer[0]; in uvc_parse_format()
622 buffer += buffer[0]; in uvc_parse_format()
625 if (buflen > 2 && buffer[1] == USB_DT_CS_INTERFACE && in uvc_parse_format()
626 buffer[2] == UVC_VS_COLORFORMAT) { in uvc_parse_format()
635 format->colorspace = uvc_colorspace(buffer[3]); in uvc_parse_format()
637 buflen -= buffer[0]; in uvc_parse_format()
638 buffer += buffer[0]; in uvc_parse_format()
641 return buffer - start; in uvc_parse_format()
651 unsigned char *_buffer, *buffer = alts->extra; in uvc_parse_streaming() local
699 buffer = alts->endpoint[i].extra; in uvc_parse_streaming()
707 while (buflen > 2 && buffer[1] != USB_DT_CS_INTERFACE) { in uvc_parse_streaming()
708 buflen -= buffer[0]; in uvc_parse_streaming()
709 buffer += buffer[0]; in uvc_parse_streaming()
719 switch (buffer[2]) { in uvc_parse_streaming()
737 p = buflen >= 4 ? buffer[3] : 0; in uvc_parse_streaming()
738 n = buflen >= size ? buffer[size-1] : 0; in uvc_parse_streaming()
748 streaming->header.bEndpointAddress = buffer[6]; in uvc_parse_streaming()
749 if (buffer[2] == UVC_VS_INPUT_HEADER) { in uvc_parse_streaming()
750 streaming->header.bmInfo = buffer[7]; in uvc_parse_streaming()
751 streaming->header.bTerminalLink = buffer[8]; in uvc_parse_streaming()
752 streaming->header.bStillCaptureMethod = buffer[9]; in uvc_parse_streaming()
753 streaming->header.bTriggerSupport = buffer[10]; in uvc_parse_streaming()
754 streaming->header.bTriggerUsage = buffer[11]; in uvc_parse_streaming()
756 streaming->header.bTerminalLink = buffer[7]; in uvc_parse_streaming()
760 streaming->header.bmaControls = kmemdup(&buffer[size], p * n, in uvc_parse_streaming()
767 buflen -= buffer[0]; in uvc_parse_streaming()
768 buffer += buffer[0]; in uvc_parse_streaming()
770 _buffer = buffer; in uvc_parse_streaming()
839 while (buflen > 2 && buffer[1] == USB_DT_CS_INTERFACE) { in uvc_parse_streaming()
840 switch (buffer[2]) { in uvc_parse_streaming()
847 &interval, buffer, buflen); in uvc_parse_streaming()
855 buffer += ret; in uvc_parse_streaming()
862 buflen -= buffer[0]; in uvc_parse_streaming()
863 buffer += buffer[0]; in uvc_parse_streaming()
934 const unsigned char *buffer, int buflen) in uvc_parse_vendor_control() argument
944 if (buffer[1] != 0x41 || buffer[2] != 0x01) in uvc_parse_vendor_control()
973 p = buflen >= 22 ? buffer[21] : 0; in uvc_parse_vendor_control()
974 n = buflen >= 25 + p ? buffer[22+p] : 0; in uvc_parse_vendor_control()
983 unit = uvc_alloc_entity(UVC_VC_EXTENSION_UNIT, buffer[3], in uvc_parse_vendor_control()
988 memcpy(unit->extension.guidExtensionCode, &buffer[4], 16); in uvc_parse_vendor_control()
989 unit->extension.bNumControls = buffer[20]; in uvc_parse_vendor_control()
990 memcpy(unit->baSourceID, &buffer[22], p); in uvc_parse_vendor_control()
991 unit->extension.bControlSize = buffer[22+p]; in uvc_parse_vendor_control()
995 memcpy(unit->extension.bmControls, &buffer[23+p], 2*n); in uvc_parse_vendor_control()
997 if (buffer[24+p+2*n] != 0) in uvc_parse_vendor_control()
998 usb_string(udev, buffer[24+p+2*n], unit->name, in uvc_parse_vendor_control()
1001 sprintf(unit->name, "Extension %u", buffer[3]); in uvc_parse_vendor_control()
1012 const unsigned char *buffer, int buflen) in uvc_parse_standard_control() argument
1021 switch (buffer[2]) { in uvc_parse_standard_control()
1023 n = buflen >= 12 ? buffer[11] : 0; in uvc_parse_standard_control()
1032 dev->uvc_version = get_unaligned_le16(&buffer[3]); in uvc_parse_standard_control()
1033 dev->clock_frequency = get_unaligned_le32(&buffer[7]); in uvc_parse_standard_control()
1037 intf = usb_ifnum_to_if(udev, buffer[12+i]); in uvc_parse_standard_control()
1068 type = get_unaligned_le16(&buffer[4]); in uvc_parse_standard_control()
1074 buffer[3], type); in uvc_parse_standard_control()
1083 n = buflen >= 15 ? buffer[14] : 0; in uvc_parse_standard_control()
1087 n = buflen >= 9 ? buffer[8] : 0; in uvc_parse_standard_control()
1088 p = buflen >= 10 + n ? buffer[9+n] : 0; in uvc_parse_standard_control()
1099 term = uvc_alloc_entity(type | UVC_TERM_INPUT, buffer[3], in uvc_parse_standard_control()
1108 get_unaligned_le16(&buffer[8]); in uvc_parse_standard_control()
1110 get_unaligned_le16(&buffer[10]); in uvc_parse_standard_control()
1112 get_unaligned_le16(&buffer[12]); in uvc_parse_standard_control()
1113 memcpy(term->camera.bmControls, &buffer[15], n); in uvc_parse_standard_control()
1121 memcpy(term->media.bmControls, &buffer[9], n); in uvc_parse_standard_control()
1122 memcpy(term->media.bmTransportModes, &buffer[10+n], p); in uvc_parse_standard_control()
1125 if (buffer[7] != 0) in uvc_parse_standard_control()
1126 usb_string(udev, buffer[7], term->name, in uvc_parse_standard_control()
1129 sprintf(term->name, "Camera %u", buffer[3]); in uvc_parse_standard_control()
1131 sprintf(term->name, "Media %u", buffer[3]); in uvc_parse_standard_control()
1133 sprintf(term->name, "Input %u", buffer[3]); in uvc_parse_standard_control()
1149 type = get_unaligned_le16(&buffer[4]); in uvc_parse_standard_control()
1154 alts->desc.bInterfaceNumber, buffer[3], type); in uvc_parse_standard_control()
1158 term = uvc_alloc_entity(type | UVC_TERM_OUTPUT, buffer[3], in uvc_parse_standard_control()
1163 memcpy(term->baSourceID, &buffer[7], 1); in uvc_parse_standard_control()
1165 if (buffer[8] != 0) in uvc_parse_standard_control()
1166 usb_string(udev, buffer[8], term->name, in uvc_parse_standard_control()
1169 sprintf(term->name, "Output %u", buffer[3]); in uvc_parse_standard_control()
1175 p = buflen >= 5 ? buffer[4] : 0; in uvc_parse_standard_control()
1184 unit = uvc_alloc_entity(buffer[2], buffer[3], p + 1, 0); in uvc_parse_standard_control()
1188 memcpy(unit->baSourceID, &buffer[5], p); in uvc_parse_standard_control()
1190 if (buffer[5+p] != 0) in uvc_parse_standard_control()
1191 usb_string(udev, buffer[5+p], unit->name, in uvc_parse_standard_control()
1194 sprintf(unit->name, "Selector %u", buffer[3]); in uvc_parse_standard_control()
1200 n = buflen >= 8 ? buffer[7] : 0; in uvc_parse_standard_control()
1210 unit = uvc_alloc_entity(buffer[2], buffer[3], 2, n); in uvc_parse_standard_control()
1214 memcpy(unit->baSourceID, &buffer[4], 1); in uvc_parse_standard_control()
1216 get_unaligned_le16(&buffer[5]); in uvc_parse_standard_control()
1217 unit->processing.bControlSize = buffer[7]; in uvc_parse_standard_control()
1219 memcpy(unit->processing.bmControls, &buffer[8], n); in uvc_parse_standard_control()
1221 unit->processing.bmVideoStandards = buffer[9+n]; in uvc_parse_standard_control()
1223 if (buffer[8+n] != 0) in uvc_parse_standard_control()
1224 usb_string(udev, buffer[8+n], unit->name, in uvc_parse_standard_control()
1227 sprintf(unit->name, "Processing %u", buffer[3]); in uvc_parse_standard_control()
1233 p = buflen >= 22 ? buffer[21] : 0; in uvc_parse_standard_control()
1234 n = buflen >= 24 + p ? buffer[22+p] : 0; in uvc_parse_standard_control()
1243 unit = uvc_alloc_entity(buffer[2], buffer[3], p + 1, n); in uvc_parse_standard_control()
1247 memcpy(unit->extension.guidExtensionCode, &buffer[4], 16); in uvc_parse_standard_control()
1248 unit->extension.bNumControls = buffer[20]; in uvc_parse_standard_control()
1249 memcpy(unit->baSourceID, &buffer[22], p); in uvc_parse_standard_control()
1250 unit->extension.bControlSize = buffer[22+p]; in uvc_parse_standard_control()
1252 memcpy(unit->extension.bmControls, &buffer[23+p], n); in uvc_parse_standard_control()
1254 if (buffer[23+p+n] != 0) in uvc_parse_standard_control()
1255 usb_string(udev, buffer[23+p+n], unit->name, in uvc_parse_standard_control()
1258 sprintf(unit->name, "Extension %u", buffer[3]); in uvc_parse_standard_control()
1265 "descriptor (%u)\n", buffer[2]); in uvc_parse_standard_control()
1275 unsigned char *buffer = alts->extra; in uvc_parse_control() local
1285 if (uvc_parse_vendor_control(dev, buffer, buflen) || in uvc_parse_control()
1286 buffer[1] != USB_DT_CS_INTERFACE) in uvc_parse_control()
1289 if ((ret = uvc_parse_standard_control(dev, buffer, buflen)) < 0) in uvc_parse_control()
1293 buflen -= buffer[0]; in uvc_parse_control()
1294 buffer += buffer[0]; in uvc_parse_control()
1618 char *buffer) in uvc_print_terms() argument
1622 char *p = buffer; in uvc_print_terms()
1638 return p - buffer; in uvc_print_terms()
1643 static char buffer[43]; in uvc_print_chain() local
1644 char *p = buffer; in uvc_print_chain()
1650 return buffer; in uvc_print_chain()
2248 static int uvc_clock_param_get(char *buffer, const struct kernel_param *kp) in uvc_clock_param_get() argument
2251 return sprintf(buffer, "CLOCK_MONOTONIC"); in uvc_clock_param_get()
2253 return sprintf(buffer, "CLOCK_REALTIME"); in uvc_clock_param_get()