summaryrefslogtreecommitdiffstats
path: root/sound/pci/rme9652/hdsp.c
diff options
context:
space:
mode:
authorAndreas Degert <ad@papyrus-gmbh.de>2008-01-16 15:59:48 +0100
committerJaroslav Kysela <perex@perex.cz>2008-01-31 17:30:01 +0100
commit192b8e3922c916cbacac7e5a190d9412ae39a7ee (patch)
tree78ff5561316506250c7aab6a57c5c08d71858b9f /sound/pci/rme9652/hdsp.c
parent[ALSA] snd-powermac: handle dead DMA transfers (diff)
downloadlinux-192b8e3922c916cbacac7e5a190d9412ae39a7ee.tar.xz
linux-192b8e3922c916cbacac7e5a190d9412ae39a7ee.zip
[ALSA] hdsp: make Multiface II work again
This device has io_type == 1 (Multiface) and firmware_rev > 0xa (fixes regression from changeset 5326) Signed-off-by: Andreas Degert <ad@papyrus-gmbh.de> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Diffstat (limited to 'sound/pci/rme9652/hdsp.c')
-rw-r--r--sound/pci/rme9652/hdsp.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/sound/pci/rme9652/hdsp.c b/sound/pci/rme9652/hdsp.c
index 763e4c917ec6..c2bd4384316a 100644
--- a/sound/pci/rme9652/hdsp.c
+++ b/sound/pci/rme9652/hdsp.c
@@ -607,7 +607,10 @@ static int hdsp_playback_to_output_key (struct hdsp *hdsp, int in, int out)
case Multiface:
case Digiface:
default:
- return (64 * out) + (32 + (in));
+ if (hdsp->firmware_rev == 0xa)
+ return (64 * out) + (32 + (in));
+ else
+ return (52 * out) + (26 + (in));
case H9632:
return (32 * out) + (16 + (in));
case H9652:
@@ -621,7 +624,10 @@ static int hdsp_input_to_output_key (struct hdsp *hdsp, int in, int out)
case Multiface:
case Digiface:
default:
- return (64 * out) + in;
+ if (hdsp->firmware_rev == 0xa)
+ return (64 * out) + in;
+ else
+ return (52 * out) + in;
case H9632:
return (32 * out) + in;
case H9652: