48 if (read_dsp(chip, &asic_status) < 0) {
49 DE_INIT((
"check_asic_status: failed on read_dsp\n"));
71 DE_ACT((
"write_control_reg: 0x%x\n", value));
75 if (value != chip->
comm_page->control_register || force) {
76 if (wait_handshake(chip))
79 clear_handshake(chip);
92 static int set_input_auto_mute(
struct echoaudio *chip,
int automute)
94 DE_ACT((
"set_input_auto_mute %d\n", automute));
122 err = dsp_set_digital_mode(chip, mode);
127 if (err >= 0 && previous_mode != mode &&
129 spin_lock_irq(&chip->
lock);
130 for (o = 0; o < num_busses_out(chip); o++)
131 for (i = 0; i < num_busses_in(chip); i++)
132 set_monitor_gain(chip, o, i,
135 #ifdef ECHOCARD_HAS_INPUT_GAIN
136 for (i = 0; i < num_busses_in(chip); i++)
138 update_input_line_level(chip);
141 for (o = 0; o < num_busses_out(chip); o++)
143 update_output_line_level(chip);
144 spin_unlock_irq(&chip->
lock);
153 static int set_professional_spdif(
struct echoaudio *chip,
char prof)
194 if ((err = write_control_reg(chip, control_reg,
FALSE)))
197 DE_ACT((
"set_professional_spdif to %s\n",
198 prof ?
"Professional" :
"Consumer"));