Skip to content

Commit

Permalink
[ALSA] usb-audio - enable high speed (not) on Audigy 2 NX
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Clemens Ladisch authored and Jaroslav Kysela committed May 29, 2005
1 parent 3714b53 commit 3a2f085
Showing 1 changed file with 24 additions and 0 deletions.
24 changes: 24 additions & 0 deletions sound/usb/usbaudio.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit 3a2f085

Please sign in to comment.