Skip to content

Commit

Permalink
ALSA: usb-audio: add Edirol SD-90 PCM support
Browse files Browse the repository at this point in the history
Add support for the 24-bit audio I/Os of the Edirol SD-90 interface.

Reported-any-tested-by: Jim Grusendorf <alsa-user@grusendorf.ca>
Signed-off-by: Clemens Ladisch <clemens@ladisch.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
  • Loading branch information
Clemens Ladisch authored and Takashi Iwai committed Jan 10, 2011
1 parent 2a1803a commit 061b869
Showing 2 changed files with 6 additions and 3 deletions.
5 changes: 4 additions & 1 deletion sound/usb/format.c
Original file line number Diff line number Diff line change
@@ -76,7 +76,10 @@ static u64 parse_audio_format_i_type(struct snd_usb_audio *chip,
format = 1 << UAC_FORMAT_TYPE_I_PCM;
}
if (format & (1 << UAC_FORMAT_TYPE_I_PCM)) {
if (sample_width > sample_bytes * 8) {
if (chip->usb_id == USB_ID(0x0582, 0x0016) /* Edirol SD-90 */ &&
sample_width == 24 && sample_bytes == 2)
sample_bytes = 3;
else if (sample_width > sample_bytes * 8) {
snd_printk(KERN_INFO "%d:%u:%d : sample bitwidth %d in over sample bytes %d\n",
chip->dev->devnum, fp->iface, fp->altsetting,
sample_width, sample_bytes);
4 changes: 2 additions & 2 deletions sound/usb/quirks-table.h
Original file line number Diff line number Diff line change
@@ -705,11 +705,11 @@ YAMAHA_DEVICE(0x7010, "UB99"),
.data = (const struct snd_usb_audio_quirk[]) {
{
.ifnum = 0,
.type = QUIRK_IGNORE_INTERFACE
.type = QUIRK_AUDIO_STANDARD_INTERFACE
},
{
.ifnum = 1,
.type = QUIRK_IGNORE_INTERFACE
.type = QUIRK_AUDIO_STANDARD_INTERFACE
},
{
.ifnum = 2,

0 comments on commit 061b869

Please sign in to comment.