diff options
author | Andreas Degert <ad@papyrus-gmbh.de> | 2008-01-16 15:59:48 +0100 |
---|---|---|
committer | Jaroslav Kysela <perex@perex.cz> | 2008-01-31 17:30:01 +0100 |
commit | 192b8e3922c916cbacac7e5a190d9412ae39a7ee (patch) | |
tree | 78ff5561316506250c7aab6a57c5c08d71858b9f | |
parent | e70515dd518bbd5b9e2e5c90a56347df0e871389 (diff) | |
download | linux-192b8e3922c916cbacac7e5a190d9412ae39a7ee.tar.bz2 |
[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>
-rw-r--r-- | sound/pci/rme9652/hdsp.c | 10 |
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: |