Lines Matching refs:chip

32 static int set_professional_spdif(struct echoaudio *chip, char prof);
33 static int update_flags(struct echoaudio *chip);
36 static int init_hw(struct echoaudio *chip, u16 device_id, u16 subdevice_id) in init_hw() argument
43 if ((err = init_dsp_comm_page(chip))) { in init_hw()
44 dev_err(chip->card->dev, in init_hw()
49 chip->device_id = device_id; in init_hw()
50 chip->subdevice_id = subdevice_id; in init_hw()
51 chip->bad_board = TRUE; in init_hw()
52 chip->dsp_code_to_load = FW_GINA20_DSP; in init_hw()
53 chip->spdif_status = GD_SPDIF_STATUS_UNDEF; in init_hw()
54 chip->clock_state = GD_CLOCK_UNDEF; in init_hw()
57 chip->asic_loaded = TRUE; in init_hw()
58 chip->input_clock_types = ECHO_CLOCK_BIT_INTERNAL | in init_hw()
61 if ((err = load_firmware(chip)) < 0) in init_hw()
63 chip->bad_board = FALSE; in init_hw()
70 static int set_mixer_defaults(struct echoaudio *chip) in set_mixer_defaults() argument
72 chip->professional_spdif = FALSE; in set_mixer_defaults()
73 return init_line_levels(chip); in set_mixer_defaults()
78 static u32 detect_input_clocks(const struct echoaudio *chip) in detect_input_clocks() argument
84 clocks_from_dsp = le32_to_cpu(chip->comm_page->status_clocks); in detect_input_clocks()
97 static int load_asic(struct echoaudio *chip) in load_asic() argument
104 static int set_sample_rate(struct echoaudio *chip, u32 rate) in set_sample_rate() argument
108 if (wait_handshake(chip)) in set_sample_rate()
126 if (chip->clock_state == clock_state) in set_sample_rate()
128 if (spdif_status == chip->spdif_status) in set_sample_rate()
131 chip->comm_page->sample_rate = cpu_to_le32(rate); in set_sample_rate()
132 chip->comm_page->gd_clock_state = clock_state; in set_sample_rate()
133 chip->comm_page->gd_spdif_status = spdif_status; in set_sample_rate()
134 chip->comm_page->gd_resampler_state = 3; /* magic number - should always be 3 */ in set_sample_rate()
138 chip->clock_state = clock_state; in set_sample_rate()
140 chip->spdif_status = spdif_status; in set_sample_rate()
141 chip->sample_rate = rate; in set_sample_rate()
143 clear_handshake(chip); in set_sample_rate()
144 return send_vector(chip, DSP_VC_SET_GD_AUDIO_STATE); in set_sample_rate()
149 static int set_input_clock(struct echoaudio *chip, u16 clock) in set_input_clock() argument
155 chip->clock_state = GD_CLOCK_UNDEF; in set_input_clock()
156 chip->spdif_status = GD_SPDIF_STATUS_UNDEF; in set_input_clock()
157 set_sample_rate(chip, chip->sample_rate); in set_input_clock()
158 chip->input_clock = clock; in set_input_clock()
161 chip->comm_page->gd_clock_state = GD_CLOCK_SPDIFIN; in set_input_clock()
162 chip->comm_page->gd_spdif_status = GD_SPDIF_STATUS_NOCHANGE; in set_input_clock()
163 clear_handshake(chip); in set_input_clock()
164 send_vector(chip, DSP_VC_SET_GD_AUDIO_STATE); in set_input_clock()
165 chip->clock_state = GD_CLOCK_SPDIFIN; in set_input_clock()
166 chip->input_clock = clock; in set_input_clock()
178 static int set_input_gain(struct echoaudio *chip, u16 input, int gain) in set_input_gain() argument
180 if (snd_BUG_ON(input >= num_busses_in(chip))) in set_input_gain()
183 if (wait_handshake(chip)) in set_input_gain()
186 chip->input_gain[input] = gain; in set_input_gain()
188 chip->comm_page->line_in_level[input] = gain; in set_input_gain()
195 static int update_flags(struct echoaudio *chip) in update_flags() argument
197 if (wait_handshake(chip)) in update_flags()
199 clear_handshake(chip); in update_flags()
200 return send_vector(chip, DSP_VC_UPDATE_FLAGS); in update_flags()
205 static int set_professional_spdif(struct echoaudio *chip, char prof) in set_professional_spdif() argument
208 chip->comm_page->flags |= in set_professional_spdif()
211 chip->comm_page->flags &= in set_professional_spdif()
213 chip->professional_spdif = prof; in set_professional_spdif()
214 return update_flags(chip); in set_professional_spdif()