aboutsummaryrefslogtreecommitdiffstats
path: root/sound/usb
diff options
context:
space:
mode:
Diffstat (limited to 'sound/usb')
-rw-r--r--sound/usb/midi.c11
-rw-r--r--sound/usb/quirks.c16
2 files changed, 27 insertions, 0 deletions
diff --git a/sound/usb/midi.c b/sound/usb/midi.c
index 7b166c2be0f7..69e93a9d486a 100644
--- a/sound/usb/midi.c
+++ b/sound/usb/midi.c
@@ -1506,6 +1506,12 @@ static struct port_info {
1506 PORT_INFO(vendor, product, num, name, 0, \ 1506 PORT_INFO(vendor, product, num, name, 0, \
1507 SNDRV_SEQ_PORT_TYPE_MIDI_GENERIC | \ 1507 SNDRV_SEQ_PORT_TYPE_MIDI_GENERIC | \
1508 SNDRV_SEQ_PORT_TYPE_HARDWARE) 1508 SNDRV_SEQ_PORT_TYPE_HARDWARE)
1509#define GM_SYNTH_PORT(vendor, product, num, name, voices) \
1510 PORT_INFO(vendor, product, num, name, voices, \
1511 SNDRV_SEQ_PORT_TYPE_MIDI_GENERIC | \
1512 SNDRV_SEQ_PORT_TYPE_MIDI_GM | \
1513 SNDRV_SEQ_PORT_TYPE_HARDWARE | \
1514 SNDRV_SEQ_PORT_TYPE_SYNTHESIZER)
1509#define ROLAND_SYNTH_PORT(vendor, product, num, name, voices) \ 1515#define ROLAND_SYNTH_PORT(vendor, product, num, name, voices) \
1510 PORT_INFO(vendor, product, num, name, voices, \ 1516 PORT_INFO(vendor, product, num, name, voices, \
1511 SNDRV_SEQ_PORT_TYPE_MIDI_GENERIC | \ 1517 SNDRV_SEQ_PORT_TYPE_MIDI_GENERIC | \
@@ -1525,6 +1531,11 @@ static struct port_info {
1525 SNDRV_SEQ_PORT_TYPE_MIDI_MT32 | \ 1531 SNDRV_SEQ_PORT_TYPE_MIDI_MT32 | \
1526 SNDRV_SEQ_PORT_TYPE_HARDWARE | \ 1532 SNDRV_SEQ_PORT_TYPE_HARDWARE | \
1527 SNDRV_SEQ_PORT_TYPE_SYNTHESIZER) 1533 SNDRV_SEQ_PORT_TYPE_SYNTHESIZER)
1534 /* Yamaha MOTIF XF */
1535 GM_SYNTH_PORT(0x0499, 0x105c, 0, "%s Tone Generator", 128),
1536 CONTROL_PORT(0x0499, 0x105c, 1, "%s Remote Control"),
1537 EXTERNAL_PORT(0x0499, 0x105c, 2, "%s Thru"),
1538 CONTROL_PORT(0x0499, 0x105c, 3, "%s Editor"),
1528 /* Roland UA-100 */ 1539 /* Roland UA-100 */
1529 CONTROL_PORT(0x0582, 0x0000, 2, "%s Control"), 1540 CONTROL_PORT(0x0582, 0x0000, 2, "%s Control"),
1530 /* Roland SC-8850 */ 1541 /* Roland SC-8850 */
diff --git a/sound/usb/quirks.c b/sound/usb/quirks.c
index 19a921eb75f1..d2aa45a8d895 100644
--- a/sound/usb/quirks.c
+++ b/sound/usb/quirks.c
@@ -1174,5 +1174,21 @@ u64 snd_usb_interface_dsd_format_quirks(struct snd_usb_audio *chip,
1174 } 1174 }
1175 } 1175 }
1176 1176
1177 /* XMOS based USB DACs */
1178 switch (chip->usb_id) {
1179 /* iFi Audio micro/nano iDSD */
1180 case USB_ID(0x20b1, 0x3008):
1181 if (fp->altsetting == 2)
1182 return SNDRV_PCM_FMTBIT_DSD_U32_LE;
1183 break;
1184 /* DIYINHK DSD DXD 384kHz USB to I2S/DSD */
1185 case USB_ID(0x20b1, 0x2009):
1186 if (fp->altsetting == 3)
1187 return SNDRV_PCM_FMTBIT_DSD_U32_LE;
1188 break;
1189 default:
1190 break;
1191 }
1192
1177 return 0; 1193 return 0;
1178} 1194}