[alsa-devel] SPDIF/IEC958 sample rate on HDA/ALC882

Dag Lem dag at nimrod.no
Thu Mar 22 12:21:57 CET 2007

Dominique Dumont <domi.dumont at free.fr> writes:

> I'm looking at a same kind of issue for my MSI mobo (ALC883).
> There's something fishy about the verb used to set the stream format
> (also referred as stream converter in realtek's doc).
> The verb used in snd-hda-intel are 0x200 and 0x300 where Intel's and
> Realtek's doc specify 2h and 3h.

Hmm, that one escaped me. If this is a problem with hda_codec.h and
not with the documentation, then there are more errors:

#define AC_VERB_GET_STREAM_FORMAT               0x0a00  -> 0x000a
#define AC_VERB_GET_AMP_GAIN_MUTE               0x0b00  -> 0x000b
#define AC_VERB_GET_PROC_COEF                   0x0c00  -> 0x000c
#define AC_VERB_GET_COEF_INDEX                  0x0d00  -> 0x000d

#define AC_VERB_SET_STREAM_FORMAT               0x200  -> 0x002
#define AC_VERB_SET_AMP_GAIN_MUTE               0x300  -> 0x003
#define AC_VERB_SET_PROC_COEF                   0x400  -> 0x004
#define AC_VERB_SET_COEF_INDEX                  0x500  -> 0x005

> So I tried to switch the verbs to 0x002 and 0x003, but it did not
> work. :-( (it would be too easy ;-) )

Why not, I wish it were that easy :-)

> The parameter passed with these verbs also look fishy, but I
> can't say more as I was to tired to dig further. I'll have a look
> tonight.

I checked the parameter calculation in
hda_codec.c:snd_hda_calc_stream_format(), and it seems to match the
Realtek ALC882 Series Datasheet spec. Perhaps something has escaped me
here as well, please do have a look.

I'm glad that I'm not alone with the S/PDIF sample rate problem,
please keep me updated on your research! So far I can only state that
there is definitely an initialization problem somewhere, since the
behavior of the S/PDIF link is not deterministic. Perhaps a codec
reset timing issue?

Best regards,

Dag Lem

More information about the Alsa-devel mailing list