On Fri, Aug 05, 2011 at 02:03:41AM +0800, Keith Packard wrote:
On Thu, 4 Aug 2011 17:40:24 +0800, Wu Fengguang fengguang.wu@intel.com wrote:
Right. I actually have this chunk. dmesg shows that in intel_hdmi_detect(), the drm_encoder object is there, however encoder->crtc is NULL at the time.
Correct. encoder->crtc is set only when the output is active.
Ah OK.
You may wonder why the mode parameter is needed in intel_write_eld(). This is because the ELD field aud_synch_delay (ie. A/V sync delay) may have different values in progressive/interleaved display modes.
Ok, so you can't write ELD data until the display is active, which happens at mode_set time.
Do you need to provide ELD when the display is inactive? Is this only to enable audio output when the display is not on? In that case, we will
Good questions! In general the audio functionalities should not depend on the display activeness. There are even audio-only HDMI devices. So I'll need to make intel_write_eld() work even without information about the current display mode.
need to essentially turn enough of the output on to allow for audio data, picking a mode which provide sufficient bandwidth.
That would be a good feature. For one thing, I find it annoying that the music playback fades out when the screen goes to power saving mode..
I tested Ivybridge yesterday and ironlake_write_eld seems to not work properly for Ivybridge. Need to double check its spec.
That's unfortunate...
But fixable :)
Thanks, Fengguang