summaryrefslogtreecommitdiffstats
path: root/sound/usb/format.c
diff options
context:
space:
mode:
authorDaniel Mack <zonque@gmail.com>2013-04-16 18:01:40 +0200
committerTakashi Iwai <tiwai@suse.de>2013-04-18 10:03:53 +0200
commit126825e7ea271ae8e3172e10ca1fc22c908b5385 (patch)
treeb19bbca378e58874625132b41aaaea1855ec44f6 /sound/usb/format.c
parentALSA: snd-usb: add support for bit-reversed byte formats (diff)
downloadlinux-126825e7ea271ae8e3172e10ca1fc22c908b5385.tar.xz
linux-126825e7ea271ae8e3172e10ca1fc22c908b5385.zip
ALSA: snd-usb: add quirks handler for DSD streams
Unfortunately, none of the UAC standards provides a way to identify DSD (Direct Stream Digital) formats. Hence, this patch adds a quirks handler to identify USB interfaces that are capable of handling DSD. That quirks handler can augment the already parsed formats bit-field, by any of the new SNDRV_PCM_FMTBIT_DSD_{U8_U16} and setting the dsd_dop flag in the audio format, if the driver should take care for the DOP byte stuffing. The only devices that are known to work with this are the ones with a 'Playback Designs' vendor id. Signed-off-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/usb/format.c')
-rw-r--r--sound/usb/format.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/usb/format.c b/sound/usb/format.c
index 20c775170959..020ede0259eb 100644
--- a/sound/usb/format.c
+++ b/sound/usb/format.c
@@ -136,6 +136,9 @@ static u64 parse_audio_format_i_type(struct snd_usb_audio *chip,
snd_printk(KERN_INFO "%d:%u:%d : unsupported format bits %#x\n",
chip->dev->devnum, fp->iface, fp->altsetting, format);
}
+
+ pcm_formats |= snd_usb_interface_dsd_format_quirks(chip, fp, sample_bytes);
+
return pcm_formats;
}