On DP monitor hot remove, clear 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. Note that the DP_AUDIO_OUTPUT_ENABLE bit may be enabled or disabled only when the link training is complete and set to "Normal". Signed-off-by: Wu Fengguang <fengguang.wu at intel.com> --- drivers/gpu/drm/i915/intel_dp.c | 1 + 1 file changed, 1 insertion(+) This works both on KMS console and gnome desktop. Hot plug/unplug and DPMS on/off are all tested OK. --- linux.orig/drivers/gpu/drm/i915/intel_dp.c 2011-12-09 16:51:21.000000000 +0800 +++ linux/drivers/gpu/drm/i915/intel_dp.c 2011-12-09 16:59:45.000000000 +0800 @@ -1771,6 +1771,7 @@ intel_dp_link_down(struct intel_dp *inte intel_wait_for_vblank(dev, to_intel_crtc(crtc)->pipe); } + DP &= ~DP_AUDIO_OUTPUT_ENABLE; I915_WRITE(intel_dp->output_reg, DP & ~DP_PORT_EN); POSTING_READ(intel_dp->output_reg); msleep(intel_dp->panel_power_down_delay);