aboutsummaryrefslogtreecommitdiffstats
path: root/sound/usb/pcm.c
diff options
context:
space:
mode:
authorEldad Zack <eldad@fogrefinery.com>2012-11-28 17:55:41 -0500
committerTakashi Iwai <tiwai@suse.de>2012-11-29 02:45:18 -0500
commitca10a7ebdff1c862ca1ef1d7bd2c6810e3c87e17 (patch)
treed06e8e7b7d93e0af9253b23c0bc450acce146552 /sound/usb/pcm.c
parent09d8e3a71d2bdde11b258a62043cb784891e6ad3 (diff)
ALSA: usb-audio: FT C400 sync playback EP to capture EP
The playback endpoint uses implicit feedback mode, similar to the M-Audio FTU. Like with the FTU, we need to associate the sync pipe ourselves. Signed-off-by: Eldad Zack <eldad@fogrefinery.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/usb/pcm.c')
-rw-r--r--sound/usb/pcm.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/sound/usb/pcm.c b/sound/usb/pcm.c
index f488a493a98e..769821c30031 100644
--- a/sound/usb/pcm.c
+++ b/sound/usb/pcm.c
@@ -362,6 +362,19 @@ static int set_format(struct snd_usb_substream *subs, struct audioformat *fmt)
362 attr = fmt->ep_attr & USB_ENDPOINT_SYNCTYPE; 362 attr = fmt->ep_attr & USB_ENDPOINT_SYNCTYPE;
363 363
364 switch (subs->stream->chip->usb_id) { 364 switch (subs->stream->chip->usb_id) {
365 case USB_ID(0x0763, 0x2030): /* M-Audio Fast Track C400 */
366 if (is_playback) {
367 implicit_fb = 1;
368 ep = 0x81;
369 iface = usb_ifnum_to_if(dev, 3);
370
371 if (!iface || iface->num_altsetting == 0)
372 return -EINVAL;
373
374 alts = &iface->altsetting[1];
375 goto add_sync_ep;
376 }
377 break;
365 case USB_ID(0x0763, 0x2080): /* M-Audio FastTrack Ultra */ 378 case USB_ID(0x0763, 0x2080): /* M-Audio FastTrack Ultra */
366 case USB_ID(0x0763, 0x2081): 379 case USB_ID(0x0763, 0x2081):
367 if (is_playback) { 380 if (is_playback) {