Lines Matching refs:cfg

1139 	struct auto_pin_cfg *cfg = &spec->autocfg;  in get_line_out_pfx()  local
1142 if (cfg->line_outs == 1 && !spec->multi_ios && in get_line_out_pfx()
1143 !cfg->hp_outs && !cfg->speaker_outs) in get_line_out_pfx()
1154 if (ch >= cfg->line_outs) in get_line_out_pfx()
1157 switch (cfg->line_out_type) { in get_line_out_pfx()
1162 if (!ch && cfg->hp_outs && in get_line_out_pfx()
1165 if (cfg->line_outs == 1) in get_line_out_pfx()
1167 if (cfg->line_outs == 2) in get_line_out_pfx()
1174 if (!ch && cfg->speaker_outs && in get_line_out_pfx()
1185 if (!ch && cfg->speaker_outs && cfg->hp_outs) { in get_line_out_pfx()
1198 if (cfg->line_outs == 1 && !spec->multi_ios) in get_line_out_pfx()
1310 struct auto_pin_cfg *cfg = &spec->autocfg; in get_primary_out() local
1312 if (cfg->line_outs > idx) in get_primary_out()
1314 idx -= cfg->line_outs; in get_primary_out()
1456 struct auto_pin_cfg *cfg = &spec->autocfg; in count_multiio_pins() local
1463 for (i = 0; i < cfg->num_inputs; i++) { in count_multiio_pins()
1464 if (cfg->inputs[i].type != type) in count_multiio_pins()
1467 cfg->inputs[i].pin)) in count_multiio_pins()
1487 struct auto_pin_cfg *cfg = &spec->autocfg; in fill_multi_ios() local
1503 for (i = 0; i < cfg->num_inputs; i++) { in fill_multi_ios()
1504 hda_nid_t nid = cfg->inputs[i].pin; in fill_multi_ios()
1507 if (cfg->inputs[i].type != type) in fill_multi_ios()
1535 spec->out_paths[cfg->line_outs + spec->multi_ios] = in fill_multi_ios()
1560 path = snd_hda_get_path_from_idx(codec, spec->out_paths[cfg->line_outs + i]); in fill_multi_ios()
1643 struct auto_pin_cfg *cfg = &spec->autocfg; in indep_hp_possible() local
1647 if (cfg->line_out_type == AUTO_PIN_HP_OUT) in indep_hp_possible()
1660 for (i = 0; i < cfg->line_outs; i++) { in indep_hp_possible()
1667 for (i = 0; i < cfg->speaker_outs; i++) { in indep_hp_possible()
1701 struct auto_pin_cfg *cfg = &spec->autocfg; in fill_and_eval_dacs() local
1705 spec->multiout.num_dacs = cfg->line_outs; in fill_and_eval_dacs()
1729 mapped = map_singles(codec, cfg->line_outs, in fill_and_eval_dacs()
1730 cfg->line_out_pins, in fill_and_eval_dacs()
1733 mapped |= map_singles(codec, cfg->hp_outs, in fill_and_eval_dacs()
1734 cfg->hp_pins, in fill_and_eval_dacs()
1737 mapped |= map_singles(codec, cfg->speaker_outs, in fill_and_eval_dacs()
1738 cfg->speaker_pins, in fill_and_eval_dacs()
1742 fill_mio_first && cfg->line_outs == 1 && in fill_and_eval_dacs()
1743 cfg->line_out_type != AUTO_PIN_SPEAKER_OUT) { in fill_and_eval_dacs()
1744 err = fill_multi_ios(codec, cfg->line_out_pins[0], true); in fill_and_eval_dacs()
1751 badness += try_assign_dacs(codec, cfg->line_outs, cfg->line_out_pins, in fill_and_eval_dacs()
1756 cfg->line_outs == 1 && cfg->line_out_type != AUTO_PIN_SPEAKER_OUT) { in fill_and_eval_dacs()
1758 err = fill_multi_ios(codec, cfg->line_out_pins[0], false); in fill_and_eval_dacs()
1764 if (cfg->line_out_type != AUTO_PIN_HP_OUT) { in fill_and_eval_dacs()
1765 err = try_assign_dacs(codec, cfg->hp_outs, cfg->hp_pins, in fill_and_eval_dacs()
1773 if (cfg->line_out_type != AUTO_PIN_SPEAKER_OUT) { in fill_and_eval_dacs()
1774 err = try_assign_dacs(codec, cfg->speaker_outs, in fill_and_eval_dacs()
1775 cfg->speaker_pins, in fill_and_eval_dacs()
1784 cfg->line_outs == 1 && cfg->line_out_type != AUTO_PIN_SPEAKER_OUT) { in fill_and_eval_dacs()
1785 err = fill_multi_ios(codec, cfg->line_out_pins[0], false); in fill_and_eval_dacs()
1794 if (cfg->line_out_type != AUTO_PIN_HP_OUT) in fill_and_eval_dacs()
1797 if (cfg->line_out_type != AUTO_PIN_SPEAKER_OUT) in fill_and_eval_dacs()
1803 cfg->hp_outs && cfg->line_out_type == AUTO_PIN_SPEAKER_OUT) in fill_and_eval_dacs()
1804 if (count_multiio_pins(codec, cfg->hp_pins[0]) >= 2) in fill_and_eval_dacs()
1809 for (i = 0; i < cfg->line_outs; i++) { in fill_and_eval_dacs()
1815 sizeof(hda_nid_t) * (cfg->line_outs - i - 1)); in fill_and_eval_dacs()
1816 spec->private_dac_nids[cfg->line_outs - 1] = 0; in fill_and_eval_dacs()
1836 if (cfg->line_out_type != AUTO_PIN_HP_OUT) in fill_and_eval_dacs()
1837 refill_shared_dacs(codec, cfg->hp_outs, in fill_and_eval_dacs()
1840 if (cfg->line_out_type != AUTO_PIN_SPEAKER_OUT) in fill_and_eval_dacs()
1841 refill_shared_dacs(codec, cfg->speaker_outs, in fill_and_eval_dacs()
1870 struct auto_pin_cfg *cfg) in debug_show_configs() argument
1877 cfg->line_out_pins[0], cfg->line_out_pins[1], in debug_show_configs()
1878 cfg->line_out_pins[2], cfg->line_out_pins[3], in debug_show_configs()
1883 lo_type[cfg->line_out_type]); in debug_show_configs()
1884 for (i = 0; i < cfg->line_outs; i++) in debug_show_configs()
1893 spec->out_paths[cfg->line_outs + i]); in debug_show_configs()
1894 if (cfg->hp_outs) in debug_show_configs()
1896 cfg->hp_pins[0], cfg->hp_pins[1], in debug_show_configs()
1897 cfg->hp_pins[2], cfg->hp_pins[3], in debug_show_configs()
1902 for (i = 0; i < cfg->hp_outs; i++) in debug_show_configs()
1904 if (cfg->speaker_outs) in debug_show_configs()
1906 cfg->speaker_pins[0], cfg->speaker_pins[1], in debug_show_configs()
1907 cfg->speaker_pins[2], cfg->speaker_pins[3], in debug_show_configs()
1912 for (i = 0; i < cfg->speaker_outs; i++) in debug_show_configs()
1918 #define debug_show_configs(codec, cfg) /* NOP */ argument
1943 struct auto_pin_cfg *cfg = &spec->autocfg; in parse_output_paths() local
1955 *best_cfg = *cfg; in parse_output_paths()
1965 cfg->line_out_type, fill_hardwired, fill_mio_first, in parse_output_paths()
1967 debug_show_configs(codec, cfg); in parse_output_paths()
1970 *best_cfg = *cfg; in parse_output_paths()
1985 if (cfg->speaker_outs > 0 && in parse_output_paths()
1986 cfg->line_out_type == AUTO_PIN_HP_OUT) { in parse_output_paths()
1987 cfg->hp_outs = cfg->line_outs; in parse_output_paths()
1988 memcpy(cfg->hp_pins, cfg->line_out_pins, in parse_output_paths()
1989 sizeof(cfg->hp_pins)); in parse_output_paths()
1990 cfg->line_outs = cfg->speaker_outs; in parse_output_paths()
1991 memcpy(cfg->line_out_pins, cfg->speaker_pins, in parse_output_paths()
1992 sizeof(cfg->speaker_pins)); in parse_output_paths()
1993 cfg->speaker_outs = 0; in parse_output_paths()
1994 memset(cfg->speaker_pins, 0, sizeof(cfg->speaker_pins)); in parse_output_paths()
1995 cfg->line_out_type = AUTO_PIN_SPEAKER_OUT; in parse_output_paths()
1999 if (cfg->hp_outs > 0 && in parse_output_paths()
2000 cfg->line_out_type == AUTO_PIN_SPEAKER_OUT) { in parse_output_paths()
2001 cfg->speaker_outs = cfg->line_outs; in parse_output_paths()
2002 memcpy(cfg->speaker_pins, cfg->line_out_pins, in parse_output_paths()
2003 sizeof(cfg->speaker_pins)); in parse_output_paths()
2004 cfg->line_outs = cfg->hp_outs; in parse_output_paths()
2005 memcpy(cfg->line_out_pins, cfg->hp_pins, in parse_output_paths()
2006 sizeof(cfg->hp_pins)); in parse_output_paths()
2007 cfg->hp_outs = 0; in parse_output_paths()
2008 memset(cfg->hp_pins, 0, sizeof(cfg->hp_pins)); in parse_output_paths()
2009 cfg->line_out_type = AUTO_PIN_HP_OUT; in parse_output_paths()
2018 *cfg = *best_cfg; in parse_output_paths()
2022 cfg->line_out_type, best_wired, best_mio); in parse_output_paths()
2023 debug_show_configs(codec, cfg); in parse_output_paths()
2025 if (cfg->line_out_pins[0]) { in parse_output_paths()
2039 if (spec->prefer_hp_amp || cfg->line_out_type == AUTO_PIN_HP_OUT) in parse_output_paths()
2043 set_pin_targets(codec, cfg->line_outs, cfg->line_out_pins, val); in parse_output_paths()
2044 if (cfg->line_out_type != AUTO_PIN_HP_OUT) in parse_output_paths()
2045 set_pin_targets(codec, cfg->hp_outs, cfg->hp_pins, PIN_HP); in parse_output_paths()
2046 if (cfg->line_out_type != AUTO_PIN_SPEAKER_OUT) { in parse_output_paths()
2048 set_pin_targets(codec, cfg->speaker_outs, in parse_output_paths()
2049 cfg->speaker_pins, val); in parse_output_paths()
2062 const struct auto_pin_cfg *cfg) in create_multi_out_ctls() argument
2067 noutputs = cfg->line_outs; in create_multi_out_ctls()
2068 if (spec->multi_ios > 0 && cfg->line_outs < 3) in create_multi_out_ctls()
2466 const struct auto_pin_cfg *cfg = &spec->autocfg; in loopback_mixing_put() local
2475 cfg->line_out_type); in loopback_mixing_put()
2483 update_output_paths(codec, cfg->line_outs, spec->out_paths); in loopback_mixing_put()
2484 if (cfg->line_out_type != AUTO_PIN_HP_OUT) in loopback_mixing_put()
2485 update_output_paths(codec, cfg->hp_outs, spec->hp_paths); in loopback_mixing_put()
2486 if (cfg->line_out_type != AUTO_PIN_SPEAKER_OUT) in loopback_mixing_put()
2487 update_output_paths(codec, cfg->speaker_outs, in loopback_mixing_put()
2571 struct auto_pin_cfg *cfg = &spec->autocfg; in create_hp_mic() local
2581 if (cfg->num_inputs > 1) in create_hp_mic()
2583 else if (cfg->num_inputs == 1) { in create_hp_mic()
2584 defcfg = snd_hda_codec_get_pincfg(codec, cfg->inputs[0].pin); in create_hp_mic()
2591 if (cfg->num_inputs >= AUTO_CFG_MAX_INS) in create_hp_mic()
2595 if (cfg->line_out_type == AUTO_PIN_HP_OUT && cfg->line_outs > 0) in create_hp_mic()
2596 nid = cfg->line_out_pins[0]; in create_hp_mic()
2597 else if (cfg->hp_outs > 0) in create_hp_mic()
2598 nid = cfg->hp_pins[0]; in create_hp_mic()
2605 cfg->inputs[cfg->num_inputs].pin = nid; in create_hp_mic()
2606 cfg->inputs[cfg->num_inputs].type = AUTO_PIN_MIC; in create_hp_mic()
2607 cfg->inputs[cfg->num_inputs].is_headphone_mic = 1; in create_hp_mic()
2608 cfg->num_inputs++; in create_hp_mic()
3257 const struct auto_pin_cfg *cfg = &spec->autocfg; in fill_input_pin_labels() local
3260 for (i = 0; i < cfg->num_inputs; i++) { in fill_input_pin_labels()
3261 hda_nid_t pin = cfg->inputs[i].pin; in fill_input_pin_labels()
3268 label = hda_get_autocfg_input_label(codec, cfg, i); in fill_input_pin_labels()
3290 const struct auto_pin_cfg *cfg = &spec->autocfg; in create_input_ctls() local
3304 for (i = 0; i < cfg->num_inputs; i++) { in create_input_ctls()
3307 pin = cfg->inputs[i].pin; in create_input_ctls()
3312 if (cfg->inputs[i].type == AUTO_PIN_MIC) in create_input_ctls()
3539 struct auto_pin_cfg *cfg = &spec->autocfg; in is_inv_dmic_pin() local
3545 for (i = 0; i < cfg->num_inputs; i++) { in is_inv_dmic_pin()
3546 if (cfg->inputs[i].pin != nid) in is_inv_dmic_pin()
3548 if (cfg->inputs[i].type != AUTO_PIN_MIC) in is_inv_dmic_pin()
3830 struct auto_pin_cfg *cfg = &spec->autocfg; in parse_mic_boost() local
3848 if (cfg->inputs[idx].type > AUTO_PIN_LINE_IN) in parse_mic_boost()
4089 struct auto_pin_cfg *cfg = &spec->autocfg; in add_all_pin_power_ctls() local
4094 add_pin_power_ctls(codec, cfg->line_outs, cfg->line_out_pins, on); in add_all_pin_power_ctls()
4095 if (cfg->line_out_type != AUTO_PIN_HP_OUT) in add_all_pin_power_ctls()
4096 add_pin_power_ctls(codec, cfg->hp_outs, cfg->hp_pins, on); in add_all_pin_power_ctls()
4097 if (cfg->line_out_type != AUTO_PIN_SPEAKER_OUT) in add_all_pin_power_ctls()
4098 add_pin_power_ctls(codec, cfg->speaker_outs, cfg->speaker_pins, on); in add_all_pin_power_ctls()
4099 for (i = 0; i < cfg->num_inputs; i++) in add_all_pin_power_ctls()
4100 add_pin_power_ctls(codec, 1, &cfg->inputs[i].pin, on); in add_all_pin_power_ctls()
4118 struct auto_pin_cfg *cfg = &spec->autocfg; in sync_all_pin_power_ctls() local
4123 sync_pin_power_ctls(codec, cfg->line_outs, cfg->line_out_pins); in sync_all_pin_power_ctls()
4124 if (cfg->line_out_type != AUTO_PIN_HP_OUT) in sync_all_pin_power_ctls()
4125 sync_pin_power_ctls(codec, cfg->hp_outs, cfg->hp_pins); in sync_all_pin_power_ctls()
4126 if (cfg->line_out_type != AUTO_PIN_SPEAKER_OUT) in sync_all_pin_power_ctls()
4127 sync_pin_power_ctls(codec, cfg->speaker_outs, cfg->speaker_pins); in sync_all_pin_power_ctls()
4128 for (i = 0; i < cfg->num_inputs; i++) in sync_all_pin_power_ctls()
4129 sync_pin_power_ctls(codec, 1, &cfg->inputs[i].pin); in sync_all_pin_power_ctls()
4161 struct auto_pin_cfg *cfg = &spec->autocfg; in add_fake_beep_paths() local
4167 err = add_fake_paths(codec, nid, cfg->line_outs, cfg->line_out_pins); in add_fake_beep_paths()
4170 if (cfg->line_out_type != AUTO_PIN_HP_OUT) { in add_fake_beep_paths()
4171 err = add_fake_paths(codec, nid, cfg->hp_outs, cfg->hp_pins); in add_fake_beep_paths()
4175 if (cfg->line_out_type != AUTO_PIN_SPEAKER_OUT) { in add_fake_beep_paths()
4176 err = add_fake_paths(codec, nid, cfg->speaker_outs, in add_fake_beep_paths()
4177 cfg->speaker_pins); in add_fake_beep_paths()
4576 struct auto_pin_cfg *cfg = &spec->autocfg; in check_auto_mute_availability() local
4583 if (cfg->hp_pins[0]) in check_auto_mute_availability()
4585 if (cfg->line_out_pins[0]) in check_auto_mute_availability()
4587 if (cfg->speaker_pins[0]) in check_auto_mute_availability()
4592 if (!cfg->speaker_pins[0] && in check_auto_mute_availability()
4593 cfg->line_out_type == AUTO_PIN_SPEAKER_OUT) { in check_auto_mute_availability()
4594 memcpy(cfg->speaker_pins, cfg->line_out_pins, in check_auto_mute_availability()
4595 sizeof(cfg->speaker_pins)); in check_auto_mute_availability()
4596 cfg->speaker_outs = cfg->line_outs; in check_auto_mute_availability()
4599 if (!cfg->hp_pins[0] && in check_auto_mute_availability()
4600 cfg->line_out_type == AUTO_PIN_HP_OUT) { in check_auto_mute_availability()
4601 memcpy(cfg->hp_pins, cfg->line_out_pins, in check_auto_mute_availability()
4602 sizeof(cfg->hp_pins)); in check_auto_mute_availability()
4603 cfg->hp_outs = cfg->line_outs; in check_auto_mute_availability()
4606 for (i = 0; i < cfg->hp_outs; i++) { in check_auto_mute_availability()
4607 hda_nid_t nid = cfg->hp_pins[i]; in check_auto_mute_availability()
4616 if (cfg->line_out_type == AUTO_PIN_LINE_OUT && cfg->line_outs) { in check_auto_mute_availability()
4617 if (cfg->speaker_outs) in check_auto_mute_availability()
4618 for (i = 0; i < cfg->line_outs; i++) { in check_auto_mute_availability()
4619 hda_nid_t nid = cfg->line_out_pins[i]; in check_auto_mute_availability()
4630 spec->automute_speaker_possible = cfg->speaker_outs && in check_auto_mute_availability()
4683 struct auto_pin_cfg *cfg = &spec->autocfg; in check_auto_mic_availability() local
4692 for (i = 0; i < cfg->num_inputs; i++) { in check_auto_mic_availability()
4693 hda_nid_t nid = cfg->inputs[i].pin; in check_auto_mic_availability()
4701 if (cfg->inputs[i].type != AUTO_PIN_MIC) in check_auto_mic_availability()
4707 if (cfg->inputs[i].type > AUTO_PIN_LINE_IN) in check_auto_mic_availability()
4710 cfg->inputs[i].type != AUTO_PIN_MIC) in check_auto_mic_availability()
4817 struct auto_pin_cfg *cfg) in snd_hda_gen_parse_auto_config() argument
4827 if (cfg != &spec->autocfg) { in snd_hda_gen_parse_auto_config()
4828 spec->autocfg = *cfg; in snd_hda_gen_parse_auto_config()
4829 cfg = &spec->autocfg; in snd_hda_gen_parse_auto_config()
4839 if (!cfg->line_outs) { in snd_hda_gen_parse_auto_config()
4840 if (cfg->dig_outs || cfg->dig_in_pin) { in snd_hda_gen_parse_auto_config()
4845 if (!cfg->num_inputs && !cfg->dig_in_pin) in snd_hda_gen_parse_auto_config()
4850 cfg->line_out_type == AUTO_PIN_SPEAKER_OUT && in snd_hda_gen_parse_auto_config()
4851 cfg->line_outs <= cfg->hp_outs) { in snd_hda_gen_parse_auto_config()
4853 cfg->speaker_outs = cfg->line_outs; in snd_hda_gen_parse_auto_config()
4854 memcpy(cfg->speaker_pins, cfg->line_out_pins, in snd_hda_gen_parse_auto_config()
4855 sizeof(cfg->speaker_pins)); in snd_hda_gen_parse_auto_config()
4856 cfg->line_outs = cfg->hp_outs; in snd_hda_gen_parse_auto_config()
4857 memcpy(cfg->line_out_pins, cfg->hp_pins, sizeof(cfg->hp_pins)); in snd_hda_gen_parse_auto_config()
4858 cfg->hp_outs = 0; in snd_hda_gen_parse_auto_config()
4859 memset(cfg->hp_pins, 0, sizeof(cfg->hp_pins)); in snd_hda_gen_parse_auto_config()
4860 cfg->line_out_type = AUTO_PIN_HP_OUT; in snd_hda_gen_parse_auto_config()
4869 err = create_multi_out_ctls(codec, cfg); in snd_hda_gen_parse_auto_config()
4896 if (cfg->line_out_type != AUTO_PIN_SPEAKER_OUT) in snd_hda_gen_parse_auto_config()
4898 cfg->speaker_outs * 2); in snd_hda_gen_parse_auto_config()
4899 if (cfg->line_out_type != AUTO_PIN_HP_OUT) in snd_hda_gen_parse_auto_config()
4901 cfg->hp_outs * 2); in snd_hda_gen_parse_auto_config()
4949 if (cfg->line_out_type != AUTO_PIN_SPEAKER_OUT) { in snd_hda_gen_parse_auto_config()
4950 err = create_out_jack_modes(codec, cfg->line_outs, in snd_hda_gen_parse_auto_config()
4951 cfg->line_out_pins); in snd_hda_gen_parse_auto_config()
4955 if (cfg->line_out_type != AUTO_PIN_HP_OUT) { in snd_hda_gen_parse_auto_config()
4956 err = create_out_jack_modes(codec, cfg->hp_outs, in snd_hda_gen_parse_auto_config()
4957 cfg->hp_pins); in snd_hda_gen_parse_auto_config()
5731 struct auto_pin_cfg *cfg = &spec->autocfg; in init_analog_input() local
5734 for (i = 0; i < cfg->num_inputs; i++) { in init_analog_input()
5735 hda_nid_t nid = cfg->inputs[i].pin; in init_analog_input()