diff options
-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) | |||
607 | case Multiface: | 607 | case Multiface: |
608 | case Digiface: | 608 | case Digiface: |
609 | default: | 609 | default: |
610 | return (64 * out) + (32 + (in)); | 610 | if (hdsp->firmware_rev == 0xa) |
611 | return (64 * out) + (32 + (in)); | ||
612 | else | ||
613 | return (52 * out) + (26 + (in)); | ||
611 | case H9632: | 614 | case H9632: |
612 | return (32 * out) + (16 + (in)); | 615 | return (32 * out) + (16 + (in)); |
613 | case H9652: | 616 | case H9652: |
@@ -621,7 +624,10 @@ static int hdsp_input_to_output_key (struct hdsp *hdsp, int in, int out) | |||
621 | case Multiface: | 624 | case Multiface: |
622 | case Digiface: | 625 | case Digiface: |
623 | default: | 626 | default: |
624 | return (64 * out) + in; | 627 | if (hdsp->firmware_rev == 0xa) |
628 | return (64 * out) + in; | ||
629 | else | ||
630 | return (52 * out) + in; | ||
625 | case H9632: | 631 | case H9632: |
626 | return (32 * out) + in; | 632 | return (32 * out) + in; |
627 | case H9652: | 633 | case H9652: |