hdsp.c (1374f8ceeefcb24194c29b9a81ecc40118d2c4d1) hdsp.c (192b8e3922c916cbacac7e5a190d9412ae39a7ee)
1/*
2 * ALSA driver for RME Hammerfall DSP audio interface(s)
3 *
4 * Copyright (c) 2002 Paul Davis
5 * Marcus Andersson
6 * Thomas Charbonnel
7 *
8 * This program is free software; you can redistribute it and/or modify

--- 593 unchanged lines hidden (view full) ---

602static void snd_hdsp_9652_enable_mixer (struct hdsp *hdsp);
603
604static int hdsp_playback_to_output_key (struct hdsp *hdsp, int in, int out)
605{
606 switch (hdsp->io_type) {
607 case Multiface:
608 case Digiface:
609 default:
1/*
2 * ALSA driver for RME Hammerfall DSP audio interface(s)
3 *
4 * Copyright (c) 2002 Paul Davis
5 * Marcus Andersson
6 * Thomas Charbonnel
7 *
8 * This program is free software; you can redistribute it and/or modify

--- 593 unchanged lines hidden (view full) ---

602static void snd_hdsp_9652_enable_mixer (struct hdsp *hdsp);
603
604static int hdsp_playback_to_output_key (struct hdsp *hdsp, int in, int out)
605{
606 switch (hdsp->io_type) {
607 case Multiface:
608 case Digiface:
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:
612 return (32 * out) + (16 + (in));
613 case H9652:
614 return (52 * out) + (26 + (in));
615 }
616}
617
618static int hdsp_input_to_output_key (struct hdsp *hdsp, int in, int out)
619{
620 switch (hdsp->io_type) {
621 case Multiface:
622 case Digiface:
623 default:
614 case H9632:
615 return (32 * out) + (16 + (in));
616 case H9652:
617 return (52 * out) + (26 + (in));
618 }
619}
620
621static int hdsp_input_to_output_key (struct hdsp *hdsp, int in, int out)
622{
623 switch (hdsp->io_type) {
624 case Multiface:
625 case Digiface:
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:
626 return (32 * out) + in;
627 case H9652:
628 return (52 * out) + in;
629 }
630}
631
632static void hdsp_write(struct hdsp *hdsp, int reg, int val)

--- 4533 unchanged lines hidden ---
631 case H9632:
632 return (32 * out) + in;
633 case H9652:
634 return (52 * out) + in;
635 }
636}
637
638static void hdsp_write(struct hdsp *hdsp, int reg, int val)

--- 4533 unchanged lines hidden ---