mix
struct uaudio_mixer_node *mix)
mix->class = UAC_RECORD;
mix->class = UAC_INPUT;
mix->class = UAC_OUTPUT;
struct uaudio_mixer_node *mix)
mix->class = UAC_RECORD;
mix->class = UAC_INPUT;
mix->class = UAC_OUTPUT;
struct uaudio_mixer_node *mix)
uint16_t terminal_type = uaudio_mixer_determine_class(iot, mix);
if ((mix->class == UAC_RECORD) && (terminal_type == 0)) {
struct uaudio_mixer_node *mix)
uint16_t terminal_type = uaudio20_mixer_determine_class(iot, mix);
if ((mix->class == UAC_RECORD) && (terminal_type == 0))
mask |= codec->mix[i].enable? 1 << i : 0;
mask |= codec->mix[i].recidx? 1 << i : 0;
struct ac97mixtable_entry *e = &codec->mix[channel];
struct ac97mixtable_entry *e = &codec->mix[channel];
codec->mix[SOUND_MIXER_OGAIN].reg = AC97_MIXEXT_SURROUND;
bzero(&codec->mix[SOUND_MIXER_OGAIN],
sizeof(codec->mix[SOUND_MIXER_OGAIN]));
bzero(&codec->mix[SOUND_MIXER_BASS],
sizeof(codec->mix[SOUND_MIXER_BASS]));
bzero(&codec->mix[SOUND_MIXER_TREBLE],
sizeof(codec->mix[SOUND_MIXER_TREBLE]));
struct ac97mixtable_entry mix[AC97_MIXER_SIZE];
codec->mix[i] = ac97mixtable_default[i];
k = codec->noext? codec->mix[i].enable : 1;
reg = codec->mix[i].reg;
if (codec->mix[i].mute) {
bit = codec->mix[i].bits;
j = ((1 << bit) - 1) << codec->mix[i].ofs;
j | (codec->mix[i].mute ? 0x8000 : 0));
k >>= codec->mix[i].ofs;
i, k, bit, codec->mix[i].bits, j);
codec->mix[i].enable = 1;
codec->mix[i].bits = j;
codec->mix[i].enable = 1;
codec->mix[i].enable = 0;
codec->mix[i].enable = 0;
printf("mixch %d, en=%d, b=%d\n", i, codec->mix[i].enable, codec->mix[i].bits);
kprintf("%s%d bit master volume", j++? ", " : "", codec->mix[SOUND_MIXER_VOLUME].bits);
if (codec->mix[SOUND_MIXER_OGAIN].enable)
if (codec->mix[SOUND_MIXER_PHONEOUT].enable)
if (codec->mix[SOUND_MIXER_VOLUME].enable)
codec->mix[SOUND_MIXER_OGAIN].enable = 1;
codec->mix[SOUND_MIXER_PHONEOUT].enable = 1;
bzero(&codec->mix[SOUND_MIXER_PCM],
sizeof(codec->mix[SOUND_MIXER_PCM]));
if (info->mix == NULL) {
info->mix(tmp, b, cnt);
feed_mixer_t mix;
mix(a, b, c);
mix(a, b, c);
mix(a, b, c);
mix(a, b, c);
mix(a, b, c);
mix(a, b, c);
mix(a, b, c);
mix(a, b, c);