• Home
  • Raw
  • Download

Lines Matching refs:rt

64 static void usb6fire_control_output_vol_update(struct control_runtime *rt)  in usb6fire_control_output_vol_update()  argument
66 struct comm_runtime *comm_rt = rt->chip->comm; in usb6fire_control_output_vol_update()
71 if (!(rt->ovol_updated & (1 << i))) { in usb6fire_control_output_vol_update()
73 180 - rt->output_vol[i]); in usb6fire_control_output_vol_update()
74 rt->ovol_updated |= 1 << i; in usb6fire_control_output_vol_update()
78 static void usb6fire_control_output_mute_update(struct control_runtime *rt) in usb6fire_control_output_mute_update() argument
80 struct comm_runtime *comm_rt = rt->chip->comm; in usb6fire_control_output_mute_update()
83 comm_rt->write8(comm_rt, 0x12, 0x0e, ~rt->output_mute); in usb6fire_control_output_mute_update()
86 static void usb6fire_control_input_vol_update(struct control_runtime *rt) in usb6fire_control_input_vol_update() argument
88 struct comm_runtime *comm_rt = rt->chip->comm; in usb6fire_control_input_vol_update()
93 if (!(rt->ivol_updated & (1 << i))) { in usb6fire_control_input_vol_update()
95 rt->input_vol[i] & 0x3f); in usb6fire_control_input_vol_update()
96 rt->ivol_updated |= 1 << i; in usb6fire_control_input_vol_update()
100 static void usb6fire_control_line_phono_update(struct control_runtime *rt) in usb6fire_control_line_phono_update() argument
102 struct comm_runtime *comm_rt = rt->chip->comm; in usb6fire_control_line_phono_update()
104 comm_rt->write8(comm_rt, 0x22, 0x02, rt->line_phono_switch); in usb6fire_control_line_phono_update()
105 comm_rt->write8(comm_rt, 0x21, 0x02, rt->line_phono_switch); in usb6fire_control_line_phono_update()
109 static void usb6fire_control_opt_coax_update(struct control_runtime *rt) in usb6fire_control_opt_coax_update() argument
111 struct comm_runtime *comm_rt = rt->chip->comm; in usb6fire_control_opt_coax_update()
113 comm_rt->write8(comm_rt, 0x22, 0x00, rt->opt_coax_switch); in usb6fire_control_opt_coax_update()
114 comm_rt->write8(comm_rt, 0x21, 0x00, rt->opt_coax_switch); in usb6fire_control_opt_coax_update()
118 static int usb6fire_control_set_rate(struct control_runtime *rt, int rate) in usb6fire_control_set_rate() argument
121 struct usb_device *device = rt->chip->dev; in usb6fire_control_set_rate()
122 struct comm_runtime *comm_rt = rt->chip->comm; in usb6fire_control_set_rate()
141 struct control_runtime *rt, int n_analog_out, in usb6fire_control_set_channels() argument
145 struct comm_runtime *comm_rt = rt->chip->comm; in usb6fire_control_set_channels()
164 static int usb6fire_control_streaming_update(struct control_runtime *rt) in usb6fire_control_streaming_update() argument
166 struct comm_runtime *comm_rt = rt->chip->comm; in usb6fire_control_streaming_update()
169 if (!rt->usb_streaming && rt->digital_thru_switch) in usb6fire_control_streaming_update()
170 usb6fire_control_set_rate(rt, in usb6fire_control_streaming_update()
173 (rt->usb_streaming ? 0x01 : 0x00) | in usb6fire_control_streaming_update()
174 (rt->digital_thru_switch ? 0x08 : 0x00)); in usb6fire_control_streaming_update()
192 struct control_runtime *rt = snd_kcontrol_chip(kcontrol); in usb6fire_control_output_vol_put() local
197 dev_err(&rt->chip->dev->dev, in usb6fire_control_output_vol_put()
202 if (rt->output_vol[ch] != ucontrol->value.integer.value[0]) { in usb6fire_control_output_vol_put()
203 rt->output_vol[ch] = ucontrol->value.integer.value[0]; in usb6fire_control_output_vol_put()
204 rt->ovol_updated &= ~(1 << ch); in usb6fire_control_output_vol_put()
207 if (rt->output_vol[ch + 1] != ucontrol->value.integer.value[1]) { in usb6fire_control_output_vol_put()
208 rt->output_vol[ch + 1] = ucontrol->value.integer.value[1]; in usb6fire_control_output_vol_put()
209 rt->ovol_updated &= ~(2 << ch); in usb6fire_control_output_vol_put()
214 usb6fire_control_output_vol_update(rt); in usb6fire_control_output_vol_put()
222 struct control_runtime *rt = snd_kcontrol_chip(kcontrol); in usb6fire_control_output_vol_get() local
226 dev_err(&rt->chip->dev->dev, in usb6fire_control_output_vol_get()
231 ucontrol->value.integer.value[0] = rt->output_vol[ch]; in usb6fire_control_output_vol_get()
232 ucontrol->value.integer.value[1] = rt->output_vol[ch + 1]; in usb6fire_control_output_vol_get()
239 struct control_runtime *rt = snd_kcontrol_chip(kcontrol); in usb6fire_control_output_mute_put() local
241 u8 old = rt->output_mute; in usb6fire_control_output_mute_put()
245 dev_err(&rt->chip->dev->dev, in usb6fire_control_output_mute_put()
250 rt->output_mute &= ~(3 << ch); in usb6fire_control_output_mute_put()
255 rt->output_mute |= value << ch; in usb6fire_control_output_mute_put()
257 if (rt->output_mute != old) in usb6fire_control_output_mute_put()
258 usb6fire_control_output_mute_update(rt); in usb6fire_control_output_mute_put()
260 return rt->output_mute != old; in usb6fire_control_output_mute_put()
266 struct control_runtime *rt = snd_kcontrol_chip(kcontrol); in usb6fire_control_output_mute_get() local
268 u8 value = rt->output_mute >> ch; in usb6fire_control_output_mute_get()
271 dev_err(&rt->chip->dev->dev, in usb6fire_control_output_mute_get()
296 struct control_runtime *rt = snd_kcontrol_chip(kcontrol); in usb6fire_control_input_vol_put() local
299 if (rt->input_vol[0] != ucontrol->value.integer.value[0]) { in usb6fire_control_input_vol_put()
300 rt->input_vol[0] = ucontrol->value.integer.value[0] - 15; in usb6fire_control_input_vol_put()
301 rt->ivol_updated &= ~(1 << 0); in usb6fire_control_input_vol_put()
304 if (rt->input_vol[1] != ucontrol->value.integer.value[1]) { in usb6fire_control_input_vol_put()
305 rt->input_vol[1] = ucontrol->value.integer.value[1] - 15; in usb6fire_control_input_vol_put()
306 rt->ivol_updated &= ~(1 << 1); in usb6fire_control_input_vol_put()
311 usb6fire_control_input_vol_update(rt); in usb6fire_control_input_vol_put()
319 struct control_runtime *rt = snd_kcontrol_chip(kcontrol); in usb6fire_control_input_vol_get() local
321 ucontrol->value.integer.value[0] = rt->input_vol[0] + 15; in usb6fire_control_input_vol_get()
322 ucontrol->value.integer.value[1] = rt->input_vol[1] + 15; in usb6fire_control_input_vol_get()
336 struct control_runtime *rt = snd_kcontrol_chip(kcontrol); in usb6fire_control_line_phono_put() local
338 if (rt->line_phono_switch != ucontrol->value.integer.value[0]) { in usb6fire_control_line_phono_put()
339 rt->line_phono_switch = ucontrol->value.integer.value[0]; in usb6fire_control_line_phono_put()
340 usb6fire_control_line_phono_update(rt); in usb6fire_control_line_phono_put()
349 struct control_runtime *rt = snd_kcontrol_chip(kcontrol); in usb6fire_control_line_phono_get() local
350 ucontrol->value.integer.value[0] = rt->line_phono_switch; in usb6fire_control_line_phono_get()
363 struct control_runtime *rt = snd_kcontrol_chip(kcontrol); in usb6fire_control_opt_coax_put() local
366 if (rt->opt_coax_switch != ucontrol->value.enumerated.item[0]) { in usb6fire_control_opt_coax_put()
367 rt->opt_coax_switch = ucontrol->value.enumerated.item[0]; in usb6fire_control_opt_coax_put()
368 usb6fire_control_opt_coax_update(rt); in usb6fire_control_opt_coax_put()
377 struct control_runtime *rt = snd_kcontrol_chip(kcontrol); in usb6fire_control_opt_coax_get() local
378 ucontrol->value.enumerated.item[0] = rt->opt_coax_switch; in usb6fire_control_opt_coax_get()
385 struct control_runtime *rt = snd_kcontrol_chip(kcontrol); in usb6fire_control_digital_thru_put() local
388 if (rt->digital_thru_switch != ucontrol->value.integer.value[0]) { in usb6fire_control_digital_thru_put()
389 rt->digital_thru_switch = ucontrol->value.integer.value[0]; in usb6fire_control_digital_thru_put()
390 usb6fire_control_streaming_update(rt); in usb6fire_control_digital_thru_put()
399 struct control_runtime *rt = snd_kcontrol_chip(kcontrol); in usb6fire_control_digital_thru_get() local
400 ucontrol->value.integer.value[0] = rt->digital_thru_switch; in usb6fire_control_digital_thru_get()
521 struct control_runtime *rt, in usb6fire_control_add_virtual() argument
540 control = snd_ctl_new1(&elems[i], rt); in usb6fire_control_add_virtual()
558 struct control_runtime *rt = kzalloc(sizeof(struct control_runtime), in usb6fire_control_init() local
562 if (!rt) in usb6fire_control_init()
565 rt->chip = chip; in usb6fire_control_init()
566 rt->update_streaming = usb6fire_control_streaming_update; in usb6fire_control_init()
567 rt->set_rate = usb6fire_control_set_rate; in usb6fire_control_init()
568 rt->set_channels = usb6fire_control_set_channels; in usb6fire_control_init()
577 usb6fire_control_opt_coax_update(rt); in usb6fire_control_init()
578 usb6fire_control_line_phono_update(rt); in usb6fire_control_init()
579 usb6fire_control_output_vol_update(rt); in usb6fire_control_init()
580 usb6fire_control_output_mute_update(rt); in usb6fire_control_init()
581 usb6fire_control_input_vol_update(rt); in usb6fire_control_init()
582 usb6fire_control_streaming_update(rt); in usb6fire_control_init()
584 ret = usb6fire_control_add_virtual(rt, chip->card, in usb6fire_control_init()
588 kfree(rt); in usb6fire_control_init()
591 ret = usb6fire_control_add_virtual(rt, chip->card, in usb6fire_control_init()
595 kfree(rt); in usb6fire_control_init()
601 ret = snd_ctl_add(chip->card, snd_ctl_new1(&elements[i], rt)); in usb6fire_control_init()
603 kfree(rt); in usb6fire_control_init()
610 chip->control = rt; in usb6fire_control_init()