diff options
author | Takashi Iwai <tiwai@suse.de> | 2008-01-15 12:39:38 +0100 |
---|---|---|
committer | Jaroslav Kysela <perex@perex.cz> | 2008-01-31 17:29:59 +0100 |
commit | 12b74c80cc20dec27b9f9eeb24ee86170c34e5a1 (patch) | |
tree | f803ca72979c3daff60282d0bf48424107d2d1d8 | |
parent | 3866f0b0c2df3d179b2901d084670d3cf711b1da (diff) | |
download | op-kernel-dev-12b74c80cc20dec27b9f9eeb24ee86170c34e5a1.zip op-kernel-dev-12b74c80cc20dec27b9f9eeb24ee86170c34e5a1.tar.gz |
[ALSA] hda-codec - Enable VIA SPDIF input pin
Enable the SPDIF input-pin on VIA codecs when SPDIF-input is enabled
by BIOS. Also, including a bit code clean up.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
-rw-r--r-- | sound/pci/hda/patch_via.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/sound/pci/hda/patch_via.c b/sound/pci/hda/patch_via.c index d4dc559..4e5dd4c 100644 --- a/sound/pci/hda/patch_via.c +++ b/sound/pci/hda/patch_via.c @@ -566,25 +566,27 @@ static int via_init(struct hda_codec *codec) if (IS_VT1708_VENDORID(codec->vendor_id)) { snd_hda_codec_write(codec, VT1708_DIGIN_PIN, 0, AC_VERB_SET_PIN_WIDGET_CONTROL, - 0x40); + PIN_OUT); snd_hda_codec_write(codec, VT1708_DIGIN_PIN, 0, AC_VERB_SET_EAPD_BTLENABLE, 0x02); } else if (IS_VT1709_10CH_VENDORID(codec->vendor_id) || IS_VT1709_6CH_VENDORID(codec->vendor_id)) { snd_hda_codec_write(codec, VT1709_DIGIN_PIN, 0, AC_VERB_SET_PIN_WIDGET_CONTROL, - 0x40); + PIN_OUT); snd_hda_codec_write(codec, VT1709_DIGIN_PIN, 0, AC_VERB_SET_EAPD_BTLENABLE, 0x02); } else if (IS_VT1708B_8CH_VENDORID(codec->vendor_id) || IS_VT1708B_4CH_VENDORID(codec->vendor_id)) { snd_hda_codec_write(codec, VT1708B_DIGIN_PIN, 0, AC_VERB_SET_PIN_WIDGET_CONTROL, - 0x40); + PIN_OUT); snd_hda_codec_write(codec, VT1708B_DIGIN_PIN, 0, AC_VERB_SET_EAPD_BTLENABLE, 0x02); } - } + } else /* enable SPDIF-input pin */ + snd_hda_codec_write(codec, spec->autocfg.dig_in_pin, 0, + AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN); return 0; } |