Lines Matching full:spec
66 struct alc_spec *spec = codec->spec;
68 if (!spec->coef0)
69 spec->coef0 = alc_read_coef_idx(codec, 0);
70 return spec->coef0;
94 struct alc_spec *spec = codec->spec;
96 spec->gpio_mask |= mask;
97 spec->gpio_dir |= mask;
98 spec->gpio_data |= mask;
104 struct alc_spec *spec = codec->spec;
107 spec->gpio_data);
114 struct alc_spec *spec = codec->spec;
115 unsigned int oldval = spec->gpio_data;
118 spec->gpio_data |= mask;
120 spec->gpio_data &= ~mask;
121 if (oldval != spec->gpio_data)
128 struct alc_spec *spec = codec->spec;
130 if (!spec->gpio_mask)
134 AC_VERB_SET_GPIO_MASK, spec->gpio_mask);
136 AC_VERB_SET_GPIO_DIRECTION, spec->gpio_dir);
137 if (spec->gpio_write_delay)
193 struct alc_spec *spec = codec->spec;
195 if (spec->pll_nid)
196 alc_update_coefex_idx(codec, spec->pll_nid, spec->pll_coef_idx,
197 1 << spec->pll_coef_bit, 0);
204 struct alc_spec *spec = codec->spec;
205 spec->pll_nid = nid;
206 spec->pll_coef_idx = coef_idx;
207 spec->pll_coef_bit = coef_bit;
380 struct alc_spec *spec = codec->spec;
381 struct auto_pin_cfg *cfg = &spec->gen.autocfg;
425 struct alc_spec *spec = codec->spec;
427 if (spec->no_shutup_pins)
456 struct alc_spec *spec = codec->spec;
459 if (!spec->no_depop_delay)
505 hda_nid_t alc_get_hp_pin(struct alc_spec *spec)
507 if (spec->gen.autocfg.hp_pins[0])
508 return spec->gen.autocfg.hp_pins[0];
509 if (spec->gen.autocfg.line_out_type == AC_JACK_HP_OUT)
510 return spec->gen.autocfg.line_out_pins[0];
527 struct alc_spec *spec = codec->spec;
529 spec->cdefine.fixup = 1;
530 spec->cdefine.sku_cfg = ALC_FIXUP_SKU_IGNORE;
538 struct alc_spec *spec = codec->spec;
541 spec->no_depop_delay = 1;
551 struct alc_spec *spec = codec->spec;
553 spec->cdefine.enable_pcbeep = 1; /* assume always enabled */
555 if (spec->cdefine.fixup) {
556 ass = spec->cdefine.sku_cfg;
588 spec->cdefine.port_connectivity = ass >> 30;
589 spec->cdefine.enable_pcbeep = (ass & 0x100000) >> 20;
590 spec->cdefine.check_sum = (ass >> 16) & 0xf;
591 spec->cdefine.customization = ass >> 8;
593 spec->cdefine.sku_cfg = ass;
594 spec->cdefine.external_amp = (ass & 0x38) >> 3;
595 spec->cdefine.platform_type = (ass & 0x4) >> 2;
596 spec->cdefine.swap = (ass & 0x2) >> 1;
597 spec->cdefine.override = ass & 0x1;
600 nid, spec->cdefine.sku_cfg);
602 spec->cdefine.port_connectivity);
603 codec_dbg(codec, "SKU: enable_pcbeep=0x%x\n", spec->cdefine.enable_pcbeep);
604 codec_dbg(codec, "SKU: check_sum=0x%08x\n", spec->cdefine.check_sum);
605 codec_dbg(codec, "SKU: customization=0x%08x\n", spec->cdefine.customization);
606 codec_dbg(codec, "SKU: external_amp=0x%x\n", spec->cdefine.external_amp);
607 codec_dbg(codec, "SKU: platform_type=0x%x\n", spec->cdefine.platform_type);
608 codec_dbg(codec, "SKU: swap=0x%x\n", spec->cdefine.swap);
609 codec_dbg(codec, "SKU: override=0x%x\n", spec->cdefine.override);
643 struct alc_spec *spec = codec->spec;
645 if (spec->cdefine.fixup) {
646 ass = spec->cdefine.sku_cfg;
697 if (spec->init_amp == ALC_INIT_UNDEFINED) {
710 spec->init_amp = ALC_INIT_DEFAULT;
727 if (!alc_get_hp_pin(spec)) {
731 if (found_in_nid_list(nid, spec->gen.autocfg.line_out_pins,
732 spec->gen.autocfg.line_outs))
734 spec->gen.autocfg.hp_pins[0] = nid;
745 struct alc_spec *spec = codec->spec;
746 if (spec->init_amp == ALC_INIT_UNDEFINED) {
749 spec->init_amp = ALC_INIT_DEFAULT;
759 struct alc_spec *spec = codec->spec;
761 spec->gen.inv_dmic_split = 1;
780 struct alc_spec *spec = codec->spec;
786 if (spec->init_hook)
787 spec->init_hook(codec);
789 spec->gen.skip_verbs = 1; /* applied in below */
792 alc_auto_init_amp(codec, spec->init_amp);
803 struct alc_spec *spec = codec->spec;
808 if (spec && spec->shutup)
809 spec->shutup(codec);
823 struct alc_spec *spec = codec->spec;
825 if (spec && spec->power_hook)
826 spec->power_hook(codec);
833 struct alc_spec *spec = codec->spec;
835 if (!spec->no_depop_delay)
953 int alc_set_beep_amp(struct alc_spec *spec, hda_nid_t nid, int idx, int dir)
960 knew = snd_hda_gen_add_kctl(&spec->gen, NULL,
988 struct alc_spec *spec = codec->spec;
993 return spec->cdefine.enable_pcbeep;
1007 struct alc_spec *spec = codec->spec;
1008 struct auto_pin_cfg *cfg = &spec->gen.autocfg;
1012 spec->parse_flags);
1030 struct alc_spec *spec = kzalloc(sizeof(*spec), GFP_KERNEL);
1033 if (!spec)
1035 codec->spec = spec;
1036 snd_hda_gen_spec_init(&spec->gen);
1037 spec->gen.mixer_nid = mixer_nid;
1038 spec->gen.own_eapd_ctl = 1;
1043 mutex_init(&spec->coef_mutex);
1047 kfree(spec);
1060 struct alc_spec *spec = codec->spec;
1065 spec->gen.suppress_vmaster = 1;
1067 spec->gen.suppress_auto_mute = 1;
1068 spec->gen.suppress_auto_mic = 1;
1070 spec->gen.mixer_nid = 0;
1090 struct alc_spec *spec = codec->spec;
1091 spec->gen.pcm_rec[0]->stream[0].chmap = asus_pcm_2_1_chmaps;
1149 struct alc_spec *spec = codec->spec;
1150 int hp_pin = alc_get_hp_pin(spec);
1161 struct alc_spec *spec = codec->spec;
1162 struct hda_input_mux *imux = &spec->gen.input_mux;
1171 spec->shutup = alc_shutup_dell_xps13;
1176 if (spec->gen.imux_pins[i] == 0x12) {
1177 spec->gen.cur_mux[0] = i;
1227 struct alc_spec *spec = codec->spec;
1302 if (spec->no_internal_mic_pin) {
1852 struct alc_spec *spec = codec->spec;
1891 if (spec->no_internal_mic_pin) {
2039 spec->current_headset_type = is_ctia ? ALC_HEADSET_TYPE_CTIA : ALC_HEADSET_TYPE_OMTP;
2044 struct alc_spec *spec = codec->spec;
2046 hda_nid_t mux_pin = spec->gen.imux_pins[spec->gen.cur_mux[0]];
2047 hda_nid_t hp_pin = alc_get_hp_pin(spec);
2053 else if (mux_pin == spec->headset_mic_pin)
2055 else if (mux_pin == spec->headphone_mic_pin)
2060 if (new_headset_mode == spec->current_headset_mode) {
2068 spec->current_headset_mode = ALC_HEADSET_MODE_UNKNOWN;
2069 spec->current_headset_type = ALC_HEADSET_TYPE_UNKNOWN;
2070 spec->gen.hp_jack_present = false;
2073 if (spec->current_headset_type == ALC_HEADSET_TYPE_UNKNOWN)
2075 if (spec->current_headset_type == ALC_HEADSET_TYPE_CTIA)
2077 else if (spec->current_headset_type == ALC_HEADSET_TYPE_OMTP)
2079 spec->gen.hp_jack_present = true;
2082 alc_headset_mode_mic_in(codec, hp_pin, spec->headphone_mic_pin);
2083 spec->gen.hp_jack_present = false;
2087 spec->gen.hp_jack_present = true;
2093 if (spec->headphone_mic_pin && spec->headphone_mic_pin != hp_pin)
2094 snd_hda_set_pin_ctl_cache(codec, spec->headphone_mic_pin,
2097 spec->current_headset_mode = new_headset_mode;
2120 struct alc_spec *spec = codec->spec;
2121 struct auto_pin_cfg *cfg = &spec->gen.autocfg;
2125 if (cfg->inputs[i].is_headset_mic && !spec->headset_mic_pin)
2126 spec->headset_mic_pin = cfg->inputs[i].pin;
2127 if (cfg->inputs[i].is_headphone_mic && !spec->headphone_mic_pin)
2128 spec->headphone_mic_pin = cfg->inputs[i].pin;
2131 WARN_ON(spec->gen.cap_sync_hook);
2132 spec->gen.cap_sync_hook = alc_update_headset_mode_hook;
2133 spec->gen.automute_hook = alc_update_headset_mode;
2134 spec->gen.hp_automute_hook = alc_update_headset_jack_cb;
2140 struct alc_spec *spec = codec->spec;
2144 spec->parse_flags |= HDA_PINCFG_HEADSET_MIC | HDA_PINCFG_HEADPHONE_MIC;
2151 spec->current_headset_mode = ALC_HEADSET_MODE_UNKNOWN;
2152 spec->current_headset_type = ALC_HEADSET_TYPE_UNKNOWN;
2164 struct alc_spec *spec = codec->spec;
2165 spec->parse_flags |= HDA_PINCFG_HEADSET_MIC;
2175 struct alc_spec *spec = codec->spec;
2178 spec->parse_flags |= HDA_PINCFG_HEADSET_MIC;
2197 struct alc_spec *spec = codec->spec;
2199 alc_update_gpio_led(codec, spec->gpio_mic_led_mask,
2200 spec->micmute_led_polarity, !brightness);
2209 struct alc_spec *spec = codec->spec;
2211 alc_update_gpio_led(codec, spec->gpio_mute_led_mask,
2212 spec->mute_led_polarity, !brightness);
2222 struct alc_spec *spec = codec->spec;
2229 spec->gpio_mute_led_mask = mute_mask;
2233 spec->gpio_mic_led_mask = micmute_mask;
2252 struct alc_spec *spec = codec->spec;
2254 spec->gen.mixer_nid = 0;
2263 struct alc_spec *spec = codec->spec;
2264 spec->gen.auto_mute_via_amp = 1;