提交 3a2f0856 编写于 作者: C Clemens Ladisch 提交者: Jaroslav Kysela

[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: NClemens Ladisch <clemens@ladisch.de>
上级 3714b534
...@@ -2925,6 +2925,25 @@ static int snd_usb_extigy_boot_quirk(struct usb_device *dev, struct usb_interfac ...@@ -2925,6 +2925,25 @@ static int snd_usb_extigy_boot_quirk(struct usb_device *dev, struct usb_interfac
return 0; 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 * audio-interface quirks
...@@ -3154,6 +3173,11 @@ static void *snd_usb_audio_probe(struct usb_device *dev, ...@@ -3154,6 +3173,11 @@ static void *snd_usb_audio_probe(struct usb_device *dev,
goto __err_val; goto __err_val;
config = dev->actconfig; 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 * found a config. now register to ALSA
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册