On 02/17/2013 02:29 AM, Fengguang Wu wrote: > Hi David, > > On Fri, Feb 15, 2013 at 11:02:31PM -0600, Pierre-Louis Bossart wrote: >> >>> There's a bummer though. On the one machine I've tested this, the ELD is not >>> immediately available, so hotplugging doesn't work. It also looks like there's no >>> event being sent out from the kernel when ELD has become available, so we probably > > You may print a debug messages in the graphics driver's interrupt handler > for every hotplug event to check if the hotplug event is not raised > from hardware at all, or (likely) get lost somewhere later when > passing it to the audio driver. > >>> need to add some kind of timer - but I'm not sure exactly what time ranges should >>> work for all machines. Pierre, do you know? >> >> Trying rebooting with the HDMI cable plugged and see if this works. >> I know my IbexPeak hardware only detects HDMI at boot, probably some >> BIOS issue. Fengguang might be able to help? > > Good tip. It's worth trying, as I noticed the same phenomenon in my > past HDMI tests (HDMI not useable at all if hot-plugged after boot). > For the boot issue, it may be because of some unknown BIOS hack, or > something the graphics driver failed to initialize (or did it right). To clarify: When hotplugging, the ELD does show up, it just doesn't do that at the same time as the jack does, that is, eld might become valid at a later time compared to the "precense" bit. I looked at the kernel code now, and it seems like there is a repoll mechanism to fetch the ELD information. It shouldn't be too difficult to insert a snd_ctl_notify when the ELD control changes (as Tanu suggests), I will look into this next week hopefully. -- David Henningsson, Canonical Ltd. https://launchpad.net/~diwic