diff options
author | Takashi Iwai <tiwai@suse.de> | 2013-12-16 09:53:52 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2013-12-16 09:53:52 -0500 |
commit | d09476018bee39495d6ece7a2e069de29a9c0ed5 (patch) | |
tree | 866fff4323f94681e6b423f269f0549df0a34066 /sound/pci/hda/patch_analog.c | |
parent | 337bb336b95bd7884fa3a194eafbdf52a0216b2e (diff) | |
parent | afdcd431cebe3498db9aa963c780fdd5099917ec (diff) |
Merge branch 'for-linus' into for-next
Diffstat (limited to 'sound/pci/hda/patch_analog.c')
-rw-r--r-- | sound/pci/hda/patch_analog.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_analog.c b/sound/pci/hda/patch_analog.c index 05280033c302..b174eb1567b8 100644 --- a/sound/pci/hda/patch_analog.c +++ b/sound/pci/hda/patch_analog.c | |||
@@ -147,6 +147,8 @@ static void ad_vmaster_eapd_hook(void *private_data, int enabled) | |||
147 | 147 | ||
148 | if (!spec->eapd_nid) | 148 | if (!spec->eapd_nid) |
149 | return; | 149 | return; |
150 | if (codec->inv_eapd) | ||
151 | enabled = !enabled; | ||
150 | snd_hda_codec_update_cache(codec, spec->eapd_nid, 0, | 152 | snd_hda_codec_update_cache(codec, spec->eapd_nid, 0, |
151 | AC_VERB_SET_EAPD_BTLENABLE, | 153 | AC_VERB_SET_EAPD_BTLENABLE, |
152 | enabled ? 0x02 : 0x00); | 154 | enabled ? 0x02 : 0x00); |
@@ -339,6 +341,14 @@ static int patch_ad1986a(struct hda_codec *codec) | |||
339 | { | 341 | { |
340 | int err; | 342 | int err; |
341 | struct ad198x_spec *spec; | 343 | struct ad198x_spec *spec; |
344 | static hda_nid_t preferred_pairs[] = { | ||
345 | 0x1a, 0x03, | ||
346 | 0x1b, 0x03, | ||
347 | 0x1c, 0x04, | ||
348 | 0x1d, 0x05, | ||
349 | 0x1e, 0x03, | ||
350 | 0 | ||
351 | }; | ||
342 | 352 | ||
343 | err = alloc_ad_spec(codec); | 353 | err = alloc_ad_spec(codec); |
344 | if (err < 0) | 354 | if (err < 0) |
@@ -359,6 +369,11 @@ static int patch_ad1986a(struct hda_codec *codec) | |||
359 | * So, let's disable the shared stream. | 369 | * So, let's disable the shared stream. |
360 | */ | 370 | */ |
361 | spec->gen.multiout.no_share_stream = 1; | 371 | spec->gen.multiout.no_share_stream = 1; |
372 | /* give fixed DAC/pin pairs */ | ||
373 | spec->gen.preferred_dacs = preferred_pairs; | ||
374 | |||
375 | /* AD1986A can't manage the dynamic pin on/off smoothly */ | ||
376 | spec->gen.auto_mute_via_amp = 1; | ||
362 | 377 | ||
363 | snd_hda_pick_fixup(codec, ad1986a_fixup_models, ad1986a_fixup_tbl, | 378 | snd_hda_pick_fixup(codec, ad1986a_fixup_models, ad1986a_fixup_tbl, |
364 | ad1986a_fixups); | 379 | ad1986a_fixups); |