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 mix = chip->mixer_data;
88 if (!mix)
90 ucontrol->value.integer.value[0] = mix->deemphasis ? 1 : 0;
98 struct pmac_daca *mix;
101 mix = chip->mixer_data;
102 if (!mix)
104 change = mix->deemphasis != ucontrol->value.integer.value[0];
106 mix->deemphasis = !!ucontrol->value.integer.value[0];
107 daca_set_volume(mix);
127 struct pmac_daca *mix;
128 mix = chip->mixer_data;
129 if (!mix)
131 ucontrol->value.integer.value[0] = mix->left_vol;
132 ucontrol->value.integer.value[1] = mix->right_vol;
140 struct pmac_daca *mix;
144 mix = chip->mixer_data;
145 if (!mix)
151 change = mix->left_vol != vol[0] ||
152 mix->right_vol != vol[1];
154 mix->left_vol = vol[0];
155 mix->right_vol = vol[1];
156 daca_set_volume(mix);
168 struct pmac_daca *mix;
169 mix = chip->mixer_data;
170 if (!mix)
172 ucontrol->value.integer.value[0] = mix->amp_on ? 1 : 0;
180 struct pmac_daca *mix;
183 mix = chip->mixer_data;
184 if (!mix)
186 change = mix->amp_on != ucontrol->value.integer.value[0];
188 mix->amp_on = !!ucontrol->value.integer.value[0];
189 i2c_smbus_write_byte_data(mix->i2c.client, DACA_REG_GCFG,
190 mix->amp_on ? 0x05 : 0x04);
220 struct pmac_daca *mix = chip->mixer_data;
221 i2c_smbus_write_byte_data(mix->i2c.client, DACA_REG_SR, 0x08);
222 i2c_smbus_write_byte_data(mix->i2c.client, DACA_REG_GCFG,
223 mix->amp_on ? 0x05 : 0x04);
224 daca_set_volume(mix);
231 struct pmac_daca *mix = chip->mixer_data;
232 if (! mix)
234 snd_pmac_keywest_cleanup(&mix->i2c);
235 kfree(mix);
243 struct pmac_daca *mix;
247 mix = kzalloc(sizeof(*mix), GFP_KERNEL);
248 if (! mix)
250 chip->mixer_data = mix;
252 mix->amp_on = 1; /* default on */
254 mix->i2c.addr = DACA_I2C_ADDR;
255 mix->i2c.init_client = daca_init_client;
256 mix->i2c.name = "DACA";
257 err = snd_pmac_keywest_init(&mix->i2c);