Lines Matching refs:si

630 		const struct ac97_source_info *si = &source_info[idx];  in ac97_setup_defaults()  local
632 ac97_write(as, si->reg, si->default_value); in ac97_setup_defaults()
675 struct ac97_source_info *si, *si2; in ac97_setup_source_info() local
679 si = &as->source_info[ouridx]; in ac97_setup_source_info()
684 bcopy(&source_info[idx], si, sizeof(*si)); in ac97_setup_source_info()
686 switch (si->type) { in ac97_setup_source_info()
688 si->mixer_class = ouridx; in ac97_setup_source_info()
696 if (si->mute) { in ac97_setup_source_info()
697 si = &as->source_info[ouridx]; in ac97_setup_source_info()
698 bcopy(&source_info[idx], si, sizeof(*si)); in ac97_setup_source_info()
699 si->qualifier = AudioNmute; in ac97_setup_source_info()
700 si->type = AUDIO_MIXER_ENUM; in ac97_setup_source_info()
701 si->info = &ac97_on_off; in ac97_setup_source_info()
702 si->info_size = sizeof(ac97_on_off); in ac97_setup_source_info()
703 si->bits = 1; in ac97_setup_source_info()
704 si->ofs = 15; in ac97_setup_source_info()
705 si->mute = 0; in ac97_setup_source_info()
706 si->polarity = 0; in ac97_setup_source_info()
725 si = &as->source_info[idx]; in ac97_setup_source_info()
732 ac97_str_equal(si->class, si2->class)) { in ac97_setup_source_info()
733 si->mixer_class = idx2; in ac97_setup_source_info()
739 if (si->prev != 0 || si->qualifier) in ac97_setup_source_info()
742 si->prev = AUDIO_MIXER_LAST; in ac97_setup_source_info()
752 ac97_str_equal(si->class, si2->class) && in ac97_setup_source_info()
753 ac97_str_equal(si->device, si2->device)) { in ac97_setup_source_info()
1002 struct ac97_source_info *si = &as->source_info[dip->index]; in ac97_query_devinfo() local
1005 dip->type = si->type; in ac97_query_devinfo()
1006 dip->mixer_class = si->mixer_class; in ac97_query_devinfo()
1007 dip->prev = si->prev; in ac97_query_devinfo()
1008 dip->next = si->next; in ac97_query_devinfo()
1010 if (si->qualifier) in ac97_query_devinfo()
1011 name = si->qualifier; in ac97_query_devinfo()
1012 else if (si->device) in ac97_query_devinfo()
1013 name = si->device; in ac97_query_devinfo()
1014 else if (si->class) in ac97_query_devinfo()
1015 name = si->class; in ac97_query_devinfo()
1022 bcopy(si->info, &dip->un, si->info_size); in ac97_query_devinfo()
1026 dip->un.v.delta = 1 << (8 - si->bits); in ac97_query_devinfo()
1038 struct ac97_source_info *si; in ac97_mixer_set_port() local
1046 si = &as->source_info[cp->dev]; in ac97_mixer_set_port()
1048 if (cp->type == AUDIO_MIXER_CLASS || cp->type != si->type) in ac97_mixer_set_port()
1051 spdif = si->req_feature == CHECK_SPDIF && in ac97_mixer_set_port()
1052 si->reg == AC97_REG_EXT_AUDIO_CTRL; in ac97_mixer_set_port()
1056 ac97_read(as, si->reg, &val); in ac97_mixer_set_port()
1058 DPRINTFN(5, ("read(%x) = %x\n", si->reg, val)); in ac97_mixer_set_port()
1060 mask = (1 << si->bits) - 1; in ac97_mixer_set_port()
1067 newval = (cp->un.ord << si->ofs); in ac97_mixer_set_port()
1068 if (si->reg == AC97_REG_RECORD_SELECT) { in ac97_mixer_set_port()
1069 newval |= (newval << (8 + si->ofs)); in ac97_mixer_set_port()
1071 mask = mask << si->ofs; in ac97_mixer_set_port()
1072 } else if (si->reg == AC97_REG_SURR_MASTER) { in ac97_mixer_set_port()
1076 mask = mask << si->ofs; in ac97_mixer_set_port()
1078 if (si->mute) { in ac97_mixer_set_port()
1086 const struct audio_mixer_value *value = si->info; in ac97_mixer_set_port()
1105 if (!si->polarity) { in ac97_mixer_set_port()
1110 l >>= 8 - si->bits; in ac97_mixer_set_port()
1111 r >>= 8 - si->bits; in ac97_mixer_set_port()
1113 newval = ((l & mask) << si->ofs); in ac97_mixer_set_port()
1115 newval |= ((r & mask) << (si->ofs + 8)); in ac97_mixer_set_port()
1118 mask = mask << si->ofs; in ac97_mixer_set_port()
1125 error = ac97_write(as, si->reg, (val & ~mask) | newval); in ac97_mixer_set_port()
1253 struct ac97_source_info *si; in ac97_add_port() local
1264 si = &as->source_info[ouridx]; in ac97_add_port()
1265 memcpy(si, src, sizeof(*si)); in ac97_add_port()
1267 switch (si->type) { in ac97_add_port()
1276 printf("%s: unknown type: %d\n", __func__, si->type); in ac97_add_port()
1281 si->mixer_class = ac97_get_portnum_by_name(&as->codec_if, si->class, in ac97_add_port()
1284 idx = ac97_get_portnum_by_name(&as->codec_if, si->class, in ac97_add_port()
1285 si->device, NULL); in ac97_add_port()
1291 si->prev = idx; in ac97_add_port()
1292 si->next = AUDIO_MIXER_LAST; in ac97_add_port()
1305 struct ac97_source_info *si = &as->source_info[idx]; in ac97_get_portnum_by_name() local
1306 if (ac97_str_equal(class, si->class) && in ac97_get_portnum_by_name()
1307 ac97_str_equal(device, si->device) && in ac97_get_portnum_by_name()
1308 ac97_str_equal(qualifier, si->qualifier)) in ac97_get_portnum_by_name()
1319 struct ac97_source_info *si; in ac97_mixer_get_port() local
1326 si = &as->source_info[cp->dev]; in ac97_mixer_get_port()
1328 if (cp->type != si->type) in ac97_mixer_get_port()
1331 ac97_read(as, si->reg, &val); in ac97_mixer_get_port()
1333 DPRINTFN(5, ("read(%x) = %x\n", si->reg, val)); in ac97_mixer_get_port()
1335 mask = (1 << si->bits) - 1; in ac97_mixer_get_port()
1339 cp->un.ord = (val >> si->ofs) & mask; in ac97_mixer_get_port()
1340 DPRINTFN(4, ("AUDIO_MIXER_ENUM: %x %d %x %d\n", val, si->ofs, in ac97_mixer_get_port()
1345 const struct audio_mixer_value *value = si->info; in ac97_mixer_get_port()
1353 l = r = (val >> si->ofs) & mask; in ac97_mixer_get_port()
1356 l = (val >> si->ofs) & mask; in ac97_mixer_get_port()
1357 r = (val >> (si->ofs + 8)) & mask; in ac97_mixer_get_port()
1359 r = (val >> si->ofs) & mask; in ac97_mixer_get_port()
1360 l = (val >> (si->ofs + 8)) & mask; in ac97_mixer_get_port()
1364 l <<= 8 - si->bits; in ac97_mixer_get_port()
1365 r <<= 8 - si->bits; in ac97_mixer_get_port()
1366 if (!si->polarity) { in ac97_mixer_get_port()