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()
564 err = snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev,0), in snd_usb_extigy_boot_quirk()
565 0x10, 0x43, 0x0001, 0x000a, NULL, 0); in snd_usb_extigy_boot_quirk()
566 if (err < 0) in snd_usb_extigy_boot_quirk()
568 err = usb_get_descriptor(dev, USB_DT_DEVICE, 0, in snd_usb_extigy_boot_quirk()
571 if (err < 0) in snd_usb_extigy_boot_quirk()
574 if (err < 0) in snd_usb_extigy_boot_quirk()
580 return 0; in snd_usb_extigy_boot_quirk()
587 snd_usb_ctl_msg(dev, usb_rcvctrlpipe(dev, 0), 0x2a, in snd_usb_audigy2nx_boot_quirk()
589 0, 0, &buf, 1); in snd_usb_audigy2nx_boot_quirk()
590 if (buf == 0) { in snd_usb_audigy2nx_boot_quirk()
591 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), 0x29, in snd_usb_audigy2nx_boot_quirk()
593 1, 2000, NULL, 0); in snd_usb_audigy2nx_boot_quirk()
596 return 0; in snd_usb_audigy2nx_boot_quirk()
612 if (err < 0) in snd_usb_fasttrackpro_boot_quirk()
623 return 0; in snd_usb_fasttrackpro_boot_quirk()
633 buf[0] = 0x20; in snd_usb_cm106_write_int_reg()
634 buf[1] = value & 0xff; in snd_usb_cm106_write_int_reg()
635 buf[2] = (value >> 8) & 0xff; in snd_usb_cm106_write_int_reg()
637 return snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), USB_REQ_SET_CONFIGURATION, in snd_usb_cm106_write_int_reg()
639 0, 0, &buf, 4); in snd_usb_cm106_write_int_reg()
648 return snd_usb_cm106_write_int_reg(dev, 2, 0x8004); in snd_usb_cm106_boot_quirk()
658 #define CM6206_REG0_SPDIFO_CAT_CODE_GENERAL (0 << 4)
662 #define CM6206_REG0_SPDIFO_PRO_FORMAT BIT(0)
678 #define CM6206_REG1_SPDIFI_MIX BIT(0)
681 #define CM6206_REG2_HEADP_SEL_SIDE_CHANNELS (0 << 13)
696 #define CM6206_REG2_MCUCLKSEL_1_5_MHZ (0)
705 #define CM6206_REG3_SPDIFI_RATE_44_1K BIT(0 << 7)
714 #define CM6206_REG3_SPDIFI_CANREC BIT(0)
719 #define CM6206_REG5_SPDIFO_SEL_FRONT (0 << 9)
729 #define CM6206_REG5_T_SEL_DSDAD_NORMAL 0
737 int err = 0, reg; in snd_usb_cm6206_boot_quirk()
775 0x0000, in snd_usb_cm6206_boot_quirk()
780 for (reg = 0; reg < ARRAY_SIZE(val); reg++) { in snd_usb_cm6206_boot_quirk()
782 if (err < 0) in snd_usb_cm6206_boot_quirk()
795 u8 buf[2] = { 0x74, 0xe3 }; in snd_usb_gamecon780_boot_quirk()
796 return snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), UAC_SET_CUR, in snd_usb_gamecon780_boot_quirk()
809 usb_set_interface(dev, 0, 1); in snd_usb_novation_boot_quirk()
810 return 0; in snd_usb_novation_boot_quirk()
816 * acknowledge by sending a sysex on endpoint 0x85 and by displaying a USB
824 static const u8 seq[] = { 0x4e, 0x73, 0x52, 0x01 }; in snd_usb_accessmusic_boot_quirk()
827 if (usb_pipe_type_check(dev, usb_sndintpipe(dev, 0x05))) in snd_usb_accessmusic_boot_quirk()
832 err = usb_interrupt_msg(dev, usb_sndintpipe(dev, 0x05), buf, in snd_usb_accessmusic_boot_quirk()
835 if (err < 0) in snd_usb_accessmusic_boot_quirk()
838 return 0; in snd_usb_accessmusic_boot_quirk()
856 ret = usb_control_msg(dev, usb_sndctrlpipe(dev, 0), in snd_usb_nativeinstruments_boot_quirk()
857 0xaf, USB_TYPE_VENDOR | USB_RECIP_DEVICE, in snd_usb_nativeinstruments_boot_quirk()
858 1, 0, NULL, 0, 1000); in snd_usb_nativeinstruments_boot_quirk()
860 if (ret < 0) in snd_usb_nativeinstruments_boot_quirk()
877 srate[0] = 0x80; in mbox2_setup_48_24_magic()
878 srate[1] = 0xbb; in mbox2_setup_48_24_magic()
879 srate[2] = 0x00; in mbox2_setup_48_24_magic()
882 snd_usb_ctl_msg(dev, usb_rcvctrlpipe(dev, 0), in mbox2_setup_48_24_magic()
883 0x01, 0x22, 0x0100, 0x0085, &temp, 0x0003); in mbox2_setup_48_24_magic()
884 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox2_setup_48_24_magic()
885 0x81, 0xa2, 0x0100, 0x0085, &srate, 0x0003); in mbox2_setup_48_24_magic()
886 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox2_setup_48_24_magic()
887 0x81, 0xa2, 0x0100, 0x0086, &srate, 0x0003); in mbox2_setup_48_24_magic()
888 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox2_setup_48_24_magic()
889 0x81, 0xa2, 0x0100, 0x0003, &srate, 0x0003); in mbox2_setup_48_24_magic()
898 #define MBOX2_BOOT_LOADING 0x01 /* Hard coded into the device */
899 #define MBOX2_BOOT_READY 0x02 /* Hard coded into the device */
905 u8 bootresponse[0x12]; in snd_usb_mbox2_boot_quirk()
918 count = 0; in snd_usb_mbox2_boot_quirk()
919 bootresponse[0] = MBOX2_BOOT_LOADING; in snd_usb_mbox2_boot_quirk()
920 while ((bootresponse[0] == MBOX2_BOOT_LOADING) && (count < 10)) { in snd_usb_mbox2_boot_quirk()
922 snd_usb_ctl_msg(dev, usb_rcvctrlpipe(dev, 0), in snd_usb_mbox2_boot_quirk()
924 0x85, 0xc0, 0x0001, 0x0000, &bootresponse, 0x0012); in snd_usb_mbox2_boot_quirk()
925 if (bootresponse[0] == MBOX2_BOOT_READY) in snd_usb_mbox2_boot_quirk()
931 if (bootresponse[0] != MBOX2_BOOT_READY) { in snd_usb_mbox2_boot_quirk()
932 dev_err(&dev->dev, "Unknown bootresponse=%d, or timed out, ignoring device.\n", bootresponse[0]); in snd_usb_mbox2_boot_quirk()
938 err = usb_get_descriptor(dev, USB_DT_DEVICE, 0, in snd_usb_mbox2_boot_quirk()
941 if (err < 0) in snd_usb_mbox2_boot_quirk()
945 if (err < 0) in snd_usb_mbox2_boot_quirk()
954 return 0; /* Successful boot */ in snd_usb_mbox2_boot_quirk()
968 err = usb_control_msg(dev, usb_sndctrlpipe(dev, 0), in snd_usb_axefx3_boot_quirk()
970 1, 1, NULL, 0, 120000); in snd_usb_axefx3_boot_quirk()
971 if (err < 0) { in snd_usb_axefx3_boot_quirk()
979 err = usb_set_interface(dev, 1, 0); in snd_usb_axefx3_boot_quirk()
980 if (err < 0) in snd_usb_axefx3_boot_quirk()
984 return 0; in snd_usb_axefx3_boot_quirk()
990 /* max volume is: 0x0000. */ in mbox3_setup_defaults()
991 /* min volume is: 0x0080 (shown in little endian form) */ in mbox3_setup_defaults()
996 /* on = 0x01*/ in mbox3_setup_defaults()
997 /* off = 0x00*/ in mbox3_setup_defaults()
998 com_buff[0] = 0x00; in mbox3_setup_defaults()
999 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1000 0x01, 0x21, 0x0003, 0x2001, &com_buff, 1); in mbox3_setup_defaults()
1003 /* Internal = 0x01*/ in mbox3_setup_defaults()
1004 /* S/PDIF = 0x02*/ in mbox3_setup_defaults()
1005 com_buff[0] = 0x01; in mbox3_setup_defaults()
1006 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1007 1, 0x21, 0x0100, 0x8001, &com_buff, 1); in mbox3_setup_defaults()
1010 com_buff[0] = 0x00; in mbox3_setup_defaults()
1011 com_buff[1] = 0x80; in mbox3_setup_defaults()
1013 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1014 1, 0x21, 0x0110, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1016 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1017 1, 0x21, 0x0111, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1019 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1020 1, 0x21, 0x0114, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1022 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1023 1, 0x21, 0x0115, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1025 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1026 1, 0x21, 0x0118, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1028 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1029 1, 0x21, 0x0119, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1031 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1032 1, 0x21, 0x011c, 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, 0x011d, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1038 com_buff[0] = 0x00; in mbox3_setup_defaults()
1039 com_buff[1] = 0x00; in mbox3_setup_defaults()
1041 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1042 1, 0x21, 0x0100, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1043 com_buff[0] = 0x00; in mbox3_setup_defaults()
1044 com_buff[1] = 0x80; in mbox3_setup_defaults()
1046 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1047 1, 0x21, 0x0101, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1048 com_buff[0] = 0x00; in mbox3_setup_defaults()
1049 com_buff[1] = 0x80; in mbox3_setup_defaults()
1051 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1052 1, 0x21, 0x0104, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1053 com_buff[0] = 0x00; in mbox3_setup_defaults()
1054 com_buff[1] = 0x00; in mbox3_setup_defaults()
1056 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1057 1, 0x21, 0x0105, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1059 com_buff[0] = 0x00; in mbox3_setup_defaults()
1060 com_buff[1] = 0x80; in mbox3_setup_defaults()
1062 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1063 1, 0x21, 0x0108, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1065 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1066 1, 0x21, 0x0109, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1068 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1069 1, 0x21, 0x010c, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1071 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1072 1, 0x21, 0x010d, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1075 com_buff[0] = 0x00; in mbox3_setup_defaults()
1076 com_buff[1] = 0x80; in mbox3_setup_defaults()
1078 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1079 1, 0x21, 0x0120, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1081 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1082 1, 0x21, 0x0121, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1085 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1086 1, 0x21, 0x0100, 0x4201, &com_buff, 2); in mbox3_setup_defaults()
1088 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1089 1, 0x21, 0x0101, 0x4201, &com_buff, 2); in mbox3_setup_defaults()
1091 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1092 1, 0x21, 0x0102, 0x4201, &com_buff, 2); in mbox3_setup_defaults()
1094 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1095 1, 0x21, 0x0103, 0x4201, &com_buff, 2); in mbox3_setup_defaults()
1097 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1098 1, 0x21, 0x0104, 0x4201, &com_buff, 2); in mbox3_setup_defaults()
1100 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1101 1, 0x21, 0x0105, 0x4201, &com_buff, 2); in mbox3_setup_defaults()
1103 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1104 1, 0x21, 0x0106, 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, 0x0107, 0x4201, &com_buff, 2); in mbox3_setup_defaults()
1111 com_buff[0] = 0x02; in mbox3_setup_defaults()
1112 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1113 3, 0x21, 0x0000, 0x2001, &com_buff, 1); in mbox3_setup_defaults()
1117 com_buff[0] = 0x00; in mbox3_setup_defaults()
1118 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1119 3, 0x21, 0x0002, 0x2001, &com_buff, 1); in mbox3_setup_defaults()
1122 com_buff[0] = 0x00; in mbox3_setup_defaults()
1123 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1124 3, 0x21, 0x0001, 0x2001, &com_buff, 1); in mbox3_setup_defaults()
1129 com_buff[0] = 0x00; in mbox3_setup_defaults()
1130 com_buff[1] = 0x80; in mbox3_setup_defaults()
1132 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1133 1, 0x21, 0x0112, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1135 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1136 1, 0x21, 0x0113, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1138 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1139 1, 0x21, 0x0116, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1141 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1142 1, 0x21, 0x0117, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1144 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1145 1, 0x21, 0x011a, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1147 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1148 1, 0x21, 0x011b, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1150 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1151 1, 0x21, 0x011e, 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, 0x011f, 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, 0x0102, 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, 0x0103, 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, 0x0106, 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, 0x0107, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1168 com_buff[0] = 0x00; in mbox3_setup_defaults()
1169 com_buff[1] = 0x00; in mbox3_setup_defaults()
1171 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1172 1, 0x21, 0x010a, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1174 com_buff[0] = 0x00; in mbox3_setup_defaults()
1175 com_buff[1] = 0x80; in mbox3_setup_defaults()
1177 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1178 1, 0x21, 0x010b, 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, 0x010e, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1183 com_buff[0] = 0x00; in mbox3_setup_defaults()
1184 com_buff[1] = 0x00; in mbox3_setup_defaults()
1186 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1187 1, 0x21, 0x010f, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1189 com_buff[0] = 0x00; in mbox3_setup_defaults()
1190 com_buff[1] = 0x80; in mbox3_setup_defaults()
1192 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1193 1, 0x21, 0x0122, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1195 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1196 1, 0x21, 0x0123, 0x4001, &com_buff, 2); in mbox3_setup_defaults()
1199 /* Room1 = 0x00 */ in mbox3_setup_defaults()
1200 /* Room2 = 0x01 */ in mbox3_setup_defaults()
1201 /* Room3 = 0x02 */ in mbox3_setup_defaults()
1202 /* Hall 1 = 0x03 */ in mbox3_setup_defaults()
1203 /* Hall 2 = 0x04 */ in mbox3_setup_defaults()
1204 /* Plate = 0x05 */ in mbox3_setup_defaults()
1205 /* Delay = 0x06 */ in mbox3_setup_defaults()
1206 /* Echo = 0x07 */ in mbox3_setup_defaults()
1207 com_buff[0] = 0x00; in mbox3_setup_defaults()
1208 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1209 1, 0x21, 0x0200, 0x4301, &com_buff, 1); /* max is 0xff */ in mbox3_setup_defaults()
1210 /* min is 0x00 */ in mbox3_setup_defaults()
1213 /* Set the effect duration to 0 */ in mbox3_setup_defaults()
1214 /* max is 0xffff */ in mbox3_setup_defaults()
1215 /* min is 0x0000 */ in mbox3_setup_defaults()
1216 com_buff[0] = 0x00; in mbox3_setup_defaults()
1217 com_buff[1] = 0x00; in mbox3_setup_defaults()
1218 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1219 1, 0x21, 0x0400, 0x4301, &com_buff, 2); in mbox3_setup_defaults()
1221 /* Set the effect volume and feedback to 0 */ in mbox3_setup_defaults()
1222 /* max is 0xff */ in mbox3_setup_defaults()
1223 /* min is 0x00 */ in mbox3_setup_defaults()
1224 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, 0x0500, 0x4301, &com_buff, 1); in mbox3_setup_defaults()
1229 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1230 1, 0x21, 0x0300, 0x4301, &com_buff, 1); in mbox3_setup_defaults()
1233 /* 0x03 = 250ms */ in mbox3_setup_defaults()
1234 /* 0x05 = 500ms DEFAULT */ in mbox3_setup_defaults()
1235 /* 0x08 = 750ms */ in mbox3_setup_defaults()
1236 /* 0x0a = 1sec */ in mbox3_setup_defaults()
1237 com_buff[0] = 0x05; in mbox3_setup_defaults()
1238 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1239 3, 0x21, 0x0005, 0x2001, &com_buff, 1); in mbox3_setup_defaults()
1242 com_buff[0] = 0x00; in mbox3_setup_defaults()
1243 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in mbox3_setup_defaults()
1244 3, 0x21, 0x0004, 0x2001, &com_buff, 1); in mbox3_setup_defaults()
1264 err = usb_get_descriptor(dev, USB_DT_DEVICE, 0, in snd_usb_mbox3_boot_quirk()
1267 if (err < 0) in snd_usb_mbox3_boot_quirk()
1271 if (err < 0) in snd_usb_mbox3_boot_quirk()
1280 return 0; /* Successful boot */ in snd_usb_mbox3_boot_quirk()
1290 if (usb_pipe_type_check(dev, usb_sndintpipe(dev, 0x01))) in snd_usb_motu_microbookii_communicate()
1292 err = usb_interrupt_msg(dev, usb_sndintpipe(dev, 0x01), buf, *length, in snd_usb_motu_microbookii_communicate()
1294 if (err < 0) in snd_usb_motu_microbookii_communicate()
1300 memset(buf, 0, buf_size); in snd_usb_motu_microbookii_communicate()
1302 if (usb_pipe_type_check(dev, usb_rcvintpipe(dev, 0x82))) in snd_usb_motu_microbookii_communicate()
1304 err = usb_interrupt_msg(dev, usb_rcvintpipe(dev, 0x82), buf, buf_size, in snd_usb_motu_microbookii_communicate()
1306 if (err < 0) in snd_usb_motu_microbookii_communicate()
1313 return 0; in snd_usb_motu_microbookii_communicate()
1318 int err, actual_length, poll_attempts = 0; in snd_usb_motu_microbookii_boot_quirk()
1319 static const u8 set_samplerate_seq[] = { 0x00, 0x00, 0x00, 0x00, in snd_usb_motu_microbookii_boot_quirk()
1320 0x00, 0x00, 0x0b, 0x14, in snd_usb_motu_microbookii_boot_quirk()
1321 0x00, 0x00, 0x00, 0x01 }; in snd_usb_motu_microbookii_boot_quirk()
1322 static const u8 poll_ready_seq[] = { 0x00, 0x04, 0x00, 0x00, in snd_usb_motu_microbookii_boot_quirk()
1323 0x00, 0x00, 0x0b, 0x18 }; in snd_usb_motu_microbookii_boot_quirk()
1337 if (err < 0) { in snd_usb_motu_microbookii_boot_quirk()
1353 memset(buf, 0, MICROBOOK_BUF_SIZE); in snd_usb_motu_microbookii_boot_quirk()
1359 if (err < 0) { in snd_usb_motu_microbookii_boot_quirk()
1368 * XX 06 00 00 00 00 0b 18 00 00 00 01 in snd_usb_motu_microbookii_boot_quirk()
1389 return 0; in snd_usb_motu_m_series_boot_quirk()
1395 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in snd_usb_rme_digiface_boot_quirk()
1396 16, 0x40, 0x2410, 0x7fff, NULL, 0); in snd_usb_rme_digiface_boot_quirk()
1397 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in snd_usb_rme_digiface_boot_quirk()
1398 18, 0x40, 0x0104, 0xffff, NULL, 0); in snd_usb_rme_digiface_boot_quirk()
1401 for (int ch = 0; ch < 32; ch++) in snd_usb_rme_digiface_boot_quirk()
1402 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in snd_usb_rme_digiface_boot_quirk()
1403 22, 0x40, 0x400, ch, NULL, 0); in snd_usb_rme_digiface_boot_quirk()
1406 for (int ch = 0; ch < 34; ch++) in snd_usb_rme_digiface_boot_quirk()
1407 snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), in snd_usb_rme_digiface_boot_quirk()
1408 21, 0x40, 0x9000, 0x100 + ch, NULL, 0); in snd_usb_rme_digiface_boot_quirk()
1410 return 0; in snd_usb_rme_digiface_boot_quirk()
1416 #define MAUDIO_SET 0x01 /* parse device_setup */
1417 #define MAUDIO_SET_COMPATIBLE 0x80 /* use only "win-compatible" interfaces */
1418 #define MAUDIO_SET_DTS 0x02 /* enable DTS Digital Output */
1419 #define MAUDIO_SET_96K 0x04 /* 48-96kHz rate if set, 8-48kHz otherwise */
1420 #define MAUDIO_SET_24B 0x08 /* 24bits sample if set, 16bits otherwise */
1421 #define MAUDIO_SET_DI 0x10 /* enable Digital Input */
1422 #define MAUDIO_SET_MASK 0x1f /* bit mask for setup value */
1423 #define MAUDIO_SET_24B_48K_DI 0x19 /* 24bits+48kHz+Digital Input */
1424 #define MAUDIO_SET_24B_48K_NOTDI 0x09 /* 24bits+48kHz+No Digital Input */
1425 #define MAUDIO_SET_16B_48K_DI 0x11 /* 16bits+48kHz+Digital Input */
1426 #define MAUDIO_SET_16B_48K_NOTDI 0x01 /* 16bits+48kHz+No Digital Input */
1431 /* Reset ALL ifaces to 0 altsetting. in quattro_skip_setting_quirk()
1434 usb_set_interface(chip->dev, iface, 0); in quattro_skip_setting_quirk()
1457 return 0; /* keep this altsetting */ in quattro_skip_setting_quirk()
1464 /* Reset ALL ifaces to 0 altsetting. in audiophile_skip_setting_quirk()
1467 usb_set_interface(chip->dev, iface, 0); in audiophile_skip_setting_quirk()
1486 return 0; /* keep this altsetting */ in audiophile_skip_setting_quirk()
1492 /* Reset ALL ifaces to 0 altsetting. in fasttrackpro_skip_setting_quirk()
1495 usb_set_interface(chip->dev, iface, 0); in fasttrackpro_skip_setting_quirk()
1524 return 0; /* keep this altsetting */ in fasttrackpro_skip_setting_quirk()
1549 if ((chip->setup == 0 || chip->setup > 2) && altno != 2) in s1810c_skip_setting_quirk()
1556 return 0; in s1810c_skip_setting_quirk()
1564 if (chip->usb_id == USB_ID(0x0763, 0x2003)) in snd_usb_apply_interface_quirk()
1567 if (chip->usb_id == USB_ID(0x0763, 0x2001)) in snd_usb_apply_interface_quirk()
1570 if (chip->usb_id == USB_ID(0x0763, 0x2012)) in snd_usb_apply_interface_quirk()
1573 if (chip->usb_id == USB_ID(0x194f, 0x010c)) in snd_usb_apply_interface_quirk()
1577 return 0; in snd_usb_apply_interface_quirk()
1586 case USB_ID(0x041e, 0x3000): in snd_usb_apply_boot_quirk()
1591 case USB_ID(0x041e, 0x3020): in snd_usb_apply_boot_quirk()
1595 case USB_ID(0x10f5, 0x0200): in snd_usb_apply_boot_quirk()
1599 case USB_ID(0x0d8c, 0x0102): in snd_usb_apply_boot_quirk()
1601 case USB_ID(0x0ccd, 0x00b1): /* Terratec Aureon 7.1 USB */ in snd_usb_apply_boot_quirk()
1604 case USB_ID(0x0dba, 0x3000): in snd_usb_apply_boot_quirk()
1607 case USB_ID(0x0dba, 0x5000): in snd_usb_apply_boot_quirk()
1612 case USB_ID(0x1235, 0x0010): /* Focusrite Novation Saffire 6 USB */ in snd_usb_apply_boot_quirk()
1613 case USB_ID(0x1235, 0x0018): /* Focusrite Novation Twitch */ in snd_usb_apply_boot_quirk()
1616 case USB_ID(0x133e, 0x0815): in snd_usb_apply_boot_quirk()
1620 case USB_ID(0x17cc, 0x1000): /* Komplete Audio 6 */ in snd_usb_apply_boot_quirk()
1621 case USB_ID(0x17cc, 0x1010): /* Traktor Audio 6 */ in snd_usb_apply_boot_quirk()
1622 case USB_ID(0x17cc, 0x1020): /* Traktor Audio 10 */ in snd_usb_apply_boot_quirk()
1624 case USB_ID(0x0763, 0x2012): /* M-Audio Fast Track Pro USB */ in snd_usb_apply_boot_quirk()
1626 case USB_ID(0x047f, 0xc010): /* Plantronics Gamecom 780 */ in snd_usb_apply_boot_quirk()
1628 case USB_ID(0x2466, 0x8010): /* Fractal Audio Axe-Fx 3 */ in snd_usb_apply_boot_quirk()
1630 case USB_ID(0x07fd, 0x0004): /* MOTU MicroBook II */ in snd_usb_apply_boot_quirk()
1640 case USB_ID(0x2a39, 0x3f8c): /* RME Digiface USB */ in snd_usb_apply_boot_quirk()
1644 return 0; in snd_usb_apply_boot_quirk()
1653 case USB_ID(0x07fd, 0x0008): /* MOTU M Series, 1st hardware version */ in snd_usb_apply_boot_quirk_once()
1657 return 0; in snd_usb_apply_boot_quirk_once()
1668 case USB_ID(0x0763, 0x2001): /* M-Audio Quattro: captured data only */ in snd_usb_is_big_endian_format()
1673 case USB_ID(0x0763, 0x2003): /* M-Audio Audiophile USB */ in snd_usb_is_big_endian_format()
1674 if (chip->setup == 0x00 || in snd_usb_is_big_endian_format()
1679 case USB_ID(0x0763, 0x2012): /* M-Audio Fast Track Pro */ in snd_usb_is_big_endian_format()
1685 return 0; in snd_usb_is_big_endian_format()
1694 EMU_QUIRK_SR_44100HZ = 0,
1705 unsigned char emu_samplerate_id = 0; in set_format_emu_quirk()
1737 subs->pkt_offset_adj = (emu_samplerate_id >= EMU_QUIRK_SR_176400HZ) ? 4 : 0; in set_format_emu_quirk()
1746 sr[0] = cur_rate & 0xff; in pioneer_djm_set_format_quirk()
1747 sr[1] = (cur_rate >> 8) & 0xff; in pioneer_djm_set_format_quirk()
1748 sr[2] = (cur_rate >> 16) & 0xff; in pioneer_djm_set_format_quirk()
1749 usb_set_interface(subs->dev, 0, 1); in pioneer_djm_set_format_quirk()
1752 usb_sndctrlpipe(subs->stream->chip->dev, 0), in pioneer_djm_set_format_quirk()
1753 0x01, 0x22, 0x0100, windex, &sr, 0x0003); in pioneer_djm_set_format_quirk()
1754 return 0; in pioneer_djm_set_format_quirk()
1760 __le32 buff4 = 0; in mbox3_set_format_quirk()
1761 u8 buff1 = 0x01; in mbox3_set_format_quirk()
1766 snd_usb_ctl_msg(subs->dev, usb_rcvctrlpipe(subs->dev, 0), in mbox3_set_format_quirk()
1767 0x01, 0x21 | USB_DIR_IN, 0x0100, 0x8101, &buff4, 4); in mbox3_set_format_quirk()
1782 snd_usb_ctl_msg(subs->dev, usb_sndctrlpipe(subs->dev, 0), in mbox3_set_format_quirk()
1783 0x01, 0x21, 0x0100, 0x8101, &buff4, 4); in mbox3_set_format_quirk()
1786 snd_usb_ctl_msg(subs->dev, usb_sndctrlpipe(subs->dev, 0), in mbox3_set_format_quirk()
1787 0x01, 0x21, 0x0100, 0x8001, &buff1, 1); in mbox3_set_format_quirk()
1790 buff4 = 0; in mbox3_set_format_quirk()
1791 snd_usb_ctl_msg(subs->dev, usb_rcvctrlpipe(subs->dev, 0), in mbox3_set_format_quirk()
1792 0x01, 0x21 | USB_DIR_IN, 0x0100, 0x8101, &buff4, 4); in mbox3_set_format_quirk()
1798 32000, 44100, 48000, 0,
1799 64000, 88200, 96000, 0,
1800 128000, 176400, 192000, 0,
1810 for (id = 0; id < ARRAY_SIZE(rme_digiface_rate_table); id++) { in rme_digiface_set_format_quirk()
1824 usb_sndctrlpipe(subs->stream->chip->dev, 0), in rme_digiface_set_format_quirk()
1825 16, 0x40, val, 0x7078, NULL, 0); in rme_digiface_set_format_quirk()
1826 return 0; in rme_digiface_set_format_quirk()
1833 case USB_ID(0x041e, 0x3f02): /* E-Mu 0202 USB */ in snd_usb_set_format_quirk()
1834 case USB_ID(0x041e, 0x3f04): /* E-Mu 0404 USB */ in snd_usb_set_format_quirk()
1835 case USB_ID(0x041e, 0x3f0a): /* E-Mu Tracker Pre */ in snd_usb_set_format_quirk()
1836 case USB_ID(0x041e, 0x3f19): /* E-Mu 0204 USB */ in snd_usb_set_format_quirk()
1839 case USB_ID(0x534d, 0x0021): /* MacroSilicon MS2100/MS2106 */ in snd_usb_set_format_quirk()
1840 case USB_ID(0x534d, 0x2109): /* MacroSilicon MS2109 */ in snd_usb_set_format_quirk()
1843 case USB_ID(0x2b73, 0x0013): /* Pioneer DJM-450 */ in snd_usb_set_format_quirk()
1844 pioneer_djm_set_format_quirk(subs, 0x0082); in snd_usb_set_format_quirk()
1846 case USB_ID(0x08e4, 0x017f): /* Pioneer DJM-750 */ in snd_usb_set_format_quirk()
1847 case USB_ID(0x08e4, 0x0163): /* Pioneer DJM-850 */ in snd_usb_set_format_quirk()
1848 pioneer_djm_set_format_quirk(subs, 0x0086); in snd_usb_set_format_quirk()
1850 case USB_ID(0x0dba, 0x5000): in snd_usb_set_format_quirk()
1853 case USB_ID(0x2a39, 0x3f8c): /* RME Digiface USB */ in snd_usb_set_format_quirk()
1866 /* First switch to alt set 0, otherwise the mode switch cmd in snd_usb_select_mode_quirk()
1869 err = usb_set_interface(dev, fmt->iface, 0); in snd_usb_select_mode_quirk()
1870 if (err < 0) in snd_usb_select_mode_quirk()
1878 err = snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), 0, in snd_usb_select_mode_quirk()
1880 1, 1, NULL, 0); in snd_usb_select_mode_quirk()
1881 if (err < 0) in snd_usb_select_mode_quirk()
1887 err = snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), 0, in snd_usb_select_mode_quirk()
1889 0, 1, NULL, 0); in snd_usb_select_mode_quirk()
1890 if (err < 0) in snd_usb_select_mode_quirk()
1896 return 0; in snd_usb_select_mode_quirk()
1905 if (USB_ID_VENDOR(ep->chip->usb_id) == 0x23ba && in snd_usb_endpoint_start_quirk()
1916 if ((ep->chip->usb_id == USB_ID(0x0763, 0x2030) || in snd_usb_endpoint_start_quirk()
1917 ep->chip->usb_id == USB_ID(0x0763, 0x2031)) && in snd_usb_endpoint_start_quirk()
1922 if ((ep->chip->usb_id == USB_ID(0x0644, 0x8038) || /* TEAC UD-H01 */ in snd_usb_endpoint_start_quirk()
1923 ep->chip->usb_id == USB_ID(0x1852, 0x5034)) && /* T+A Dac8 */ in snd_usb_endpoint_start_quirk()
1960 if (USB_ID_VENDOR(chip->usb_id) == 0x23ba && in snd_usb_interface_dsd_format_quirks()
1961 USB_ID_PRODUCT(chip->usb_id) < 0x0110) { in snd_usb_interface_dsd_format_quirks()
1977 case USB_ID(0x139f, 0x5504): /* Nagra DAC */ in snd_usb_interface_dsd_format_quirks()
1978 case USB_ID(0x20b1, 0x3089): /* Mola-Mola DAC */ in snd_usb_interface_dsd_format_quirks()
1979 case USB_ID(0x2522, 0x0007): /* LH Labs Geek Out 1V5 */ in snd_usb_interface_dsd_format_quirks()
1980 case USB_ID(0x2522, 0x0009): /* LH Labs Geek Pulse X Inifinity 2V0 */ in snd_usb_interface_dsd_format_quirks()
1981 case USB_ID(0x2522, 0x0012): /* LH Labs VI DAC Infinity */ in snd_usb_interface_dsd_format_quirks()
1982 case USB_ID(0x2772, 0x0230): /* Pro-Ject Pre Box S2 Digital */ in snd_usb_interface_dsd_format_quirks()
1987 case USB_ID(0x0d8c, 0x0316): /* Hegel HD12 DSD */ in snd_usb_interface_dsd_format_quirks()
1988 case USB_ID(0x10cb, 0x0103): /* The Bit Opus #3; with fp->dsd_raw */ in snd_usb_interface_dsd_format_quirks()
1989 case USB_ID(0x16d0, 0x06b2): /* NuPrime DAC-10 */ in snd_usb_interface_dsd_format_quirks()
1990 case USB_ID(0x16d0, 0x06b4): /* NuPrime Audio HD-AVP/AVA */ in snd_usb_interface_dsd_format_quirks()
1991 case USB_ID(0x16d0, 0x0733): /* Furutech ADL Stratos */ in snd_usb_interface_dsd_format_quirks()
1992 case USB_ID(0x16d0, 0x09d8): /* NuPrime IDA-8 */ in snd_usb_interface_dsd_format_quirks()
1993 case USB_ID(0x16d0, 0x09db): /* NuPrime Audio DAC-9 */ in snd_usb_interface_dsd_format_quirks()
1994 case USB_ID(0x16d0, 0x09dd): /* Encore mDSD */ in snd_usb_interface_dsd_format_quirks()
1995 case USB_ID(0x1db5, 0x0003): /* Bryston BDA3 */ in snd_usb_interface_dsd_format_quirks()
1996 case USB_ID(0x20a0, 0x4143): /* WaveIO USB Audio 2.0 */ in snd_usb_interface_dsd_format_quirks()
1997 case USB_ID(0x22e1, 0xca01): /* HDTA Serenade DSD */ in snd_usb_interface_dsd_format_quirks()
1998 case USB_ID(0x249c, 0x9326): /* M2Tech Young MkIII */ in snd_usb_interface_dsd_format_quirks()
1999 case USB_ID(0x2616, 0x0106): /* PS Audio NuWave DAC */ in snd_usb_interface_dsd_format_quirks()
2000 case USB_ID(0x2622, 0x0041): /* Audiolab M-DAC+ */ in snd_usb_interface_dsd_format_quirks()
2001 case USB_ID(0x278b, 0x5100): /* Rotel RC-1590 */ in snd_usb_interface_dsd_format_quirks()
2002 case USB_ID(0x27f7, 0x3002): /* W4S DAC-2v2SE */ in snd_usb_interface_dsd_format_quirks()
2003 case USB_ID(0x29a2, 0x0086): /* Mutec MC3+ USB */ in snd_usb_interface_dsd_format_quirks()
2004 case USB_ID(0x6b42, 0x0042): /* MSB Technology */ in snd_usb_interface_dsd_format_quirks()
2010 case USB_ID(0x16d0, 0x071a): /* Amanero - Combo384 */ in snd_usb_interface_dsd_format_quirks()
2013 case 0x199: in snd_usb_interface_dsd_format_quirks()
2015 case 0x19b: in snd_usb_interface_dsd_format_quirks()
2016 case 0x203: in snd_usb_interface_dsd_format_quirks()
2023 case USB_ID(0x16d0, 0x0a23): in snd_usb_interface_dsd_format_quirks()
2037 * three (0-2), in snd_usb_interface_dsd_format_quirks()
2039 * four (0-3). in snd_usb_interface_dsd_format_quirks()
2049 return 0; in snd_usb_interface_dsd_format_quirks()
2057 case USB_ID(0x0a92, 0x0053): /* AudioTrak Optoplay */ in snd_usb_audioformat_attributes_quirk()
2063 case USB_ID(0x041e, 0x3020): /* Creative SB Audigy 2 NX */ in snd_usb_audioformat_attributes_quirk()
2064 case USB_ID(0x0763, 0x2003): /* M-Audio Audiophile USB */ in snd_usb_audioformat_attributes_quirk()
2068 case USB_ID(0x0763, 0x2001): /* M-Audio Quattro USB */ in snd_usb_audioformat_attributes_quirk()
2069 case USB_ID(0x0763, 0x2012): /* M-Audio Fast Track Pro USB */ in snd_usb_audioformat_attributes_quirk()
2070 case USB_ID(0x047f, 0x0ca1): /* plantronics headset */ in snd_usb_audioformat_attributes_quirk()
2071 case USB_ID(0x077d, 0x07af): /* Griffin iMic (note that there is in snd_usb_audioformat_attributes_quirk()
2083 case USB_ID(0x07fd, 0x0004): /* MOTU MicroBook IIc */ in snd_usb_audioformat_attributes_quirk()
2091 case USB_ID(0x1224, 0x2a25): /* Jieli Technology USB PHY 2.0 */ in snd_usb_audioformat_attributes_quirk()
2095 case USB_ID(0x3511, 0x2b1e): /* Opencomm2 UC USB Bluetooth dongle */ in snd_usb_audioformat_attributes_quirk()
2113 #define VENDOR_FLG(vid, _flags) DEVICE_FLG(vid, 0, _flags)
2117 DEVICE_FLG(0x03f0, 0x654a, /* HP 320 FHD Webcam */
2119 DEVICE_FLG(0x041e, 0x3000, /* Creative SB Extigy */
2121 DEVICE_FLG(0x041e, 0x4080, /* Creative Live Cam VF0610 */
2123 DEVICE_FLG(0x045e, 0x083c, /* MS USB Link headset */
2126 DEVICE_FLG(0x046d, 0x084c, /* Logitech ConferenceCam Connect */
2128 DEVICE_FLG(0x046d, 0x0991, /* Logitech QuickCam Pro */
2130 DEVICE_FLG(0x046d, 0x09a4, /* Logitech QuickCam E 3500 */
2132 DEVICE_FLG(0x0499, 0x1509, /* Steinberg UR22 */
2134 DEVICE_FLG(0x0499, 0x3108, /* Yamaha YIT-W12TX */
2136 DEVICE_FLG(0x04d8, 0xfeea, /* Benchmark DAC1 Pre */
2138 DEVICE_FLG(0x04e8, 0xa051, /* Samsung USBC Headset (AKG) */
2140 DEVICE_FLG(0x0525, 0xa4ad, /* Hamedal C20 usb camero */
2142 DEVICE_FLG(0x054c, 0x0b8c, /* Sony WALKMAN NW-A45 DAC */
2144 DEVICE_FLG(0x0556, 0x0014, /* Phoenix Audio TMX320VC */
2146 DEVICE_FLG(0x05a3, 0x9420, /* ELP HD USB Camera */
2148 DEVICE_FLG(0x05a7, 0x1020, /* Bose Companion 5 */
2150 DEVICE_FLG(0x05e1, 0x0408, /* Syntek STK1160 */
2152 DEVICE_FLG(0x05e1, 0x0480, /* Hauppauge Woodbury */
2154 DEVICE_FLG(0x0644, 0x8043, /* TEAC UD-501/UD-501V2/UD-503/NT-503 */
2157 DEVICE_FLG(0x0644, 0x8044, /* Esoteric D-05X */
2160 DEVICE_FLG(0x0644, 0x804a, /* TEAC UD-301 */
2163 DEVICE_FLG(0x0644, 0x805f, /* TEAC Model 12 */
2165 DEVICE_FLG(0x0644, 0x806b, /* TEAC UD-701 */
2168 DEVICE_FLG(0x06f8, 0xb000, /* Hercules DJ Console (Windows Edition) */
2170 DEVICE_FLG(0x06f8, 0xd002, /* Hercules DJ Console (Macintosh Edition) */
2172 DEVICE_FLG(0x0711, 0x5800, /* MCT Trigger 5 USB-to-HDMI */
2174 DEVICE_FLG(0x074d, 0x3553, /* Outlaw RR2150 (Micronas UAC3553B) */
2176 DEVICE_FLG(0x0763, 0x2030, /* M-Audio Fast Track C400 */
2178 DEVICE_FLG(0x0763, 0x2031, /* M-Audio Fast Track C600 */
2180 DEVICE_FLG(0x07fd, 0x000b, /* MOTU M Series 2nd hardware revision */
2182 DEVICE_FLG(0x08bb, 0x2702, /* LineX FM Transmitter */
2184 DEVICE_FLG(0x0951, 0x16ad, /* Kingston HyperX */
2186 DEVICE_FLG(0x0b0e, 0x0349, /* Jabra 550a */
2188 DEVICE_FLG(0x0c45, 0x6340, /* Sonix HD USB Camera */
2190 DEVICE_FLG(0x0ecb, 0x205c, /* JBL Quantum610 Wireless */
2192 DEVICE_FLG(0x0ecb, 0x2069, /* JBL Quantum810 Wireless */
2194 DEVICE_FLG(0x0fd9, 0x0008, /* Hauppauge HVR-950Q */
2196 DEVICE_FLG(0x1224, 0x2a25, /* Jieli Technology USB PHY 2.0 */
2198 DEVICE_FLG(0x1395, 0x740a, /* Sennheiser DECT */
2200 DEVICE_FLG(0x1397, 0x0507, /* Behringer UMC202HD */
2202 DEVICE_FLG(0x1397, 0x0508, /* Behringer UMC204HD */
2204 DEVICE_FLG(0x1397, 0x0509, /* Behringer UMC404HD */
2206 DEVICE_FLG(0x13e5, 0x0001, /* Serato Phono */
2208 DEVICE_FLG(0x154e, 0x1002, /* Denon DCD-1500RE */
2210 DEVICE_FLG(0x154e, 0x1003, /* Denon DA-300USB */
2212 DEVICE_FLG(0x154e, 0x3005, /* Marantz HD-DAC1 */
2214 DEVICE_FLG(0x154e, 0x3006, /* Marantz SA-14S1 */
2216 DEVICE_FLG(0x154e, 0x300b, /* Marantz SA-KI RUBY / SA-12 */
2218 DEVICE_FLG(0x154e, 0x500e, /* Denon DN-X1600 */
2220 DEVICE_FLG(0x1686, 0x00dd, /* Zoom R16/24 */
2222 DEVICE_FLG(0x17aa, 0x1046, /* Lenovo ThinkStation P620 Rear Line-in, Line-out and Microphone */
2224 DEVICE_FLG(0x17aa, 0x104d, /* Lenovo ThinkStation P620 Internal Speaker + Front Headset */
2226 DEVICE_FLG(0x1852, 0x5062, /* Luxman D-08u */
2228 DEVICE_FLG(0x1852, 0x5065, /* Luxman DA-06 */
2230 DEVICE_FLG(0x1901, 0x0191, /* GE B850V3 CP2114 audio interface */
2232 DEVICE_FLG(0x19f7, 0x0035, /* RODE NT-USB+ */
2234 DEVICE_FLG(0x1bcf, 0x2281, /* HD Webcam */
2236 DEVICE_FLG(0x1bcf, 0x2283, /* NexiGo N930AF FHD Webcam */
2238 DEVICE_FLG(0x2040, 0x7200, /* Hauppauge HVR-950Q */
2240 DEVICE_FLG(0x2040, 0x7201, /* Hauppauge HVR-950Q-MXL */
2242 DEVICE_FLG(0x2040, 0x7210, /* Hauppauge HVR-950Q */
2244 DEVICE_FLG(0x2040, 0x7211, /* Hauppauge HVR-950Q-MXL */
2246 DEVICE_FLG(0x2040, 0x7213, /* Hauppauge HVR-950Q */
2248 DEVICE_FLG(0x2040, 0x7217, /* Hauppauge HVR-950Q */
2250 DEVICE_FLG(0x2040, 0x721b, /* Hauppauge HVR-950Q */
2252 DEVICE_FLG(0x2040, 0x721e, /* Hauppauge HVR-950Q */
2254 DEVICE_FLG(0x2040, 0x721f, /* Hauppauge HVR-950Q */
2256 DEVICE_FLG(0x2040, 0x7240, /* Hauppauge HVR-850 */
2258 DEVICE_FLG(0x2040, 0x7260, /* Hauppauge HVR-950Q */
2260 DEVICE_FLG(0x2040, 0x7270, /* Hauppauge HVR-950Q */
2262 DEVICE_FLG(0x2040, 0x7280, /* Hauppauge HVR-950Q */
2264 DEVICE_FLG(0x2040, 0x7281, /* Hauppauge HVR-950Q-MXL */
2266 DEVICE_FLG(0x2040, 0x8200, /* Hauppauge Woodbury */
2268 DEVICE_FLG(0x21b4, 0x0081, /* AudioQuest DragonFly */
2270 DEVICE_FLG(0x21b4, 0x0230, /* Ayre QB-9 Twenty */
2272 DEVICE_FLG(0x21b4, 0x0232, /* Ayre QX-5 Twenty */
2274 DEVICE_FLG(0x2522, 0x0007, /* LH Labs Geek Out HD Audio 1V5 */
2276 DEVICE_FLG(0x2708, 0x0002, /* Audient iD14 */
2278 DEVICE_FLG(0x2912, 0x30c8, /* Audioengine D1 */
2280 DEVICE_FLG(0x2b53, 0x0023, /* Fiero SC-01 (firmware v1.0.0 @ 48 kHz) */
2282 DEVICE_FLG(0x2b53, 0x0024, /* Fiero SC-01 (firmware v1.0.0 @ 96 kHz) */
2284 DEVICE_FLG(0x2b53, 0x0031, /* Fiero SC-01 (firmware v1.1.0) */
2286 DEVICE_FLG(0x2d95, 0x8011, /* VIVO USB-C HEADSET */
2288 DEVICE_FLG(0x2d95, 0x8021, /* VIVO USB-C-XE710 HEADSET */
2290 DEVICE_FLG(0x30be, 0x0101, /* Schiit Hel */
2292 DEVICE_FLG(0x413c, 0xa506, /* Dell AE515 sound bar */
2294 DEVICE_FLG(0x534d, 0x0021, /* MacroSilicon MS2100/MS2106 */
2296 DEVICE_FLG(0x534d, 0x2109, /* MacroSilicon MS2109 */
2300 VENDOR_FLG(0x045e, /* MS Lifecam */
2302 VENDOR_FLG(0x046d, /* Logitech */
2304 VENDOR_FLG(0x047f, /* Plantronics */
2306 VENDOR_FLG(0x0644, /* TEAC Corp. */
2308 VENDOR_FLG(0x07fd, /* MOTU */
2310 VENDOR_FLG(0x1235, /* Focusrite Novation */
2312 VENDOR_FLG(0x1511, /* AURALiC */
2314 VENDOR_FLG(0x152a, /* Thesycon devices */
2316 VENDOR_FLG(0x18d1, /* iBasso devices */
2318 VENDOR_FLG(0x1de7, /* Phoenix Audio */
2320 VENDOR_FLG(0x20b1, /* XMOS based devices */
2322 VENDOR_FLG(0x21ed, /* Accuphase Laboratory */
2324 VENDOR_FLG(0x22d9, /* Oppo */
2326 VENDOR_FLG(0x23ba, /* Playback Design */
2329 VENDOR_FLG(0x25ce, /* Mytek devices */
2331 VENDOR_FLG(0x278b, /* Rotel? */
2333 VENDOR_FLG(0x292b, /* Gustard/Ess based devices */
2335 VENDOR_FLG(0x2972, /* FiiO devices */
2337 VENDOR_FLG(0x2ab6, /* T+A devices */
2339 VENDOR_FLG(0x2afd, /* McIntosh Laboratory, Inc. */
2341 VENDOR_FLG(0x2d87, /* Cayin device */
2343 VENDOR_FLG(0x3336, /* HEM devices */
2345 VENDOR_FLG(0x3353, /* Khadas devices */
2347 VENDOR_FLG(0x35f4, /* MSB Technology */
2349 VENDOR_FLG(0x3842, /* EVGA */
2351 VENDOR_FLG(0xc502, /* HiBy devices */
2366 "Set quirk_flags 0x%x for device %04x:%04x\n", in snd_usb_init_quirk_flags()