Lines Matching refs:mix

54 static int daca_set_volume(struct pmac_daca *mix)
58 if (! mix->i2c.client)
61 if (mix->left_vol > DACA_VOL_MAX)
64 data[0] = mix->left_vol;
65 if (mix->right_vol > DACA_VOL_MAX)
68 data[1] = mix->right_vol;
69 data[1] |= mix->deemphasis ? 0x40 : 0;
70 if (i2c_smbus_write_block_data(mix->i2c.client, DACA_REG_AVOL,
86 struct pmac_daca *mix;
87 if (! (mix = chip->mixer_data))
89 ucontrol->value.integer.value[0] = mix->deemphasis ? 1 : 0;
97 struct pmac_daca *mix;
100 if (! (mix = chip->mixer_data))
102 change = mix->deemphasis != ucontrol->value.integer.value[0];
104 mix->deemphasis = !!ucontrol->value.integer.value[0];
105 daca_set_volume(mix);
125 struct pmac_daca *mix;
126 if (! (mix = chip->mixer_data))
128 ucontrol->value.integer.value[0] = mix->left_vol;
129 ucontrol->value.integer.value[1] = mix->right_vol;
137 struct pmac_daca *mix;
141 if (! (mix = chip->mixer_data))
147 change = mix->left_vol != vol[0] ||
148 mix->right_vol != vol[1];
150 mix->left_vol = vol[0];
151 mix->right_vol = vol[1];
152 daca_set_volume(mix);
164 struct pmac_daca *mix;
165 if (! (mix = chip->mixer_data))
167 ucontrol->value.integer.value[0] = mix->amp_on ? 1 : 0;
175 struct pmac_daca *mix;
178 if (! (mix = chip->mixer_data))
180 change = mix->amp_on != ucontrol->value.integer.value[0];
182 mix->amp_on = !!ucontrol->value.integer.value[0];
183 i2c_smbus_write_byte_data(mix->i2c.client, DACA_REG_GCFG,
184 mix->amp_on ? 0x05 : 0x04);
214 struct pmac_daca *mix = chip->mixer_data;
215 i2c_smbus_write_byte_data(mix->i2c.client, DACA_REG_SR, 0x08);
216 i2c_smbus_write_byte_data(mix->i2c.client, DACA_REG_GCFG,
217 mix->amp_on ? 0x05 : 0x04);
218 daca_set_volume(mix);
225 struct pmac_daca *mix = chip->mixer_data;
226 if (! mix)
228 snd_pmac_keywest_cleanup(&mix->i2c);
229 kfree(mix);
237 struct pmac_daca *mix;
241 mix = kzalloc(sizeof(*mix), GFP_KERNEL);
242 if (! mix)
244 chip->mixer_data = mix;
246 mix->amp_on = 1; /* default on */
248 mix->i2c.addr = DACA_I2C_ADDR;
249 mix->i2c.init_client = daca_init_client;
250 mix->i2c.name = "DACA";
251 if ((err = snd_pmac_keywest_init(&mix->i2c)) < 0)