Lines Matching full:spec

75 #define VT2002P_COMPATIBLE(spec) \  argument
76 ((spec)->codec_type == VT2002P ||\
77 (spec)->codec_type == VT1812 ||\
78 (spec)->codec_type == VT1802)
103 struct via_spec *spec; in via_new_spec() local
105 spec = kzalloc(sizeof(*spec), GFP_KERNEL); in via_new_spec()
106 if (spec == NULL) in via_new_spec()
109 codec->spec = spec; in via_new_spec()
110 snd_hda_gen_spec_init(&spec->gen); in via_new_spec()
111 spec->codec_type = get_codec_type(codec); in via_new_spec()
113 if (spec->codec_type == VT1708BCE) in via_new_spec()
114 spec->codec_type = VT1708S; in via_new_spec()
115 spec->gen.indep_hp = 1; in via_new_spec()
116 spec->gen.keep_eapd_on = 1; in via_new_spec()
117 spec->gen.dac_min_mute = 1; in via_new_spec()
118 spec->gen.pcm_playback_hook = via_playback_pcm_hook; in via_new_spec()
119 spec->gen.add_stereo_mix_input = HDA_HINT_STEREO_MIX_AUTO; in via_new_spec()
121 spec->gen.power_down_unused = 1; in via_new_spec()
122 return spec; in via_new_spec()
186 struct via_spec *spec = codec->spec; in vt1708_stop_hp_work() local
187 if (spec->codec_type != VT1708 || !spec->gen.autocfg.hp_outs) in vt1708_stop_hp_work()
189 if (spec->hp_work_active) { in vt1708_stop_hp_work()
193 spec->hp_work_active = false; in vt1708_stop_hp_work()
199 struct via_spec *spec = codec->spec; in vt1708_update_hp_work() local
200 if (spec->codec_type != VT1708 || !spec->gen.autocfg.hp_outs) in vt1708_update_hp_work()
202 if (spec->vt1708_jack_detect) { in vt1708_update_hp_work()
203 if (!spec->hp_work_active) { in vt1708_update_hp_work()
207 spec->hp_work_active = true; in vt1708_update_hp_work()
223 struct via_spec *spec = codec->spec; in via_pin_power_ctl_get() local
225 ucontrol->value.enumerated.item[0] = spec->gen.power_down_unused; in via_pin_power_ctl_get()
233 struct via_spec *spec = codec->spec; in via_pin_power_ctl_put() local
236 if (val == spec->gen.power_down_unused) in via_pin_power_ctl_put()
239 spec->gen.power_down_unused = val; in via_pin_power_ctl_put()
259 static int set_beep_amp(struct via_spec *spec, hda_nid_t nid, in set_beep_amp() argument
266 spec->gen.beep_nid = nid; in set_beep_amp()
268 knew = snd_hda_gen_add_kctl(&spec->gen, NULL, in set_beep_amp()
279 struct via_spec *spec = codec->spec; in auto_parse_beep() local
284 return set_beep_amp(spec, nid, 0, HDA_OUTPUT); in auto_parse_beep()
294 struct via_spec *spec = codec->spec; in is_aa_path_mute() local
298 p = spec->gen.loopback.amplist; in is_aa_path_mute()
315 struct via_spec *spec = codec->spec; in __analog_low_current_mode() local
322 enable = is_aa_path_mute(codec) && !spec->gen.active_streams; in __analog_low_current_mode()
323 if (enable == spec->alc_mode && !force) in __analog_low_current_mode()
325 spec->alc_mode = enable; in __analog_low_current_mode()
328 switch (spec->codec_type) { in __analog_low_current_mode()
384 struct via_spec *spec = codec->spec; in via_suspend() local
388 if (spec->codec_type == VT1802) in via_suspend()
405 struct via_spec *spec = codec->spec; in via_check_power_status() local
408 return snd_hda_check_amp_list_power(codec, &spec->gen.loopback, nid); in via_check_power_status()
438 struct via_spec *spec = codec->spec; in vt1708_jack_detect_get() local
440 if (spec->codec_type != VT1708) in vt1708_jack_detect_get()
442 ucontrol->value.integer.value[0] = spec->vt1708_jack_detect; in vt1708_jack_detect_get()
450 struct via_spec *spec = codec->spec; in vt1708_jack_detect_put() local
453 if (spec->codec_type != VT1708) in vt1708_jack_detect_put()
456 if (spec->vt1708_jack_detect == val) in vt1708_jack_detect_put()
458 spec->vt1708_jack_detect = val; in vt1708_jack_detect_put()
491 struct via_spec *spec = codec->spec; in via_parse_auto_config() local
494 spec->gen.main_out_badness = &via_main_out_badness; in via_parse_auto_config()
495 spec->gen.extra_out_badness = &via_extra_out_badness; in via_parse_auto_config()
497 err = snd_hda_parse_pin_defcfg(codec, &spec->gen.autocfg, NULL, 0); in via_parse_auto_config()
505 err = snd_hda_gen_parse_auto_config(codec, &spec->gen.autocfg); in via_parse_auto_config()
509 if (!snd_hda_gen_add_kctl(&spec->gen, NULL, &via_pin_power_ctl_enum)) in via_parse_auto_config()
514 spec->gen.power_down_unused = 0; in via_parse_auto_config()
546 struct via_spec *spec = codec->spec; in via_build_pcms() local
557 for (i = 0; i < ARRAY_SIZE(spec->gen.pcm_rec); i++) { in via_build_pcms()
558 struct hda_pcm *info = spec->gen.pcm_rec[i]; in via_build_pcms()
573 struct via_spec *spec = codec->spec; in probe_vt1708() local
576 spec->gen.mixer_nid = 0x17; in probe_vt1708()
580 spec->vt1708_jack_detect = 1; in probe_vt1708()
584 spec->gen.suppress_auto_mic = 1; in probe_vt1708()
586 spec->gen.auto_mute_via_amp = 1; in probe_vt1708()
602 if (!snd_hda_gen_add_kctl(&spec->gen, NULL, &vt1708_jack_detect_ctl)) in probe_vt1708()
613 struct via_spec *spec = codec->spec; in probe_vt1709() local
615 spec->gen.mixer_nid = 0x18; in probe_vt1709()
623 struct via_spec *spec = codec->spec; in probe_vt1708B() local
628 spec->gen.mixer_nid = 0x16; in probe_vt1708B()
657 struct via_spec *spec = codec->spec; in probe_vt1708S() local
660 spec->gen.mixer_nid = 0x16; in probe_vt1708S()
690 struct via_spec *spec = codec->spec; in probe_vt1702() local
693 spec->gen.mixer_nid = 0x1a; in probe_vt1702()
726 struct via_spec *spec = codec->spec; in add_secret_dac_path() local
731 if (!spec->gen.mixer_nid) in add_secret_dac_path()
733 nums = snd_hda_get_connections(codec, spec->gen.mixer_nid, conn, in add_secret_dac_path()
750 spec->gen.mixer_nid, in add_secret_dac_path()
760 struct via_spec *spec = codec->spec; in probe_vt1718S() local
763 spec->gen.mixer_nid = 0x21; in probe_vt1718S()
806 struct via_spec *spec = codec->spec; in vt1716s_dmic_put() local
811 spec->dmic_enabled = index; in vt1716s_dmic_put()
844 struct via_spec *spec = codec->spec; in probe_vt1716S() local
847 spec->gen.mixer_nid = 0x16; in probe_vt1716S()
860 if (!snd_hda_gen_add_kctl(&spec->gen, NULL, &vt1716s_dmic_mixer_vol) || in probe_vt1716S()
861 !snd_hda_gen_add_kctl(&spec->gen, NULL, &vt1716s_dmic_mixer_sw) || in probe_vt1716S()
862 !snd_hda_gen_add_kctl(&spec->gen, NULL, &vt1716S_mono_out_mixer)) in probe_vt1716S()
956 struct via_spec *spec = codec->spec; in probe_vt2002P() local
959 spec->gen.mixer_nid = 0x21; in probe_vt2002P()
962 if (spec->codec_type == VT1802) in probe_vt2002P()
969 if (spec->codec_type == VT1802) in probe_vt2002P()
992 struct via_spec *spec = codec->spec; in probe_vt1812() local
995 spec->gen.mixer_nid = 0x21; in probe_vt1812()
1022 struct via_spec *spec = codec->spec; in probe_vt3476() local
1025 spec->gen.mixer_nid = 0x3f; in probe_vt3476()
1042 struct via_spec *spec; in via_probe() local
1046 spec = via_new_spec(codec); in via_probe()
1047 if (!spec) in via_probe()