aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/rme9652
diff options
context:
space:
mode:
authorRemy Bruno <remy.bruno@trinnov.com>2007-08-31 06:33:54 -0400
committerJaroslav Kysela <perex@perex.cz>2007-10-16 09:59:37 -0400
commita3a68c85bfb7acc874ce6d334964b95943d4ed43 (patch)
treeffd065fb0e147421190df28de96b001738e0708a /sound/pci/rme9652
parent6534599d14892c5b0838b7170f071c850f5ea8e9 (diff)
[ALSA] hdsp - Add support for latset RME9632 revisions
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>
Diffstat (limited to 'sound/pci/rme9652')
-rw-r--r--sound/pci/rme9652/hdsp.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/sound/pci/rme9652/hdsp.c b/sound/pci/rme9652/hdsp.c
index 8f798f2fc040..2411f0b396b4 100644
--- a/sound/pci/rme9652/hdsp.c
+++ b/sound/pci/rme9652/hdsp.c
@@ -606,28 +606,28 @@ static void snd_hdsp_9652_enable_mixer (struct hdsp *hdsp);
606 606
607static int hdsp_playback_to_output_key (struct hdsp *hdsp, int in, int out) 607static int hdsp_playback_to_output_key (struct hdsp *hdsp, int in, int out)
608{ 608{
609 switch (hdsp->firmware_rev) { 609 switch (hdsp->io_type) {
610 case 0xa: 610 case Multiface:
611 case Digiface:
612 default:
611 return (64 * out) + (32 + (in)); 613 return (64 * out) + (32 + (in));
612 case 0x96: 614 case H9632:
613 case 0x97:
614 case 0x98:
615 return (32 * out) + (16 + (in)); 615 return (32 * out) + (16 + (in));
616 default: 616 case H9652:
617 return (52 * out) + (26 + (in)); 617 return (52 * out) + (26 + (in));
618 } 618 }
619} 619}
620 620
621static int hdsp_input_to_output_key (struct hdsp *hdsp, int in, int out) 621static int hdsp_input_to_output_key (struct hdsp *hdsp, int in, int out)
622{ 622{
623 switch (hdsp->firmware_rev) { 623 switch (hdsp->io_type) {
624 case 0xa: 624 case Multiface:
625 case Digiface:
626 default:
625 return (64 * out) + in; 627 return (64 * out) + in;
626 case 0x96: 628 case H9632:
627 case 0x97:
628 case 0x98:
629 return (32 * out) + in; 629 return (32 * out) + in;
630 default: 630 case H9652:
631 return (52 * out) + in; 631 return (52 * out) + in;
632 } 632 }
633} 633}