Lines Matching refs:buffer

333 	__u32 **intervals, unsigned char *buffer, int buflen)  in uvc_parse_format()  argument
339 const unsigned char *start = buffer; in uvc_parse_format()
345 format->type = buffer[2]; in uvc_parse_format()
346 format->index = buffer[3]; in uvc_parse_format()
348 switch (buffer[2]) { in uvc_parse_format()
351 n = buffer[2] == UVC_VS_FORMAT_UNCOMPRESSED ? 27 : 28; in uvc_parse_format()
361 fmtdesc = uvc_format_by_guid(&buffer[5]); in uvc_parse_format()
369 &buffer[5]); in uvc_parse_format()
371 &buffer[5]); in uvc_parse_format()
375 format->bpp = buffer[21]; in uvc_parse_format()
390 if (buffer[2] == UVC_VS_FORMAT_UNCOMPRESSED) { in uvc_parse_format()
394 if (buffer[27]) in uvc_parse_format()
424 switch (buffer[8] & 0x7f) { in uvc_parse_format()
438 alts->desc.bInterfaceNumber, buffer[8]); in uvc_parse_format()
442 strlcat(format->name, buffer[8] & (1 << 7) ? " 60Hz" : " 50Hz", in uvc_parse_format()
467 buffer[2]); in uvc_parse_format()
473 buflen -= buffer[0]; in uvc_parse_format()
474 buffer += buffer[0]; in uvc_parse_format()
479 while (buflen > 2 && buffer[1] == USB_DT_CS_INTERFACE && in uvc_parse_format()
480 buffer[2] == ftype) { in uvc_parse_format()
483 n = buflen > 25 ? buffer[25] : 0; in uvc_parse_format()
485 n = buflen > 21 ? buffer[21] : 0; in uvc_parse_format()
496 frame->bFrameIndex = buffer[3]; in uvc_parse_format()
497 frame->bmCapabilities = buffer[4]; in uvc_parse_format()
498 frame->wWidth = get_unaligned_le16(&buffer[5]) in uvc_parse_format()
500 frame->wHeight = get_unaligned_le16(&buffer[7]); in uvc_parse_format()
501 frame->dwMinBitRate = get_unaligned_le32(&buffer[9]); in uvc_parse_format()
502 frame->dwMaxBitRate = get_unaligned_le32(&buffer[13]); in uvc_parse_format()
505 get_unaligned_le32(&buffer[17]); in uvc_parse_format()
507 get_unaligned_le32(&buffer[21]); in uvc_parse_format()
508 frame->bFrameIntervalType = buffer[25]; in uvc_parse_format()
512 get_unaligned_le32(&buffer[17]); in uvc_parse_format()
513 frame->bFrameIntervalType = buffer[21]; in uvc_parse_format()
535 interval = get_unaligned_le32(&buffer[26+4*i]); in uvc_parse_format()
560 buflen -= buffer[0]; in uvc_parse_format()
561 buffer += buffer[0]; in uvc_parse_format()
564 if (buflen > 2 && buffer[1] == USB_DT_CS_INTERFACE && in uvc_parse_format()
565 buffer[2] == UVC_VS_STILL_IMAGE_FRAME) { in uvc_parse_format()
566 buflen -= buffer[0]; in uvc_parse_format()
567 buffer += buffer[0]; in uvc_parse_format()
570 if (buflen > 2 && buffer[1] == USB_DT_CS_INTERFACE && in uvc_parse_format()
571 buffer[2] == UVC_VS_COLORFORMAT) { in uvc_parse_format()
580 format->colorspace = uvc_colorspace(buffer[3]); in uvc_parse_format()
582 buflen -= buffer[0]; in uvc_parse_format()
583 buffer += buffer[0]; in uvc_parse_format()
586 return buffer - start; in uvc_parse_format()
596 unsigned char *_buffer, *buffer = alts->extra; in uvc_parse_streaming() local
644 buffer = alts->endpoint[i].extra; in uvc_parse_streaming()
652 while (buflen > 2 && buffer[1] != USB_DT_CS_INTERFACE) { in uvc_parse_streaming()
653 buflen -= buffer[0]; in uvc_parse_streaming()
654 buffer += buffer[0]; in uvc_parse_streaming()
664 switch (buffer[2]) { in uvc_parse_streaming()
682 p = buflen >= 4 ? buffer[3] : 0; in uvc_parse_streaming()
683 n = buflen >= size ? buffer[size-1] : 0; in uvc_parse_streaming()
693 streaming->header.bEndpointAddress = buffer[6]; in uvc_parse_streaming()
694 if (buffer[2] == UVC_VS_INPUT_HEADER) { in uvc_parse_streaming()
695 streaming->header.bmInfo = buffer[7]; in uvc_parse_streaming()
696 streaming->header.bTerminalLink = buffer[8]; in uvc_parse_streaming()
697 streaming->header.bStillCaptureMethod = buffer[9]; in uvc_parse_streaming()
698 streaming->header.bTriggerSupport = buffer[10]; in uvc_parse_streaming()
699 streaming->header.bTriggerUsage = buffer[11]; in uvc_parse_streaming()
701 streaming->header.bTerminalLink = buffer[7]; in uvc_parse_streaming()
705 streaming->header.bmaControls = kmemdup(&buffer[size], p * n, in uvc_parse_streaming()
712 buflen -= buffer[0]; in uvc_parse_streaming()
713 buffer += buffer[0]; in uvc_parse_streaming()
715 _buffer = buffer; in uvc_parse_streaming()
784 while (buflen > 2 && buffer[1] == USB_DT_CS_INTERFACE) { in uvc_parse_streaming()
785 switch (buffer[2]) { in uvc_parse_streaming()
792 &interval, buffer, buflen); in uvc_parse_streaming()
800 buffer += ret; in uvc_parse_streaming()
807 buflen -= buffer[0]; in uvc_parse_streaming()
808 buffer += buffer[0]; in uvc_parse_streaming()
879 const unsigned char *buffer, int buflen) in uvc_parse_vendor_control() argument
889 if (buffer[1] != 0x41 || buffer[2] != 0x01) in uvc_parse_vendor_control()
918 p = buflen >= 22 ? buffer[21] : 0; in uvc_parse_vendor_control()
919 n = buflen >= 25 + p ? buffer[22+p] : 0; in uvc_parse_vendor_control()
928 unit = uvc_alloc_entity(UVC_VC_EXTENSION_UNIT, buffer[3], in uvc_parse_vendor_control()
933 memcpy(unit->extension.guidExtensionCode, &buffer[4], 16); in uvc_parse_vendor_control()
934 unit->extension.bNumControls = buffer[20]; in uvc_parse_vendor_control()
935 memcpy(unit->baSourceID, &buffer[22], p); in uvc_parse_vendor_control()
936 unit->extension.bControlSize = buffer[22+p]; in uvc_parse_vendor_control()
940 memcpy(unit->extension.bmControls, &buffer[23+p], 2*n); in uvc_parse_vendor_control()
942 if (buffer[24+p+2*n] != 0) in uvc_parse_vendor_control()
943 usb_string(udev, buffer[24+p+2*n], unit->name, in uvc_parse_vendor_control()
946 sprintf(unit->name, "Extension %u", buffer[3]); in uvc_parse_vendor_control()
957 const unsigned char *buffer, int buflen) in uvc_parse_standard_control() argument
966 switch (buffer[2]) { in uvc_parse_standard_control()
968 n = buflen >= 12 ? buffer[11] : 0; in uvc_parse_standard_control()
977 dev->uvc_version = get_unaligned_le16(&buffer[3]); in uvc_parse_standard_control()
978 dev->clock_frequency = get_unaligned_le32(&buffer[7]); in uvc_parse_standard_control()
982 intf = usb_ifnum_to_if(udev, buffer[12+i]); in uvc_parse_standard_control()
1005 type = get_unaligned_le16(&buffer[4]); in uvc_parse_standard_control()
1011 buffer[3], type); in uvc_parse_standard_control()
1020 n = buflen >= 15 ? buffer[14] : 0; in uvc_parse_standard_control()
1024 n = buflen >= 9 ? buffer[8] : 0; in uvc_parse_standard_control()
1025 p = buflen >= 10 + n ? buffer[9+n] : 0; in uvc_parse_standard_control()
1036 term = uvc_alloc_entity(type | UVC_TERM_INPUT, buffer[3], in uvc_parse_standard_control()
1045 get_unaligned_le16(&buffer[8]); in uvc_parse_standard_control()
1047 get_unaligned_le16(&buffer[10]); in uvc_parse_standard_control()
1049 get_unaligned_le16(&buffer[12]); in uvc_parse_standard_control()
1050 memcpy(term->camera.bmControls, &buffer[15], n); in uvc_parse_standard_control()
1058 memcpy(term->media.bmControls, &buffer[9], n); in uvc_parse_standard_control()
1059 memcpy(term->media.bmTransportModes, &buffer[10+n], p); in uvc_parse_standard_control()
1062 if (buffer[7] != 0) in uvc_parse_standard_control()
1063 usb_string(udev, buffer[7], term->name, in uvc_parse_standard_control()
1066 sprintf(term->name, "Camera %u", buffer[3]); in uvc_parse_standard_control()
1068 sprintf(term->name, "Media %u", buffer[3]); in uvc_parse_standard_control()
1070 sprintf(term->name, "Input %u", buffer[3]); in uvc_parse_standard_control()
1086 type = get_unaligned_le16(&buffer[4]); in uvc_parse_standard_control()
1091 alts->desc.bInterfaceNumber, buffer[3], type); in uvc_parse_standard_control()
1095 term = uvc_alloc_entity(type | UVC_TERM_OUTPUT, buffer[3], in uvc_parse_standard_control()
1100 memcpy(term->baSourceID, &buffer[7], 1); in uvc_parse_standard_control()
1102 if (buffer[8] != 0) in uvc_parse_standard_control()
1103 usb_string(udev, buffer[8], term->name, in uvc_parse_standard_control()
1106 sprintf(term->name, "Output %u", buffer[3]); in uvc_parse_standard_control()
1112 p = buflen >= 5 ? buffer[4] : 0; in uvc_parse_standard_control()
1121 unit = uvc_alloc_entity(buffer[2], buffer[3], p + 1, 0); in uvc_parse_standard_control()
1125 memcpy(unit->baSourceID, &buffer[5], p); in uvc_parse_standard_control()
1127 if (buffer[5+p] != 0) in uvc_parse_standard_control()
1128 usb_string(udev, buffer[5+p], unit->name, in uvc_parse_standard_control()
1131 sprintf(unit->name, "Selector %u", buffer[3]); in uvc_parse_standard_control()
1137 n = buflen >= 8 ? buffer[7] : 0; in uvc_parse_standard_control()
1147 unit = uvc_alloc_entity(buffer[2], buffer[3], 2, n); in uvc_parse_standard_control()
1151 memcpy(unit->baSourceID, &buffer[4], 1); in uvc_parse_standard_control()
1153 get_unaligned_le16(&buffer[5]); in uvc_parse_standard_control()
1154 unit->processing.bControlSize = buffer[7]; in uvc_parse_standard_control()
1156 memcpy(unit->processing.bmControls, &buffer[8], n); in uvc_parse_standard_control()
1158 unit->processing.bmVideoStandards = buffer[9+n]; in uvc_parse_standard_control()
1160 if (buffer[8+n] != 0) in uvc_parse_standard_control()
1161 usb_string(udev, buffer[8+n], unit->name, in uvc_parse_standard_control()
1164 sprintf(unit->name, "Processing %u", buffer[3]); in uvc_parse_standard_control()
1170 p = buflen >= 22 ? buffer[21] : 0; in uvc_parse_standard_control()
1171 n = buflen >= 24 + p ? buffer[22+p] : 0; in uvc_parse_standard_control()
1180 unit = uvc_alloc_entity(buffer[2], buffer[3], p + 1, n); in uvc_parse_standard_control()
1184 memcpy(unit->extension.guidExtensionCode, &buffer[4], 16); in uvc_parse_standard_control()
1185 unit->extension.bNumControls = buffer[20]; in uvc_parse_standard_control()
1186 memcpy(unit->baSourceID, &buffer[22], p); in uvc_parse_standard_control()
1187 unit->extension.bControlSize = buffer[22+p]; in uvc_parse_standard_control()
1189 memcpy(unit->extension.bmControls, &buffer[23+p], n); in uvc_parse_standard_control()
1191 if (buffer[23+p+n] != 0) in uvc_parse_standard_control()
1192 usb_string(udev, buffer[23+p+n], unit->name, in uvc_parse_standard_control()
1195 sprintf(unit->name, "Extension %u", buffer[3]); in uvc_parse_standard_control()
1202 "descriptor (%u)\n", buffer[2]); in uvc_parse_standard_control()
1212 unsigned char *buffer = alts->extra; in uvc_parse_control() local
1222 if (uvc_parse_vendor_control(dev, buffer, buflen) || in uvc_parse_control()
1223 buffer[1] != USB_DT_CS_INTERFACE) in uvc_parse_control()
1226 if ((ret = uvc_parse_standard_control(dev, buffer, buflen)) < 0) in uvc_parse_control()
1230 buflen -= buffer[0]; in uvc_parse_control()
1231 buffer += buffer[0]; in uvc_parse_control()
1543 char *buffer) in uvc_print_terms() argument
1547 char *p = buffer; in uvc_print_terms()
1563 return p - buffer; in uvc_print_terms()
1568 static char buffer[43]; in uvc_print_chain() local
1569 char *p = buffer; in uvc_print_chain()
1575 return buffer; in uvc_print_chain()
2056 static int uvc_clock_param_get(char *buffer, struct kernel_param *kp) in uvc_clock_param_get() argument
2059 return sprintf(buffer, "CLOCK_MONOTONIC"); in uvc_clock_param_get()
2061 return sprintf(buffer, "CLOCK_REALTIME"); in uvc_clock_param_get()