|
@@ -566,25 +566,27 @@ static int via_init(struct hda_codec *codec)
|
|
if (IS_VT1708_VENDORID(codec->vendor_id)) {
|
|
if (IS_VT1708_VENDORID(codec->vendor_id)) {
|
|
snd_hda_codec_write(codec, VT1708_DIGIN_PIN, 0,
|
|
snd_hda_codec_write(codec, VT1708_DIGIN_PIN, 0,
|
|
AC_VERB_SET_PIN_WIDGET_CONTROL,
|
|
AC_VERB_SET_PIN_WIDGET_CONTROL,
|
|
- 0x40);
|
|
|
|
|
|
+ PIN_OUT);
|
|
snd_hda_codec_write(codec, VT1708_DIGIN_PIN, 0,
|
|
snd_hda_codec_write(codec, VT1708_DIGIN_PIN, 0,
|
|
AC_VERB_SET_EAPD_BTLENABLE, 0x02);
|
|
AC_VERB_SET_EAPD_BTLENABLE, 0x02);
|
|
} else if (IS_VT1709_10CH_VENDORID(codec->vendor_id) ||
|
|
} else if (IS_VT1709_10CH_VENDORID(codec->vendor_id) ||
|
|
IS_VT1709_6CH_VENDORID(codec->vendor_id)) {
|
|
IS_VT1709_6CH_VENDORID(codec->vendor_id)) {
|
|
snd_hda_codec_write(codec, VT1709_DIGIN_PIN, 0,
|
|
snd_hda_codec_write(codec, VT1709_DIGIN_PIN, 0,
|
|
AC_VERB_SET_PIN_WIDGET_CONTROL,
|
|
AC_VERB_SET_PIN_WIDGET_CONTROL,
|
|
- 0x40);
|
|
|
|
|
|
+ PIN_OUT);
|
|
snd_hda_codec_write(codec, VT1709_DIGIN_PIN, 0,
|
|
snd_hda_codec_write(codec, VT1709_DIGIN_PIN, 0,
|
|
AC_VERB_SET_EAPD_BTLENABLE, 0x02);
|
|
AC_VERB_SET_EAPD_BTLENABLE, 0x02);
|
|
} else if (IS_VT1708B_8CH_VENDORID(codec->vendor_id) ||
|
|
} else if (IS_VT1708B_8CH_VENDORID(codec->vendor_id) ||
|
|
IS_VT1708B_4CH_VENDORID(codec->vendor_id)) {
|
|
IS_VT1708B_4CH_VENDORID(codec->vendor_id)) {
|
|
snd_hda_codec_write(codec, VT1708B_DIGIN_PIN, 0,
|
|
snd_hda_codec_write(codec, VT1708B_DIGIN_PIN, 0,
|
|
AC_VERB_SET_PIN_WIDGET_CONTROL,
|
|
AC_VERB_SET_PIN_WIDGET_CONTROL,
|
|
- 0x40);
|
|
|
|
|
|
+ PIN_OUT);
|
|
snd_hda_codec_write(codec, VT1708B_DIGIN_PIN, 0,
|
|
snd_hda_codec_write(codec, VT1708B_DIGIN_PIN, 0,
|
|
AC_VERB_SET_EAPD_BTLENABLE, 0x02);
|
|
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;
|
|
return 0;
|
|
}
|
|
}
|