On Tue, Nov 22, 2011 at 12:55:43AM +0800, Keith Packard wrote: > On Mon, 21 Nov 2011 14:37:49 +0800, Wu Fengguang <fengguang.wu at intel.com> wrote: > > On monitor hot plug/unplug, update ELD and set/clear SDVO_AUDIO_ENABLE > > or DP_AUDIO_OUTPUT_ENABLE accordingly. So that the audio driver will > > receive hot plug events and take action to refresh its device state and > > ELD contents. > > > > A new callback ->hotplug() is added to struct drm_connector_funcs which > > will be called immediately after ->detect() knowing that the monitor is > > either plugged or unplugged. > > > > It's noticed that X may not call ->mode_set() at monitor hot plug, so it's > > necessary to call drm_edid_to_eld() earlier at ->detect() time rather than > > in intel_ddc_get_modes(), so that intel_write_eld() can see the new ELD > > in ->hotplug. > > The X environment will eventually call mode_set when the user > environment decides to use the monitor. Any audio bits can, and should, > await the user's choice of a video mode before choosing the audio format > to use. We should not be adding eld information until the monitor is in > use. Yeah. I just tested the full gnome desktop and find it behave like the KMS console: 1) ->mode_set will be called 2) crtc is 0 in intel_hdmi_hotplug(), hence skipping the ELD code there So the v3 patch will behave equally well on KMS console, gnome desktop and bare X. Shall we just use it, or go back and use the original ->hot_remove patch? Thanks, Fengguang