summaryrefslogtreecommitdiffstats
path: root/sound/usb/pcm.c
diff options
context:
space:
mode:
authorJurgen Kramer <gtmkramer@xs4all.nl>2014-11-28 17:32:54 +0100
committerTakashi Iwai <tiwai@suse.de>2014-11-28 18:02:35 +0100
commit6874daad4b0fbed5b2f9bef7f4d3f2b895463a95 (patch)
tree2e1306a87375fdd6cb877e5b77b2ff5d44e4813c /sound/usb/pcm.c
parentALSA: usb-audio: Add native DSD support for Denon/Marantz DACs (diff)
downloadlinux-6874daad4b0fbed5b2f9bef7f4d3f2b895463a95.tar.xz
linux-6874daad4b0fbed5b2f9bef7f4d3f2b895463a95.zip
ALSA: usb-audio: Add mode select quirk for Denon/Marantz DACs
Denon/Marantz USB DACs need a specific vendor command to switch between PCM and DSD mode. This patch adds a new quirk function to switch between the two modes using the specific USB vendor command. This patch applies to the following devices: - Marantz SA-14S1 - Marantz HD-DAC1 Signed-off-by: Jurgen Kramer <gtmkramer@xs4all.nl> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/usb/pcm.c')
-rw-r--r--sound/usb/pcm.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sound/usb/pcm.c b/sound/usb/pcm.c
index c62a1659106d..0d8aba5fe1a8 100644
--- a/sound/usb/pcm.c
+++ b/sound/usb/pcm.c
@@ -482,6 +482,11 @@ static int set_format(struct snd_usb_substream *subs, struct audioformat *fmt)
/* set interface */
if (subs->interface != fmt->iface ||
subs->altset_idx != fmt->altset_idx) {
+
+ err = snd_usb_select_mode_quirk(subs, fmt);
+ if (err < 0)
+ return -EIO;
+
err = usb_set_interface(dev, fmt->iface, fmt->altsetting);
if (err < 0) {
dev_err(&dev->dev,