[ALSA] usb-audio - enable high speed (not) on Audigy 2 NX

USB generic driver
The SB Audigy 2 NX needs a special boot-up command before it works in
high speed mode.

However, we don't actually enable it yet because high speed
synchronization doesn't seem to work with this device.

Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
This commit is contained in:
Clemens Ladisch 2005-05-09 09:20:31 +02:00 committed by Jaroslav Kysela
parent 3714b5344e
commit 3a2f08560d

View File

@ -2925,6 +2925,25 @@ static int snd_usb_extigy_boot_quirk(struct usb_device *dev, struct usb_interfac
return 0;
}
static int snd_usb_audigy2nx_boot_quirk(struct usb_device *dev)
{
#if 0
/* TODO: enable this when high speed synchronization actually works */
u8 buf = 1;
snd_usb_ctl_msg(dev, usb_rcvctrlpipe(dev, 0), 0x2a,
USB_DIR_IN | USB_TYPE_VENDOR | USB_RECIP_OTHER,
0, 0, &buf, 1, 1000);
if (buf == 0) {
snd_usb_ctl_msg(dev, usb_sndctrlpipe(dev, 0), 0x29,
USB_DIR_OUT | USB_TYPE_VENDOR | USB_RECIP_OTHER,
1, 2000, NULL, 0, 1000);
return -ENODEV;
}
#endif
return 0;
}
/*
* audio-interface quirks
@ -3154,6 +3173,11 @@ static void *snd_usb_audio_probe(struct usb_device *dev,
goto __err_val;
config = dev->actconfig;
}
/* SB Audigy 2 NX needs its own boot-up magic, too */
if (id == USB_ID(0x041e, 0x3020)) {
if (snd_usb_audigy2nx_boot_quirk(dev) < 0)
goto __err_val;
}
/*
* found a config. now register to ALSA