Lines Matching refs:wm
70 struct snd_wm8776 wm[2];
76 static void wm8776_write(struct snd_ice1712 *ice, struct snd_wm8776 *wm,
83 snd_vt1724_write_i2c(ice, wm->addr,
86 wm->regs[reg] = val;
92 static int wm8776_write_bits(struct snd_ice1712 *ice, struct snd_wm8776 *wm,
96 val |= wm->regs[reg] & ~mask;
97 if (val != wm->regs[reg]) {
98 wm8776_write(ice, wm, reg, val);
174 struct snd_wm8776 *wm =
175 &chip->wm[snd_ctl_get_ioff(kcontrol, &ucontrol->id)];
179 ucontrol->value.integer.value[0] = wm->volumes[idx][0];
180 ucontrol->value.integer.value[1] = wm->volumes[idx][1];
189 struct snd_wm8776 *wm =
190 &chip->wm[snd_ctl_get_ioff(kcontrol, &ucontrol->id)];
201 if (val == wm->volumes[idx][ch])
208 changed |= wm8776_write_bits(chip->ice, wm, vol->regs[ch],
211 wm8776_write_bits(chip->ice, wm, WM8776_REG_ADC_MUX,
214 wm->volumes[idx][ch] = val;
235 struct snd_wm8776 *wm =
236 &chip->wm[snd_ctl_get_ioff(kcontrol, &ucontrol->id)];
239 ucontrol->value.integer.value[0] = (wm->switch_bits >> idx) & 1;
247 struct snd_wm8776 *wm =
248 &chip->wm[snd_ctl_get_ioff(kcontrol, &ucontrol->id)];
255 wm->switch_bits &= ~mask;
258 wm->switch_bits |= mask;
260 changed = wm8776_write_bits(chip->ice, wm,
339 wm8776_write_bits(chip->ice, &chip->wm[idx], WM8776_REG_ADC_MUX,
535 struct snd_wm8776 *wm, unsigned int addr)
567 wm->addr = addr;
569 wm->switch_bits = (1 << WM_SW_DAC);
575 wm8776_write(ice, wm, reg, data);
640 wm8776_write_bits(ice, &chip->wm[i],
690 wm8776_init(ice, &chip->wm[i], wm8776_addr[i]);