• 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/

Lines Matching defs:ak4531

38 static void snd_ak4531_proc_init(struct snd_card *card, struct snd_ak4531 *ak4531);
79 struct snd_ak4531 *ak4531 = snd_kcontrol_chip(kcontrol);
86 mutex_lock(&ak4531->reg_mutex);
87 val = (ak4531->regs[reg] >> shift) & mask;
88 mutex_unlock(&ak4531->reg_mutex);
98 struct snd_ak4531 *ak4531 = snd_kcontrol_chip(kcontrol);
111 mutex_lock(&ak4531->reg_mutex);
112 val = (ak4531->regs[reg] & ~(mask << shift)) | val;
113 change = val != ak4531->regs[reg];
114 ak4531->write(ak4531, reg, ak4531->regs[reg] = val);
115 mutex_unlock(&ak4531->reg_mutex);
146 struct snd_ak4531 *ak4531 = snd_kcontrol_chip(kcontrol);
155 mutex_lock(&ak4531->reg_mutex);
156 left = (ak4531->regs[left_reg] >> left_shift) & mask;
157 right = (ak4531->regs[right_reg] >> right_shift) & mask;
158 mutex_unlock(&ak4531->reg_mutex);
170 struct snd_ak4531 *ak4531 = snd_kcontrol_chip(kcontrol);
188 mutex_lock(&ak4531->reg_mutex);
190 left = (ak4531->regs[left_reg] & ~((mask << left_shift) | (mask << right_shift))) | left | right;
191 change = left != ak4531->regs[left_reg];
192 ak4531->write(ak4531, left_reg, ak4531->regs[left_reg] = left);
194 left = (ak4531->regs[left_reg] & ~(mask << left_shift)) | left;
195 right = (ak4531->regs[right_reg] & ~(mask << right_shift)) | right;
196 change = left != ak4531->regs[left_reg] || right != ak4531->regs[right_reg];
197 ak4531->write(ak4531, left_reg, ak4531->regs[left_reg] = left);
198 ak4531->write(ak4531, right_reg, ak4531->regs[right_reg] = right);
200 mutex_unlock(&ak4531->reg_mutex);
221 struct snd_ak4531 *ak4531 = snd_kcontrol_chip(kcontrol);
227 mutex_lock(&ak4531->reg_mutex);
228 ucontrol->value.integer.value[0] = (ak4531->regs[reg1] >> left_shift) & 1;
229 ucontrol->value.integer.value[1] = (ak4531->regs[reg2] >> left_shift) & 1;
230 ucontrol->value.integer.value[2] = (ak4531->regs[reg1] >> right_shift) & 1;
231 ucontrol->value.integer.value[3] = (ak4531->regs[reg2] >> right_shift) & 1;
232 mutex_unlock(&ak4531->reg_mutex);
238 struct snd_ak4531 *ak4531 = snd_kcontrol_chip(kcontrol);
246 mutex_lock(&ak4531->reg_mutex);
247 val1 = ak4531->regs[reg1] & ~((1 << left_shift) | (1 << right_shift));
248 val2 = ak4531->regs[reg2] & ~((1 << left_shift) | (1 << right_shift));
253 change = val1 != ak4531->regs[reg1] || val2 != ak4531->regs[reg2];
254 ak4531->write(ak4531, reg1, ak4531->regs[reg1] = val1);
255 ak4531->write(ak4531, reg2, ak4531->regs[reg2] = val2);
256 mutex_unlock(&ak4531->reg_mutex);
328 static int snd_ak4531_free(struct snd_ak4531 *ak4531)
330 if (ak4531) {
331 if (ak4531->private_free)
332 ak4531->private_free(ak4531);
333 kfree(ak4531);
340 struct snd_ak4531 *ak4531 = device->device_data;
341 return snd_ak4531_free(ak4531);
379 struct snd_ak4531 *ak4531;
388 ak4531 = kzalloc(sizeof(*ak4531), GFP_KERNEL);
389 if (ak4531 == NULL)
391 *ak4531 = *_ak4531;
392 mutex_init(&ak4531->reg_mutex);
394 snd_ak4531_free(ak4531);
398 ak4531->write(ak4531, AK4531_RESET, 0x03); /* no RST, PD */
400 ak4531->write(ak4531, AK4531_CLOCK, 0x00); /* CODEC ADC and CODEC DAC use {LR,B}CLK2 and run off LRCLK2 PLL */
404 ak4531->write(ak4531, idx, ak4531->regs[idx] = snd_ak4531_initial_map[idx]); /* recording source is mixer */
407 if ((err = snd_ctl_add(card, snd_ctl_new1(&snd_ak4531_controls[idx], ak4531))) < 0) {
408 snd_ak4531_free(ak4531);
412 snd_ak4531_proc_init(card, ak4531);
413 if ((err = snd_device_new(card, SNDRV_DEV_CODEC, ak4531, &ops)) < 0) {
414 snd_ak4531_free(ak4531);
419 *rak4531 = ak4531;
427 void snd_ak4531_suspend(struct snd_ak4531 *ak4531)
430 ak4531->write(ak4531, AK4531_LMASTER, 0x9f);
431 ak4531->write(ak4531, AK4531_RMASTER, 0x9f);
433 ak4531->write(ak4531, AK4531_RESET, 0x01);
436 void snd_ak4531_resume(struct snd_ak4531 *ak4531)
441 ak4531->write(ak4531, AK4531_RESET, 0x03);
443 ak4531->write(ak4531, AK4531_CLOCK, 0x00);
448 ak4531->write(ak4531, idx, ak4531->regs[idx]);
461 struct snd_ak4531 *ak4531 = entry->private_data;
466 ak4531->regs[AK4531_AD_IN] & 1 ? "external" : "mixer",
467 ak4531->regs[AK4531_MIC_GAIN] & 1 ? "+30dB" : "+0dB");
471 snd_ak4531_proc_init(struct snd_card *card, struct snd_ak4531 *ak4531)
475 if (! snd_card_proc_new(card, "ak4531", &entry))
476 snd_info_set_text_ops(entry, ak4531, snd_ak4531_proc_read);