Lines Matching refs:info

50 	ac97_source_info *info = (ac97_source_info *)cookie;
56 value = auvia_codec_read(&dev->config, info->reg);
58 if (info->type & B_MIX_STEREO) {
59 mask = ((1 << (info->bits + 1)) - 1) << 8;
60 gain = ((value & mask) >> 8) * info->granularity;
61 if (info->polarity == 1)
62 values[0] = info->max_gain - gain;
64 values[0] = gain - info->min_gain;
66 mask = ((1 << (info->bits + 1)) - 1);
67 gain = (value & mask) * info->granularity;
68 if (info->polarity == 1)
69 values[1] = info->max_gain - gain;
71 values[1] = gain - info->min_gain;
73 mask = ((1 << (info->bits + 1)) - 1);
74 gain = (value & mask) * info->granularity;
75 if (info->polarity == 1)
76 values[0] = info->max_gain - gain;
78 values[0] = gain - info->min_gain;
83 value = auvia_codec_read(&dev->config, info->reg);
90 value = auvia_codec_read(&dev->config, info->reg);
108 ac97_source_info *info = (ac97_source_info *)cookie;
114 value = auvia_codec_read(&dev->config, info->reg);
115 if (info->type & B_MIX_STEREO) {
116 mask = ((1 << (info->bits + 1)) - 1) << 8;
119 if (info->polarity == 1)
120 gain = info->max_gain - values[0];
122 gain = values[0] - info->min_gain;
123 value |= ((uint16)(gain / info->granularity) << 8) & mask;
125 mask = ((1 << (info->bits + 1)) - 1);
127 if (info->polarity == 1)
128 gain = info->max_gain - values[1];
130 gain = values[1] - info->min_gain;
131 value |= ((uint16)(gain / info->granularity)) & mask;
133 mask = ((1 << (info->bits + 1)) - 1);
135 if (info->polarity == 1)
136 gain = info->max_gain - values[0];
138 gain = values[0] - info->min_gain;
139 value |= ((uint16)(gain / info->granularity)) & mask;
142 auvia_codec_write(&dev->config, info->reg, value);
146 value = auvia_codec_read(&dev->config, info->reg);
149 if (info->reg == AC97_SURR_VOLUME) {
156 auvia_codec_write(&dev->config, info->reg, value);
160 value = auvia_codec_read(&dev->config, info->reg);
164 auvia_codec_write(&dev->config, info->reg, value);
202 const ac97_source_info *info;
207 info = &source_info[0];
208 PRINT(("name : %s\n", info->name));
210 parent2 = auvia_create_group_control(multi, &index, parent, 0, info->name);
212 if (info->type & B_MIX_GAIN) {
213 if (info->type & B_MIX_MUTE) {
219 multi->controls[index].cookie = info;
230 strlcpy(multi->controls[index].mix_control.name, info->name,
232 multi->controls[index].mix_control.u.gain.min_gain = info->min_gain;
233 multi->controls[index].mix_control.u.gain.max_gain = info->max_gain;
234 multi->controls[index].mix_control.u.gain.granularity = info->granularity;
235 multi->controls[index].cookie = info;
242 if (info->type & B_MIX_STEREO) {
247 strlcpy(multi->controls[index].mix_control.name, info->name,
249 multi->controls[index].mix_control.u.gain.min_gain = info->min_gain;
250 multi->controls[index].mix_control.u.gain.max_gain = info->max_gain;
251 multi->controls[index].mix_control.u.gain.granularity = info->granularity;
252 multi->controls[index].cookie = info;
259 if (info->type & B_MIX_RECORDMUX) {
264 multi->controls[index].cookie = info;
320 info = &source_info[i];
321 PRINT(("name : %s\n", info->name));
323 parent2 = auvia_create_group_control(multi, &index, parent, 0, info->name);
325 if (info->type & B_MIX_GAIN) {
326 if (info->type & B_MIX_MUTE) {
332 multi->controls[index].cookie = info;
343 strlcpy(multi->controls[index].mix_control.name, info->name,
345 multi->controls[index].mix_control.u.gain.min_gain = info->min_gain;
346 multi->controls[index].mix_control.u.gain.max_gain = info->max_gain;
347 multi->controls[index].mix_control.u.gain.granularity = info->granularity;
348 multi->controls[index].cookie = info;
355 if (info->type & B_MIX_STEREO) {
360 strlcpy(multi->controls[index].mix_control.name, info->name,
362 multi->controls[index].mix_control.u.gain.min_gain = info->min_gain;
363 multi->controls[index].mix_control.u.gain.max_gain = info->max_gain;
364 multi->controls[index].mix_control.u.gain.granularity = info->granularity;
365 multi->controls[index].cookie = info;
377 info = &source_info[6];
379 if (info->type & B_MIX_GAIN && info->type & B_MIX_MICBOOST) {
385 multi->controls[index].cookie = info;
664 switch (card->info.revision) {