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>
 
 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;
        }
 }