Lines Matching refs:wm
85 struct snd_wm8776 wm[2];
91 static void wm8776_write(struct snd_ice1712 *ice, struct snd_wm8776 *wm,
98 snd_vt1724_write_i2c(ice, wm->addr,
101 wm->regs[reg] = val;
107 static int wm8776_write_bits(struct snd_ice1712 *ice, struct snd_wm8776 *wm,
111 val |= wm->regs[reg] & ~mask;
112 if (val != wm->regs[reg]) {
113 wm8776_write(ice, wm, reg, val);
189 struct snd_wm8776 *wm =
190 &chip->wm[snd_ctl_get_ioff(kcontrol, &ucontrol->id)];
194 ucontrol->value.integer.value[0] = wm->volumes[idx][0];
195 ucontrol->value.integer.value[1] = wm->volumes[idx][1];
204 struct snd_wm8776 *wm =
205 &chip->wm[snd_ctl_get_ioff(kcontrol, &ucontrol->id)];
216 if (val == wm->volumes[idx][ch])
223 changed |= wm8776_write_bits(chip->ice, wm, vol->regs[ch],
226 wm8776_write_bits(chip->ice, wm, WM8776_REG_ADC_MUX,
229 wm->volumes[idx][ch] = val;
250 struct snd_wm8776 *wm =
251 &chip->wm[snd_ctl_get_ioff(kcontrol, &ucontrol->id)];
254 ucontrol->value.integer.value[0] = (wm->switch_bits >> idx) & 1;
262 struct snd_wm8776 *wm =
263 &chip->wm[snd_ctl_get_ioff(kcontrol, &ucontrol->id)];
270 wm->switch_bits &= ~mask;
273 wm->switch_bits |= mask;
275 changed = wm8776_write_bits(chip->ice, wm,
354 wm8776_write_bits(chip->ice, &chip->wm[idx], WM8776_REG_ADC_MUX,
566 struct snd_wm8776 *wm, unsigned int addr)
598 wm->addr = addr;
600 wm->switch_bits = (1 << WM_SW_DAC);
606 wm8776_write(ice, wm, reg, data);
671 wm8776_write_bits(ice, &chip->wm[i],
721 wm8776_init(ice, &chip->wm[i], wm8776_addr[i]);