Lines Matching full:spec

52 #define set_beep_amp(spec, nid, idx, dir) \
53 ((spec)->beep_amp = HDA_COMPOSE_AMP_VAL(nid, 1, idx, dir)) /* mono */
55 #define set_beep_amp(spec, nid, idx, dir) /* NOP */
61 struct ad198x_spec *spec = codec->spec;
64 if (!spec->beep_amp)
73 kctl->private_value = spec->beep_amp;
134 struct ad198x_spec *spec = codec->spec;
136 if (!spec->eapd_nid)
140 snd_hda_codec_write_cache(codec, spec->eapd_nid, 0,
164 struct ad198x_spec *spec = codec->spec;
165 struct auto_pin_cfg *cfg = &spec->gen.autocfg;
172 spec->gen.indep_hp = indep_hp;
173 if (!spec->gen.add_stereo_mix_input)
174 spec->gen.add_stereo_mix_input = HDA_HINT_STEREO_MIX_AUTO;
192 struct ad198x_spec *spec;
194 spec = kzalloc(sizeof(*spec), GFP_KERNEL);
195 if (!spec)
197 codec->spec = spec;
198 snd_hda_gen_spec_init(&spec->gen);
210 struct ad198x_spec *spec = codec->spec;
214 spec->gen.keep_eapd_on = 1;
215 spec->gen.vmaster_mute.hook = ad_vmaster_eapd_hook;
216 spec->eapd_nid = 0x1b;
224 struct ad198x_spec *spec = codec->spec;
228 spec->gen.keep_eapd_on = 1;
229 spec->eapd_nid = 0x1b;
237 struct ad198x_spec *spec = codec->spec;
241 spec->gen.add_stereo_mix_input = HDA_HINT_STEREO_MIX_ENABLE;
378 struct ad198x_spec *spec = codec->spec;
391 spec->gen.mixer_nid = 0x07;
392 spec->gen.beep_nid = 0x19;
393 set_beep_amp(spec, 0x18, 0, HDA_OUTPUT);
401 spec->gen.multiout.no_share_stream = 1;
403 spec->gen.preferred_dacs = preferred_pairs;
406 spec->gen.auto_mute_via_amp = 1;
433 struct ad198x_spec *spec = codec->spec;
436 int num_conns = spec->num_smux_conns;
450 struct ad198x_spec *spec = codec->spec;
452 ucontrol->value.enumerated.item[0] = spec->cur_smux;
460 struct ad198x_spec *spec = codec->spec;
462 hda_nid_t dig_out = spec->gen.multiout.dig_out_nid;
463 int num_conns = spec->num_smux_conns;
467 if (spec->cur_smux == val)
469 spec->cur_smux = val;
485 struct ad198x_spec *spec = codec->spec;
486 hda_nid_t dig_out = spec->gen.multiout.dig_out_nid;
494 spec->num_smux_conns = num_conns;
495 if (!snd_hda_gen_add_kctl(&spec->gen, NULL, &ad1983_auto_smux_mixer))
504 struct ad198x_spec *spec = codec->spec;
507 spec->gen.mixer_nid = 0x0e;
508 spec->gen.beep_nid = 0x10;
509 set_beep_amp(spec, 0x10, 0, HDA_OUTPUT);
532 struct ad198x_spec *spec = codec->spec;
535 spec->gen.vmaster_mute.hook = ad_vmaster_eapd_hook;
536 spec->eapd_nid = 0x05;
583 struct ad198x_spec *spec = codec->spec;
586 spec->gen.mixer_nid = 0x0e;
587 spec->gen.beep_nid = 0x10;
588 set_beep_amp(spec, 0x0d, 0, HDA_OUTPUT);
695 struct ad198x_spec *spec = codec->spec;
699 int num_conns = spec->num_smux_conns;
710 struct ad198x_spec *spec = codec->spec;
712 ucontrol->value.enumerated.item[0] = spec->cur_smux;
720 struct ad198x_spec *spec = codec->spec;
723 int num_conns = spec->num_smux_conns;
727 if (spec->cur_smux == val)
732 spec->smux_paths[spec->cur_smux]);
735 path = snd_hda_get_path_from_idx(codec, spec->smux_paths[val]);
738 spec->cur_smux = val;
752 struct ad198x_spec *spec = codec->spec;
758 if (spec->model != MODEL_AD1988)
760 if (!spec->gen.autocfg.dig_outs)
765 path = snd_hda_get_path_from_idx(codec, spec->smux_paths[i]);
775 struct ad198x_spec *spec = codec->spec;
808 if (!spec->gen.autocfg.dig_outs ||
815 spec->num_smux_conns = num_conns;
818 struct nid_path *path = snd_array_new(&spec->gen.paths);
824 spec->smux_paths[i] = snd_hda_get_path_idx(codec, path);
827 if (!snd_hda_gen_add_kctl(&spec->gen, NULL, &ad1988_auto_smux_mixer))
865 struct ad198x_spec *spec = codec->spec;
868 spec->gen.mixer_nid = 0x20;
869 spec->gen.mixer_merge_nid = 0x21;
870 spec->gen.beep_nid = 0x10;
871 set_beep_amp(spec, 0x10, 0, HDA_OUTPUT);
933 struct ad198x_spec *spec = codec->spec;
935 if (spec->eapd_nid)
945 struct ad198x_spec *spec = codec->spec;
949 spec->gen.vmaster_mute.hook = ad1884_vmaster_hp_gpio_hook;
950 spec->gen.own_eapd_ctl = 1;
959 if (spec->gen.autocfg.line_out_type == AUTO_PIN_SPEAKER_OUT)
960 spec->eapd_nid = spec->gen.autocfg.line_out_pins[0];
962 spec->eapd_nid = spec->gen.autocfg.speaker_pins[0];
970 struct ad198x_spec *spec = codec->spec;
973 spec->gen.keep_eapd_on = 1;
974 spec->gen.vmaster_mute.hook = ad_vmaster_eapd_hook;
975 spec->eapd_nid = 0x12;
977 spec->beep_amp = HDA_COMPOSE_AMP_VAL(0x20, 3, 3, HDA_INPUT);
978 spec->gen.beep_nid = 0; /* no digital beep */
1036 struct ad198x_spec *spec = codec->spec;
1039 spec->gen.mixer_nid = 0x20;
1040 spec->gen.mixer_merge_nid = 0x21;
1041 spec->gen.beep_nid = 0x10;
1042 set_beep_amp(spec, 0x10, 0, HDA_OUTPUT);
1073 struct ad198x_spec *spec = codec->spec;
1076 spec->gen.mixer_nid = 0x20;
1077 spec->gen.mixer_merge_nid = 0x21;
1078 spec->gen.beep_nid = 0x10;
1079 set_beep_amp(spec, 0x10, 0, HDA_OUTPUT);
1095 struct ad198x_spec *spec;
1101 spec = codec->spec;
1102 spec->model = id->driver_data;
1104 switch (spec->model) {