• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/sound/pci/ice1712/

Lines Matching defs:ice

128 static unsigned short wm_get(struct snd_ice1712 *ice, int reg)
131 return ((unsigned short)ice->akm[0].images[reg] << 8) |
132 ice->akm[0].images[reg + 1];
138 static void wm_put_nocache(struct snd_ice1712 *ice, int reg, unsigned short val)
142 snd_vt1724_write_i2c(ice, WM_DEV, cval >> 8, cval & 0xff);
145 static void wm_put(struct snd_ice1712 *ice, int reg, unsigned short val)
147 wm_put_nocache(ice, reg, val);
149 ice->akm[0].images[reg] = val >> 8;
150 ice->akm[0].images[reg + 1] = val;
157 static void set_gpio_bit(struct snd_ice1712 *ice, unsigned int bit, int val)
159 unsigned int tmp = snd_ice1712_gpio_read(ice);
164 snd_ice1712_gpio_write(ice, tmp);
171 static void wm8766_spi_send_word(struct snd_ice1712 *ice, unsigned int data)
175 set_gpio_bit(ice, WM8766_SPI_CLK, 0);
177 set_gpio_bit(ice, WM8766_SPI_MD, data & 0x8000);
179 set_gpio_bit(ice, WM8766_SPI_CLK, 1);
185 static void wm8766_spi_write(struct snd_ice1712 *ice, unsigned int reg,
190 snd_ice1712_gpio_set_dir(ice, WM8766_SPI_MD|
192 snd_ice1712_gpio_set_mask(ice, ~(WM8766_SPI_MD|
195 set_gpio_bit(ice, WM8766_SPI_ML, 0);
197 wm8766_spi_send_word(ice, block); /* REGISTER ADDRESS */
199 set_gpio_bit(ice, WM8766_SPI_ML, 1);
202 snd_ice1712_gpio_set_mask(ice, ice->gpio.write_mask);
203 snd_ice1712_gpio_set_dir(ice, ice->gpio.direction);
211 static void ak4396_send_word(struct snd_ice1712 *ice, unsigned int data)
215 set_gpio_bit(ice, AK4396_CCLK, 0);
217 set_gpio_bit(ice, AK4396_CDTI, data & 0x8000);
219 set_gpio_bit(ice, AK4396_CCLK, 1);
225 static void ak4396_write(struct snd_ice1712 *ice, unsigned int reg,
230 snd_ice1712_gpio_set_dir(ice, AK4396_CSN|AK4396_CCLK|AK4396_CDTI);
231 snd_ice1712_gpio_set_mask(ice, ~(AK4396_CSN|AK4396_CCLK|AK4396_CDTI));
233 set_gpio_bit(ice, AK4396_CSN, 0);
236 ak4396_send_word(ice, block); /* REGISTER ADDRESS */
238 set_gpio_bit(ice, AK4396_CSN, 1);
241 snd_ice1712_gpio_set_mask(ice, ice->gpio.write_mask);
242 snd_ice1712_gpio_set_dir(ice, ice->gpio.direction);
269 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
270 struct prodigy_hifi_spec *spec = ice->spec;
281 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
282 struct prodigy_hifi_spec *spec = ice->spec;
286 mutex_lock(&ice->gpio_mutex);
290 ak4396_write(ice, AK4396_LCH_ATT + i,
295 mutex_unlock(&ice->gpio_mutex);
345 static void wm_set_vol(struct snd_ice1712 *ice, unsigned int index,
358 wm_put(ice, index, nvol);
359 wm_put_nocache(ice, index, 0x100 | nvol);
362 static void wm8766_set_vol(struct snd_ice1712 *ice, unsigned int index,
375 wm8766_spi_write(ice, index, (0x0100 | nvol));
396 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
397 struct prodigy_hifi_spec *spec = ice->spec;
408 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
409 struct prodigy_hifi_spec *spec = ice->spec;
412 mutex_lock(&ice->gpio_mutex);
418 wm_set_vol(ice, idx, spec->vol[2 + i], spec->master[i]);
422 mutex_unlock(&ice->gpio_mutex);
444 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
445 struct prodigy_hifi_spec *spec = ice->spec;
457 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
458 struct prodigy_hifi_spec *spec = ice->spec;
464 mutex_lock(&ice->gpio_mutex);
470 wm8766_set_vol(ice, idx,
475 mutex_unlock(&ice->gpio_mutex);
495 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
496 struct prodigy_hifi_spec *spec = ice->spec;
506 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
507 struct prodigy_hifi_spec *spec = ice->spec;
510 mutex_lock(&ice->gpio_mutex);
516 wm_set_vol(ice, WM_DAC_ATTEN_L + ch,
519 wm8766_set_vol(ice, WM8766_LDA1 + ch,
522 wm8766_set_vol(ice, WM8766_LDA2 + ch,
525 wm8766_set_vol(ice, WM8766_LDA3 + ch,
530 mutex_unlock(&ice->gpio_mutex);
576 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
578 mutex_lock(&ice->gpio_mutex);
579 ucontrol->value.integer.value[0] = wm_get(ice, WM_ADC_MUX) & 0x1f;
580 mutex_unlock(&ice->gpio_mutex);
587 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
591 mutex_lock(&ice->gpio_mutex);
592 oval = wm_get(ice, WM_ADC_MUX);
595 wm_put(ice, WM_ADC_MUX, nval);
598 mutex_unlock(&ice->gpio_mutex);
625 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
629 mutex_lock(&ice->gpio_mutex);
631 val = wm_get(ice, WM_ADC_ATTEN_L + i) & 0xff;
635 mutex_unlock(&ice->gpio_mutex);
642 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
646 mutex_lock(&ice->gpio_mutex);
651 ovol = wm_get(ice, idx) & 0xff;
653 wm_put(ice, idx, nvol);
657 mutex_unlock(&ice->gpio_mutex);
669 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
672 mutex_lock(&ice->gpio_mutex);
674 (wm_get(ice, WM_ADC_MUX) & (1 << bit)) ? 1 : 0;
675 mutex_unlock(&ice->gpio_mutex);
682 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
687 mutex_lock(&ice->gpio_mutex);
688 nval = oval = wm_get(ice, WM_ADC_MUX);
695 wm_put(ice, WM_ADC_MUX, nval);
697 mutex_unlock(&ice->gpio_mutex);
709 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
711 mutex_lock(&ice->gpio_mutex);
713 (wm_get(ice, WM_OUT_MUX) & 0x04) ? 1 : 0;
714 mutex_unlock(&ice->gpio_mutex);
721 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
725 mutex_lock(&ice->gpio_mutex);
726 val = oval = wm_get(ice, WM_OUT_MUX);
732 wm_put(ice, WM_OUT_MUX, val);
735 mutex_unlock(&ice->gpio_mutex);
747 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
749 mutex_lock(&ice->gpio_mutex);
751 (wm_get(ice, WM_DAC_CTRL1) & 0xf0) != 0x90;
752 mutex_unlock(&ice->gpio_mutex);
759 struct snd_ice1712 *ice = snd_kcontrol_chip(kcontrol);
763 mutex_lock(&ice->gpio_mutex);
764 oval = wm_get(ice, WM_DAC_CTRL1);
771 wm_put(ice, WM_DAC_CTRL1, val);
772 wm_put_nocache(ice, WM_DAC_CTRL1, val);
775 mutex_unlock(&ice->gpio_mutex);
904 struct snd_ice1712 *ice = entry->private_data;
907 mutex_lock(&ice->gpio_mutex);
912 wm_put(ice, reg, val);
914 mutex_unlock(&ice->gpio_mutex);
920 struct snd_ice1712 *ice = entry->private_data;
923 mutex_lock(&ice->gpio_mutex);
925 val = wm_get(ice, reg);
928 mutex_unlock(&ice->gpio_mutex);
931 static void wm_proc_init(struct snd_ice1712 *ice)
934 if (!snd_card_proc_new(ice->card, "wm_codec", &entry)) {
935 snd_info_set_text_ops(entry, ice, wm_proc_regs_read);
941 static int __devinit prodigy_hifi_add_controls(struct snd_ice1712 *ice)
947 err = snd_ctl_add(ice->card,
948 snd_ctl_new1(&prodigy_hifi_controls[i], ice));
953 wm_proc_init(ice);
958 static int __devinit prodigy_hd2_add_controls(struct snd_ice1712 *ice)
964 err = snd_ctl_add(ice->card,
965 snd_ctl_new1(&prodigy_hd2_controls[i], ice));
970 wm_proc_init(ice);
979 static int __devinit prodigy_hifi_init(struct snd_ice1712 *ice)
1034 ice->vt1720 = 0;
1035 ice->vt1724 = 1;
1037 ice->num_total_dacs = 8;
1038 ice->num_total_adcs = 1;
1043 ice->gpio.saved[0] = 0;
1046 ice->akm = kzalloc(sizeof(struct snd_akm4xxx), GFP_KERNEL);
1047 if (! ice->akm)
1049 ice->akm_codecs = 1;
1054 ice->spec = spec;
1058 wm_put(ice, wm_inits[i], wm_inits[i+1]);
1061 wm_put(ice, wm_inits2[i], wm_inits2[i+1]);
1065 wm8766_spi_write(ice, wm8766_inits[i], wm8766_inits[i+1]);
1075 static void ak4396_init(struct snd_ice1712 *ice)
1089 ak4396_write(ice, AK4396_CTRL1, 0x86);
1091 ak4396_write(ice, AK4396_CTRL1, 0x87);
1094 ak4396_write(ice, ak4396_inits[i], ak4396_inits[i+1]);
1098 static int prodigy_hd2_resume(struct snd_ice1712 *ice)
1101 struct prodigy_hifi_spec *spec = ice->spec;
1103 mutex_lock(&ice->gpio_mutex);
1104 ak4396_init(ice);
1106 ak4396_write(ice, AK4396_LCH_ATT + i, spec->vol[i] & 0xff);
1107 mutex_unlock(&ice->gpio_mutex);
1112 static int __devinit prodigy_hd2_init(struct snd_ice1712 *ice)
1116 ice->vt1720 = 0;
1117 ice->vt1724 = 1;
1119 ice->num_total_dacs = 1;
1120 ice->num_total_adcs = 1;
1125 ice->gpio.saved[0] = 0;
1128 ice->akm = kzalloc(sizeof(struct snd_akm4xxx), GFP_KERNEL);
1129 if (! ice->akm)
1131 ice->akm_codecs = 1;
1136 ice->spec = spec;
1139 ice->pm_resume = &prodigy_hd2_resume;
1140 ice->pm_suspend_enabled = 1;
1143 ak4396_init(ice);