Lines Matching refs:ctl

335 	struct snd_emu10k1_fx8010_ctl *ctl =
338 if (ctl->min == 0 && ctl->max == 1)
342 uinfo->count = ctl->vcount;
343 uinfo->value.integer.min = ctl->min;
344 uinfo->value.integer.max = ctl->max;
350 struct snd_emu10k1_fx8010_ctl *ctl =
354 for (i = 0; i < ctl->vcount; i++)
355 ucontrol->value.integer.value[i] = ctl->value[i];
362 struct snd_emu10k1_fx8010_ctl *ctl =
368 for (i = 0; i < ctl->vcount; i++) {
370 if (nval < ctl->min)
371 nval = ctl->min;
372 if (nval > ctl->max)
373 nval = ctl->max;
374 if (nval != ctl->value[i])
376 val = ctl->value[i] = nval;
377 switch (ctl->translation) {
379 snd_emu10k1_ptr_write(emu, emu->gpr_base + ctl->gpr[i], 0, val);
382 snd_emu10k1_ptr_write(emu, emu->gpr_base + ctl->gpr[i], 0, ~val);
385 snd_emu10k1_ptr_write(emu, emu->gpr_base + ctl->gpr[i], 0, db_table[val]);
388 snd_emu10k1_ptr_write(emu, emu->gpr_base + ctl->gpr[i], 0,
392 if ((ctl->count % 5) != 0 || (ctl->count / 5) != ctl->vcount) {
397 snd_emu10k1_ptr_write(emu, emu->gpr_base + ctl->gpr[j * ctl->vcount + i], 0, bass_table[val][j]);
400 if ((ctl->count % 5) != 0 || (ctl->count / 5) != ctl->vcount) {
405 snd_emu10k1_ptr_write(emu, emu->gpr_base + ctl->gpr[j * ctl->vcount + i], 0, treble_table[val][j]);
408 snd_emu10k1_ptr_write(emu, emu->gpr_base + ctl->gpr[i], 0, onoff_table[val]);
667 struct snd_emu10k1_fx8010_ctl *ctl;
670 list_for_each_entry(ctl, &emu->fx8010.gpr_ctl, list) {
671 kcontrol = ctl->kcontrol;
675 return ctl;
849 struct snd_emu10k1_fx8010_ctl *ctl;
851 ctl = (struct snd_emu10k1_fx8010_ctl *) kctl->private_value;
853 list_del(&ctl->list);
854 kfree(ctl);
865 struct snd_emu10k1_fx8010_ctl *ctl, *nctl;
895 ctl = snd_emu10k1_look_for_ctl(emu, &gctl->id);
920 if (ctl == NULL) {
921 ctl = kmalloc(sizeof(*ctl), GFP_KERNEL);
922 if (ctl == NULL) {
927 knew.private_value = (unsigned long)ctl;
928 *ctl = *nctl;
932 kfree(ctl);
937 ctl->kcontrol = kctl;
938 list_add_tail(&ctl->list, &emu->fx8010.gpr_ctl);
941 nctl->list = ctl->list;
942 nctl->kcontrol = ctl->kcontrol;
943 *ctl = *nctl;
945 SNDRV_CTL_EVENT_MASK_INFO, &ctl->kcontrol->id);
947 snd_emu10k1_gpr_ctl_put(ctl->kcontrol, val);
962 struct snd_emu10k1_fx8010_ctl *ctl;
971 ctl = snd_emu10k1_look_for_ctl(emu, &id);
972 if (ctl)
973 snd_ctl_remove(card, ctl->kcontrol);
984 struct snd_emu10k1_fx8010_ctl *ctl;
991 list_for_each_entry(ctl, &emu->fx8010.gpr_ctl, list) {
996 id = &ctl->kcontrol->id;
1002 gctl->vcount = ctl->vcount;
1003 gctl->count = ctl->count;
1005 gctl->gpr[j] = ctl->gpr[j];
1006 gctl->value[j] = ctl->value[j];
1008 gctl->min = ctl->min;
1009 gctl->max = ctl->max;
1010 gctl->translation = ctl->translation;
1174 snd_emu10k1_init_mono_control2(struct snd_emu10k1_fx8010_control_gpr *ctl,
1177 ctl->id.iface = (__force int)SNDRV_CTL_ELEM_IFACE_MIXER;
1178 strcpy(ctl->id.name, name);
1179 ctl->vcount = ctl->count = 1;
1181 ctl->min = -1;
1182 ctl->max = 0x7fffffff;
1183 ctl->tlv = snd_emu10k1_db_linear;
1184 ctl->translation = EMU10K1_GPR_TRANSLATION_NEGATE;
1187 ctl->min = 0;
1188 ctl->max = 100;
1189 ctl->tlv = snd_emu10k1_db_scale1;
1190 ctl->translation = EMU10K1_GPR_TRANSLATION_NEG_TABLE100;
1192 ctl->gpr[0] = gpr + 0; ctl->value[0] = defval;
1194 #define snd_emu10k1_init_mono_control(ctl, name, gpr, defval) \
1195 snd_emu10k1_init_mono_control2(ctl, name, gpr, defval, HR_VAL(defval))
1198 snd_emu10k1_init_stereo_control2(struct snd_emu10k1_fx8010_control_gpr *ctl,
1201 ctl->id.iface = (__force int)SNDRV_CTL_ELEM_IFACE_MIXER;
1202 strcpy(ctl->id.name, name);
1203 ctl->vcount = ctl->count = 2;
1205 ctl->min = -1;
1206 ctl->max = 0x7fffffff;
1207 ctl->tlv = snd_emu10k1_db_linear;
1208 ctl->translation = EMU10K1_GPR_TRANSLATION_NEGATE;
1211 ctl->min = 0;
1212 ctl->max = 100;
1213 ctl->tlv = snd_emu10k1_db_scale1;
1214 ctl->translation = EMU10K1_GPR_TRANSLATION_NEG_TABLE100;
1216 ctl->gpr[0] = gpr + 0; ctl->value[0] = defval;
1217 ctl->gpr[1] = gpr + 1; ctl->value[1] = defval;
1219 #define snd_emu10k1_init_stereo_control(ctl, name, gpr, defval) \
1220 snd_emu10k1_init_stereo_control2(ctl, name, gpr, defval, HR_VAL(defval))
1223 snd_emu10k1_init_mono_onoff_control(struct snd_emu10k1_fx8010_control_gpr *ctl,
1226 ctl->id.iface = (__force int)SNDRV_CTL_ELEM_IFACE_MIXER;
1227 strcpy(ctl->id.name, name);
1228 ctl->vcount = ctl->count = 1;
1229 ctl->gpr[0] = gpr + 0; ctl->value[0] = defval;
1230 ctl->min = 0;
1231 ctl->max = 1;
1232 ctl->translation = EMU10K1_GPR_TRANSLATION_ONOFF;
1236 snd_emu10k1_init_stereo_onoff_control(struct snd_emu10k1_fx8010_control_gpr *ctl,
1239 ctl->id.iface = (__force int)SNDRV_CTL_ELEM_IFACE_MIXER;
1240 strcpy(ctl->id.name, name);
1241 ctl->vcount = ctl->count = 2;
1242 ctl->gpr[0] = gpr + 0; ctl->value[0] = defval;
1243 ctl->gpr[1] = gpr + 1; ctl->value[1] = defval;
1244 ctl->min = 0;
1245 ctl->max = 1;
1246 ctl->translation = EMU10K1_GPR_TRANSLATION_ONOFF;
1299 struct snd_emu10k1_fx8010_control_gpr *controls = NULL, *ctl;
1564 ctl = &controls[nctl + 0];
1565 ctl->id.iface = (__force int)SNDRV_CTL_ELEM_IFACE_MIXER;
1566 strcpy(ctl->id.name, "Tone Control - Bass");
1567 ctl->vcount = 2;
1568 ctl->count = 10;
1569 ctl->min = 0;
1570 ctl->max = 40;
1571 ctl->value[0] = ctl->value[1] = 20;
1572 ctl->translation = EMU10K1_GPR_TRANSLATION_BASS;
1573 ctl = &controls[nctl + 1];
1574 ctl->id.iface = (__force int)SNDRV_CTL_ELEM_IFACE_MIXER;
1575 strcpy(ctl->id.name, "Tone Control - Treble");
1576 ctl->vcount = 2;
1577 ctl->count = 10;
1578 ctl->min = 0;
1579 ctl->max = 40;
1580 ctl->value[0] = ctl->value[1] = 20;
1581 ctl->translation = EMU10K1_GPR_TRANSLATION_TREBLE;
1817 struct snd_emu10k1_fx8010_control_gpr *controls = NULL, *ctl;
2161 ctl = &controls[i + 0];
2162 ctl->id.iface = (__force int)SNDRV_CTL_ELEM_IFACE_MIXER;
2163 strcpy(ctl->id.name, "Tone Control - Bass");
2164 ctl->vcount = 2;
2165 ctl->count = 10;
2166 ctl->min = 0;
2167 ctl->max = 40;
2168 ctl->value[0] = ctl->value[1] = 20;
2169 ctl->tlv = snd_emu10k1_bass_treble_db_scale;
2170 ctl->translation = EMU10K1_GPR_TRANSLATION_BASS;
2171 ctl = &controls[i + 1];
2172 ctl->id.iface = (__force int)SNDRV_CTL_ELEM_IFACE_MIXER;
2173 strcpy(ctl->id.name, "Tone Control - Treble");
2174 ctl->vcount = 2;
2175 ctl->count = 10;
2176 ctl->min = 0;
2177 ctl->max = 40;
2178 ctl->value[0] = ctl->value[1] = 20;
2179 ctl->tlv = snd_emu10k1_bass_treble_db_scale;
2180 ctl->translation = EMU10K1_GPR_TRANSLATION_TREBLE;