Commit fd0b092a authored by Jaroslav Kysela's avatar Jaroslav Kysela

ALSA: hda - AD1988 codec - fix SPDIF-input mixer initialization (unmute)

The SPDIF-input pin 0x1c is muted by default in hardware. Unmute appropriate
pin to get captured samples instead zeros. Tested on Lenovo Thinkstation.
Signed-off-by: default avatarJaroslav Kysela <perex@perex.cz>
parent c91a988d
...@@ -2458,6 +2458,12 @@ static struct hda_verb ad1988_spdif_init_verbs[] = { ...@@ -2458,6 +2458,12 @@ static struct hda_verb ad1988_spdif_init_verbs[] = {
{ } { }
}; };
static struct hda_verb ad1988_spdif_in_init_verbs[] = {
/* unmute SPDIF input pin */
{0x1c, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
{ }
};
/* AD1989 has no ADC -> SPDIF route */ /* AD1989 has no ADC -> SPDIF route */
static struct hda_verb ad1989_spdif_init_verbs[] = { static struct hda_verb ad1989_spdif_init_verbs[] = {
/* SPDIF-1 out pin */ /* SPDIF-1 out pin */
...@@ -3193,8 +3199,11 @@ static int patch_ad1988(struct hda_codec *codec) ...@@ -3193,8 +3199,11 @@ static int patch_ad1988(struct hda_codec *codec)
ad1988_spdif_init_verbs; ad1988_spdif_init_verbs;
} }
} }
if (spec->dig_in_nid && codec->vendor_id < 0x11d4989a) if (spec->dig_in_nid && codec->vendor_id < 0x11d4989a) {
spec->mixers[spec->num_mixers++] = ad1988_spdif_in_mixers; spec->mixers[spec->num_mixers++] = ad1988_spdif_in_mixers;
spec->init_verbs[spec->num_init_verbs++] =
ad1988_spdif_in_init_verbs;
}
codec->patch_ops = ad198x_patch_ops; codec->patch_ops = ad198x_patch_ops;
switch (board_config) { switch (board_config) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment