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_defaults()
1009 /* min volume is: 0x0080 (shown in little endian form) */ in mbox3_setup_defaults()
1014 /* on = 0x01*/ in mbox3_setup_defaults()
1015 /* off = 0x00*/ in mbox3_setup_defaults()
1016 com_buff[0] = 0x00; in mbox3_setup_defaults()
1017 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1018 0x01, 0x21, 0x0003, 0x2001, &com_buff, 1); in mbox3_setup_defaults()
1021 /* Internal = 0x01*/ in mbox3_setup_defaults()
1022 /* S/PDIF = 0x02*/ in mbox3_setup_defaults()
1023 com_buff[0] = 0x01; in mbox3_setup_defaults()
1024 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1025 1, 0x21, 0x0100, 0x8001, &com_buff, 1); in mbox3_setup_defaults()
1028 com_buff[0] = 0x00; in mbox3_setup_defaults()
1029 com_buff[1] = 0x80; in mbox3_setup_defaults()
1031 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1032 1, 0x21, 0x0110, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1034 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1035 1, 0x21, 0x0111, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1037 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1038 1, 0x21, 0x0114, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1040 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1041 1, 0x21, 0x0115, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1043 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1044 1, 0x21, 0x0118, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1046 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1047 1, 0x21, 0x0119, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1049 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1050 1, 0x21, 0x011c, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1052 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1053 1, 0x21, 0x011d, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1056 com_buff[0] = 0x00; in mbox3_setup_defaults()
1057 com_buff[1] = 0x00; in mbox3_setup_defaults()
1059 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1060 1, 0x21, 0x0100, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1061 com_buff[0] = 0x00; in mbox3_setup_defaults()
1062 com_buff[1] = 0x80; in mbox3_setup_defaults()
1064 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1065 1, 0x21, 0x0101, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1066 com_buff[0] = 0x00; in mbox3_setup_defaults()
1067 com_buff[1] = 0x80; in mbox3_setup_defaults()
1069 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1070 1, 0x21, 0x0104, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1071 com_buff[0] = 0x00; in mbox3_setup_defaults()
1072 com_buff[1] = 0x00; in mbox3_setup_defaults()
1074 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1075 1, 0x21, 0x0105, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1077 com_buff[0] = 0x00; in mbox3_setup_defaults()
1078 com_buff[1] = 0x80; in mbox3_setup_defaults()
1080 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1081 1, 0x21, 0x0108, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1083 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1084 1, 0x21, 0x0109, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1086 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1087 1, 0x21, 0x010c, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1089 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1090 1, 0x21, 0x010d, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1093 com_buff[0] = 0x00; in mbox3_setup_defaults()
1094 com_buff[1] = 0x80; in mbox3_setup_defaults()
1096 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1097 1, 0x21, 0x0120, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1099 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1100 1, 0x21, 0x0121, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1103 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1104 1, 0x21, 0x0100, 0x4201, &com_buff, 2); in mbox3_setup_defaults()
1106 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1107 1, 0x21, 0x0101, 0x4201, &com_buff, 2); in mbox3_setup_defaults()
1109 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1110 1, 0x21, 0x0102, 0x4201, &com_buff, 2); in mbox3_setup_defaults()
1112 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1113 1, 0x21, 0x0103, 0x4201, &com_buff, 2); in mbox3_setup_defaults()
1115 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1116 1, 0x21, 0x0104, 0x4201, &com_buff, 2); in mbox3_setup_defaults()
1118 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1119 1, 0x21, 0x0105, 0x4201, &com_buff, 2); in mbox3_setup_defaults()
1121 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1122 1, 0x21, 0x0106, 0x4201, &com_buff, 2); in mbox3_setup_defaults()
1124 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1125 1, 0x21, 0x0107, 0x4201, &com_buff, 2); in mbox3_setup_defaults()
1129 com_buff[0] = 0x02; in mbox3_setup_defaults()
1130 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1131 3, 0x21, 0x0000, 0x2001, &com_buff, 1); in mbox3_setup_defaults()
1135 com_buff[0] = 0x00; in mbox3_setup_defaults()
1136 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1137 3, 0x21, 0x0002, 0x2001, &com_buff, 1); in mbox3_setup_defaults()
1140 com_buff[0] = 0x00; in mbox3_setup_defaults()
1141 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1142 3, 0x21, 0x0001, 0x2001, &com_buff, 1); in mbox3_setup_defaults()
1147 com_buff[0] = 0x00; in mbox3_setup_defaults()
1148 com_buff[1] = 0x80; in mbox3_setup_defaults()
1150 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1151 1, 0x21, 0x0112, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1153 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1154 1, 0x21, 0x0113, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1156 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1157 1, 0x21, 0x0116, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1159 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1160 1, 0x21, 0x0117, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1162 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1163 1, 0x21, 0x011a, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1165 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1166 1, 0x21, 0x011b, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1168 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1169 1, 0x21, 0x011e, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1171 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1172 1, 0x21, 0x011f, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1174 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1175 1, 0x21, 0x0102, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1177 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1178 1, 0x21, 0x0103, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1180 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1181 1, 0x21, 0x0106, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1183 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1184 1, 0x21, 0x0107, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1186 com_buff[0] = 0x00; in mbox3_setup_defaults()
1187 com_buff[1] = 0x00; in mbox3_setup_defaults()
1189 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1190 1, 0x21, 0x010a, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1192 com_buff[0] = 0x00; in mbox3_setup_defaults()
1193 com_buff[1] = 0x80; in mbox3_setup_defaults()
1195 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1196 1, 0x21, 0x010b, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1198 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1199 1, 0x21, 0x010e, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1201 com_buff[0] = 0x00; in mbox3_setup_defaults()
1202 com_buff[1] = 0x00; in mbox3_setup_defaults()
1204 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1205 1, 0x21, 0x010f, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1207 com_buff[0] = 0x00; in mbox3_setup_defaults()
1208 com_buff[1] = 0x80; in mbox3_setup_defaults()
1210 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1211 1, 0x21, 0x0122, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1213 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1214 1, 0x21, 0x0123, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1217 /* Room1 = 0x00 */ in mbox3_setup_defaults()
1218 /* Room2 = 0x01 */ in mbox3_setup_defaults()
1219 /* Room3 = 0x02 */ in mbox3_setup_defaults()
1220 /* Hall 1 = 0x03 */ in mbox3_setup_defaults()
1221 /* Hall 2 = 0x04 */ in mbox3_setup_defaults()
1222 /* Plate = 0x05 */ in mbox3_setup_defaults()
1223 /* Delay = 0x06 */ in mbox3_setup_defaults()
1224 /* Echo = 0x07 */ in mbox3_setup_defaults()
1225 com_buff[0] = 0x00; in mbox3_setup_defaults()
1226 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1227 1, 0x21, 0x0200, 0x4301, &com_buff, 1); /* max is 0xff */ in mbox3_setup_defaults()
1228 /* min is 0x00 */ in mbox3_setup_defaults()
1231 /* Set the effect duration to 0 */ in mbox3_setup_defaults()
1232 /* max is 0xffff */ in mbox3_setup_defaults()
1233 /* min is 0x0000 */ in mbox3_setup_defaults()
1234 com_buff[0] = 0x00; in mbox3_setup_defaults()
1235 com_buff[1] = 0x00; in mbox3_setup_defaults()
1236 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1237 1, 0x21, 0x0400, 0x4301, &com_buff, 2); in mbox3_setup_defaults()
1239 /* Set the effect volume and feedback to 0 */ in mbox3_setup_defaults()
1240 /* max is 0xff */ in mbox3_setup_defaults()
1241 /* min is 0x00 */ in mbox3_setup_defaults()
1242 com_buff[0] = 0x00; in mbox3_setup_defaults()
1244 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1245 1, 0x21, 0x0500, 0x4301, &com_buff, 1); in mbox3_setup_defaults()
1247 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1248 1, 0x21, 0x0300, 0x4301, &com_buff, 1); in mbox3_setup_defaults()
1251 /* 0x03 = 250ms */ in mbox3_setup_defaults()
1252 /* 0x05 = 500ms DEFAULT */ in mbox3_setup_defaults()
1253 /* 0x08 = 750ms */ in mbox3_setup_defaults()
1254 /* 0x0a = 1sec */ in mbox3_setup_defaults()
1255 com_buff[0] = 0x05; in mbox3_setup_defaults()
1256 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1257 3, 0x21, 0x0005, 0x2001, &com_buff, 1); in mbox3_setup_defaults()
1260 com_buff[0] = 0x00; in mbox3_setup_defaults()
1261 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1262 3, 0x21, 0x0004, 0x2001, &com_buff, 1); in mbox3_setup_defaults()
1287 err = usb_get_descriptor(dev, USB_DT_DEVICE, 0, in snd_usb_mbox3_boot_quirk()
1289 if (err < 0) in snd_usb_mbox3_boot_quirk()
1298 if (err < 0) in snd_usb_mbox3_boot_quirk()
1307 return 0; /* Successful boot */ in snd_usb_mbox3_boot_quirk()
1317 if (usb_pipe_type_check(dev, usb_sndintpipe(dev, 0x01))) in snd_usb_motu_microbookii_communicate()
1319 err = usb_interrupt_msg(dev, usb_sndintpipe(dev, 0x01), buf, *length, in snd_usb_motu_microbookii_communicate()
1321 if (err < 0) in snd_usb_motu_microbookii_communicate()
1327 memset(buf, 0, buf_size); in snd_usb_motu_microbookii_communicate()
1329 if (usb_pipe_type_check(dev, usb_rcvintpipe(dev, 0x82))) in snd_usb_motu_microbookii_communicate()
1331 err = usb_interrupt_msg(dev, usb_rcvintpipe(dev, 0x82), buf, buf_size, in snd_usb_motu_microbookii_communicate()
1333 if (err < 0) in snd_usb_motu_microbookii_communicate()
1340 return 0; in snd_usb_motu_microbookii_communicate()
1345 int err, actual_length, poll_attempts = 0; in snd_usb_motu_microbookii_boot_quirk()
1346 static const u8 set_samplerate_seq[] = { 0x00, 0x00, 0x00, 0x00, in snd_usb_motu_microbookii_boot_quirk()
1347 0x00, 0x00, 0x0b, 0x14, in snd_usb_motu_microbookii_boot_quirk()
1348 0x00, 0x00, 0x00, 0x01 }; in snd_usb_motu_microbookii_boot_quirk()
1349 static const u8 poll_ready_seq[] = { 0x00, 0x04, 0x00, 0x00, in snd_usb_motu_microbookii_boot_quirk()
1350 0x00, 0x00, 0x0b, 0x18 }; in snd_usb_motu_microbookii_boot_quirk()
1364 if (err < 0) { in snd_usb_motu_microbookii_boot_quirk()
1380 memset(buf, 0, MICROBOOK_BUF_SIZE); in snd_usb_motu_microbookii_boot_quirk()
1386 if (err < 0) { in snd_usb_motu_microbookii_boot_quirk()
1395 * XX 06 00 00 00 00 0b 18 00 00 00 01 in snd_usb_motu_microbookii_boot_quirk()
1416 return 0; in snd_usb_motu_m_series_boot_quirk()
1422 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in snd_usb_rme_digiface_boot_quirk()
1423 16, 0x40, 0x2410, 0x7fff, NULL, 0); in snd_usb_rme_digiface_boot_quirk()
1424 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in snd_usb_rme_digiface_boot_quirk()
1425 18, 0x40, 0x0104, 0xffff, NULL, 0); in snd_usb_rme_digiface_boot_quirk()
1428 for (int ch = 0; ch < 32; ch++) in snd_usb_rme_digiface_boot_quirk()
1429 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in snd_usb_rme_digiface_boot_quirk()
1430 22, 0x40, 0x400, ch, NULL, 0); in snd_usb_rme_digiface_boot_quirk()
1433 for (int ch = 0; ch < 34; ch++) in snd_usb_rme_digiface_boot_quirk()
1434 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in snd_usb_rme_digiface_boot_quirk()
1435 21, 0x40, 0x9000, 0x100 + ch, NULL, 0); in snd_usb_rme_digiface_boot_quirk()
1437 return 0; in snd_usb_rme_digiface_boot_quirk()
1443 #define MAUDIO_SET 0x01 /* parse device_setup */
1444 #define MAUDIO_SET_COMPATIBLE 0x80 /* use only "win-compatible" interfaces */
1445 #define MAUDIO_SET_DTS 0x02 /* enable DTS Digital Output */
1446 #define MAUDIO_SET_96K 0x04 /* 48-96kHz rate if set, 8-48kHz otherwise */
1447 #define MAUDIO_SET_24B 0x08 /* 24bits sample if set, 16bits otherwise */
1448 #define MAUDIO_SET_DI 0x10 /* enable Digital Input */
1449 #define MAUDIO_SET_MASK 0x1f /* bit mask for setup value */
1450 #define MAUDIO_SET_24B_48K_DI 0x19 /* 24bits+48kHz+Digital Input */
1451 #define MAUDIO_SET_24B_48K_NOTDI 0x09 /* 24bits+48kHz+No Digital Input */
1452 #define MAUDIO_SET_16B_48K_DI 0x11 /* 16bits+48kHz+Digital Input */
1453 #define MAUDIO_SET_16B_48K_NOTDI 0x01 /* 16bits+48kHz+No Digital Input */
1458 /* Reset ALL ifaces to 0 altsetting. in quattro_skip_setting_quirk()
1461 usb_set_interface(chip->dev, iface, 0); in quattro_skip_setting_quirk()
1484 return 0; /* keep this altsetting */ in quattro_skip_setting_quirk()
1491 /* Reset ALL ifaces to 0 altsetting. in audiophile_skip_setting_quirk()
1494 usb_set_interface(chip->dev, iface, 0); in audiophile_skip_setting_quirk()
1513 return 0; /* keep this altsetting */ in audiophile_skip_setting_quirk()
1519 /* Reset ALL ifaces to 0 altsetting. in fasttrackpro_skip_setting_quirk()
1522 usb_set_interface(chip->dev, iface, 0); in fasttrackpro_skip_setting_quirk()
1551 return 0; /* keep this altsetting */ in fasttrackpro_skip_setting_quirk()
1576 if ((chip->setup == 0 || chip->setup > 2) && altno != 2) in s1810c_skip_setting_quirk()
1583 return 0; in s1810c_skip_setting_quirk()
1591 if (chip->usb_id == USB_ID(0x0763, 0x2003)) in snd_usb_apply_interface_quirk()
1594 if (chip->usb_id == USB_ID(0x0763, 0x2001)) in snd_usb_apply_interface_quirk()
1597 if (chip->usb_id == USB_ID(0x0763, 0x2012)) in snd_usb_apply_interface_quirk()
1600 if (chip->usb_id == USB_ID(0x194f, 0x010c)) in snd_usb_apply_interface_quirk()
1604 return 0; in snd_usb_apply_interface_quirk()
1613 case USB_ID(0x041e, 0x3000): in snd_usb_apply_boot_quirk()
1618 case USB_ID(0x041e, 0x3020): in snd_usb_apply_boot_quirk()
1622 case USB_ID(0x10f5, 0x0200): in snd_usb_apply_boot_quirk()
1626 case USB_ID(0x0d8c, 0x0102): in snd_usb_apply_boot_quirk()
1628 case USB_ID(0x0ccd, 0x00b1): /* Terratec Aureon 7.1 USB */ in snd_usb_apply_boot_quirk()
1631 case USB_ID(0x0dba, 0x3000): in snd_usb_apply_boot_quirk()
1634 case USB_ID(0x0dba, 0x5000): in snd_usb_apply_boot_quirk()
1639 case USB_ID(0x1235, 0x0010): /* Focusrite Novation Saffire 6 USB */ in snd_usb_apply_boot_quirk()
1640 case USB_ID(0x1235, 0x0018): /* Focusrite Novation Twitch */ in snd_usb_apply_boot_quirk()
1643 case USB_ID(0x133e, 0x0815): in snd_usb_apply_boot_quirk()
1647 case USB_ID(0x17cc, 0x1000): /* Komplete Audio 6 */ in snd_usb_apply_boot_quirk()
1648 case USB_ID(0x17cc, 0x1010): /* Traktor Audio 6 */ in snd_usb_apply_boot_quirk()
1649 case USB_ID(0x17cc, 0x1020): /* Traktor Audio 10 */ in snd_usb_apply_boot_quirk()
1651 case USB_ID(0x0763, 0x2012): /* M-Audio Fast Track Pro USB */ in snd_usb_apply_boot_quirk()
1653 case USB_ID(0x047f, 0xc010): /* Plantronics Gamecom 780 */ in snd_usb_apply_boot_quirk()
1655 case USB_ID(0x2466, 0x8010): /* Fractal Audio Axe-Fx 3 */ in snd_usb_apply_boot_quirk()
1657 case USB_ID(0x07fd, 0x0004): /* MOTU MicroBook II */ in snd_usb_apply_boot_quirk()
1667 case USB_ID(0x2a39, 0x3f8c): /* RME Digiface USB */ in snd_usb_apply_boot_quirk()
1668 case USB_ID(0x2a39, 0x3fa0): /* RME Digiface USB (alternate) */ in snd_usb_apply_boot_quirk()
1672 return 0; in snd_usb_apply_boot_quirk()
1681 case USB_ID(0x07fd, 0x0008): /* MOTU M Series, 1st hardware version */ in snd_usb_apply_boot_quirk_once()
1685 return 0; in snd_usb_apply_boot_quirk_once()
1696 case USB_ID(0x0763, 0x2001): /* M-Audio Quattro: captured data only */ in snd_usb_is_big_endian_format()
1701 case USB_ID(0x0763, 0x2003): /* M-Audio Audiophile USB */ in snd_usb_is_big_endian_format()
1702 if (chip->setup == 0x00 || in snd_usb_is_big_endian_format()
1707 case USB_ID(0x0763, 0x2012): /* M-Audio Fast Track Pro */ in snd_usb_is_big_endian_format()
1713 return 0; in snd_usb_is_big_endian_format()
1722 EMU_QUIRK_SR_44100HZ = 0,
1733 unsigned char emu_samplerate_id = 0; in set_format_emu_quirk()
1765 subs->pkt_offset_adj = (emu_samplerate_id >= EMU_QUIRK_SR_176400HZ) ? 4 : 0; in set_format_emu_quirk()
1774 sr[0] = cur_rate & 0xff; in pioneer_djm_set_format_quirk()
1775 sr[1] = (cur_rate >> 8) & 0xff; in pioneer_djm_set_format_quirk()
1776 sr[2] = (cur_rate >> 16) & 0xff; in pioneer_djm_set_format_quirk()
1777 usb_set_interface(subs->dev, 0, 1); in pioneer_djm_set_format_quirk()
1780 usb_sndctrlpipe(subs->stream->chip->dev, 0), in pioneer_djm_set_format_quirk()
1781 0x01, 0x22, 0x0100, windex, &sr, 0x0003); in pioneer_djm_set_format_quirk()
1782 return 0; in pioneer_djm_set_format_quirk()
1788 __le32 buff4 = 0; in mbox3_set_format_quirk()
1789 u8 buff1 = 0x01; in mbox3_set_format_quirk()
1794 snd_usb_ctl_msg(subs->dev, usb_rcvctrlpipe(subs->dev, 0), in mbox3_set_format_quirk()
1795 0x01, 0x21 | USB_DIR_IN, 0x0100, 0x8101, &buff4, 4); in mbox3_set_format_quirk()
1810 snd_usb_ctl_msg(subs->dev, usb_sndctrlpipe(subs->dev, 0), in mbox3_set_format_quirk()
1811 0x01, 0x21, 0x0100, 0x8101, &buff4, 4); in mbox3_set_format_quirk()
1814 snd_usb_ctl_msg(subs->dev, usb_sndctrlpipe(subs->dev, 0), in mbox3_set_format_quirk()
1815 0x01, 0x21, 0x0100, 0x8001, &buff1, 1); in mbox3_set_format_quirk()
1818 buff4 = 0; in mbox3_set_format_quirk()
1819 snd_usb_ctl_msg(subs->dev, usb_rcvctrlpipe(subs->dev, 0), in mbox3_set_format_quirk()
1820 0x01, 0x21 | USB_DIR_IN, 0x0100, 0x8101, &buff4, 4); in mbox3_set_format_quirk()
1826 32000, 44100, 48000, 0,
1827 64000, 88200, 96000, 0,
1828 128000, 176400, 192000, 0,
1838 for (id = 0; id < ARRAY_SIZE(rme_digiface_rate_table); id++) { in rme_digiface_set_format_quirk()
1852 usb_sndctrlpipe(subs->stream->chip->dev, 0), in rme_digiface_set_format_quirk()
1853 16, 0x40, val, 0x7078, NULL, 0); in rme_digiface_set_format_quirk()
1854 return 0; in rme_digiface_set_format_quirk()
1861 case USB_ID(0x041e, 0x3f02): /* E-Mu 0202 USB */ in snd_usb_set_format_quirk()
1862 case USB_ID(0x041e, 0x3f04): /* E-Mu 0404 USB */ in snd_usb_set_format_quirk()
1863 case USB_ID(0x041e, 0x3f0a): /* E-Mu Tracker Pre */ in snd_usb_set_format_quirk()
1864 case USB_ID(0x041e, 0x3f19): /* E-Mu 0204 USB */ in snd_usb_set_format_quirk()
1867 case USB_ID(0x534d, 0x0021): /* MacroSilicon MS2100/MS2106 */ in snd_usb_set_format_quirk()
1868 case USB_ID(0x534d, 0x2109): /* MacroSilicon MS2109 */ in snd_usb_set_format_quirk()
1871 case USB_ID(0x2b73, 0x000a): /* Pioneer DJM-900NXS2 */ in snd_usb_set_format_quirk()
1872 case USB_ID(0x2b73, 0x0013): /* Pioneer DJM-450 */ in snd_usb_set_format_quirk()
1873 pioneer_djm_set_format_quirk(subs, 0x0082); in snd_usb_set_format_quirk()
1875 case USB_ID(0x08e4, 0x017f): /* Pioneer DJM-750 */ in snd_usb_set_format_quirk()
1876 case USB_ID(0x08e4, 0x0163): /* Pioneer DJM-850 */ in snd_usb_set_format_quirk()
1877 pioneer_djm_set_format_quirk(subs, 0x0086); in snd_usb_set_format_quirk()
1879 case USB_ID(0x0dba, 0x5000): in snd_usb_set_format_quirk()
1882 case USB_ID(0x2a39, 0x3f8c): /* RME Digiface USB */ in snd_usb_set_format_quirk()
1883 case USB_ID(0x2a39, 0x3fa0): /* RME Digiface USB (alternate) */ in snd_usb_set_format_quirk()
1896 /* First switch to alt set 0, otherwise the mode switch cmd in snd_usb_select_mode_quirk()
1899 err = usb_set_interface(dev, fmt->iface, 0); in snd_usb_select_mode_quirk()
1900 if (err < 0) in snd_usb_select_mode_quirk()
1908 err = snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), 0, in snd_usb_select_mode_quirk()
1910 1, 1, NULL, 0); in snd_usb_select_mode_quirk()
1911 if (err < 0) in snd_usb_select_mode_quirk()
1917 err = snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), 0, in snd_usb_select_mode_quirk()
1919 0, 1, NULL, 0); in snd_usb_select_mode_quirk()
1920 if (err < 0) in snd_usb_select_mode_quirk()
1926 return 0; in snd_usb_select_mode_quirk()
1935 if (USB_ID_VENDOR(ep->chip->usb_id) == 0x23ba && in snd_usb_endpoint_start_quirk()
1946 if ((ep->chip->usb_id == USB_ID(0x0763, 0x2030) || in snd_usb_endpoint_start_quirk()
1947 ep->chip->usb_id == USB_ID(0x0763, 0x2031)) && in snd_usb_endpoint_start_quirk()
1952 if ((ep->chip->usb_id == USB_ID(0x0644, 0x8038) || /* TEAC UD-H01 */ in snd_usb_endpoint_start_quirk()
1953 ep->chip->usb_id == USB_ID(0x1852, 0x5034)) && /* T+A Dac8 */ in snd_usb_endpoint_start_quirk()
1990 if (USB_ID_VENDOR(chip->usb_id) == 0x23ba && in snd_usb_interface_dsd_format_quirks()
1991 USB_ID_PRODUCT(chip->usb_id) < 0x0110) { in snd_usb_interface_dsd_format_quirks()
2007 case USB_ID(0x139f, 0x5504): /* Nagra DAC */ in snd_usb_interface_dsd_format_quirks()
2008 case USB_ID(0x20b1, 0x3089): /* Mola-Mola DAC */ in snd_usb_interface_dsd_format_quirks()
2009 case USB_ID(0x2522, 0x0007): /* LH Labs Geek Out 1V5 */ in snd_usb_interface_dsd_format_quirks()
2010 case USB_ID(0x2522, 0x0009): /* LH Labs Geek Pulse X Inifinity 2V0 */ in snd_usb_interface_dsd_format_quirks()
2011 case USB_ID(0x2522, 0x0012): /* LH Labs VI DAC Infinity */ in snd_usb_interface_dsd_format_quirks()
2012 case USB_ID(0x2772, 0x0230): /* Pro-Ject Pre Box S2 Digital */ in snd_usb_interface_dsd_format_quirks()
2017 case USB_ID(0x0d8c, 0x0316): /* Hegel HD12 DSD */ in snd_usb_interface_dsd_format_quirks()
2018 case USB_ID(0x10cb, 0x0103): /* The Bit Opus #3; with fp->dsd_raw */ in snd_usb_interface_dsd_format_quirks()
2019 case USB_ID(0x16d0, 0x06b2): /* NuPrime DAC-10 */ in snd_usb_interface_dsd_format_quirks()
2020 case USB_ID(0x16d0, 0x06b4): /* NuPrime Audio HD-AVP/AVA */ in snd_usb_interface_dsd_format_quirks()
2021 case USB_ID(0x16d0, 0x0733): /* Furutech ADL Stratos */ in snd_usb_interface_dsd_format_quirks()
2022 case USB_ID(0x16d0, 0x09d8): /* NuPrime IDA-8 */ in snd_usb_interface_dsd_format_quirks()
2023 case USB_ID(0x16d0, 0x09db): /* NuPrime Audio DAC-9 */ in snd_usb_interface_dsd_format_quirks()
2024 case USB_ID(0x16d0, 0x09dd): /* Encore mDSD */ in snd_usb_interface_dsd_format_quirks()
2025 case USB_ID(0x1db5, 0x0003): /* Bryston BDA3 */ in snd_usb_interface_dsd_format_quirks()
2026 case USB_ID(0x20a0, 0x4143): /* WaveIO USB Audio 2.0 */ in snd_usb_interface_dsd_format_quirks()
2027 case USB_ID(0x22e1, 0xca01): /* HDTA Serenade DSD */ in snd_usb_interface_dsd_format_quirks()
2028 case USB_ID(0x249c, 0x9326): /* M2Tech Young MkIII */ in snd_usb_interface_dsd_format_quirks()
2029 case USB_ID(0x2616, 0x0106): /* PS Audio NuWave DAC */ in snd_usb_interface_dsd_format_quirks()
2030 case USB_ID(0x2622, 0x0041): /* Audiolab M-DAC+ */ in snd_usb_interface_dsd_format_quirks()
2031 case USB_ID(0x278b, 0x5100): /* Rotel RC-1590 */ in snd_usb_interface_dsd_format_quirks()
2032 case USB_ID(0x27f7, 0x3002): /* W4S DAC-2v2SE */ in snd_usb_interface_dsd_format_quirks()
2033 case USB_ID(0x29a2, 0x0086): /* Mutec MC3+ USB */ in snd_usb_interface_dsd_format_quirks()
2034 case USB_ID(0x6b42, 0x0042): /* MSB Technology */ in snd_usb_interface_dsd_format_quirks()
2040 case USB_ID(0x16d0, 0x071a): /* Amanero - Combo384 */ in snd_usb_interface_dsd_format_quirks()
2043 case 0x199: in snd_usb_interface_dsd_format_quirks()
2045 case 0x19b: in snd_usb_interface_dsd_format_quirks()
2046 case 0x203: in snd_usb_interface_dsd_format_quirks()
2053 case USB_ID(0x16d0, 0x0a23): in snd_usb_interface_dsd_format_quirks()
2067 * three (0-2), in snd_usb_interface_dsd_format_quirks()
2069 * four (0-3). in snd_usb_interface_dsd_format_quirks()
2079 return 0; in snd_usb_interface_dsd_format_quirks()
2087 case USB_ID(0x0a92, 0x0053): /* AudioTrak Optoplay */ in snd_usb_audioformat_attributes_quirk()
2093 case USB_ID(0x041e, 0x3020): /* Creative SB Audigy 2 NX */ in snd_usb_audioformat_attributes_quirk()
2094 case USB_ID(0x0763, 0x2003): /* M-Audio Audiophile USB */ in snd_usb_audioformat_attributes_quirk()
2098 case USB_ID(0x0763, 0x2001): /* M-Audio Quattro USB */ in snd_usb_audioformat_attributes_quirk()
2099 case USB_ID(0x0763, 0x2012): /* M-Audio Fast Track Pro USB */ in snd_usb_audioformat_attributes_quirk()
2100 case USB_ID(0x047f, 0x0ca1): /* plantronics headset */ in snd_usb_audioformat_attributes_quirk()
2101 case USB_ID(0x077d, 0x07af): /* Griffin iMic (note that there is in snd_usb_audioformat_attributes_quirk()
2113 case USB_ID(0x07fd, 0x0004): /* MOTU MicroBook IIc */ in snd_usb_audioformat_attributes_quirk()
2121 case USB_ID(0x1224, 0x2a25): /* Jieli Technology USB PHY 2.0 */ in snd_usb_audioformat_attributes_quirk()
2125 case USB_ID(0x3511, 0x2b1e): /* Opencomm2 UC USB Bluetooth dongle */ in snd_usb_audioformat_attributes_quirk()
2143 #define VENDOR_FLG(vid, _flags) DEVICE_FLG(vid, 0, _flags)
2147 DEVICE_FLG(0x03f0, 0x654a, /* HP 320 FHD Webcam */
2149 DEVICE_FLG(0x041e, 0x3000, /* Creative SB Extigy */
2151 DEVICE_FLG(0x041e, 0x4080, /* Creative Live Cam VF0610 */
2153 DEVICE_FLG(0x045e, 0x083c, /* MS USB Link headset */
2156 DEVICE_FLG(0x046d, 0x0807, /* Logitech Webcam C500 */
2158 DEVICE_FLG(0x046d, 0x0808, /* Logitech Webcam C600 */
2160 DEVICE_FLG(0x046d, 0x0809,
2162 DEVICE_FLG(0x046d, 0x0819, /* Logitech Webcam C210 */
2164 DEVICE_FLG(0x046d, 0x081b, /* HD Webcam c310 */
2166 DEVICE_FLG(0x046d, 0x081d, /* HD Webcam c510 */
2168 DEVICE_FLG(0x046d, 0x0825, /* HD Webcam c270 */
2170 DEVICE_FLG(0x046d, 0x0826, /* HD Webcam c525 */
2172 DEVICE_FLG(0x046d, 0x084c, /* Logitech ConferenceCam Connect */
2174 DEVICE_FLG(0x046d, 0x08ca, /* Logitech Quickcam Fusion */
2176 DEVICE_FLG(0x046d, 0x0991, /* Logitech QuickCam Pro */
2179 DEVICE_FLG(0x046d, 0x09a2, /* QuickCam Communicate Deluxe/S7500 */
2181 DEVICE_FLG(0x046d, 0x09a4, /* Logitech QuickCam E 3500 */
2183 DEVICE_FLG(0x0499, 0x1506, /* Yamaha THR5 */
2185 DEVICE_FLG(0x0499, 0x1509, /* Steinberg UR22 */
2187 DEVICE_FLG(0x0499, 0x3108, /* Yamaha YIT-W12TX */
2189 DEVICE_FLG(0x04d8, 0xfeea, /* Benchmark DAC1 Pre */
2191 DEVICE_FLG(0x04e8, 0xa051, /* Samsung USBC Headset (AKG) */
2193 DEVICE_FLG(0x0525, 0xa4ad, /* Hamedal C20 usb camero */
2195 DEVICE_FLG(0x054c, 0x0b8c, /* Sony WALKMAN NW-A45 DAC */
2197 DEVICE_FLG(0x0556, 0x0014, /* Phoenix Audio TMX320VC */
2199 DEVICE_FLG(0x05a3, 0x9420, /* ELP HD USB Camera */
2201 DEVICE_FLG(0x05a7, 0x1020, /* Bose Companion 5 */
2203 DEVICE_FLG(0x05e1, 0x0408, /* Syntek STK1160 */
2205 DEVICE_FLG(0x05e1, 0x0480, /* Hauppauge Woodbury */
2207 DEVICE_FLG(0x0644, 0x8043, /* TEAC UD-501/UD-501V2/UD-503/NT-503 */
2210 DEVICE_FLG(0x0644, 0x8044, /* Esoteric D-05X */
2213 DEVICE_FLG(0x0644, 0x804a, /* TEAC UD-301 */
2216 DEVICE_FLG(0x0644, 0x805f, /* TEAC Model 12 */
2218 DEVICE_FLG(0x0644, 0x806b, /* TEAC UD-701 */
2221 DEVICE_FLG(0x06f8, 0xb000, /* Hercules DJ Console (Windows Edition) */
2223 DEVICE_FLG(0x06f8, 0xd002, /* Hercules DJ Console (Macintosh Edition) */
2225 DEVICE_FLG(0x0711, 0x5800, /* MCT Trigger 5 USB-to-HDMI */
2227 DEVICE_FLG(0x074d, 0x3553, /* Outlaw RR2150 (Micronas UAC3553B) */
2229 DEVICE_FLG(0x0763, 0x2030, /* M-Audio Fast Track C400 */
2231 DEVICE_FLG(0x0763, 0x2031, /* M-Audio Fast Track C600 */
2233 DEVICE_FLG(0x07fd, 0x000b, /* MOTU M Series 2nd hardware revision */
2235 DEVICE_FLG(0x08bb, 0x2702, /* LineX FM Transmitter */
2237 DEVICE_FLG(0x0951, 0x16ad, /* Kingston HyperX */
2239 DEVICE_FLG(0x0b0e, 0x0349, /* Jabra 550a */
2241 DEVICE_FLG(0x0c45, 0x6340, /* Sonix HD USB Camera */
2243 DEVICE_FLG(0x0d8c, 0x0014, /* USB Audio Device */
2245 DEVICE_FLG(0x0ecb, 0x205c, /* JBL Quantum610 Wireless */
2247 DEVICE_FLG(0x0ecb, 0x2069, /* JBL Quantum810 Wireless */
2249 DEVICE_FLG(0x0fd9, 0x0008, /* Hauppauge HVR-950Q */
2251 DEVICE_FLG(0x1224, 0x2a25, /* Jieli Technology USB PHY 2.0 */
2253 DEVICE_FLG(0x1395, 0x740a, /* Sennheiser DECT */
2255 DEVICE_FLG(0x1397, 0x0507, /* Behringer UMC202HD */
2257 DEVICE_FLG(0x1397, 0x0508, /* Behringer UMC204HD */
2259 DEVICE_FLG(0x1397, 0x0509, /* Behringer UMC404HD */
2261 DEVICE_FLG(0x13e5, 0x0001, /* Serato Phono */
2263 DEVICE_FLG(0x154e, 0x1002, /* Denon DCD-1500RE */
2265 DEVICE_FLG(0x154e, 0x1003, /* Denon DA-300USB */
2267 DEVICE_FLG(0x154e, 0x3005, /* Marantz HD-DAC1 */
2269 DEVICE_FLG(0x154e, 0x3006, /* Marantz SA-14S1 */
2271 DEVICE_FLG(0x154e, 0x300b, /* Marantz SA-KI RUBY / SA-12 */
2273 DEVICE_FLG(0x154e, 0x500e, /* Denon DN-X1600 */
2275 DEVICE_FLG(0x1686, 0x00dd, /* Zoom R16/24 */
2277 DEVICE_FLG(0x17aa, 0x1046, /* Lenovo ThinkStation P620 Rear Line-in, Line-out and Microphone */
2279 DEVICE_FLG(0x17aa, 0x104d, /* Lenovo ThinkStation P620 Internal Speaker + Front Headset */
2281 DEVICE_FLG(0x1852, 0x5062, /* Luxman D-08u */
2283 DEVICE_FLG(0x1852, 0x5065, /* Luxman DA-06 */
2285 DEVICE_FLG(0x1901, 0x0191, /* GE B850V3 CP2114 audio interface */
2287 DEVICE_FLG(0x19f7, 0x0035, /* RODE NT-USB+ */
2289 DEVICE_FLG(0x1bcf, 0x2281, /* HD Webcam */
2291 DEVICE_FLG(0x1bcf, 0x2283, /* NexiGo N930AF FHD Webcam */
2293 DEVICE_FLG(0x2040, 0x7200, /* Hauppauge HVR-950Q */
2295 DEVICE_FLG(0x2040, 0x7201, /* Hauppauge HVR-950Q-MXL */
2297 DEVICE_FLG(0x2040, 0x7210, /* Hauppauge HVR-950Q */
2299 DEVICE_FLG(0x2040, 0x7211, /* Hauppauge HVR-950Q-MXL */
2301 DEVICE_FLG(0x2040, 0x7213, /* Hauppauge HVR-950Q */
2303 DEVICE_FLG(0x2040, 0x7217, /* Hauppauge HVR-950Q */
2305 DEVICE_FLG(0x2040, 0x721b, /* Hauppauge HVR-950Q */
2307 DEVICE_FLG(0x2040, 0x721e, /* Hauppauge HVR-950Q */
2309 DEVICE_FLG(0x2040, 0x721f, /* Hauppauge HVR-950Q */
2311 DEVICE_FLG(0x2040, 0x7240, /* Hauppauge HVR-850 */
2313 DEVICE_FLG(0x2040, 0x7260, /* Hauppauge HVR-950Q */
2315 DEVICE_FLG(0x2040, 0x7270, /* Hauppauge HVR-950Q */
2317 DEVICE_FLG(0x2040, 0x7280, /* Hauppauge HVR-950Q */
2319 DEVICE_FLG(0x2040, 0x7281, /* Hauppauge HVR-950Q-MXL */
2321 DEVICE_FLG(0x2040, 0x8200, /* Hauppauge Woodbury */
2323 DEVICE_FLG(0x21b4, 0x0081, /* AudioQuest DragonFly */
2325 DEVICE_FLG(0x21b4, 0x0230, /* Ayre QB-9 Twenty */
2327 DEVICE_FLG(0x21b4, 0x0232, /* Ayre QX-5 Twenty */
2329 DEVICE_FLG(0x2522, 0x0007, /* LH Labs Geek Out HD Audio 1V5 */
2331 DEVICE_FLG(0x262a, 0x9302, /* ddHiFi TC44C */
2333 DEVICE_FLG(0x2708, 0x0002, /* Audient iD14 */
2335 DEVICE_FLG(0x2912, 0x30c8, /* Audioengine D1 */
2337 DEVICE_FLG(0x2b53, 0x0023, /* Fiero SC-01 (firmware v1.0.0 @ 48 kHz) */
2339 DEVICE_FLG(0x2b53, 0x0024, /* Fiero SC-01 (firmware v1.0.0 @ 96 kHz) */
2341 DEVICE_FLG(0x2b53, 0x0031, /* Fiero SC-01 (firmware v1.1.0) */
2343 DEVICE_FLG(0x2d95, 0x8011, /* VIVO USB-C HEADSET */
2345 DEVICE_FLG(0x2d95, 0x8021, /* VIVO USB-C-XE710 HEADSET */
2347 DEVICE_FLG(0x2fc6, 0xf0b7, /* iBasso DC07 Pro */
2349 DEVICE_FLG(0x30be, 0x0101, /* Schiit Hel */
2351 DEVICE_FLG(0x413c, 0xa506, /* Dell AE515 sound bar */
2353 DEVICE_FLG(0x534d, 0x0021, /* MacroSilicon MS2100/MS2106 */
2355 DEVICE_FLG(0x534d, 0x2109, /* MacroSilicon MS2109 */
2359 VENDOR_FLG(0x045e, /* MS Lifecam */
2361 VENDOR_FLG(0x046d, /* Logitech */
2363 VENDOR_FLG(0x047f, /* Plantronics */
2365 VENDOR_FLG(0x0644, /* TEAC Corp. */
2367 VENDOR_FLG(0x07fd, /* MOTU */
2369 VENDOR_FLG(0x1235, /* Focusrite Novation */
2371 VENDOR_FLG(0x1511, /* AURALiC */
2373 VENDOR_FLG(0x152a, /* Thesycon devices */
2375 VENDOR_FLG(0x18d1, /* iBasso devices */
2377 VENDOR_FLG(0x1de7, /* Phoenix Audio */
2379 VENDOR_FLG(0x20b1, /* XMOS based devices */
2381 VENDOR_FLG(0x21ed, /* Accuphase Laboratory */
2383 VENDOR_FLG(0x22d9, /* Oppo */
2385 VENDOR_FLG(0x23ba, /* Playback Design */
2388 VENDOR_FLG(0x25ce, /* Mytek devices */
2390 VENDOR_FLG(0x278b, /* Rotel? */
2392 VENDOR_FLG(0x292b, /* Gustard/Ess based devices */
2394 VENDOR_FLG(0x2972, /* FiiO devices */
2396 VENDOR_FLG(0x2ab6, /* T+A devices */
2398 VENDOR_FLG(0x2afd, /* McIntosh Laboratory, Inc. */
2400 VENDOR_FLG(0x2d87, /* Cayin device */
2402 VENDOR_FLG(0x3336, /* HEM devices */
2404 VENDOR_FLG(0x3353, /* Khadas devices */
2406 VENDOR_FLG(0x35f4, /* MSB Technology */
2408 VENDOR_FLG(0x3842, /* EVGA */
2410 VENDOR_FLG(0xc502, /* HiBy devices */
2425 "Set quirk_flags 0x%x for device %04x:%04x\n", in snd_usb_init_quirk_flags()