Lines Matching refs:ice

180 static void juli_spdif_in_open(struct snd_ice1712 *ice,  in juli_spdif_in_open()  argument
183 struct juli_spec *spec = ice->spec; in juli_spdif_in_open()
188 !ice->is_spdif_master(ice)) in juli_spdif_in_open()
212 struct snd_ice1712 *ice = ak->private_data[0]; in juli_akm_write() local
216 snd_vt1724_write_i2c(ice, AK4358_ADDR, addr, data); in juli_akm_write()
226 struct snd_ice1712 *ice = ak->private_data[0]; in juli_akm_set_rate_val() local
227 struct juli_spec *spec = ice->spec; in juli_akm_set_rate_val()
245 old_gpio = ice->gpio.get_data(ice); in juli_akm_set_rate_val()
249 ice->gpio.set_data(ice, new_gpio); in juli_akm_set_rate_val()
252 old = inb(ICEMT1724(ice, AC97_CMD)); in juli_akm_set_rate_val()
253 outb(old | VT1724_AC97_COLD, ICEMT1724(ice, AC97_CMD)); in juli_akm_set_rate_val()
255 outb(old & ~VT1724_AC97_COLD, ICEMT1724(ice, AC97_CMD)); in juli_akm_set_rate_val()
306 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol); in juli_mute_get() local
308 val = ice->gpio.get_data(ice) & (unsigned int) kcontrol->private_value; in juli_mute_get()
321 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol); in juli_mute_put() local
323 old_gpio = ice->gpio.get_data(ice); in juli_mute_put()
330 snd_akm4xxx_write(ice->akm, 0, 0x01, 0x01); in juli_mute_put()
341 snd_akm4xxx_write(ice->akm, 0, 0x01, 0x03); in juli_mute_put()
353 ice->gpio.set_data(ice, new_gpio); in juli_mute_put()
450 static int juli_add_controls(struct snd_ice1712 *ice) in juli_add_controls() argument
452 struct juli_spec *spec = ice->spec; in juli_add_controls()
457 err = snd_ice1712_akm4xxx_build_controls(ice); in juli_add_controls()
462 err = snd_ctl_add(ice->card, in juli_add_controls()
463 snd_ctl_new1(&juli_mute_controls[i], ice)); in juli_add_controls()
472 add_slaves(ice->card, vmaster, slave_vols); in juli_add_controls()
473 err = snd_ctl_add(ice->card, vmaster); in juli_add_controls()
479 ice->pcm->streams[SNDRV_PCM_STREAM_CAPTURE].substream); in juli_add_controls()
487 static int juli_resume(struct snd_ice1712 *ice) in juli_resume() argument
489 struct snd_akm4xxx *ak = ice->akm; in juli_resume()
490 struct juli_spec *spec = ice->spec; in juli_resume()
498 static int juli_suspend(struct snd_ice1712 *ice) in juli_suspend() argument
500 struct snd_akm4xxx *ak = ice->akm; in juli_suspend()
501 struct juli_spec *spec = ice->spec; in juli_suspend()
513 static inline int juli_is_spdif_master(struct snd_ice1712 *ice) in juli_is_spdif_master() argument
515 return (ice->gpio.get_data(ice) & GPIO_INTERNAL_CLOCK) ? 0 : 1; in juli_is_spdif_master()
518 static unsigned int juli_get_rate(struct snd_ice1712 *ice) in juli_get_rate() argument
523 result = ice->gpio.get_data(ice) & GPIO_RATE_MASK; in juli_get_rate()
531 static void juli_set_rate(struct snd_ice1712 *ice, unsigned int rate) in juli_set_rate() argument
536 old = ice->gpio.get_data(ice); in juli_set_rate()
542 ice->gpio.set_data(ice, new); in juli_set_rate()
544 val = inb(ICEMT1724(ice, RATE)); in juli_set_rate()
545 outb(val | VT1724_SPDIF_MASTER, ICEMT1724(ice, RATE)); in juli_set_rate()
548 static inline unsigned char juli_set_mclk(struct snd_ice1712 *ice, in juli_set_mclk() argument
556 static int juli_set_spdif_clock(struct snd_ice1712 *ice, int type) in juli_set_spdif_clock() argument
559 old = ice->gpio.get_data(ice); in juli_set_spdif_clock()
561 ice->gpio.set_data(ice, (old & ~GPIO_RATE_MASK) | GPIO_MULTI_1X | in juli_set_spdif_clock()
570 struct snd_ice1712 *ice = ak4114->change_callback_private; in juli_ak4114_change() local
572 if (ice->is_spdif_master(ice) && c1) { in juli_ak4114_change()
577 juli_akm_set_rate_val(ice->akm, rate); in juli_ak4114_change()
581 static int juli_init(struct snd_ice1712 *ice) in juli_init() argument
603 ice->spec = spec; in juli_init()
605 err = snd_ak4114_create(ice->card, in juli_init()
609 ice, &spec->ak4114); in juli_init()
614 spec->ak4114->change_callback_private = ice; in juli_init()
624 spec->analog = (ice->gpio.get_data(ice) & GPIO_ANALOG_PRESENT) ? 0 : 1; in juli_init()
630 dev_info(ice->card->dev, "juli@: analog I/O detected\n"); in juli_init()
631 ice->num_total_dacs = 2; in juli_init()
632 ice->num_total_adcs = 2; in juli_init()
634 ice->akm = kzalloc(sizeof(struct snd_akm4xxx), GFP_KERNEL); in juli_init()
635 ak = ice->akm; in juli_init()
638 ice->akm_codecs = 1; in juli_init()
639 err = snd_ice1712_akm4xxx_init(ak, &akm_juli_dac, NULL, ice); in juli_init()
645 ice->hw_rates = &juli_rates_info; in juli_init()
646 ice->is_spdif_master = juli_is_spdif_master; in juli_init()
647 ice->get_rate = juli_get_rate; in juli_init()
648 ice->set_rate = juli_set_rate; in juli_init()
649 ice->set_mclk = juli_set_mclk; in juli_init()
650 ice->set_spdif_clock = juli_set_spdif_clock; in juli_init()
652 ice->spdif.ops.open = juli_spdif_in_open; in juli_init()
655 ice->pm_resume = juli_resume; in juli_init()
656 ice->pm_suspend = juli_suspend; in juli_init()
657 ice->pm_suspend_enabled = 1; in juli_init()