diff options
author | Takashi Iwai <tiwai@suse.de> | 2009-05-25 02:06:02 -0400 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-05-25 02:06:02 -0400 |
commit | 461c6c3a0a23a8fac1a4b636e93ff5dfe599a241 (patch) | |
tree | 6e28cebfc54572025779bd6b35e41db7bf03b168 | |
parent | 679d92ed1403b6cf9a19aa42ec62b81cae1aa017 (diff) |
ALSA: hda - Add missing check of pin vref 50 and others in Realtek codecs
Some Realtek codecs like ALC861 seem to support only VREF50 while the
current driver assumes it's only VREF80. Check other VREF bits to set
the correct value.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r-- | sound/pci/hda/patch_realtek.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index bcbb736f94f0..0fd258eba3a5 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
@@ -776,6 +776,12 @@ static void alc_set_input_pin(struct hda_codec *codec, hda_nid_t nid, | |||
776 | pincap = (pincap & AC_PINCAP_VREF) >> AC_PINCAP_VREF_SHIFT; | 776 | pincap = (pincap & AC_PINCAP_VREF) >> AC_PINCAP_VREF_SHIFT; |
777 | if (pincap & AC_PINCAP_VREF_80) | 777 | if (pincap & AC_PINCAP_VREF_80) |
778 | val = PIN_VREF80; | 778 | val = PIN_VREF80; |
779 | else if (pincap & AC_PINCAP_VREF_50) | ||
780 | val = PIN_VREF50; | ||
781 | else if (pincap & AC_PINCAP_VREF_100) | ||
782 | val = PIN_VREF100; | ||
783 | else if (pincap & AC_PINCAP_VREF_GRD) | ||
784 | val = PIN_VREFGRD; | ||
779 | } | 785 | } |
780 | snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_PIN_WIDGET_CONTROL, val); | 786 | snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_PIN_WIDGET_CONTROL, val); |
781 | } | 787 | } |