Lines Matching refs:spec
131 struct cs_spec *spec = codec->spec;
132 snd_hda_codec_write(codec, spec->vendor_nid, 0,
134 return snd_hda_codec_read(codec, spec->vendor_nid, 0,
141 struct cs_spec *spec = codec->spec;
142 snd_hda_codec_write(codec, spec->vendor_nid, 0,
144 snd_hda_codec_write(codec, spec->vendor_nid, 0,
156 struct cs_spec *spec = codec->spec;
159 spec->gen.master_mute = !!(spec->spdif_present && spec->sense_b);
163 if (spec->gpio_eapd_hp || spec->gpio_eapd_speaker) {
164 if (spec->gen.automute_speaker)
165 spec->gpio_data = spec->gen.hp_jack_present ?
166 spec->gpio_eapd_hp : spec->gpio_eapd_speaker;
168 spec->gpio_data =
169 spec->gpio_eapd_hp | spec->gpio_eapd_speaker;
171 AC_VERB_SET_GPIO_DATA, spec->gpio_data);
184 struct cs_spec *spec = codec->spec;
188 if (spec->vendor_nid == CS420X_VENDOR_NID) {
297 struct cs_spec *spec = codec->spec;
299 if (spec->vendor_nid == CS420X_VENDOR_NID) {
303 } else if (spec->vendor_nid == CS4208_VENDOR_NID) {
309 if (spec->gpio_mask) {
311 spec->gpio_mask);
313 spec->gpio_dir);
315 spec->gpio_data);
318 if (spec->vendor_nid == CS420X_VENDOR_NID) {
349 struct cs_spec *spec = codec->spec;
353 err = snd_hda_parse_pin_defcfg(codec, &spec->gen.autocfg, NULL, 0);
357 err = snd_hda_gen_parse_auto_config(codec, &spec->gen.autocfg);
362 if (spec->gen.dyn_adc_switch) {
364 for (i = 0; i < spec->gen.input_mux.num_items; i++) {
365 int idx = spec->gen.dyn_adc_idx[i];
369 spec->gen.adc_nids[idx]);
499 struct cs_spec *spec = codec->spec;
500 spec->gpio_eapd_hp = 2; /* GPIO1 = headphones */
501 spec->gpio_eapd_speaker = 8; /* GPIO3 = speakers */
502 spec->gpio_mask = spec->gpio_dir =
503 spec->gpio_eapd_hp | spec->gpio_eapd_speaker;
511 struct cs_spec *spec = codec->spec;
512 spec->gpio_eapd_hp = 4; /* GPIO2 = headphones */
513 spec->gpio_eapd_speaker = 8; /* GPIO3 = speakers */
514 spec->gpio_mask = spec->gpio_dir =
515 spec->gpio_eapd_hp | spec->gpio_eapd_speaker;
573 struct cs_spec *spec;
575 spec = kzalloc(sizeof(*spec), GFP_KERNEL);
576 if (!spec)
578 codec->spec = spec;
579 spec->vendor_nid = vendor_nid;
581 snd_hda_gen_spec_init(&spec->gen);
583 return spec;
588 struct cs_spec *spec;
591 spec = cs_alloc_spec(codec, CS420X_VENDOR_NID);
592 if (!spec)
596 spec->gen.automute_hook = cs_automute;
655 struct cs_spec *spec = codec->spec;
656 spec->gpio_eapd_hp = 0;
657 spec->gpio_eapd_speaker = 1;
658 spec->gpio_mask = spec->gpio_dir =
659 spec->gpio_eapd_hp | spec->gpio_eapd_speaker;
701 struct cs_spec *spec = codec->spec;
702 hda_nid_t pin = spec->gen.autocfg.dig_out_pins[0];
706 return spec->spdif_sw_put(kcontrol, ucontrol);
714 struct cs_spec *spec = codec->spec;
717 if (!spec->gen.autocfg.dig_out_pins[0])
722 spec->spdif_sw_put = kctl->put;
769 struct cs_spec *spec;
772 spec = cs_alloc_spec(codec, CS4208_VENDOR_NID);
773 if (!spec)
777 spec->gen.automute_hook = cs_automute;
779 spec->gen.out_vol_mask = 1ULL << 0x10;
852 struct cs_spec *spec = codec->spec;
854 spec->sense_b = 1;
989 struct cs_spec *spec = codec->spec;
995 if (spec->gpio_mask)
1000 if (spec->sense_b)
1007 if ((spec->gpio_mask || spec->sense_b) &&
1023 struct cs_spec *spec = codec->spec;
1025 hda_nid_t spdif_pin = spec->gen.autocfg.dig_out_pins[0];
1028 if (!spec->spdif_detect ||
1029 spec->vendor_nid != CS4210_VENDOR_NID)
1033 if (spdif_present == spec->spdif_present)
1036 spec->spdif_present = spdif_present;
1045 struct cs_spec *spec = codec->spec;
1046 struct auto_pin_cfg *cfg = &spec->gen.autocfg;
1052 spec->spdif_detect = 1;
1061 struct cs_spec *spec = codec->spec;
1063 if (spec->vendor_nid == CS4210_VENDOR_NID) {
1071 if (spec->gpio_mask) {
1073 spec->gpio_mask);
1075 spec->gpio_dir);
1077 spec->gpio_data);
1101 struct cs_spec *spec = codec->spec;
1107 err = snd_hda_parse_pin_defcfg(codec, &spec->gen.autocfg, NULL, 0);
1111 err = snd_hda_gen_parse_auto_config(codec, &spec->gen.autocfg);
1117 if (spec->gen.autocfg.speaker_outs &&
1118 spec->vendor_nid == CS4210_VENDOR_NID) {
1119 if (!snd_hda_gen_add_kctl(&spec->gen, NULL,
1134 struct cs_spec *spec = codec->spec;
1144 if (spec->vendor_nid == CS4210_VENDOR_NID) {
1167 struct cs_spec *spec;
1170 spec = cs_alloc_spec(codec, CS4210_VENDOR_NID);
1171 if (!spec)
1175 spec->gen.automute_hook = cs_automute;
1203 struct cs_spec *spec;
1206 spec = cs_alloc_spec(codec, CS4213_VENDOR_NID);
1207 if (!spec)