aboutsummaryrefslogtreecommitdiff
path: root/sound/pci/echoaudio/mia_dsp.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/pci/echoaudio/mia_dsp.c')
-rw-r--r--sound/pci/echoaudio/mia_dsp.c28
1 files changed, 10 insertions, 18 deletions
diff --git a/sound/pci/echoaudio/mia_dsp.c b/sound/pci/echoaudio/mia_dsp.c
index 227386602f9..6ebfa6e7ab9 100644
--- a/sound/pci/echoaudio/mia_dsp.c
+++ b/sound/pci/echoaudio/mia_dsp.c
@@ -53,7 +53,7 @@ static int init_hw(struct echoaudio *chip, u16 device_id, u16 subdevice_id)
chip->device_id = device_id;
chip->subdevice_id = subdevice_id;
chip->bad_board = TRUE;
- chip->dsp_code_to_load = &card_fw[FW_MIA_DSP];
+ chip->dsp_code_to_load = FW_MIA_DSP;
/* Since this card has no ASIC, mark it as loaded so everything
works OK */
chip->asic_loaded = TRUE;
@@ -66,27 +66,19 @@ static int init_hw(struct echoaudio *chip, u16 device_id, u16 subdevice_id)
return err;
chip->bad_board = FALSE;
- if ((err = init_line_levels(chip)))
- return err;
-
- /* Default routing of the virtual channels: vchannels 0-3 go to analog
- outputs and vchannels 4-7 go to S/PDIF outputs */
- set_vmixer_gain(chip, 0, 0, 0);
- set_vmixer_gain(chip, 1, 1, 0);
- set_vmixer_gain(chip, 0, 2, 0);
- set_vmixer_gain(chip, 1, 3, 0);
- set_vmixer_gain(chip, 2, 4, 0);
- set_vmixer_gain(chip, 3, 5, 0);
- set_vmixer_gain(chip, 2, 6, 0);
- set_vmixer_gain(chip, 3, 7, 0);
- err = update_vmixer_level(chip);
-
DE_INIT(("init_hw done\n"));
return err;
}
+static int set_mixer_defaults(struct echoaudio *chip)
+{
+ return init_line_levels(chip);
+}
+
+
+
static u32 detect_input_clocks(const struct echoaudio *chip)
{
u32 clocks_from_dsp, clock_bits;
@@ -222,10 +214,10 @@ static int set_professional_spdif(struct echoaudio *chip, char prof)
DE_ACT(("set_professional_spdif %d\n", prof));
if (prof)
chip->comm_page->flags |=
- __constant_cpu_to_le32(DSP_FLAG_PROFESSIONAL_SPDIF);
+ cpu_to_le32(DSP_FLAG_PROFESSIONAL_SPDIF);
else
chip->comm_page->flags &=
- ~__constant_cpu_to_le32(DSP_FLAG_PROFESSIONAL_SPDIF);
+ ~cpu_to_le32(DSP_FLAG_PROFESSIONAL_SPDIF);
chip->professional_spdif = prof;
return update_flags(chip);
}