Dag Lem dag@nimrod.no writes:
Reading the documentation again it all seems correct to me. The verbs above are "4-Bit verbs", which are correctly shifted in order to assemble 40-Bit commands in hda_intel.c:azx_corb_send_cmd()
You're right. Intel's doc section 5.3 p 130...
On my side, I'm trying to get AC3 on spdif.
According to the traces I've set up, here's what sent to the alc883 when sending an ac3 stream:
Mar 22 21:50:55 gandalf kernel: snd_hda_codec_write: nid 6 direct 0 verb 70d parm a1 Mar 22 21:50:55 gandalf kernel: snd_hda_codec_write: nid 6 direct 0 verb 70e parm 2 Mar 22 21:50:55 gandalf kernel: snd_hda_codec_write: nid 6 direct 0 verb 706 parm 50 Mar 22 21:50:55 gandalf kernel: snd_hda_codec_write: nid 6 direct 0 verb 200 parm 11
The parm of the last verb (0x200) is 0x11. When looking at Realtek;'s doc (p44), this means a PCM stream.
And I know that my amp does not like ac3 in audio stream. It won't decode unless the stream is flagged as non-audio. (should be parm 0x8011 , ie. bit 15 set)
So it looks like the MSB of the parm where clobbered somewhere.
BTW, the Sample base rate (which controls whether the stream is 44khz or 48khz) is bit 14. So this may be a lead for your problem.
HTH