[ALSA] hdsp - Add support for latset RME9632 revisions
authorRemy Bruno <remy.bruno@trinnov.com>
Fri, 31 Aug 2007 10:33:54 +0000 (12:33 +0200)
committerJaroslav Kysela <perex@perex.cz>
Tue, 16 Oct 2007 13:59:37 +0000 (15:59 +0200)
added support for the latest revision of the 9632 (and hopefully a few
following ones). The DSP matrix was not working because of wrong
identification of the card in this part of the code.

Signed-off-by: Remy Bruno <remy.bruno@trinnov.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
sound/pci/rme9652/hdsp.c

index 8f798f2fc0406139702774b259bc8b658630cc14..2411f0b396b4adad390047a6ef80948ef244cb8c 100644 (file)
@@ -606,28 +606,28 @@ static void snd_hdsp_9652_enable_mixer (struct hdsp *hdsp);
 
 static int hdsp_playback_to_output_key (struct hdsp *hdsp, int in, int out)
 {
-       switch (hdsp->firmware_rev) {
-       case 0xa:
+       switch (hdsp->io_type) {
+       case Multiface:
+       case Digiface:
+       default:
                return (64 * out) + (32 + (in));
-       case 0x96:
-       case 0x97:
-       case 0x98:
+       case H9632:
                return (32 * out) + (16 + (in));
-       default:
+       case H9652:
                return (52 * out) + (26 + (in));
        }
 }
 
 static int hdsp_input_to_output_key (struct hdsp *hdsp, int in, int out)
 {
-       switch (hdsp->firmware_rev) {
-       case 0xa:
+       switch (hdsp->io_type) {
+       case Multiface:
+       case Digiface:
+       default:
                return (64 * out) + in;
-       case 0x96:
-       case 0x97:
-       case 0x98:
+       case H9632:
                return (32 * out) + in;
-       default:
+       case H9652:
                return (52 * out) + in;
        }
 }