Lines Matching refs:ctrl

705 	ac97_ctrl_t *ctrl;  in ac97_control_find()  local
709 for (ctrl = list_head(l); ctrl; ctrl = list_next(l, ctrl)) { in ac97_control_find()
710 if (strcmp(ctrl->actrl_name, name) == 0) { in ac97_control_find()
711 return (ctrl); in ac97_control_find()
739 ac97_ctrl_t *ctrl; in ac_init_values() local
741 for (ctrl = list_head(&ac->ctrls); ctrl; in ac_init_values()
742 ctrl = list_next(&ac->ctrls, ctrl)) { in ac_init_values()
743 ctrl->actrl_value = ctrl->actrl_initval; in ac_init_values()
744 ctrl->actrl_write_fn(ctrl, ctrl->actrl_initval); in ac_init_values()
753 ac_insrc_set(ac97_ctrl_t *ctrl, uint64_t value) in ac_insrc_set() argument
755 ac97_t *ac = ctrl->actrl_ac97; in ac_insrc_set()
767 ac_gpr_toggle(ac97_ctrl_t *ctrl, int bit, uint64_t onoff) in ac_gpr_toggle() argument
769 ac97_t *ac = ctrl->actrl_ac97; in ac_gpr_toggle()
782 ac_3donoff_set(ac97_ctrl_t *ctrl, uint64_t value) in ac_3donoff_set() argument
784 ac_gpr_toggle(ctrl, GPR_3D_STEREO_ENHANCE, value); in ac_3donoff_set()
788 ac_loudness_set(ac97_ctrl_t *ctrl, uint64_t value) in ac_loudness_set() argument
790 ac_gpr_toggle(ctrl, GPR_BASS_BOOST, value); in ac_loudness_set()
794 ac_loopback_set(ac97_ctrl_t *ctrl, uint64_t value) in ac_loopback_set() argument
796 ac_gpr_toggle(ctrl, GPR_LPBK, value); in ac_loopback_set()
803 ac_stsim_set(ac97_ctrl_t *ctrl, uint64_t value) in ac_stsim_set() argument
805 ac_gpr_toggle(ctrl, GPR_ST, value); in ac_stsim_set()
812 ac_selmic_set(ac97_ctrl_t *ctrl, uint64_t value) in ac_selmic_set() argument
814 ac_gpr_toggle(ctrl, GPR_MS_MIC2, value & 2); in ac_selmic_set()
821 ac_monosrc_set(ac97_ctrl_t *ctrl, uint64_t value) in ac_monosrc_set() argument
823 ac_gpr_toggle(ctrl, GPR_MONO_MIC_IN, value & 2); in ac_monosrc_set()
827 ac_stereo_set(ac97_ctrl_t *ctrl, uint64_t value, uint8_t reg) in ac_stereo_set() argument
829 ac97_t *ac = ctrl->actrl_ac97; in ac_stereo_set()
835 mute = value ? 0 : ctrl->actrl_muteable; in ac_stereo_set()
837 ac_wr(ac, reg, ac_val_scale(left, right, ctrl->actrl_bits) | mute); in ac_stereo_set()
841 ac_mono_set(ac97_ctrl_t *ctrl, uint64_t value, uint8_t reg, int shift) in ac_mono_set() argument
843 ac97_t *ac = ctrl->actrl_ac97; in ac_mono_set()
849 mute = val ? 0 : ctrl->actrl_muteable; in ac_mono_set()
851 mask = ctrl->actrl_muteable | in ac_mono_set()
852 (((1 << ABS(ctrl->actrl_bits)) - 1) << shift); in ac_mono_set()
859 v |= (ac_mono_scale(val, ctrl->actrl_bits) << shift); in ac_mono_set()
865 ac97_master_set(ac97_ctrl_t *ctrl, uint64_t value) in ac97_master_set() argument
868 ac_stereo_set(ctrl, value, AC97_PCM_OUT_VOLUME_REGISTER); in ac97_master_set()
872 ac97_lineout_set(ac97_ctrl_t *ctrl, uint64_t value) in ac97_lineout_set() argument
874 ac_stereo_set(ctrl, value, AC97_MASTER_VOLUME_REGISTER); in ac97_lineout_set()
878 ac97_surround_set(ac97_ctrl_t *ctrl, uint64_t value) in ac97_surround_set() argument
880 ac_stereo_set(ctrl, value, AC97_EXTENDED_LRS_VOLUME_REGISTER); in ac97_surround_set()
884 ac97_aux1out_set(ac97_ctrl_t *ctrl, uint64_t value) in ac97_aux1out_set() argument
886 ac_stereo_set(ctrl, value, AC97_HEADPHONE_VOLUME_REGISTER); in ac97_aux1out_set()
890 ac97_headphone_set(ac97_ctrl_t *ctrl, uint64_t value) in ac97_headphone_set() argument
892 ac_stereo_set(ctrl, value, AC97_HEADPHONE_VOLUME_REGISTER); in ac97_headphone_set()
896 ac_cd_set(ac97_ctrl_t *ctrl, uint64_t value) in ac_cd_set() argument
898 ac_stereo_set(ctrl, value, AC97_CD_VOLUME_REGISTER); in ac_cd_set()
902 ac_video_set(ac97_ctrl_t *ctrl, uint64_t value) in ac_video_set() argument
904 ac_stereo_set(ctrl, value, AC97_VIDEO_VOLUME_REGISTER); in ac_video_set()
908 ac_auxin_set(ac97_ctrl_t *ctrl, uint64_t value) in ac_auxin_set() argument
910 ac_stereo_set(ctrl, value, AC97_AUX_VOLUME_REGISTER); in ac_auxin_set()
914 ac_linein_set(ac97_ctrl_t *ctrl, uint64_t value) in ac_linein_set() argument
916 ac_stereo_set(ctrl, value, AC97_LINE_IN_VOLUME_REGISTER); in ac_linein_set()
923 ac_monomic_set(ac97_ctrl_t *ctrl, uint64_t value) in ac_monomic_set() argument
925 ac_mono_set(ctrl, value, AC97_RECORD_GAIN_MIC_REGISTER, 0); in ac_monomic_set()
929 ac_phone_set(ac97_ctrl_t *ctrl, uint64_t value) in ac_phone_set() argument
931 ac_mono_set(ctrl, value, AC97_PHONE_VOLUME_REGISTER, 0); in ac_phone_set()
935 ac_mic_set(ac97_ctrl_t *ctrl, uint64_t value) in ac_mic_set() argument
937 ac_mono_set(ctrl, value, AC97_MIC_VOLUME_REGISTER, 0); in ac_mic_set()
941 ac_speaker_set(ac97_ctrl_t *ctrl, uint64_t value) in ac_speaker_set() argument
943 ac_mono_set(ctrl, value, AC97_MONO_MASTER_VOLUME_REGISTER, 0); in ac_speaker_set()
947 ac_pcbeep_set(ac97_ctrl_t *ctrl, uint64_t value) in ac_pcbeep_set() argument
949 ac_mono_set(ctrl, value, AC97_PC_BEEP_REGISTER, 1); in ac_pcbeep_set()
953 ac_recgain_set(ac97_ctrl_t *ctrl, uint64_t value) in ac_recgain_set() argument
955 ac_stereo_set(ctrl, value, AC97_RECORD_GAIN_REGISTER); in ac_recgain_set()
959 ac_center_set(ac97_ctrl_t *ctrl, uint64_t value) in ac_center_set() argument
961 ac_mono_set(ctrl, value, AC97_EXTENDED_C_LFE_VOLUME_REGISTER, 0); in ac_center_set()
965 ac_lfe_set(ac97_ctrl_t *ctrl, uint64_t value) in ac_lfe_set() argument
967 ac_mono_set(ctrl, value, AC97_EXTENDED_C_LFE_VOLUME_REGISTER, 8); in ac_lfe_set()
971 ac_bass_set(ac97_ctrl_t *ctrl, uint64_t value) in ac_bass_set() argument
973 ac_mono_set(ctrl, value, AC97_MASTER_TONE_CONTROL_REGISTER, 8); in ac_bass_set()
977 ac_treble_set(ac97_ctrl_t *ctrl, uint64_t value) in ac_treble_set() argument
979 ac_mono_set(ctrl, value, AC97_MASTER_TONE_CONTROL_REGISTER, 0); in ac_treble_set()
983 ac_3ddepth_set(ac97_ctrl_t *ctrl, uint64_t value) in ac_3ddepth_set() argument
991 ac_mono_set(ctrl, value, AC97_THREE_D_CONTROL_REGISTER, 0); in ac_3ddepth_set()
995 ac_3dcent_set(ac97_ctrl_t *ctrl, uint64_t value) in ac_3dcent_set() argument
1003 ac_mono_set(ctrl, value, AC97_THREE_D_CONTROL_REGISTER, 8); in ac_3dcent_set()
1007 ac97_micboost_set(ac97_ctrl_t *ctrl, uint64_t value) in ac97_micboost_set() argument
1009 ac97_t *ac = ctrl->actrl_ac97; in ac97_micboost_set()
1034 ac97_control_get(ac97_ctrl_t *ctrl, uint64_t *value) in ac97_control_get() argument
1036 *value = ctrl->actrl_value; in ac97_control_get()
1042 ac97_control_set(ac97_ctrl_t *ctrl, uint64_t value) in ac97_control_set() argument
1047 switch (ctrl->actrl_type) { in ac97_control_set()
1051 if ((v1 < ctrl->actrl_minval) || (v1 > ctrl->actrl_maxval) || in ac97_control_set()
1052 (v2 < ctrl->actrl_minval) || (v2 > ctrl->actrl_maxval) || in ac97_control_set()
1059 if ((value & ~ctrl->actrl_minval) != in ac97_control_set()
1060 (ctrl->actrl_maxval & ~ctrl->actrl_minval)) { in ac97_control_set()
1067 if ((value < ctrl->actrl_minval) || in ac97_control_set()
1068 (value > ctrl->actrl_maxval)) { in ac97_control_set()
1074 ctrl->actrl_value = value; in ac97_control_set()
1075 ctrl->actrl_write_fn(ctrl, value); in ac97_control_set()
1254 ac97_control_register(ac97_ctrl_t *ctrl) in ac97_control_register() argument
1256 ac97_t *ac = ctrl->actrl_ac97; in ac97_control_register()
1259 ctrl->actrl_suppress = B_FALSE; in ac97_control_register()
1262 ctrl->actrl_ctrl = audio_dev_add_control(ac->d, &ctrl->actrl_desc, in ac97_control_register()
1263 ac_get_value, ac_set_value, ctrl); in ac97_control_register()
1264 if (ctrl->actrl_ctrl == NULL) { in ac97_control_register()
1266 ctrl->actrl_name); in ac97_control_register()
1271 ac97_control_unregister(ac97_ctrl_t *ctrl) in ac97_control_unregister() argument
1273 ctrl->actrl_suppress = B_TRUE; in ac97_control_unregister()
1275 if (ctrl->actrl_ctrl != NULL) { in ac97_control_unregister()
1276 audio_dev_del_control(ctrl->actrl_ctrl); in ac97_control_unregister()
1277 ctrl->actrl_ctrl = NULL; in ac97_control_unregister()
1282 ac97_control_name(ac97_ctrl_t *ctrl) in ac97_control_name() argument
1284 return (ctrl->actrl_name); in ac97_control_name()
1288 ac97_control_desc(ac97_ctrl_t *ctrl) in ac97_control_desc() argument
1290 return (&ctrl->actrl_desc); in ac97_control_desc()
1296 ac97_ctrl_t *ctrl; in ac97_register_controls() local
1298 for (ctrl = list_head(&ac->ctrls); ctrl; in ac97_register_controls()
1299 ctrl = list_next(&ac->ctrls, ctrl)) { in ac97_register_controls()
1300 if (ctrl->actrl_suppress) in ac97_register_controls()
1302 ac97_control_register(ctrl); in ac97_register_controls()
1309 ac97_ctrl_t *ctrl; in ac97_walk_controls() local
1311 for (ctrl = list_head(&ac->ctrls); ctrl; in ac97_walk_controls()
1312 ctrl = list_next(&ac->ctrls, ctrl)) { in ac97_walk_controls()
1313 if (!(*walker)(ctrl, arg)) { in ac97_walk_controls()
1322 ac97_ctrl_t *ctrl; in ac_add_control() local
1328 ctrl = ac97_control_find(ac, cpt->cp_name); in ac_add_control()
1329 if (ctrl != NULL) { in ac_add_control()
1332 ctrl = kmem_zalloc(sizeof (ac97_ctrl_t), KM_SLEEP); in ac_add_control()
1335 ctrl->actrl_ac97 = ac; in ac_add_control()
1336 ctrl->actrl_minval = cpt->cp_minval; in ac_add_control()
1337 ctrl->actrl_maxval = cpt->cp_maxval; in ac_add_control()
1338 ctrl->actrl_type = cpt->cp_type; in ac_add_control()
1339 ctrl->actrl_name = cpt->cp_name; in ac_add_control()
1340 ctrl->actrl_flags = cpt->cp_flags; in ac_add_control()
1345 ctrl->actrl_enum[e] = cpt->cp_enum[e]; in ac_add_control()
1353 ctrl->actrl_initval = cpt->cp_initval; in ac_add_control()
1354 ctrl->actrl_muteable = cpt->cp_muteable; in ac_add_control()
1355 ctrl->actrl_write_fn = cpt->cp_write_fn; in ac_add_control()
1356 ctrl->actrl_bits = cpt->cp_bits; in ac_add_control()
1364 list_insert_tail(&ac->ctrls, ctrl); in ac_add_control()
1371 ac97_control_remove(ac97_ctrl_t *ctrl) in ac97_control_remove() argument
1373 ac97_t *ac = ctrl->actrl_ac97; in ac97_control_remove()
1375 list_remove(&ac->ctrls, ctrl); in ac97_control_remove()
1377 if (ctrl->actrl_ctrl != NULL) in ac97_control_remove()
1378 audio_dev_del_control(ctrl->actrl_ctrl); in ac97_control_remove()
1379 kmem_free(ctrl, sizeof (ac97_ctrl_t)); in ac97_control_remove()
1704 ac97_ctrl_t *ctrl; in ac97_free() local
1707 while ((ctrl = list_head(&ac->ctrls)) != NULL) { in ac97_free()
1708 ac97_control_remove(ctrl); in ac97_free()