Lines Matching +full:0 +full:x21
42 for (quirk = quirk_comp->data; quirk->ifnum >= 0; ++quirk) { in create_composite_quirk()
50 if (err < 0) in create_composite_quirk()
54 for (quirk = quirk_comp->data; quirk->ifnum >= 0; ++quirk) { in create_composite_quirk()
62 if (err < 0) in create_composite_quirk()
67 return 0; in create_composite_quirk()
75 return 0; in ignore_interface_quirk()
84 return snd_usb_midi_v2_create(chip, intf, quirk, 0); in create_any_midi_quirk()
99 alts = &iface->altsetting[0]; in create_standard_audio_quirk()
102 if (err < 0) { in create_standard_audio_quirk()
108 usb_set_interface(chip->dev, altsd->bInterfaceNumber, 0); in create_standard_audio_quirk()
109 return 0; in create_standard_audio_quirk()
126 if (err < 0) in add_audio_stream_from_fixed_fmt()
131 if (err < 0) in add_audio_stream_from_fixed_fmt()
139 if (err < 0) in add_audio_stream_from_fixed_fmt()
143 return 0; in add_audio_stream_from_fixed_fmt()
169 if (fp->nr_rates > 0) { in create_fixed_stream_quirk()
179 if (fp->iface != get_iface_desc(&iface->altsetting[0])->bInterfaceNumber || in create_fixed_stream_quirk()
193 if (fp->datainterval == 0) in create_fixed_stream_quirk()
195 if (fp->maxpacksize == 0) in create_fixed_stream_quirk()
201 if (err < 0) in create_fixed_stream_quirk()
204 usb_set_interface(chip->dev, fp->iface, 0); in create_fixed_stream_quirk()
207 return 0; in create_fixed_stream_quirk()
242 epd = get_endpoint(alts, 0); in create_auto_pcm_quirk()
304 roland_desc, 0xf1); in create_roland_midi_quirk()
307 if (roland_desc[0] < 6 || roland_desc[3] != 2) in create_roland_midi_quirk()
330 msepd = (struct usb_ms_endpoint_descriptor *)alts->endpoint[0].extra; in create_std_midi_quirk()
331 if (alts->endpoint[0].extralen < 4 || in create_std_midi_quirk()
351 alts = &iface->altsetting[0]; in create_auto_midi_quirk()
357 epd = get_endpoint(alts, 0); in create_auto_midi_quirk()
363 case 0x0499: /* Yamaha */ in create_auto_midi_quirk()
368 case 0x0582: /* Roland */ in create_auto_midi_quirk()
421 .out_cables = 0x0003, in create_uaxx_quirk()
422 .in_cables = 0x0003 in create_uaxx_quirk()
429 .out_cables = 0x0001, in create_uaxx_quirk()
430 .in_cables = 0x0001 in create_uaxx_quirk()
437 chip->usb_id == USB_ID(0x0582, 0x002b) in create_uaxx_quirk()
453 fp->endpoint = get_endpoint(alts, 0)->bEndpointAddress; in create_uaxx_quirk()
454 fp->ep_attr = get_endpoint(alts, 0)->bmAttributes; in create_uaxx_quirk()
455 fp->datainterval = 0; in create_uaxx_quirk()
456 fp->maxpacksize = le16_to_cpu(get_endpoint(alts, 0)->wMaxPacketSize); in create_uaxx_quirk()
460 case 0x120: in create_uaxx_quirk()
463 case 0x138: in create_uaxx_quirk()
464 case 0x140: in create_uaxx_quirk()
467 case 0x258: in create_uaxx_quirk()
468 case 0x260: in create_uaxx_quirk()
478 if (err < 0) { in create_uaxx_quirk()
483 usb_set_interface(chip->dev, fp->iface, 0); in create_uaxx_quirk()
484 return 0; in create_uaxx_quirk()
495 if (quirk->ifnum < 0) in create_standard_mixer_quirk()
496 return 0; in create_standard_mixer_quirk()
565 err = snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev,0), in snd_usb_extigy_boot_quirk()
566 0x10, 0x43, 0x0001, 0x000a, NULL, 0); in snd_usb_extigy_boot_quirk()
567 if (err < 0) in snd_usb_extigy_boot_quirk()
573 err = usb_get_descriptor(dev, USB_DT_DEVICE, 0, in snd_usb_extigy_boot_quirk()
575 if (err < 0) in snd_usb_extigy_boot_quirk()
583 if (err < 0) in snd_usb_extigy_boot_quirk()
589 return 0; in snd_usb_extigy_boot_quirk()
596 snd_usb_ctl_msg(dev, usb_rcvctrlpipe(dev, 0), 0x2a, in snd_usb_audigy2nx_boot_quirk()
598 0, 0, &buf, 1); in snd_usb_audigy2nx_boot_quirk()
599 if (buf == 0) { in snd_usb_audigy2nx_boot_quirk()
600 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), 0x29, in snd_usb_audigy2nx_boot_quirk()
602 1, 2000, NULL, 0); in snd_usb_audigy2nx_boot_quirk()
605 return 0; in snd_usb_audigy2nx_boot_quirk()
621 if (err < 0) in snd_usb_fasttrackpro_boot_quirk()
632 return 0; in snd_usb_fasttrackpro_boot_quirk()
642 buf[0] = 0x20; in snd_usb_cm106_write_int_reg()
643 buf[1] = value & 0xff; in snd_usb_cm106_write_int_reg()
644 buf[2] = (value >> 8) & 0xff; in snd_usb_cm106_write_int_reg()
646 return snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), USB_REQ_SET_CONFIGURATION, in snd_usb_cm106_write_int_reg()
648 0, 0, &buf, 4); in snd_usb_cm106_write_int_reg()
657 return snd_usb_cm106_write_int_reg(dev, 2, 0x8004); in snd_usb_cm106_boot_quirk()
667 #define CM6206_REG0_SPDIFO_CAT_CODE_GENERAL (0 << 4)
671 #define CM6206_REG0_SPDIFO_PRO_FORMAT BIT(0)
687 #define CM6206_REG1_SPDIFI_MIX BIT(0)
690 #define CM6206_REG2_HEADP_SEL_SIDE_CHANNELS (0 << 13)
705 #define CM6206_REG2_MCUCLKSEL_1_5_MHZ (0)
714 #define CM6206_REG3_SPDIFI_RATE_44_1K BIT(0 << 7)
723 #define CM6206_REG3_SPDIFI_CANREC BIT(0)
728 #define CM6206_REG5_SPDIFO_SEL_FRONT (0 << 9)
738 #define CM6206_REG5_T_SEL_DSDAD_NORMAL 0
746 int err = 0, reg; in snd_usb_cm6206_boot_quirk()
784 0x0000, in snd_usb_cm6206_boot_quirk()
789 for (reg = 0; reg < ARRAY_SIZE(val); reg++) { in snd_usb_cm6206_boot_quirk()
791 if (err < 0) in snd_usb_cm6206_boot_quirk()
804 u8 buf[2] = { 0x74, 0xe3 }; in snd_usb_gamecon780_boot_quirk()
805 return snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), UAC_SET_CUR, in snd_usb_gamecon780_boot_quirk()
818 usb_set_interface(dev, 0, 1); in snd_usb_novation_boot_quirk()
819 return 0; in snd_usb_novation_boot_quirk()
825 * acknowledge by sending a sysex on endpoint 0x85 and by displaying a USB
833 static const u8 seq[] = { 0x4e, 0x73, 0x52, 0x01 }; in snd_usb_accessmusic_boot_quirk()
836 if (usb_pipe_type_check(dev, usb_sndintpipe(dev, 0x05))) in snd_usb_accessmusic_boot_quirk()
841 err = usb_interrupt_msg(dev, usb_sndintpipe(dev, 0x05), buf, in snd_usb_accessmusic_boot_quirk()
844 if (err < 0) in snd_usb_accessmusic_boot_quirk()
847 return 0; in snd_usb_accessmusic_boot_quirk()
865 ret = usb_control_msg(dev, usb_sndctrlpipe(dev, 0), in snd_usb_nativeinstruments_boot_quirk()
866 0xaf, USB_TYPE_VENDOR | USB_RECIP_DEVICE, in snd_usb_nativeinstruments_boot_quirk()
867 1, 0, NULL, 0, 1000); in snd_usb_nativeinstruments_boot_quirk()
869 if (ret < 0) in snd_usb_nativeinstruments_boot_quirk()
886 srate[0] = 0x80; in mbox2_setup_48_24_magic()
887 srate[1] = 0xbb; in mbox2_setup_48_24_magic()
888 srate[2] = 0x00; in mbox2_setup_48_24_magic()
891 snd_usb_ctl_msg(dev, usb_rcvctrlpipe(dev, 0), in mbox2_setup_48_24_magic()
892 0x01, 0x22, 0x0100, 0x0085, &temp, 0x0003); in mbox2_setup_48_24_magic()
893 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox2_setup_48_24_magic()
894 0x81, 0xa2, 0x0100, 0x0085, &srate, 0x0003); in mbox2_setup_48_24_magic()
895 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox2_setup_48_24_magic()
896 0x81, 0xa2, 0x0100, 0x0086, &srate, 0x0003); in mbox2_setup_48_24_magic()
897 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox2_setup_48_24_magic()
898 0x81, 0xa2, 0x0100, 0x0003, &srate, 0x0003); in mbox2_setup_48_24_magic()
907 #define MBOX2_BOOT_LOADING 0x01 /* Hard coded into the device */
908 #define MBOX2_BOOT_READY 0x02 /* Hard coded into the device */
915 u8 bootresponse[0x12]; in snd_usb_mbox2_boot_quirk()
928 count = 0; in snd_usb_mbox2_boot_quirk()
929 bootresponse[0] = MBOX2_BOOT_LOADING; in snd_usb_mbox2_boot_quirk()
930 while ((bootresponse[0] == MBOX2_BOOT_LOADING) && (count < 10)) { in snd_usb_mbox2_boot_quirk()
932 snd_usb_ctl_msg(dev, usb_rcvctrlpipe(dev, 0), in snd_usb_mbox2_boot_quirk()
934 0x85, 0xc0, 0x0001, 0x0000, &bootresponse, 0x0012); in snd_usb_mbox2_boot_quirk()
935 if (bootresponse[0] == MBOX2_BOOT_READY) in snd_usb_mbox2_boot_quirk()
941 if (bootresponse[0] != MBOX2_BOOT_READY) { in snd_usb_mbox2_boot_quirk()
942 dev_err(&dev->dev, "Unknown bootresponse=%d, or timed out, ignoring device.\n", bootresponse[0]); in snd_usb_mbox2_boot_quirk()
952 err = usb_get_descriptor(dev, USB_DT_DEVICE, 0, in snd_usb_mbox2_boot_quirk()
954 if (err < 0) in snd_usb_mbox2_boot_quirk()
963 if (err < 0) in snd_usb_mbox2_boot_quirk()
972 return 0; /* Successful boot */ in snd_usb_mbox2_boot_quirk()
986 err = usb_control_msg(dev, usb_sndctrlpipe(dev, 0), in snd_usb_axefx3_boot_quirk()
988 1, 1, NULL, 0, 120000); in snd_usb_axefx3_boot_quirk()
989 if (err < 0) { in snd_usb_axefx3_boot_quirk()
997 err = usb_set_interface(dev, 1, 0); in snd_usb_axefx3_boot_quirk()
998 if (err < 0) in snd_usb_axefx3_boot_quirk()
1002 return 0; in snd_usb_axefx3_boot_quirk()
1008 /* max volume is: 0x0000. */ in mbox3_setup_48_24_magic()
1009 /* min volume is: 0x0080 (shown in little endian form) */ in mbox3_setup_48_24_magic()
1013 u8 com_buff[4] = {0x80, 0xbb, 0x00, 0x00}; in mbox3_setup_48_24_magic()
1016 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1017 0x01, 0x21, 0x0100, 0x0001, &com_buff, 4); //Is this really needed? in mbox3_setup_48_24_magic()
1018 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1019 0x01, 0x21, 0x0100, 0x8101, &com_buff, 4); in mbox3_setup_48_24_magic()
1022 /* on = 0x01*/ in mbox3_setup_48_24_magic()
1023 /* off = 0x00*/ in mbox3_setup_48_24_magic()
1024 com_buff[0] = 0x00; in mbox3_setup_48_24_magic()
1025 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1026 0x01, 0x21, 0x0003, 0x2001, &com_buff, 1); in mbox3_setup_48_24_magic()
1029 com_buff[0] = 0x01; in mbox3_setup_48_24_magic()
1030 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1031 1, 0x21, 0x0100, 0x8001, &com_buff, 1); in mbox3_setup_48_24_magic()
1034 com_buff[0] = 0x00; in mbox3_setup_48_24_magic()
1035 com_buff[1] = 0x80; in mbox3_setup_48_24_magic()
1037 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1038 1, 0x21, 0x0110, 0x4001, &com_buff, 2); in mbox3_setup_48_24_magic()
1040 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1041 1, 0x21, 0x0111, 0x4001, &com_buff, 2); in mbox3_setup_48_24_magic()
1043 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1044 1, 0x21, 0x0114, 0x4001, &com_buff, 2); in mbox3_setup_48_24_magic()
1046 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1047 1, 0x21, 0x0115, 0x4001, &com_buff, 2); in mbox3_setup_48_24_magic()
1049 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1050 1, 0x21, 0x0118, 0x4001, &com_buff, 2); in mbox3_setup_48_24_magic()
1052 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1053 1, 0x21, 0x0119, 0x4001, &com_buff, 2); in mbox3_setup_48_24_magic()
1055 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1056 1, 0x21, 0x011c, 0x4001, &com_buff, 2); in mbox3_setup_48_24_magic()
1058 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1059 1, 0x21, 0x011d, 0x4001, &com_buff, 2); in mbox3_setup_48_24_magic()
1062 com_buff[0] = 0x00; in mbox3_setup_48_24_magic()
1063 com_buff[1] = 0x00; in mbox3_setup_48_24_magic()
1065 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1066 1, 0x21, 0x0100, 0x4001, &com_buff, 2); in mbox3_setup_48_24_magic()
1067 com_buff[0] = 0x00; in mbox3_setup_48_24_magic()
1068 com_buff[1] = 0x80; in mbox3_setup_48_24_magic()
1070 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1071 1, 0x21, 0x0101, 0x4001, &com_buff, 2); in mbox3_setup_48_24_magic()
1072 com_buff[0] = 0x00; in mbox3_setup_48_24_magic()
1073 com_buff[1] = 0x80; in mbox3_setup_48_24_magic()
1075 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1076 1, 0x21, 0x0104, 0x4001, &com_buff, 2); in mbox3_setup_48_24_magic()
1077 com_buff[0] = 0x00; in mbox3_setup_48_24_magic()
1078 com_buff[1] = 0x00; in mbox3_setup_48_24_magic()
1080 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1081 1, 0x21, 0x0105, 0x4001, &com_buff, 2); in mbox3_setup_48_24_magic()
1083 com_buff[0] = 0x00; in mbox3_setup_48_24_magic()
1084 com_buff[1] = 0x80; in mbox3_setup_48_24_magic()
1086 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1087 1, 0x21, 0x0108, 0x4001, &com_buff, 2); in mbox3_setup_48_24_magic()
1089 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1090 1, 0x21, 0x0109, 0x4001, &com_buff, 2); in mbox3_setup_48_24_magic()
1092 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1093 1, 0x21, 0x010c, 0x4001, &com_buff, 2); in mbox3_setup_48_24_magic()
1095 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1096 1, 0x21, 0x010d, 0x4001, &com_buff, 2); in mbox3_setup_48_24_magic()
1099 com_buff[0] = 0x00; in mbox3_setup_48_24_magic()
1100 com_buff[1] = 0x80; in mbox3_setup_48_24_magic()
1102 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1103 1, 0x21, 0x0120, 0x4001, &com_buff, 2); in mbox3_setup_48_24_magic()
1105 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1106 1, 0x21, 0x0121, 0x4001, &com_buff, 2); in mbox3_setup_48_24_magic()
1109 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1110 1, 0x21, 0x0100, 0x4201, &com_buff, 2); in mbox3_setup_48_24_magic()
1112 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1113 1, 0x21, 0x0101, 0x4201, &com_buff, 2); in mbox3_setup_48_24_magic()
1115 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1116 1, 0x21, 0x0102, 0x4201, &com_buff, 2); in mbox3_setup_48_24_magic()
1118 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1119 1, 0x21, 0x0103, 0x4201, &com_buff, 2); in mbox3_setup_48_24_magic()
1121 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1122 1, 0x21, 0x0104, 0x4201, &com_buff, 2); in mbox3_setup_48_24_magic()
1124 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1125 1, 0x21, 0x0105, 0x4201, &com_buff, 2); in mbox3_setup_48_24_magic()
1127 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1128 1, 0x21, 0x0106, 0x4201, &com_buff, 2); in mbox3_setup_48_24_magic()
1130 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1131 1, 0x21, 0x0107, 0x4201, &com_buff, 2); in mbox3_setup_48_24_magic()
1134 com_buff[0] = 0x02; in mbox3_setup_48_24_magic()
1135 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1136 3, 0x21, 0x0000, 0x2001, &com_buff, 1); in mbox3_setup_48_24_magic()
1139 com_buff[0] = 0x00; in mbox3_setup_48_24_magic()
1140 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1141 3, 0x21, 0x0002, 0x2001, &com_buff, 1); in mbox3_setup_48_24_magic()
1144 com_buff[0] = 0x00; in mbox3_setup_48_24_magic()
1145 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1146 3, 0x21, 0x0001, 0x2001, &com_buff, 1); in mbox3_setup_48_24_magic()
1151 com_buff[0] = 0x00; in mbox3_setup_48_24_magic()
1152 com_buff[1] = 0x80; in mbox3_setup_48_24_magic()
1154 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1155 1, 0x21, 0x0112, 0x4001, &com_buff, 2); in mbox3_setup_48_24_magic()
1157 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1158 1, 0x21, 0x0113, 0x4001, &com_buff, 2); in mbox3_setup_48_24_magic()
1160 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1161 1, 0x21, 0x0116, 0x4001, &com_buff, 2); in mbox3_setup_48_24_magic()
1163 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1164 1, 0x21, 0x0117, 0x4001, &com_buff, 2); in mbox3_setup_48_24_magic()
1166 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1167 1, 0x21, 0x011a, 0x4001, &com_buff, 2); in mbox3_setup_48_24_magic()
1169 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1170 1, 0x21, 0x011b, 0x4001, &com_buff, 2); in mbox3_setup_48_24_magic()
1172 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1173 1, 0x21, 0x011e, 0x4001, &com_buff, 2); in mbox3_setup_48_24_magic()
1175 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1176 1, 0x21, 0x011f, 0x4001, &com_buff, 2); in mbox3_setup_48_24_magic()
1178 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1179 1, 0x21, 0x0102, 0x4001, &com_buff, 2); in mbox3_setup_48_24_magic()
1181 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1182 1, 0x21, 0x0103, 0x4001, &com_buff, 2); in mbox3_setup_48_24_magic()
1184 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1185 1, 0x21, 0x0106, 0x4001, &com_buff, 2); in mbox3_setup_48_24_magic()
1187 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1188 1, 0x21, 0x0107, 0x4001, &com_buff, 2); in mbox3_setup_48_24_magic()
1190 com_buff[0] = 0x00; in mbox3_setup_48_24_magic()
1191 com_buff[1] = 0x00; in mbox3_setup_48_24_magic()
1193 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1194 1, 0x21, 0x010a, 0x4001, &com_buff, 2); in mbox3_setup_48_24_magic()
1196 com_buff[0] = 0x00; in mbox3_setup_48_24_magic()
1197 com_buff[1] = 0x80; in mbox3_setup_48_24_magic()
1199 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1200 1, 0x21, 0x010b, 0x4001, &com_buff, 2); in mbox3_setup_48_24_magic()
1202 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1203 1, 0x21, 0x010e, 0x4001, &com_buff, 2); in mbox3_setup_48_24_magic()
1205 com_buff[0] = 0x00; in mbox3_setup_48_24_magic()
1206 com_buff[1] = 0x00; in mbox3_setup_48_24_magic()
1208 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1209 1, 0x21, 0x010f, 0x4001, &com_buff, 2); in mbox3_setup_48_24_magic()
1211 com_buff[0] = 0x00; in mbox3_setup_48_24_magic()
1212 com_buff[1] = 0x80; in mbox3_setup_48_24_magic()
1214 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1215 1, 0x21, 0x0122, 0x4001, &com_buff, 2); in mbox3_setup_48_24_magic()
1217 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1218 1, 0x21, 0x0123, 0x4001, &com_buff, 2); in mbox3_setup_48_24_magic()
1221 /* Room1 = 0x00 */ in mbox3_setup_48_24_magic()
1222 /* Room2 = 0x01 */ in mbox3_setup_48_24_magic()
1223 /* Room3 = 0x02 */ in mbox3_setup_48_24_magic()
1224 /* Hall 1 = 0x03 */ in mbox3_setup_48_24_magic()
1225 /* Hall 2 = 0x04 */ in mbox3_setup_48_24_magic()
1226 /* Plate = 0x05 */ in mbox3_setup_48_24_magic()
1227 /* Delay = 0x06 */ in mbox3_setup_48_24_magic()
1228 /* Echo = 0x07 */ in mbox3_setup_48_24_magic()
1229 com_buff[0] = 0x00; in mbox3_setup_48_24_magic()
1230 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1231 1, 0x21, 0x0200, 0x4301, &com_buff, 1); /* max is 0xff */ in mbox3_setup_48_24_magic()
1232 /* min is 0x00 */ in mbox3_setup_48_24_magic()
1235 /* Set the effect duration to 0 */ in mbox3_setup_48_24_magic()
1236 /* max is 0xffff */ in mbox3_setup_48_24_magic()
1237 /* min is 0x0000 */ in mbox3_setup_48_24_magic()
1238 com_buff[0] = 0x00; in mbox3_setup_48_24_magic()
1239 com_buff[1] = 0x00; in mbox3_setup_48_24_magic()
1240 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1241 1, 0x21, 0x0400, 0x4301, &com_buff, 2); in mbox3_setup_48_24_magic()
1243 /* Set the effect volume and feedback to 0 */ in mbox3_setup_48_24_magic()
1244 /* max is 0xff */ in mbox3_setup_48_24_magic()
1245 /* min is 0x00 */ in mbox3_setup_48_24_magic()
1246 com_buff[0] = 0x00; in mbox3_setup_48_24_magic()
1248 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1249 1, 0x21, 0x0500, 0x4301, &com_buff, 1); in mbox3_setup_48_24_magic()
1251 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1252 1, 0x21, 0x0300, 0x4301, &com_buff, 1); in mbox3_setup_48_24_magic()
1255 /* 0x03 = 250ms */ in mbox3_setup_48_24_magic()
1256 /* 0x05 = 500ms DEFAULT */ in mbox3_setup_48_24_magic()
1257 /* 0x08 = 750ms */ in mbox3_setup_48_24_magic()
1258 /* 0x0a = 1sec */ in mbox3_setup_48_24_magic()
1259 com_buff[0] = 0x05; in mbox3_setup_48_24_magic()
1260 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1261 3, 0x21, 0x0005, 0x2001, &com_buff, 1); in mbox3_setup_48_24_magic()
1264 com_buff[0] = 0x00; in mbox3_setup_48_24_magic()
1265 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_48_24_magic()
1266 3, 0x21, 0x0004, 0x2001, &com_buff, 1); in mbox3_setup_48_24_magic()
1291 err = usb_get_descriptor(dev, USB_DT_DEVICE, 0, in snd_usb_mbox3_boot_quirk()
1293 if (err < 0) in snd_usb_mbox3_boot_quirk()
1302 if (err < 0) in snd_usb_mbox3_boot_quirk()
1310 return 0; /* Successful boot */ in snd_usb_mbox3_boot_quirk()
1320 if (usb_pipe_type_check(dev, usb_sndintpipe(dev, 0x01))) in snd_usb_motu_microbookii_communicate()
1322 err = usb_interrupt_msg(dev, usb_sndintpipe(dev, 0x01), buf, *length, in snd_usb_motu_microbookii_communicate()
1324 if (err < 0) in snd_usb_motu_microbookii_communicate()
1330 memset(buf, 0, buf_size); in snd_usb_motu_microbookii_communicate()
1332 if (usb_pipe_type_check(dev, usb_rcvintpipe(dev, 0x82))) in snd_usb_motu_microbookii_communicate()
1334 err = usb_interrupt_msg(dev, usb_rcvintpipe(dev, 0x82), buf, buf_size, in snd_usb_motu_microbookii_communicate()
1336 if (err < 0) in snd_usb_motu_microbookii_communicate()
1343 return 0; in snd_usb_motu_microbookii_communicate()
1348 int err, actual_length, poll_attempts = 0; in snd_usb_motu_microbookii_boot_quirk()
1349 static const u8 set_samplerate_seq[] = { 0x00, 0x00, 0x00, 0x00, in snd_usb_motu_microbookii_boot_quirk()
1350 0x00, 0x00, 0x0b, 0x14, in snd_usb_motu_microbookii_boot_quirk()
1351 0x00, 0x00, 0x00, 0x01 }; in snd_usb_motu_microbookii_boot_quirk()
1352 static const u8 poll_ready_seq[] = { 0x00, 0x04, 0x00, 0x00, in snd_usb_motu_microbookii_boot_quirk()
1353 0x00, 0x00, 0x0b, 0x18 }; in snd_usb_motu_microbookii_boot_quirk()
1367 if (err < 0) { in snd_usb_motu_microbookii_boot_quirk()
1383 memset(buf, 0, MICROBOOK_BUF_SIZE); in snd_usb_motu_microbookii_boot_quirk()
1389 if (err < 0) { in snd_usb_motu_microbookii_boot_quirk()
1398 * XX 06 00 00 00 00 0b 18 00 00 00 01 in snd_usb_motu_microbookii_boot_quirk()
1419 return 0; in snd_usb_motu_m_series_boot_quirk()
1425 #define MAUDIO_SET 0x01 /* parse device_setup */
1426 #define MAUDIO_SET_COMPATIBLE 0x80 /* use only "win-compatible" interfaces */
1427 #define MAUDIO_SET_DTS 0x02 /* enable DTS Digital Output */
1428 #define MAUDIO_SET_96K 0x04 /* 48-96kHz rate if set, 8-48kHz otherwise */
1429 #define MAUDIO_SET_24B 0x08 /* 24bits sample if set, 16bits otherwise */
1430 #define MAUDIO_SET_DI 0x10 /* enable Digital Input */
1431 #define MAUDIO_SET_MASK 0x1f /* bit mask for setup value */
1432 #define MAUDIO_SET_24B_48K_DI 0x19 /* 24bits+48kHz+Digital Input */
1433 #define MAUDIO_SET_24B_48K_NOTDI 0x09 /* 24bits+48kHz+No Digital Input */
1434 #define MAUDIO_SET_16B_48K_DI 0x11 /* 16bits+48kHz+Digital Input */
1435 #define MAUDIO_SET_16B_48K_NOTDI 0x01 /* 16bits+48kHz+No Digital Input */
1440 /* Reset ALL ifaces to 0 altsetting. in quattro_skip_setting_quirk()
1443 usb_set_interface(chip->dev, iface, 0); in quattro_skip_setting_quirk()
1466 return 0; /* keep this altsetting */ in quattro_skip_setting_quirk()
1473 /* Reset ALL ifaces to 0 altsetting. in audiophile_skip_setting_quirk()
1476 usb_set_interface(chip->dev, iface, 0); in audiophile_skip_setting_quirk()
1495 return 0; /* keep this altsetting */ in audiophile_skip_setting_quirk()
1501 /* Reset ALL ifaces to 0 altsetting. in fasttrackpro_skip_setting_quirk()
1504 usb_set_interface(chip->dev, iface, 0); in fasttrackpro_skip_setting_quirk()
1533 return 0; /* keep this altsetting */ in fasttrackpro_skip_setting_quirk()
1558 if ((chip->setup == 0 || chip->setup > 2) && altno != 2) in s1810c_skip_setting_quirk()
1565 return 0; in s1810c_skip_setting_quirk()
1573 if (chip->usb_id == USB_ID(0x0763, 0x2003)) in snd_usb_apply_interface_quirk()
1576 if (chip->usb_id == USB_ID(0x0763, 0x2001)) in snd_usb_apply_interface_quirk()
1579 if (chip->usb_id == USB_ID(0x0763, 0x2012)) in snd_usb_apply_interface_quirk()
1582 if (chip->usb_id == USB_ID(0x194f, 0x010c)) in snd_usb_apply_interface_quirk()
1586 return 0; in snd_usb_apply_interface_quirk()
1595 case USB_ID(0x041e, 0x3000): in snd_usb_apply_boot_quirk()
1600 case USB_ID(0x041e, 0x3020): in snd_usb_apply_boot_quirk()
1604 case USB_ID(0x10f5, 0x0200): in snd_usb_apply_boot_quirk()
1608 case USB_ID(0x0d8c, 0x0102): in snd_usb_apply_boot_quirk()
1610 case USB_ID(0x0ccd, 0x00b1): /* Terratec Aureon 7.1 USB */ in snd_usb_apply_boot_quirk()
1613 case USB_ID(0x0dba, 0x3000): in snd_usb_apply_boot_quirk()
1616 case USB_ID(0x0dba, 0x5000): in snd_usb_apply_boot_quirk()
1621 case USB_ID(0x1235, 0x0010): /* Focusrite Novation Saffire 6 USB */ in snd_usb_apply_boot_quirk()
1622 case USB_ID(0x1235, 0x0018): /* Focusrite Novation Twitch */ in snd_usb_apply_boot_quirk()
1625 case USB_ID(0x133e, 0x0815): in snd_usb_apply_boot_quirk()
1629 case USB_ID(0x17cc, 0x1000): /* Komplete Audio 6 */ in snd_usb_apply_boot_quirk()
1630 case USB_ID(0x17cc, 0x1010): /* Traktor Audio 6 */ in snd_usb_apply_boot_quirk()
1631 case USB_ID(0x17cc, 0x1020): /* Traktor Audio 10 */ in snd_usb_apply_boot_quirk()
1633 case USB_ID(0x0763, 0x2012): /* M-Audio Fast Track Pro USB */ in snd_usb_apply_boot_quirk()
1635 case USB_ID(0x047f, 0xc010): /* Plantronics Gamecom 780 */ in snd_usb_apply_boot_quirk()
1637 case USB_ID(0x2466, 0x8010): /* Fractal Audio Axe-Fx 3 */ in snd_usb_apply_boot_quirk()
1639 case USB_ID(0x07fd, 0x0004): /* MOTU MicroBook II */ in snd_usb_apply_boot_quirk()
1651 return 0; in snd_usb_apply_boot_quirk()
1660 case USB_ID(0x07fd, 0x0008): /* MOTU M Series, 1st hardware version */ in snd_usb_apply_boot_quirk_once()
1664 return 0; in snd_usb_apply_boot_quirk_once()
1675 case USB_ID(0x0763, 0x2001): /* M-Audio Quattro: captured data only */ in snd_usb_is_big_endian_format()
1680 case USB_ID(0x0763, 0x2003): /* M-Audio Audiophile USB */ in snd_usb_is_big_endian_format()
1681 if (chip->setup == 0x00 || in snd_usb_is_big_endian_format()
1686 case USB_ID(0x0763, 0x2012): /* M-Audio Fast Track Pro */ in snd_usb_is_big_endian_format()
1692 return 0; in snd_usb_is_big_endian_format()
1701 EMU_QUIRK_SR_44100HZ = 0,
1712 unsigned char emu_samplerate_id = 0; in set_format_emu_quirk()
1744 subs->pkt_offset_adj = (emu_samplerate_id >= EMU_QUIRK_SR_176400HZ) ? 4 : 0; in set_format_emu_quirk()
1753 sr[0] = cur_rate & 0xff; in pioneer_djm_set_format_quirk()
1754 sr[1] = (cur_rate >> 8) & 0xff; in pioneer_djm_set_format_quirk()
1755 sr[2] = (cur_rate >> 16) & 0xff; in pioneer_djm_set_format_quirk()
1756 usb_set_interface(subs->dev, 0, 1); in pioneer_djm_set_format_quirk()
1759 usb_sndctrlpipe(subs->stream->chip->dev, 0), in pioneer_djm_set_format_quirk()
1760 0x01, 0x22, 0x0100, windex, &sr, 0x0003); in pioneer_djm_set_format_quirk()
1761 return 0; in pioneer_djm_set_format_quirk()
1768 case USB_ID(0x041e, 0x3f02): /* E-Mu 0202 USB */ in snd_usb_set_format_quirk()
1769 case USB_ID(0x041e, 0x3f04): /* E-Mu 0404 USB */ in snd_usb_set_format_quirk()
1770 case USB_ID(0x041e, 0x3f0a): /* E-Mu Tracker Pre */ in snd_usb_set_format_quirk()
1771 case USB_ID(0x041e, 0x3f19): /* E-Mu 0204 USB */ in snd_usb_set_format_quirk()
1774 case USB_ID(0x534d, 0x0021): /* MacroSilicon MS2100/MS2106 */ in snd_usb_set_format_quirk()
1775 case USB_ID(0x534d, 0x2109): /* MacroSilicon MS2109 */ in snd_usb_set_format_quirk()
1778 case USB_ID(0x2b73, 0x0013): /* Pioneer DJM-450 */ in snd_usb_set_format_quirk()
1779 pioneer_djm_set_format_quirk(subs, 0x0082); in snd_usb_set_format_quirk()
1781 case USB_ID(0x08e4, 0x017f): /* Pioneer DJM-750 */ in snd_usb_set_format_quirk()
1782 case USB_ID(0x08e4, 0x0163): /* Pioneer DJM-850 */ in snd_usb_set_format_quirk()
1783 pioneer_djm_set_format_quirk(subs, 0x0086); in snd_usb_set_format_quirk()
1795 /* First switch to alt set 0, otherwise the mode switch cmd in snd_usb_select_mode_quirk()
1798 err = usb_set_interface(dev, fmt->iface, 0); in snd_usb_select_mode_quirk()
1799 if (err < 0) in snd_usb_select_mode_quirk()
1807 err = snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), 0, in snd_usb_select_mode_quirk()
1809 1, 1, NULL, 0); in snd_usb_select_mode_quirk()
1810 if (err < 0) in snd_usb_select_mode_quirk()
1816 err = snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), 0, in snd_usb_select_mode_quirk()
1818 0, 1, NULL, 0); in snd_usb_select_mode_quirk()
1819 if (err < 0) in snd_usb_select_mode_quirk()
1825 return 0; in snd_usb_select_mode_quirk()
1834 if (USB_ID_VENDOR(ep->chip->usb_id) == 0x23ba && in snd_usb_endpoint_start_quirk()
1845 if ((ep->chip->usb_id == USB_ID(0x0763, 0x2030) || in snd_usb_endpoint_start_quirk()
1846 ep->chip->usb_id == USB_ID(0x0763, 0x2031)) && in snd_usb_endpoint_start_quirk()
1851 if ((ep->chip->usb_id == USB_ID(0x0644, 0x8038) || /* TEAC UD-H01 */ in snd_usb_endpoint_start_quirk()
1852 ep->chip->usb_id == USB_ID(0x1852, 0x5034)) && /* T+A Dac8 */ in snd_usb_endpoint_start_quirk()
1889 if (USB_ID_VENDOR(chip->usb_id) == 0x23ba && in snd_usb_interface_dsd_format_quirks()
1890 USB_ID_PRODUCT(chip->usb_id) < 0x0110) { in snd_usb_interface_dsd_format_quirks()
1906 case USB_ID(0x139f, 0x5504): /* Nagra DAC */ in snd_usb_interface_dsd_format_quirks()
1907 case USB_ID(0x20b1, 0x3089): /* Mola-Mola DAC */ in snd_usb_interface_dsd_format_quirks()
1908 case USB_ID(0x2522, 0x0007): /* LH Labs Geek Out 1V5 */ in snd_usb_interface_dsd_format_quirks()
1909 case USB_ID(0x2522, 0x0009): /* LH Labs Geek Pulse X Inifinity 2V0 */ in snd_usb_interface_dsd_format_quirks()
1910 case USB_ID(0x2522, 0x0012): /* LH Labs VI DAC Infinity */ in snd_usb_interface_dsd_format_quirks()
1911 case USB_ID(0x2772, 0x0230): /* Pro-Ject Pre Box S2 Digital */ in snd_usb_interface_dsd_format_quirks()
1916 case USB_ID(0x0d8c, 0x0316): /* Hegel HD12 DSD */ in snd_usb_interface_dsd_format_quirks()
1917 case USB_ID(0x10cb, 0x0103): /* The Bit Opus #3; with fp->dsd_raw */ in snd_usb_interface_dsd_format_quirks()
1918 case USB_ID(0x16d0, 0x06b2): /* NuPrime DAC-10 */ in snd_usb_interface_dsd_format_quirks()
1919 case USB_ID(0x16d0, 0x06b4): /* NuPrime Audio HD-AVP/AVA */ in snd_usb_interface_dsd_format_quirks()
1920 case USB_ID(0x16d0, 0x0733): /* Furutech ADL Stratos */ in snd_usb_interface_dsd_format_quirks()
1921 case USB_ID(0x16d0, 0x09d8): /* NuPrime IDA-8 */ in snd_usb_interface_dsd_format_quirks()
1922 case USB_ID(0x16d0, 0x09db): /* NuPrime Audio DAC-9 */ in snd_usb_interface_dsd_format_quirks()
1923 case USB_ID(0x16d0, 0x09dd): /* Encore mDSD */ in snd_usb_interface_dsd_format_quirks()
1924 case USB_ID(0x1db5, 0x0003): /* Bryston BDA3 */ in snd_usb_interface_dsd_format_quirks()
1925 case USB_ID(0x20a0, 0x4143): /* WaveIO USB Audio 2.0 */ in snd_usb_interface_dsd_format_quirks()
1926 case USB_ID(0x22e1, 0xca01): /* HDTA Serenade DSD */ in snd_usb_interface_dsd_format_quirks()
1927 case USB_ID(0x249c, 0x9326): /* M2Tech Young MkIII */ in snd_usb_interface_dsd_format_quirks()
1928 case USB_ID(0x2616, 0x0106): /* PS Audio NuWave DAC */ in snd_usb_interface_dsd_format_quirks()
1929 case USB_ID(0x2622, 0x0041): /* Audiolab M-DAC+ */ in snd_usb_interface_dsd_format_quirks()
1930 case USB_ID(0x278b, 0x5100): /* Rotel RC-1590 */ in snd_usb_interface_dsd_format_quirks()
1931 case USB_ID(0x27f7, 0x3002): /* W4S DAC-2v2SE */ in snd_usb_interface_dsd_format_quirks()
1932 case USB_ID(0x29a2, 0x0086): /* Mutec MC3+ USB */ in snd_usb_interface_dsd_format_quirks()
1933 case USB_ID(0x6b42, 0x0042): /* MSB Technology */ in snd_usb_interface_dsd_format_quirks()
1939 case USB_ID(0x16d0, 0x071a): /* Amanero - Combo384 */ in snd_usb_interface_dsd_format_quirks()
1942 case 0x199: in snd_usb_interface_dsd_format_quirks()
1944 case 0x19b: in snd_usb_interface_dsd_format_quirks()
1945 case 0x203: in snd_usb_interface_dsd_format_quirks()
1952 case USB_ID(0x16d0, 0x0a23): in snd_usb_interface_dsd_format_quirks()
1966 * three (0-2), in snd_usb_interface_dsd_format_quirks()
1968 * four (0-3). in snd_usb_interface_dsd_format_quirks()
1978 return 0; in snd_usb_interface_dsd_format_quirks()
1986 case USB_ID(0x0a92, 0x0053): /* AudioTrak Optoplay */ in snd_usb_audioformat_attributes_quirk()
1992 case USB_ID(0x041e, 0x3020): /* Creative SB Audigy 2 NX */ in snd_usb_audioformat_attributes_quirk()
1993 case USB_ID(0x0763, 0x2003): /* M-Audio Audiophile USB */ in snd_usb_audioformat_attributes_quirk()
1997 case USB_ID(0x0763, 0x2001): /* M-Audio Quattro USB */ in snd_usb_audioformat_attributes_quirk()
1998 case USB_ID(0x0763, 0x2012): /* M-Audio Fast Track Pro USB */ in snd_usb_audioformat_attributes_quirk()
1999 case USB_ID(0x047f, 0x0ca1): /* plantronics headset */ in snd_usb_audioformat_attributes_quirk()
2000 case USB_ID(0x077d, 0x07af): /* Griffin iMic (note that there is in snd_usb_audioformat_attributes_quirk()
2012 case USB_ID(0x07fd, 0x0004): /* MOTU MicroBook IIc */ in snd_usb_audioformat_attributes_quirk()
2020 case USB_ID(0x1224, 0x2a25): /* Jieli Technology USB PHY 2.0 */ in snd_usb_audioformat_attributes_quirk()
2024 case USB_ID(0x3511, 0x2b1e): /* Opencomm2 UC USB Bluetooth dongle */ in snd_usb_audioformat_attributes_quirk()
2042 #define VENDOR_FLG(vid, _flags) DEVICE_FLG(vid, 0, _flags)
2046 DEVICE_FLG(0x03f0, 0x654a, /* HP 320 FHD Webcam */
2048 DEVICE_FLG(0x041e, 0x3000, /* Creative SB Extigy */
2050 DEVICE_FLG(0x041e, 0x4080, /* Creative Live Cam VF0610 */
2052 DEVICE_FLG(0x045e, 0x083c, /* MS USB Link headset */
2055 DEVICE_FLG(0x046d, 0x0807, /* Logitech Webcam C500 */
2057 DEVICE_FLG(0x046d, 0x0808, /* Logitech Webcam C600 */
2059 DEVICE_FLG(0x046d, 0x0809,
2061 DEVICE_FLG(0x046d, 0x0819, /* Logitech Webcam C210 */
2063 DEVICE_FLG(0x046d, 0x081b, /* HD Webcam c310 */
2065 DEVICE_FLG(0x046d, 0x081d, /* HD Webcam c510 */
2067 DEVICE_FLG(0x046d, 0x0825, /* HD Webcam c270 */
2069 DEVICE_FLG(0x046d, 0x0826, /* HD Webcam c525 */
2071 DEVICE_FLG(0x046d, 0x084c, /* Logitech ConferenceCam Connect */
2073 DEVICE_FLG(0x046d, 0x08ca, /* Logitech Quickcam Fusion */
2075 DEVICE_FLG(0x046d, 0x0991, /* Logitech QuickCam Pro */
2078 DEVICE_FLG(0x046d, 0x09a2, /* QuickCam Communicate Deluxe/S7500 */
2080 DEVICE_FLG(0x046d, 0x09a4, /* Logitech QuickCam E 3500 */
2082 DEVICE_FLG(0x0499, 0x1506, /* Yamaha THR5 */
2084 DEVICE_FLG(0x0499, 0x1509, /* Steinberg UR22 */
2086 DEVICE_FLG(0x0499, 0x3108, /* Yamaha YIT-W12TX */
2088 DEVICE_FLG(0x04d8, 0xfeea, /* Benchmark DAC1 Pre */
2090 DEVICE_FLG(0x04e8, 0xa051, /* Samsung USBC Headset (AKG) */
2092 DEVICE_FLG(0x0525, 0xa4ad, /* Hamedal C20 usb camero */
2094 DEVICE_FLG(0x054c, 0x0b8c, /* Sony WALKMAN NW-A45 DAC */
2096 DEVICE_FLG(0x0556, 0x0014, /* Phoenix Audio TMX320VC */
2098 DEVICE_FLG(0x05a3, 0x9420, /* ELP HD USB Camera */
2100 DEVICE_FLG(0x05a7, 0x1020, /* Bose Companion 5 */
2102 DEVICE_FLG(0x05e1, 0x0408, /* Syntek STK1160 */
2104 DEVICE_FLG(0x05e1, 0x0480, /* Hauppauge Woodbury */
2106 DEVICE_FLG(0x0644, 0x8043, /* TEAC UD-501/UD-501V2/UD-503/NT-503 */
2109 DEVICE_FLG(0x0644, 0x8044, /* Esoteric D-05X */
2112 DEVICE_FLG(0x0644, 0x804a, /* TEAC UD-301 */
2115 DEVICE_FLG(0x0644, 0x805f, /* TEAC Model 12 */
2117 DEVICE_FLG(0x0644, 0x806b, /* TEAC UD-701 */
2120 DEVICE_FLG(0x06f8, 0xb000, /* Hercules DJ Console (Windows Edition) */
2122 DEVICE_FLG(0x06f8, 0xd002, /* Hercules DJ Console (Macintosh Edition) */
2124 DEVICE_FLG(0x0711, 0x5800, /* MCT Trigger 5 USB-to-HDMI */
2126 DEVICE_FLG(0x074d, 0x3553, /* Outlaw RR2150 (Micronas UAC3553B) */
2128 DEVICE_FLG(0x0763, 0x2030, /* M-Audio Fast Track C400 */
2130 DEVICE_FLG(0x0763, 0x2031, /* M-Audio Fast Track C600 */
2132 DEVICE_FLG(0x07fd, 0x000b, /* MOTU M Series 2nd hardware revision */
2134 DEVICE_FLG(0x08bb, 0x2702, /* LineX FM Transmitter */
2136 DEVICE_FLG(0x0951, 0x16ad, /* Kingston HyperX */
2138 DEVICE_FLG(0x0b0e, 0x0349, /* Jabra 550a */
2140 DEVICE_FLG(0x0c45, 0x6340, /* Sonix HD USB Camera */
2142 DEVICE_FLG(0x0ecb, 0x205c, /* JBL Quantum610 Wireless */
2144 DEVICE_FLG(0x0ecb, 0x2069, /* JBL Quantum810 Wireless */
2146 DEVICE_FLG(0x0fd9, 0x0008, /* Hauppauge HVR-950Q */
2148 DEVICE_FLG(0x1224, 0x2a25, /* Jieli Technology USB PHY 2.0 */
2150 DEVICE_FLG(0x1395, 0x740a, /* Sennheiser DECT */
2152 DEVICE_FLG(0x1397, 0x0507, /* Behringer UMC202HD */
2154 DEVICE_FLG(0x1397, 0x0508, /* Behringer UMC204HD */
2156 DEVICE_FLG(0x1397, 0x0509, /* Behringer UMC404HD */
2158 DEVICE_FLG(0x13e5, 0x0001, /* Serato Phono */
2160 DEVICE_FLG(0x154e, 0x1002, /* Denon DCD-1500RE */
2162 DEVICE_FLG(0x154e, 0x1003, /* Denon DA-300USB */
2164 DEVICE_FLG(0x154e, 0x3005, /* Marantz HD-DAC1 */
2166 DEVICE_FLG(0x154e, 0x3006, /* Marantz SA-14S1 */
2168 DEVICE_FLG(0x154e, 0x300b, /* Marantz SA-KI RUBY / SA-12 */
2170 DEVICE_FLG(0x154e, 0x500e, /* Denon DN-X1600 */
2172 DEVICE_FLG(0x1686, 0x00dd, /* Zoom R16/24 */
2174 DEVICE_FLG(0x17aa, 0x1046, /* Lenovo ThinkStation P620 Rear Line-in, Line-out and Microphone */
2176 DEVICE_FLG(0x17aa, 0x104d, /* Lenovo ThinkStation P620 Internal Speaker + Front Headset */
2178 DEVICE_FLG(0x1852, 0x5062, /* Luxman D-08u */
2180 DEVICE_FLG(0x1852, 0x5065, /* Luxman DA-06 */
2182 DEVICE_FLG(0x1901, 0x0191, /* GE B850V3 CP2114 audio interface */
2184 DEVICE_FLG(0x19f7, 0x0035, /* RODE NT-USB+ */
2186 DEVICE_FLG(0x1bcf, 0x2281, /* HD Webcam */
2188 DEVICE_FLG(0x1bcf, 0x2283, /* NexiGo N930AF FHD Webcam */
2190 DEVICE_FLG(0x2040, 0x7200, /* Hauppauge HVR-950Q */
2192 DEVICE_FLG(0x2040, 0x7201, /* Hauppauge HVR-950Q-MXL */
2194 DEVICE_FLG(0x2040, 0x7210, /* Hauppauge HVR-950Q */
2196 DEVICE_FLG(0x2040, 0x7211, /* Hauppauge HVR-950Q-MXL */
2198 DEVICE_FLG(0x2040, 0x7213, /* Hauppauge HVR-950Q */
2200 DEVICE_FLG(0x2040, 0x7217, /* Hauppauge HVR-950Q */
2202 DEVICE_FLG(0x2040, 0x721b, /* Hauppauge HVR-950Q */
2204 DEVICE_FLG(0x2040, 0x721e, /* Hauppauge HVR-950Q */
2206 DEVICE_FLG(0x2040, 0x721f, /* Hauppauge HVR-950Q */
2208 DEVICE_FLG(0x2040, 0x7240, /* Hauppauge HVR-850 */
2210 DEVICE_FLG(0x2040, 0x7260, /* Hauppauge HVR-950Q */
2212 DEVICE_FLG(0x2040, 0x7270, /* Hauppauge HVR-950Q */
2214 DEVICE_FLG(0x2040, 0x7280, /* Hauppauge HVR-950Q */
2216 DEVICE_FLG(0x2040, 0x7281, /* Hauppauge HVR-950Q-MXL */
2218 DEVICE_FLG(0x2040, 0x8200, /* Hauppauge Woodbury */
2220 DEVICE_FLG(0x21b4, 0x0081, /* AudioQuest DragonFly */
2222 DEVICE_FLG(0x21b4, 0x0230, /* Ayre QB-9 Twenty */
2224 DEVICE_FLG(0x21b4, 0x0232, /* Ayre QX-5 Twenty */
2226 DEVICE_FLG(0x2522, 0x0007, /* LH Labs Geek Out HD Audio 1V5 */
2228 DEVICE_FLG(0x262a, 0x9302, /* ddHiFi TC44C */
2230 DEVICE_FLG(0x2708, 0x0002, /* Audient iD14 */
2232 DEVICE_FLG(0x2912, 0x30c8, /* Audioengine D1 */
2234 DEVICE_FLG(0x2b53, 0x0023, /* Fiero SC-01 (firmware v1.0.0 @ 48 kHz) */
2236 DEVICE_FLG(0x2b53, 0x0024, /* Fiero SC-01 (firmware v1.0.0 @ 96 kHz) */
2238 DEVICE_FLG(0x2b53, 0x0031, /* Fiero SC-01 (firmware v1.1.0) */
2240 DEVICE_FLG(0x2d95, 0x8011, /* VIVO USB-C HEADSET */
2242 DEVICE_FLG(0x2d95, 0x8021, /* VIVO USB-C-XE710 HEADSET */
2244 DEVICE_FLG(0x30be, 0x0101, /* Schiit Hel */
2246 DEVICE_FLG(0x413c, 0xa506, /* Dell AE515 sound bar */
2248 DEVICE_FLG(0x534d, 0x0021, /* MacroSilicon MS2100/MS2106 */
2250 DEVICE_FLG(0x534d, 0x2109, /* MacroSilicon MS2109 */
2254 VENDOR_FLG(0x045e, /* MS Lifecam */
2256 VENDOR_FLG(0x046d, /* Logitech */
2258 VENDOR_FLG(0x047f, /* Plantronics */
2260 VENDOR_FLG(0x0644, /* TEAC Corp. */
2262 VENDOR_FLG(0x07fd, /* MOTU */
2264 VENDOR_FLG(0x1235, /* Focusrite Novation */
2266 VENDOR_FLG(0x1511, /* AURALiC */
2268 VENDOR_FLG(0x152a, /* Thesycon devices */
2270 VENDOR_FLG(0x18d1, /* iBasso devices */
2272 VENDOR_FLG(0x1de7, /* Phoenix Audio */
2274 VENDOR_FLG(0x20b1, /* XMOS based devices */
2276 VENDOR_FLG(0x21ed, /* Accuphase Laboratory */
2278 VENDOR_FLG(0x22d9, /* Oppo */
2280 VENDOR_FLG(0x23ba, /* Playback Design */
2283 VENDOR_FLG(0x25ce, /* Mytek devices */
2285 VENDOR_FLG(0x278b, /* Rotel? */
2287 VENDOR_FLG(0x292b, /* Gustard/Ess based devices */
2289 VENDOR_FLG(0x2972, /* FiiO devices */
2291 VENDOR_FLG(0x2ab6, /* T+A devices */
2293 VENDOR_FLG(0x2afd, /* McIntosh Laboratory, Inc. */
2295 VENDOR_FLG(0x2d87, /* Cayin device */
2297 VENDOR_FLG(0x3336, /* HEM devices */
2299 VENDOR_FLG(0x3353, /* Khadas devices */
2301 VENDOR_FLG(0x35f4, /* MSB Technology */
2303 VENDOR_FLG(0x3842, /* EVGA */
2305 VENDOR_FLG(0xc502, /* HiBy devices */
2320 "Set quirk_flags 0x%x for device %04x:%04x\n", in snd_usb_init_quirk_flags()