• Home
  • Raw
  • Download

Lines Matching refs:pin

189 #define update_pin_ctl(codec, pin, val) \  argument
190 snd_hda_codec_update_cache(codec, pin, 0, \
194 static inline void restore_pin_ctl(struct hda_codec *codec, hda_nid_t pin) in restore_pin_ctl() argument
196 update_pin_ctl(codec, pin, snd_hda_codec_get_pin_target(codec, pin)); in restore_pin_ctl()
200 static void set_pin_target(struct hda_codec *codec, hda_nid_t pin, in set_pin_target() argument
203 if (!pin) in set_pin_target()
205 val = snd_hda_correct_pin_ctl(codec, pin, val); in set_pin_target()
206 snd_hda_codec_set_pin_target(codec, pin, val); in set_pin_target()
208 update_pin_ctl(codec, pin, val); in set_pin_target()
480 static hda_nid_t get_preferred_dac(struct hda_codec *codec, hda_nid_t pin) in get_preferred_dac() argument
488 if (*list == pin) in get_preferred_dac()
494 static hda_nid_t look_for_dac(struct hda_codec *codec, hda_nid_t pin, in look_for_dac() argument
508 if (is_reachable_path(codec, nid, pin)) in look_for_dac()
839 static void set_pin_eapd(struct hda_codec *codec, hda_nid_t pin, bool enable) in set_pin_eapd() argument
843 !(snd_hda_query_pin_caps(codec, pin) & AC_PINCAP_EAPD)) in set_pin_eapd()
849 snd_hda_codec_update_cache(codec, pin, 0, in set_pin_eapd()
1215 hda_nid_t dac, hda_nid_t pin) in try_dac() argument
1217 return is_reachable_path(codec, dac, pin) ? dac : 0; in try_dac()
1236 hda_nid_t pin = pins[i]; in try_assign_dacs() local
1244 dacs[i] = get_preferred_dac(codec, pin); in try_assign_dacs()
1251 dacs[i] = look_for_dac(codec, pin, false); in try_assign_dacs()
1255 if (is_reachable_path(codec, dacs[j], pin)) { in try_assign_dacs()
1267 dac = try_dac(codec, get_primary_out(codec, i), pin); in try_assign_dacs()
1269 dac = try_dac(codec, dacs[0], pin); in try_assign_dacs()
1271 dac = try_dac(codec, get_primary_out(codec, i), pin); in try_assign_dacs()
1279 } else if (is_reachable_path(codec, spec->private_dac_nids[0], pin)) { in try_assign_dacs()
1289 path = snd_hda_add_new_path(codec, dac, pin, -spec->mixer_nid); in try_assign_dacs()
1292 path = snd_hda_add_new_path(codec, dac, pin, 0); in try_assign_dacs()
1309 static hda_nid_t get_dac_if_single(struct hda_codec *codec, hda_nid_t pin) in get_dac_if_single() argument
1319 if (is_reachable_path(codec, nid, pin)) { in get_dac_if_single()
1360 cfg->inputs[i].pin)) in count_multiio_pins()
1397 hda_nid_t nid = cfg->inputs[i].pin; in fill_multi_ios()
1405 if (nid == spec->multi_io[j].pin) in fill_multi_ios()
1426 spec->multi_io[spec->multi_ios].pin = nid; in fill_multi_ios()
1501 hda_nid_t path_dac, dac, pin; in check_aamix_out_path() local
1509 pin = path->path[path->depth - 1]; in check_aamix_out_path()
1510 path = snd_hda_add_new_path(codec, dac, pin, spec->mixer_nid); in check_aamix_out_path()
1521 path = snd_hda_add_new_path(codec, dac, pin, in check_aamix_out_path()
1781 spec->multi_io[0].pin, spec->multi_io[1].pin, in debug_show_configs()
2225 hda_nid_t nid = spec->multi_io[idx].pin; in set_multi_io()
2422 hda_nid_t pin; in update_hp_mic() local
2424 pin = spec->hp_mic_pin; in update_hp_mic()
2428 val = snd_hda_codec_get_pin_target(codec, pin); in update_hp_mic()
2438 val = snd_hda_get_default_vref(codec, pin); in update_hp_mic()
2455 set_pin_target(codec, pin, val, true); in update_hp_mic()
2477 defcfg = snd_hda_codec_get_pincfg(codec, cfg->inputs[0].pin); in create_hp_mic()
2498 cfg->inputs[cfg->num_inputs].pin = nid; in create_hp_mic()
2514 static int create_hp_mic_jack_mode(struct hda_codec *codec, hda_nid_t pin);
2572 static void get_jack_mode_name(struct hda_codec *codec, hda_nid_t pin, in get_jack_mode_name() argument
2578 snd_hda_get_pin_label(codec, pin, &spec->autocfg, name, name_len, &idx); in get_jack_mode_name()
2585 static int get_out_jack_num_items(struct hda_codec *codec, hda_nid_t pin) in get_out_jack_num_items() argument
2589 unsigned int pincap = snd_hda_query_pin_caps(codec, pin); in get_out_jack_num_items()
2603 hda_nid_t pin = pins[i]; in create_out_jack_modes() local
2604 if (pin == spec->hp_mic_pin) in create_out_jack_modes()
2606 if (get_out_jack_num_items(codec, pin) > 1) { in create_out_jack_modes()
2609 get_jack_mode_name(codec, pin, name, sizeof(name)); in create_out_jack_modes()
2614 knew->private_value = pin; in create_out_jack_modes()
2633 static unsigned int get_vref_caps(struct hda_codec *codec, hda_nid_t pin) in get_vref_caps() argument
2637 pincap = snd_hda_query_pin_caps(codec, pin); in get_vref_caps()
2727 static int get_in_jack_num_items(struct hda_codec *codec, hda_nid_t pin) in get_in_jack_num_items() argument
2732 nitems = hweight32(get_vref_caps(codec, pin)); in get_in_jack_num_items()
2736 static int create_in_jack_mode(struct hda_codec *codec, hda_nid_t pin) in create_in_jack_mode() argument
2743 if (pin == spec->hp_mic_pin) in create_in_jack_mode()
2747 defcfg = snd_hda_codec_get_pincfg(codec, pin); in create_in_jack_mode()
2752 if (get_in_jack_num_items(codec, pin) <= 1) in create_in_jack_mode()
2755 get_jack_mode_name(codec, pin, name, sizeof(name)); in create_in_jack_mode()
2759 knew->private_value = pin; in create_in_jack_mode()
2873 static int create_hp_mic_jack_mode(struct hda_codec *codec, hda_nid_t pin) in create_hp_mic_jack_mode() argument
2882 knew->private_value = pin; in create_hp_mic_jack_mode()
2910 hda_nid_t pin, unsigned int *mix_val, in look_for_mix_leaf_ctls() argument
2917 idx = snd_hda_get_conn_index(codec, mix_nid, pin, true); in look_for_mix_leaf_ctls()
2946 hda_nid_t pin, const char *ctlname, int ctlidx, in new_analog_input() argument
2954 if (!look_for_mix_leaf_ctls(codec, mix_nid, pin, &mix_val, &mute_val)) in new_analog_input()
2957 path = snd_hda_add_new_path(codec, pin, mix_nid, 0); in new_analog_input()
3104 static int parse_capture_source(struct hda_codec *codec, hda_nid_t pin, in parse_capture_source() argument
3118 if (!is_reachable_path(codec, pin, adc)) in parse_capture_source()
3120 path = snd_hda_add_new_path(codec, pin, adc, anchor); in parse_capture_source()
3128 if (spec->hp_mic_pin == pin) in parse_capture_source()
3130 spec->imux_pins[imux->num_items] = pin; in parse_capture_source()
3153 hda_nid_t pin = cfg->inputs[i].pin; in fill_input_pin_labels() local
3157 if (!is_input_pin(codec, pin)) in fill_input_pin_labels()
3197 hda_nid_t pin; in create_input_ctls() local
3199 pin = cfg->inputs[i].pin; in create_input_ctls()
3200 if (!is_input_pin(codec, pin)) in create_input_ctls()
3205 val |= snd_hda_get_default_vref(codec, pin); in create_input_ctls()
3206 if (pin != spec->hp_mic_pin) in create_input_ctls()
3207 set_pin_target(codec, pin, val, false); in create_input_ctls()
3210 if (is_reachable_path(codec, pin, mixer)) { in create_input_ctls()
3211 err = new_analog_input(codec, i, pin, in create_input_ctls()
3220 err = parse_capture_source(codec, pin, i, num_adcs, in create_input_ctls()
3226 err = create_in_jack_mode(codec, pin); in create_input_ctls()
3444 if (cfg->inputs[i].pin != nid) in is_inv_dmic_pin()
3777 hda_nid_t dig_nid, pin; in parse_digital() local
3782 pin = spec->autocfg.dig_out_pins[i]; in parse_digital()
3783 dig_nid = look_for_dac(codec, pin, true); in parse_digital()
3786 path = snd_hda_add_new_path(codec, dig_nid, pin, 0); in parse_digital()
3792 set_pin_target(codec, pin, PIN_OUT, false); in parse_digital()
3806 pin = spec->autocfg.dig_in_pin; in parse_digital()
3814 path = snd_hda_add_new_path(codec, pin, dig_nid, 0); in parse_digital()
3820 set_pin_target(codec, pin, PIN_IN, false); in parse_digital()
4068 hda_nid_t pin = spec->am_entry[i].pin; in snd_hda_gen_mic_autoswitch() local
4070 if (snd_hda_codec_get_pin_target(codec, pin) & AC_PINCTL_OUT_EN) in snd_hda_gen_mic_autoswitch()
4072 if (snd_hda_jack_detect_state(codec, pin) == HDA_JACK_PRESENT) { in snd_hda_gen_mic_autoswitch()
4296 find_idx_in_nid_list(spec->am_entry[i].pin, in auto_mic_check_imux()
4305 spec->am_entry[i].pin, in auto_mic_check_imux()
4334 hda_nid_t nid = cfg->inputs[i].pin; in check_auto_mic_availability()
4360 spec->am_entry[num_pins].pin = nid; in check_auto_mic_availability()
4382 spec->am_entry[0].pin, in check_auto_mic_availability()
4383 spec->am_entry[1].pin, in check_auto_mic_availability()
4384 spec->am_entry[2].pin); in check_auto_mic_availability()
5218 hda_nid_t pin; in set_output_and_unmute() local
5223 pin = path->path[path->depth - 1]; in set_output_and_unmute()
5224 restore_pin_ctl(codec, pin); in set_output_and_unmute()
5227 set_pin_eapd(codec, pin, path->active); in set_output_and_unmute()
5268 hda_nid_t pin = spec->multi_io[i].pin; in init_multi_io() local
5275 snd_hda_codec_get_pin_target(codec, pin); in init_multi_io()
5308 hda_nid_t nid = cfg->inputs[i].pin; in init_analog_input()
5356 hda_nid_t pin; in init_digital() local
5360 pin = spec->autocfg.dig_in_pin; in init_digital()
5361 if (pin) { in init_digital()
5362 restore_pin_ctl(codec, pin); in init_digital()
5375 struct hda_pincfg *pin = snd_array_elem(&codec->init_pins, i); in clear_unsol_on_unused_pins() local
5376 hda_nid_t nid = pin->nid; in clear_unsol_on_unused_pins()