On Wed, 05 Sep 2012 18:39:01 +0200 Takashi Iwai tiwai@suse.de wrote:
At Wed, 5 Sep 2012 18:19:23 +0200, Pierre Ossman wrote:
Noone with any insight? I'm ready to do some leg work, but I couldn't find anything in either the HDA specification, or the AMD documentation. :/
Well, HD-audio HDMI codec driver just extracts the available channel setup from the given ELD, and the ELD data is sent from the graphics driver. So, if anything missing in ELD, it's supposed to be in the graphics driver side. In other words, if ELD doesn't give 6 channels, HD-audio codec won't follow that channel setup, too.
I see. I got a bit confused by this code though:
/* Restrict capabilities by ELD if this isn't disabled */ if (!static_hdmi_pcm && eld->eld_valid) {
Which made me think that the ELD was just used to make sure you didn't send something the other end couldn't handle. IOW, eld_valid == false would give you all features the hw was capable off.
Some follow up questions, to confirm I haven't confused things:
- The ELD really needs to go into the hardware, not just end up in the hands of the audio driver? IOW, we cannot override this?
- The HDA interface only defines reading the ELD, so writing it would have to be done by the graphics driver using some GPU interface?
If so, I need to poke the AMD guys as I couldn't find any information in the public documentation about writing the ELD.
Thanks