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