Lines Matching defs:ice
166 static void juli_spdif_in_open(struct snd_ice1712 *ice,
169 struct juli_spec *spec = ice->spec;
174 !ice->is_spdif_master(ice))
198 struct snd_ice1712 *ice = ak->private_data[0];
202 snd_vt1724_write_i2c(ice, AK4358_ADDR, addr, data);
212 struct snd_ice1712 *ice = ak->private_data[0];
213 struct juli_spec *spec = ice->spec;
231 old_gpio = ice->gpio.get_data(ice);
233 /* dev_dbg(ice->card->dev, "JULI - ak5385 set_rate_val: new gpio 0x%x\n",
235 ice->gpio.set_data(ice, new_gpio);
238 old = inb(ICEMT1724(ice, AC97_CMD));
239 outb(old | VT1724_AC97_COLD, ICEMT1724(ice, AC97_CMD));
241 outb(old & ~VT1724_AC97_COLD, ICEMT1724(ice, AC97_CMD));
292 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
294 val = ice->gpio.get_data(ice) & (unsigned int) kcontrol->private_value;
307 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
309 old_gpio = ice->gpio.get_data(ice);
316 snd_akm4xxx_write(ice->akm, 0, 0x01, 0x01);
327 snd_akm4xxx_write(ice->akm, 0, 0x01, 0x03);
333 /* dev_dbg(ice->card->dev,
339 ice->gpio.set_data(ice, new_gpio);
411 static int juli_add_controls(struct snd_ice1712 *ice)
413 struct juli_spec *spec = ice->spec;
418 err = snd_ice1712_akm4xxx_build_controls(ice);
423 err = snd_ctl_add(ice->card,
424 snd_ctl_new1(&juli_mute_controls[i], ice));
433 err = snd_ctl_add(ice->card, vmaster);
436 err = snd_ctl_add_followers(ice->card, vmaster, follower_vols);
442 ice->pcm->streams[SNDRV_PCM_STREAM_CAPTURE].substream);
450 static int juli_resume(struct snd_ice1712 *ice)
452 struct snd_akm4xxx *ak = ice->akm;
453 struct juli_spec *spec = ice->spec;
461 static int juli_suspend(struct snd_ice1712 *ice)
463 struct snd_akm4xxx *ak = ice->akm;
464 struct juli_spec *spec = ice->spec;
476 static inline int juli_is_spdif_master(struct snd_ice1712 *ice)
478 return (ice->gpio.get_data(ice) & GPIO_INTERNAL_CLOCK) ? 0 : 1;
481 static unsigned int juli_get_rate(struct snd_ice1712 *ice)
486 result = ice->gpio.get_data(ice) & GPIO_RATE_MASK;
494 static void juli_set_rate(struct snd_ice1712 *ice, unsigned int rate)
499 old = ice->gpio.get_data(ice);
501 /* dev_dbg(ice->card->dev, "JULI - set_rate: old %x, new %x\n",
505 ice->gpio.set_data(ice, new);
507 val = inb(ICEMT1724(ice, RATE));
508 outb(val | VT1724_SPDIF_MASTER, ICEMT1724(ice, RATE));
511 static inline unsigned char juli_set_mclk(struct snd_ice1712 *ice,
519 static int juli_set_spdif_clock(struct snd_ice1712 *ice, int type)
522 old = ice->gpio.get_data(ice);
524 ice->gpio.set_data(ice, (old & ~GPIO_RATE_MASK) | GPIO_MULTI_1X |
533 struct snd_ice1712 *ice = ak4114->change_callback_private;
535 if (ice->is_spdif_master(ice) && c1) {
538 /* dev_dbg(ice->card->dev, "ak4114 - input rate changed to %d\n",
540 juli_akm_set_rate_val(ice->akm, rate);
544 static int juli_init(struct snd_ice1712 *ice)
566 ice->spec = spec;
568 err = snd_ak4114_create(ice->card,
572 ice, &spec->ak4114);
577 spec->ak4114->change_callback_private = ice;
587 spec->analog = (ice->gpio.get_data(ice) & GPIO_ANALOG_PRESENT) ? 0 : 1;
593 dev_info(ice->card->dev, "juli@: analog I/O detected\n");
594 ice->num_total_dacs = 2;
595 ice->num_total_adcs = 2;
597 ice->akm = kzalloc(sizeof(struct snd_akm4xxx), GFP_KERNEL);
598 ak = ice->akm;
601 ice->akm_codecs = 1;
602 err = snd_ice1712_akm4xxx_init(ak, &akm_juli_dac, NULL, ice);
608 ice->hw_rates = &juli_rates_info;
609 ice->is_spdif_master = juli_is_spdif_master;
610 ice->get_rate = juli_get_rate;
611 ice->set_rate = juli_set_rate;
612 ice->set_mclk = juli_set_mclk;
613 ice->set_spdif_clock = juli_set_spdif_clock;
615 ice->spdif.ops.open = juli_spdif_in_open;
618 ice->pm_resume = juli_resume;
619 ice->pm_suspend = juli_suspend;
620 ice->pm_suspend_enabled = 1;