ALSA: hda - Add EAPD control to generic parser
Enable EAPD in output path initializations automatically unless the new flag spec->own_eapd_ctl is set. Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
352f7f914e
commit
731dc3019c
@ -3333,6 +3333,7 @@ EXPORT_SYMBOL_HDA(snd_hda_gen_build_pcms);
|
||||
static void set_output_and_unmute(struct hda_codec *codec, hda_nid_t pin,
|
||||
int pin_type, hda_nid_t dac)
|
||||
{
|
||||
struct hda_gen_spec *spec = codec->spec;
|
||||
struct nid_path *path;
|
||||
|
||||
snd_hda_set_pin_ctl_cache(codec, pin, pin_type);
|
||||
@ -3342,6 +3343,11 @@ static void set_output_and_unmute(struct hda_codec *codec, hda_nid_t pin,
|
||||
if (path->active)
|
||||
return;
|
||||
snd_hda_activate_path(codec, path, true, true);
|
||||
|
||||
if (!spec->own_eapd_ctl &&
|
||||
(snd_hda_query_pin_caps(codec, pin) & AC_PINCAP_EAPD))
|
||||
snd_hda_codec_update_cache(codec, pin, 0,
|
||||
AC_VERB_SET_EAPD_BTLENABLE, 0x02);
|
||||
}
|
||||
|
||||
/* initialize primary output paths */
|
||||
|
@ -150,6 +150,7 @@ struct hda_gen_spec {
|
||||
unsigned int no_primary_hp:1; /* Don't prefer HP pins to speaker pins */
|
||||
unsigned int multi_cap_vol:1; /* allow multiple capture xxx volumes */
|
||||
unsigned int inv_dmic_split:1; /* inverted dmic w/a for conexant */
|
||||
unsigned int own_eapd_ctl:1; /* set EAPD by own function */
|
||||
|
||||
unsigned int parse_flags; /* passed to snd_hda_parse_pin_defcfg() */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user