Lines Matching full:codec
3 // Realtek HD-audio codec support code
80 /* codec parameterization */
108 void (*init_hook)(struct hda_codec *codec);
109 void (*power_hook)(struct hda_codec *codec);
110 void (*shutup)(struct hda_codec *codec);
135 int alc_read_coefex_idx(struct hda_codec *codec, hda_nid_t nid,
137 void alc_write_coefex_idx(struct hda_codec *codec, hda_nid_t nid,
139 void alc_update_coefex_idx(struct hda_codec *codec, hda_nid_t nid,
142 #define alc_read_coef_idx(codec, coef_idx) \
143 alc_read_coefex_idx(codec, 0x20, coef_idx)
144 #define alc_write_coef_idx(codec, coef_idx, coef_val) \
145 alc_write_coefex_idx(codec, 0x20, coef_idx, coef_val)
146 #define alc_update_coef_idx(codec, coef_idx, mask, bits_set) \
147 alc_update_coefex_idx(codec, 0x20, coef_idx, mask, bits_set)
149 unsigned int alc_get_coef0(struct hda_codec *codec);
165 void alc_process_coef_fw(struct hda_codec *codec, const struct coef_fw *fw);
170 void alc_setup_gpio(struct hda_codec *codec, unsigned int mask);
171 void alc_write_gpio_data(struct hda_codec *codec);
172 void alc_update_gpio_data(struct hda_codec *codec, unsigned int mask,
174 void alc_write_gpio(struct hda_codec *codec);
177 void alc_fixup_gpio(struct hda_codec *codec, int action, unsigned int mask);
178 void alc_fixup_gpio1(struct hda_codec *codec,
180 void alc_fixup_gpio2(struct hda_codec *codec,
182 void alc_fixup_gpio3(struct hda_codec *codec,
184 void alc_fixup_gpio4(struct hda_codec *codec,
186 void alc_fixup_micmute_led(struct hda_codec *codec,
192 void alc_fix_pll(struct hda_codec *codec);
193 void alc_fix_pll_init(struct hda_codec *codec, hda_nid_t nid,
195 void alc_fill_eapd_coef(struct hda_codec *codec);
196 void alc_auto_setup_eapd(struct hda_codec *codec, bool on);
198 int alc_find_ext_mic_pin(struct hda_codec *codec);
199 void alc_headset_mic_no_shutup(struct hda_codec *codec);
200 void alc_shutup_pins(struct hda_codec *codec);
201 void alc_eapd_shutup(struct hda_codec *codec);
202 void alc_auto_init_amp(struct hda_codec *codec, int type);
204 int alc_auto_parse_customize_define(struct hda_codec *codec);
205 int alc_subsystem_id(struct hda_codec *codec, const hda_nid_t *ports);
206 void alc_ssid_check(struct hda_codec *codec, const hda_nid_t *ports);
207 int alc_build_controls(struct hda_codec *codec);
208 void alc_update_knob_master(struct hda_codec *codec,
211 static inline void alc_pre_init(struct hda_codec *codec)
213 alc_fill_eapd_coef(codec);
216 #define is_s3_resume(codec) \
217 ((codec)->core.dev.power.power_state.event == PM_EVENT_RESUME)
218 #define is_s4_resume(codec) \
219 ((codec)->core.dev.power.power_state.event == PM_EVENT_RESTORE)
220 #define is_s4_suspend(codec) \
221 ((codec)->core.dev.power.power_state.event == PM_EVENT_FREEZE)
223 int alc_init(struct hda_codec *codec);
224 void alc_shutup(struct hda_codec *codec);
225 void alc_power_eapd(struct hda_codec *codec);
226 int alc_suspend(struct hda_codec *codec);
227 int alc_resume(struct hda_codec *codec);
229 int alc_parse_auto_config(struct hda_codec *codec,
232 int alc_alloc_spec(struct hda_codec *codec, hda_nid_t mixer_nid);
234 #define alc_codec_rename(codec, name) snd_hda_codec_set_name(codec, name)
238 int alc_has_cdefine_beep(struct hda_codec *codec);
243 #define has_cdefine_beep(codec) 0
246 static inline void rename_ctl(struct hda_codec *codec, const char *oldname,
251 kctl = snd_hda_find_mixer_ctl(codec, oldname);
253 snd_ctl_rename(codec->card, kctl, newname);
257 void alc_fixup_sku_ignore(struct hda_codec *codec,
259 void alc_fixup_no_depop_delay(struct hda_codec *codec,
261 void alc_fixup_inv_dmic(struct hda_codec *codec,
263 void alc_fixup_dual_codecs(struct hda_codec *codec,
265 void alc_fixup_bass_chmap(struct hda_codec *codec,
267 void alc_fixup_headset_mode(struct hda_codec *codec,
269 void alc_fixup_headset_mode_no_hp_mic(struct hda_codec *codec,
271 void alc_fixup_headset_mic(struct hda_codec *codec,
273 void alc_update_headset_jack_cb(struct hda_codec *codec,
275 void alc_update_gpio_led(struct hda_codec *codec, unsigned int mask,
277 void alc_fixup_hp_gpio_led(struct hda_codec *codec,
281 void alc_fixup_no_jack_detect(struct hda_codec *codec,
283 void alc_fixup_disable_aamix(struct hda_codec *codec,
285 void alc_fixup_auto_mute_via_amp(struct hda_codec *codec,
288 /* device-specific, but used by multiple codec drivers */
289 void alc1220_fixup_gb_dual_codecs(struct hda_codec *codec,
292 void alc233_alc662_fixup_lenovo_dual_codecs(struct hda_codec *codec,
295 void alc_fixup_dell_xps13(struct hda_codec *codec,
301 static inline void coef_mutex_lock(struct hda_codec *codec)
303 struct alc_spec *spec = codec->spec;
305 snd_hda_power_up_pm(codec);
309 static inline void coef_mutex_unlock(struct hda_codec *codec)
311 struct alc_spec *spec = codec->spec;
314 snd_hda_power_down_pm(codec);