diff options
Diffstat (limited to 'sound/pci/echoaudio/mona_dsp.c')
-rw-r--r-- | sound/pci/echoaudio/mona_dsp.c | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/sound/pci/echoaudio/mona_dsp.c b/sound/pci/echoaudio/mona_dsp.c index b28b8e4703cf..6e6a7eb555b8 100644 --- a/sound/pci/echoaudio/mona_dsp.c +++ b/sound/pci/echoaudio/mona_dsp.c | |||
@@ -67,28 +67,26 @@ static int init_hw(struct echoaudio *chip, u16 device_id, u16 subdevice_id) | |||
67 | else | 67 | else |
68 | chip->dsp_code_to_load = FW_MONA_301_DSP; | 68 | chip->dsp_code_to_load = FW_MONA_301_DSP; |
69 | 69 | ||
70 | chip->digital_mode = DIGITAL_MODE_SPDIF_RCA; | ||
71 | chip->professional_spdif = FALSE; | ||
72 | chip->digital_in_automute = TRUE; | ||
73 | |||
74 | if ((err = load_firmware(chip)) < 0) | 70 | if ((err = load_firmware(chip)) < 0) |
75 | return err; | 71 | return err; |
76 | chip->bad_board = FALSE; | 72 | chip->bad_board = FALSE; |
77 | 73 | ||
78 | if ((err = init_line_levels(chip)) < 0) | ||
79 | return err; | ||
80 | |||
81 | err = set_digital_mode(chip, DIGITAL_MODE_SPDIF_RCA); | ||
82 | if (err < 0) | ||
83 | return err; | ||
84 | err = set_professional_spdif(chip, TRUE); | ||
85 | |||
86 | DE_INIT(("init_hw done\n")); | 74 | DE_INIT(("init_hw done\n")); |
87 | return err; | 75 | return err; |
88 | } | 76 | } |
89 | 77 | ||
90 | 78 | ||
91 | 79 | ||
80 | static int set_mixer_defaults(struct echoaudio *chip) | ||
81 | { | ||
82 | chip->digital_mode = DIGITAL_MODE_SPDIF_RCA; | ||
83 | chip->professional_spdif = FALSE; | ||
84 | chip->digital_in_automute = TRUE; | ||
85 | return init_line_levels(chip); | ||
86 | } | ||
87 | |||
88 | |||
89 | |||
92 | static u32 detect_input_clocks(const struct echoaudio *chip) | 90 | static u32 detect_input_clocks(const struct echoaudio *chip) |
93 | { | 91 | { |
94 | u32 clocks_from_dsp, clock_bits; | 92 | u32 clocks_from_dsp, clock_bits; |