aboutsummaryrefslogtreecommitdiffstats
path: root/sound/usb
diff options
context:
space:
mode:
authorFelix Homann <fexpop@web.de>2010-03-25 06:29:14 -0400
committerTakashi Iwai <tiwai@suse.de>2010-03-25 07:26:44 -0400
commitfca5bca48759c21eddc0667a4582a227d7b0165a (patch)
tree1b290ac8ffad16568162deca405b9364be4b78fb /sound/usb
parent85ae01b2da0ed606a2e8d840aadef90fd30220a1 (diff)
ALSA: usbaudio: Add basic support for M-Audio Fast Track Ultra series
This adds basic support for M-Audio's Fast Track Ultra series of USB audio interfaces. It is a refactored version of the patch Clemens Ladisch posted some time ago. Neither playback nor capturing work properly at 44100 Hz (don't know why). The other sampling rates work properly. There's no support for the DSP mixer, yet. Signed-off-by: Felix Homann <fexpop@web.de> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/usb')
-rw-r--r--sound/usb/endpoint.c2
-rw-r--r--sound/usb/quirks-table.h54
-rw-r--r--sound/usb/urb.c5
3 files changed, 61 insertions, 0 deletions
diff --git a/sound/usb/endpoint.c b/sound/usb/endpoint.c
index b1309cdc1ac0..7b84b61a0784 100644
--- a/sound/usb/endpoint.c
+++ b/sound/usb/endpoint.c
@@ -317,6 +317,8 @@ int snd_usb_parse_audio_endpoints(struct snd_usb_audio *chip, int iface_no)
317 break; 317 break;
318 case USB_ID(0x041e, 0x3020): /* Creative SB Audigy 2 NX */ 318 case USB_ID(0x041e, 0x3020): /* Creative SB Audigy 2 NX */
319 case USB_ID(0x0763, 0x2003): /* M-Audio Audiophile USB */ 319 case USB_ID(0x0763, 0x2003): /* M-Audio Audiophile USB */
320 case USB_ID(0x0763, 0x2080): /* M-Audio Fast Track Ultra 8 */
321 case USB_ID(0x0763, 0x2081): /* M-Audio Fast Track Ultra 8R */
320 /* doesn't set the sample rate attribute, but supports it */ 322 /* doesn't set the sample rate attribute, but supports it */
321 fp->attributes |= UAC_EP_CS_ATTR_SAMPLE_RATE; 323 fp->attributes |= UAC_EP_CS_ATTR_SAMPLE_RATE;
322 break; 324 break;
diff --git a/sound/usb/quirks-table.h b/sound/usb/quirks-table.h
index 81c5f8a312ce..91ddef31bcbd 100644
--- a/sound/usb/quirks-table.h
+++ b/sound/usb/quirks-table.h
@@ -1826,6 +1826,60 @@ YAMAHA_DEVICE(0x7010, "UB99"),
1826 } 1826 }
1827 } 1827 }
1828}, 1828},
1829{
1830 USB_DEVICE(0x0763, 0x2080),
1831 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1832 /* .vendor_name = "M-Audio", */
1833 /* .product_name = "Fast Track Ultra 8", */
1834 .ifnum = QUIRK_ANY_INTERFACE,
1835 .type = QUIRK_COMPOSITE,
1836 .data = & (const struct snd_usb_audio_quirk[]) {
1837 {
1838 .ifnum = 0,
1839 .type = QUIRK_IGNORE_INTERFACE
1840 },
1841 {
1842 .ifnum = 1,
1843 .type = QUIRK_AUDIO_STANDARD_INTERFACE
1844 },
1845 {
1846 .ifnum = 2,
1847 .type = QUIRK_AUDIO_STANDARD_INTERFACE
1848 },
1849 /* interface 3 (MIDI) is standard compliant */
1850 {
1851 .ifnum = -1
1852 }
1853 }
1854 }
1855},
1856{
1857 USB_DEVICE(0x0763, 0x2081),
1858 .driver_info = (unsigned long) & (const struct snd_usb_audio_quirk) {
1859 /* .vendor_name = "M-Audio", */
1860 /* .product_name = "Fast Track Ultra 8R", */
1861 .ifnum = QUIRK_ANY_INTERFACE,
1862 .type = QUIRK_COMPOSITE,
1863 .data = & (const struct snd_usb_audio_quirk[]) {
1864 {
1865 .ifnum = 0,
1866 .type = QUIRK_IGNORE_INTERFACE
1867 },
1868 {
1869 .ifnum = 1,
1870 .type = QUIRK_AUDIO_STANDARD_INTERFACE
1871 },
1872 {
1873 .ifnum = 2,
1874 .type = QUIRK_AUDIO_STANDARD_INTERFACE
1875 },
1876 /* interface 3 (MIDI) is standard compliant */
1877 {
1878 .ifnum = -1
1879 }
1880 }
1881 }
1882},
1829 1883
1830/* Casio devices */ 1884/* Casio devices */
1831{ 1885{
diff --git a/sound/usb/urb.c b/sound/usb/urb.c
index ad50d4398921..e2b7c4784246 100644
--- a/sound/usb/urb.c
+++ b/sound/usb/urb.c
@@ -918,6 +918,11 @@ void snd_usb_init_substream(struct snd_usb_stream *as,
918 case USB_ID(0x041e, 0x3f0a): /* E-Mu Tracker Pre */ 918 case USB_ID(0x041e, 0x3f0a): /* E-Mu Tracker Pre */
919 subs->ops.retire_sync = retire_playback_sync_urb_hs_emu; 919 subs->ops.retire_sync = retire_playback_sync_urb_hs_emu;
920 break; 920 break;
921 case USB_ID(0x0763, 0x2080): /* M-Audio Fast Track Ultra 8 */
922 case USB_ID(0x0763, 0x2081): /* M-Audio Fast Track Ultra 8R */
923 subs->ops.prepare_sync = prepare_playback_sync_urb;
924 subs->ops.retire_sync = retire_playback_sync_urb;
925 break;
921 } 926 }
922 } 927 }
923 928