diff options
| author | Takashi Iwai <tiwai@suse.de> | 2009-07-07 07:39:03 -0400 |
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2009-07-07 07:39:03 -0400 |
| commit | 55d1d6c1ef630dddd3cb5354c32a5aca954399e8 (patch) | |
| tree | 4cd1d697c448b77e810cb575f932da89b658f69c | |
| parent | aba6653617754e12763a0d3c9dda332b66190a50 (diff) | |
ALSA: hda - Clean up VT170x dig-in initialization code
Minor clean up for initializing the digital-in pin.
No functional changes.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
| -rw-r--r-- | sound/pci/hda/patch_via.c | 24 |
1 files changed, 7 insertions, 17 deletions
diff --git a/sound/pci/hda/patch_via.c b/sound/pci/hda/patch_via.c index 8e004fb6961a..c4ddbbc6231a 100644 --- a/sound/pci/hda/patch_via.c +++ b/sound/pci/hda/patch_via.c | |||
| @@ -211,6 +211,7 @@ struct via_spec { | |||
| 211 | unsigned int num_adc_nids; | 211 | unsigned int num_adc_nids; |
| 212 | hda_nid_t *adc_nids; | 212 | hda_nid_t *adc_nids; |
| 213 | hda_nid_t dig_in_nid; | 213 | hda_nid_t dig_in_nid; |
| 214 | hda_nid_t dig_in_pin; | ||
| 214 | 215 | ||
| 215 | /* capture source */ | 216 | /* capture source */ |
| 216 | const struct hda_input_mux *input_mux; | 217 | const struct hda_input_mux *input_mux; |
| @@ -998,25 +999,11 @@ static int via_init(struct hda_codec *codec) | |||
| 998 | 999 | ||
| 999 | /* Lydia Add for EAPD enable */ | 1000 | /* Lydia Add for EAPD enable */ |
| 1000 | if (!spec->dig_in_nid) { /* No Digital In connection */ | 1001 | if (!spec->dig_in_nid) { /* No Digital In connection */ |
| 1001 | if (IS_VT1708_VENDORID(codec->vendor_id)) { | 1002 | if (spec->dig_in_pin) { |
| 1002 | snd_hda_codec_write(codec, VT1708_DIGIN_PIN, 0, | 1003 | snd_hda_codec_write(codec, spec->dig_in_pin, 0, |
| 1003 | AC_VERB_SET_PIN_WIDGET_CONTROL, | 1004 | AC_VERB_SET_PIN_WIDGET_CONTROL, |
| 1004 | PIN_OUT); | 1005 | PIN_OUT); |
| 1005 | snd_hda_codec_write(codec, VT1708_DIGIN_PIN, 0, | 1006 | snd_hda_codec_write(codec, spec->dig_in_pin, 0, |
| 1006 | AC_VERB_SET_EAPD_BTLENABLE, 0x02); | ||
| 1007 | } else if (IS_VT1709_10CH_VENDORID(codec->vendor_id) || | ||
| 1008 | IS_VT1709_6CH_VENDORID(codec->vendor_id)) { | ||
| 1009 | snd_hda_codec_write(codec, VT1709_DIGIN_PIN, 0, | ||
| 1010 | AC_VERB_SET_PIN_WIDGET_CONTROL, | ||
| 1011 | PIN_OUT); | ||
| 1012 | snd_hda_codec_write(codec, VT1709_DIGIN_PIN, 0, | ||
| 1013 | AC_VERB_SET_EAPD_BTLENABLE, 0x02); | ||
| 1014 | } else if (IS_VT1708B_8CH_VENDORID(codec->vendor_id) || | ||
| 1015 | IS_VT1708B_4CH_VENDORID(codec->vendor_id)) { | ||
| 1016 | snd_hda_codec_write(codec, VT1708B_DIGIN_PIN, 0, | ||
| 1017 | AC_VERB_SET_PIN_WIDGET_CONTROL, | ||
| 1018 | PIN_OUT); | ||
| 1019 | snd_hda_codec_write(codec, VT1708B_DIGIN_PIN, 0, | ||
| 1020 | AC_VERB_SET_EAPD_BTLENABLE, 0x02); | 1007 | AC_VERB_SET_EAPD_BTLENABLE, 0x02); |
| 1021 | } | 1008 | } |
| 1022 | } else /* enable SPDIF-input pin */ | 1009 | } else /* enable SPDIF-input pin */ |
| @@ -1326,6 +1313,7 @@ static int vt1708_parse_auto_config(struct hda_codec *codec) | |||
| 1326 | 1313 | ||
| 1327 | if (spec->autocfg.dig_outs) | 1314 | if (spec->autocfg.dig_outs) |
| 1328 | spec->multiout.dig_out_nid = VT1708_DIGOUT_NID; | 1315 | spec->multiout.dig_out_nid = VT1708_DIGOUT_NID; |
| 1316 | spec->dig_in_pin = VT1708_DIGIN_PIN; | ||
| 1329 | if (spec->autocfg.dig_in_pin) | 1317 | if (spec->autocfg.dig_in_pin) |
| 1330 | spec->dig_in_nid = VT1708_DIGIN_NID; | 1318 | spec->dig_in_nid = VT1708_DIGIN_NID; |
| 1331 | 1319 | ||
| @@ -1799,6 +1787,7 @@ static int vt1709_parse_auto_config(struct hda_codec *codec) | |||
| 1799 | 1787 | ||
| 1800 | if (spec->autocfg.dig_outs) | 1788 | if (spec->autocfg.dig_outs) |
| 1801 | spec->multiout.dig_out_nid = VT1709_DIGOUT_NID; | 1789 | spec->multiout.dig_out_nid = VT1709_DIGOUT_NID; |
| 1790 | spec->dig_in_pin = VT1709_DIGIN_PIN; | ||
| 1802 | if (spec->autocfg.dig_in_pin) | 1791 | if (spec->autocfg.dig_in_pin) |
| 1803 | spec->dig_in_nid = VT1709_DIGIN_NID; | 1792 | spec->dig_in_nid = VT1709_DIGIN_NID; |
| 1804 | 1793 | ||
| @@ -2344,6 +2333,7 @@ static int vt1708B_parse_auto_config(struct hda_codec *codec) | |||
| 2344 | 2333 | ||
| 2345 | if (spec->autocfg.dig_outs) | 2334 | if (spec->autocfg.dig_outs) |
| 2346 | spec->multiout.dig_out_nid = VT1708B_DIGOUT_NID; | 2335 | spec->multiout.dig_out_nid = VT1708B_DIGOUT_NID; |
| 2336 | spec->dig_in_pin = VT1708B_DIGIN_PIN; | ||
| 2347 | if (spec->autocfg.dig_in_pin) | 2337 | if (spec->autocfg.dig_in_pin) |
| 2348 | spec->dig_in_nid = VT1708B_DIGIN_NID; | 2338 | spec->dig_in_nid = VT1708B_DIGIN_NID; |
| 2349 | 2339 | ||
