[alsa-devel] snd-hda-intel, AD 1988b: SPDIF output not working correctly, volume low for analog output
Zig
zig at icmelectrics.com
Sat Aug 18 16:31:35 CEST 2007
Matthias Dahl <ml_alsa <at> mortal-soul.de> writes:
>
> --- patch_analog.c.orig 2007-07-23 22:44:25.000000000 +0200
> +++ patch_analog.c 2007-07-23 22:45:15.000000000 +0200
> <at> <at> -2037,12 +2037,8 <at> <at>
> static struct hda_verb ad1988_spdif_init_verbs[] = {
> /* SPDIF out sel */
> {0x02, AC_VERB_SET_CONNECT_SEL, 0x0}, /* PCM */
> - {0x0b, AC_VERB_SET_CONNECT_SEL, 0x0}, /* ADC1 */
> - {0x1d, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
> - {0x1d, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},
> /* SPDIF out pin */
> {0x1b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE | 0x27}, /* 0dB */
> - {0x1b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0) | 0x17}, /* 0dB */
>
> { }
> };
>
I had similar issues, however patching the file as shown above caused no audio
output at all on the SPDIF unless it was in AC3 passthrough mode. Instead I
edited my patch_analog.c file as follows:
static struct hda_verb ad1988_spdif_init_verbs[] = {
/* SPDIF out sel */
{0x02, AC_VERB_SET_CONNECT_SEL, 0x0}, /* PCM */
// {0x0b, AC_VERB_SET_CONNECT_SEL, 0x0}, /* ADC1 */
{0x1d, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0)},
{0x1d, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(1)},
/* SPDIF out pin */
{0x1b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE | 0x17}, /* 0dB */
// {0x1b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(0) | 0x17}, /* 0dB */
{ }
};
Once I compiled it this was, the noise on the SPDIF output was gone, and
everything functioned correctly.
It does seem my original issue was related to the PCM audio being outputted at
48kHz instead of 44.1kHz? Thats what my sony amplifier seemed to think anyhow.
Thanks for your original patch, really I don't know what I'm doing with this
thing, and made a lucky guess for my purposes.
More information about the Alsa-devel
mailing list