Lines Matching refs:audio

161  * change the audio input source
176 * change the audio source if necessary and possible
191 * audio level, mute, monitoring
204 static int vx_adjust_audio_level(struct vx_core *chip, int audio, int capture,
216 rmh.Cmd[1] = 1 << audio;
243 static int vx_read_audio_level(struct vx_core *chip, int audio, int capture,
254 rmh.Cmd[1] = 1 << audio;
267 * set the monitoring level and mute state of the given audio
270 int vx_set_monitor_level(struct vx_core *chip, int audio, int level, int active)
279 chip->audio_monitor[audio] = level;
280 chip->audio_monitor_active[audio] = active;
281 return vx_adjust_audio_level(chip, audio, 0, &info); /* playback only */
286 * set the mute status of the given audio
288 static int vx_set_audio_switch(struct vx_core *chip, int audio, int active)
295 chip->audio_active[audio] = active;
296 return vx_adjust_audio_level(chip, audio, 0, &info); /* playback only */
300 * set the mute status of the given audio
302 static int vx_set_audio_gain(struct vx_core *chip, int audio, int capture, int level)
309 chip->audio_gain[capture][audio] = level;
310 return vx_adjust_audio_level(chip, audio, capture, &info);
314 * reset all audio levels
358 * @audio: the audio index
362 static int vx_get_audio_vu_meter(struct vx_core *chip, int audio, int capture, struct vx_vu_meter *info)
378 rmh.Cmd[1] |= 1 << (audio + i);
384 info->saturated = (rmh.Stat[0] & (1 << (audio + i))) ? 1 : 0;
457 * audio source select
571 int audio = kcontrol->private_value & 0xff;
575 ucontrol->value.integer.value[0] = chip->audio_gain[capture][audio];
576 ucontrol->value.integer.value[1] = chip->audio_gain[capture][audio+1];
584 int audio = kcontrol->private_value & 0xff;
593 if (val[0] != chip->audio_gain[capture][audio] ||
594 val[1] != chip->audio_gain[capture][audio+1]) {
595 vx_set_audio_gain(chip, audio, capture, val[0]);
596 vx_set_audio_gain(chip, audio+1, capture, val[1]);
607 int audio = kcontrol->private_value & 0xff;
610 ucontrol->value.integer.value[0] = chip->audio_monitor[audio];
611 ucontrol->value.integer.value[1] = chip->audio_monitor[audio+1];
619 int audio = kcontrol->private_value & 0xff;
628 if (val[0] != chip->audio_monitor[audio] ||
629 val[1] != chip->audio_monitor[audio+1]) {
630 vx_set_monitor_level(chip, audio, val[0],
631 chip->audio_monitor_active[audio]);
632 vx_set_monitor_level(chip, audio+1, val[1],
633 chip->audio_monitor_active[audio+1]);
646 int audio = kcontrol->private_value & 0xff;
649 ucontrol->value.integer.value[0] = chip->audio_active[audio];
650 ucontrol->value.integer.value[1] = chip->audio_active[audio+1];
658 int audio = kcontrol->private_value & 0xff;
661 if (ucontrol->value.integer.value[0] != chip->audio_active[audio] ||
662 ucontrol->value.integer.value[1] != chip->audio_active[audio+1]) {
663 vx_set_audio_switch(chip, audio,
665 vx_set_audio_switch(chip, audio+1,
677 int audio = kcontrol->private_value & 0xff;
680 ucontrol->value.integer.value[0] = chip->audio_monitor_active[audio];
681 ucontrol->value.integer.value[1] = chip->audio_monitor_active[audio+1];
689 int audio = kcontrol->private_value & 0xff;
692 if (ucontrol->value.integer.value[0] != chip->audio_monitor_active[audio] ||
693 ucontrol->value.integer.value[1] != chip->audio_monitor_active[audio+1]) {
694 vx_set_monitor_level(chip, audio, chip->audio_monitor[audio],
696 vx_set_monitor_level(chip, audio+1, chip->audio_monitor[audio+1],
832 int audio = kcontrol->private_value & 0xff;
835 vx_get_audio_vu_meter(chip, audio, capture, meter);
845 int audio = kcontrol->private_value & 0xff;
848 vx_get_audio_vu_meter(chip, audio, capture, meter);
860 int audio = kcontrol->private_value & 0xff;
862 vx_get_audio_vu_meter(chip, audio, 1, meter); /* capture only */